THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3
  • yoan
  • Cofondateur Thelia

Offline


Ce plugin vous permet d'ajouter un message attaché à une commande lors d'un cadeau par exemple.

-
Ventes


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Bonjour, j'ai mis en place une boutique Thélia sur www.lagedefaire.fr
(je me suis faite aidée pour les déclinaisons quand même)

AU PASSAGE : UN GRAND MERCI A L'EQUIPE ET A CEUX QUI LAISSENT DES INFOS EXPLICITES SUR LES FORUMS !!!

Il tourne depuis un an à peu près... je suis encore sous une ancienne version 1.3.3 si je ne m'abuse. (il faudra que je pense à mettre à jour!!!).

Je tente d'installer le plugin "messagecmd".
Les infos passent d'une page à l'autre, passent dans l'interface d'administration si la table a un contenu.
Le PB est justement là : depuis le formulaire rien ne passe dans la table !
Si quelqu'un peut regarder, SVP!
Merci ; je suis pas une brute de la programmation et je tourne en boucle...

J'ai ajouté ça au moteur :

    include_once("client/plugins/messagecmd/Messagecmd.class.php");

Voici le formulaire sur la page commande :

<form action="commande2.php" id="commande" width="400" method="post">
<input name="commande" value="aprescommande" type="hidden">
<center><b>J'ajoute un message à ma commande.</b><br><small> Ce formulaire est en phase de test. Merci de votre compréhension...</small><br><br>
Expéditeur : <input name="texte_expediteurcmd" align="middle" type="text" width="250"><br>
Destinataire : <input name="texte_destinatairecmd" align="middle" type="text" width="250"><br><br>
Message :<br> <textarea name="texte_messagecmd" maxlength="500" cols="70" rows="10"></textarea><br>
<!--<input type="submit" value="Envoyer" align="middle"/>-->
<a href="javascript:document.getElementById('commande').submit()">Attacher le message</a>
</center>
</form>   

MERCI D'AVANCE.

Séverine

Offline


Hello Yoan,

Juste pour comprendre ce que fais ce plugin... C'est la personne qui commande qui peut envoyer un message au gestionnaire du site durant son processus de commande, c'est cela?

Merci

  • yoan
  • Cofondateur Thelia

Offline


ba vraiment non, ceci dit on pourrait le détourner pour ça oui.
Le but était plutôt de fournir une info du type "dédicace" que le commerçant mettra dans le colis sous forme de carte, gravure sur l'objet ...

Mais on peut tout à fait l'utiliser pour laisser une info pour le commerçant.

Concernant ton soucis Severine, il faut mettre à jour ton THELIA.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


OK merci pour ta réponse.
Est ce que les démarches sont les mêmes pour passer de la 1.3.3 à la 1.3.8
que ce que tu as décrit là? ...
http://forum.thelia.fr/viewtopic.php?id=2301

Offline


Après un long week-end je me suis tout de même décidée à effectuer cette mise à jour...
Hum; je sais pas si c'est entièrement réussi à vrai dire !!!
Le déroulement des commandes s'effectue normalement.

PB : à présent l'envoi du mail de confirmation de commande se fait mais le message est complètement vide.
Idem lors d'une demande de mot de passe ; le message ne contient que le nouveau pass, mais rien d'autre...
Dans la table messagedesc, le champ intitule n'avait pas été ajouté lors de la MAJ.

...???...

Que faire ? Je cherche une réponse dans le forum mais ze trouve pas....


cf>>>http://www.lagedefaire.fr

Offline


Réponse aux problèmes de messages vides :

dans  PluginsPaiements.class.php modifier :

function mail($commande){
/* Message client */
...
$msg->charger("nom donné dans la gestion des messages");
...
/* Message admin */
...
$msg->charger("nom donné dans la gestion des messages");
...
}

dans action.php modifier :

// changement du mot de passe
function chmdp($email){
...
$msg->charger("nom donné dans la gestion des messages");
...
}

Désolée de donner la réponse tardivement.

Offline


Bonjour.
Je donne tardivement aussi la solution que j'ai trouvé pour faire fonctionner ce formulaire....
A inclure dans la page d'affichage choisie...

<form action="pagesuivante.php" width="400" method="post" id="commande">
<input type="hidden" name="messagecmd" value="Messagecmd" />
<center>
<br />
De la part de :
<input type="text" name="texte_expediteurcmd" width="250" align="middle" />
<br />
Destinataire : <input type="text" name="texte_destinatairecmd" width="250" align="middle" /><br /><br />
Message :<br />
<textarea name="texte_messagecmd" maxlength="600" cols="70" rows="10" ></textarea>
<br />
<input type="submit" value="Valider" />
</center>
</form>   

Voilà.

Offline


Bonjour !

J'ai le même problème que Severine avait tout en étant directement sur la dernière version de thelia. les messages sont vides et ne s'inscrivent pas dans le BDD (les champs sont pourtant là)

Dans le post
"Réponse aux problèmes de messages vides"

Que faut-il mettre à la place de : "nom donné dans la gestion des messages" ?

Severine wrote:

dans  PluginsPaiements.class.php modifier :


function mail($commande){
/* Message client */
...
$msg->charger("nom donné dans la gestion des messages");
...
/* Message admin */
...
$msg->charger("nom donné dans la gestion des messages");
...
}

je n'ai pas bien saisi et celà pourrait peut être résoudre mon problème également !

MERCI !

Last edited by wts (29-12-2008 17:17:21)

Offline


J'ai aussi des problèmes avec ce plugin. Pas de souci avec l'envoi d'email, mais le message du client n'est pas associés à la bonne commande! Il y a toujours 1 cran de décallage, et si jamais j'annule une commande sur le panel cela ne marche plus ensuite pour les suivantes.

Si l'auteur du plugin ou quelqu'un qui a réussit à le faire fonctionner correctement peut nous éclairer! Thx! smile

Last edited by ajax (29-12-2008 12:55:04)

Offline


Toujours personne qui aurait réussi à utiliser ce plugin sans bug par hazard???

Offline


J'ai l'impression qu'il y a deux discussions sur deux sujets différents qui se répondent l'une à l'autre.
-En ce qui concerne les mails de confirmation de commande, les noms des messages enregistrés dans la base de donnée ont  changés : voir le changelog. Il faut donc corriger cela  dans le BO configuration/gestion des messages et remplacer corpscommande1 et corpscommande2 par leurs nouvelles valeurs indiquées dans le changelog.

Offline


Quand au plugin messagecmd, la doc jointe est un insuffisante pour faire fonctionner le plugin correctement.

Je viens de faire :

<form action="#URLCOURANTEPARAM" id="formulaireX" method="POST">
<input type="hidden" name="action" value="importepeu" />
Expéditeur : <input type="text" name="texte_expediteurcmd"  value="#EXPEDITEURCMD" /><br />
Destinataire : <input type="text" name="texte_destinatairecmd"  value="#DESTINATAIRECMD" /><br />
Message :
<textarea name="texte_messagecmd" maxlength="200" rows="4" >#MESSAGECMD</textarea>
		
<input type="submit" value="Envoyer" />
</form>

et cela fonctionne parfaitement.
A mettre en forme

Modification du 5/01/09 : La ligne <input type="hidden" name="action ... ne sert à rien.

Last edited by jhr (05-01-2009 09:57:08)

Offline


Merci pour l'info!! En effet je n'ajoutais pas le paramètre value et du coup cela buggait très facilement.

Je l'ai mis en place sur mon site avec un paramètre en plus que j'ai ajouté sur le plugin pour pouvoir poser une question supplémentaire.

Je l'ai intégréer sur la page commande.html directement, l'info étant envoyée lorsqu'on clique sur une option de paiement que je récupère par

<a href="#URLPAYER" onclick="document.getElementById('formcmd').submit()">

si cela intéresse certains!

Merci encore pour l'aide!

Last edited by ajax (05-01-2009 17:35:12)

Offline


hello !

Pourrais-tu envoyer ton code entier ....
avec
<input type="submit" value="Envoyer" />
mixé avec
<a href="#URLPAYER" onclick="document.getElementById('formcmd').submit()">

.. je suis un peu dans la panade...

MERCI !

Offline


en fait il y a un souci, je viens de m'apercevoir que cela ne fonctionne plus et je ne comprends pas pourquoi!!!

Le message n'est a nouveau plus attaché correctement à mes commandes! help!

Le message d'une commande correspond à la précédente, et lorsque je regarde sur la base de donnée le dernier message envoyé n'est pas indiqué, comme s'il était gardé en cache quelque part! Vraiment incompréhensible! Je ne sais pas si j'ai été assez clair mais il y a un bug quelque part...

J'ai remarqué que cela commence à bugger dès qu'on supprimer une commande sur le pannel apparemment. Comment régler ce problème?

Last edited by ajax (06-01-2009 16:08:27)

Offline


Comme écrirait Yoan, il y a un souci et le créateur de ce plugin devrait revoir sa copie!

Dans la classe Messagecmd il manque au moins la methode apres() qui efface les données de session quand la commande est validée :

function apres{
	global $reset;
	if ($reset){
	$_SESSION['texte_messagecmd'] = "";
	$_SESSION['texte_destinatairecmd'] = "";
	$_SESSION['texte_expediteurcmd'] = "";
	}
}

Offline


Hello !

Merci pour la corrif. mais quand je mets

function apres{
    global $reset;
    if ($reset){
    $_SESSION['texte_messagecmd'] = "";
    $_SESSION['texte_destinatairecmd'] = "";
    $_SESSION['texte_expediteurcmd'] = "";
    }
}

J'ai une erreur dans le backoffice :

Parse error: syntax error, unexpected '{', expecting '(' in Messagecmd.class.php on line 82

Auriez-vous une idée !??

Last edited by wts (06-01-2009 20:47:49)

Offline


I beg your pardon Sir,

J'ai fait un peu vite. Une entete de fonction c'est :
function apres(){
etc...
}

is 'nt it?

Offline


hello,
merci jhr !

j'ai ajouté

	function apres(){ 
    global $reset;
    if ($reset){
    $_SESSION['texte_messagecmd'] = "";
    $_SESSION['texte_destinatairecmd'] = "";
    $_SESSION['texte_expediteurcmd'] = "";
    }
}

Et il n'y a plus de problème côté backoffice...

Cependant rien ne se rempli côté BDD !

Pour résumé dans la page commande.html j'ai mis

<form action="#URLCOURANTEPARAM" id="commande" method="POST">
Expéditeur : <input type="text" name="texte_expediteurcmd"  value="#EXPEDITEURCMD" /><br />
Destinataire : <input type="text" name="texte_destinatairecmd"  value="#DESTINATAIRECMD" /><br />
Message :
<textarea name="texte_messagecmd" maxlength="200" rows="4" >#MESSAGECMD</textarea>
        
<input type="submit" value="Envoyer" />
</form>	         
           <THELIA_PAIEMENT type="PAIEMENT">
  <p> </p>
           <p><a href="#URLPAYER" onclick="document.getElementById('commande').submit()">
<img src="doc/boutons/envoyer.gif" width="115" height="30" border="0" /></a></p>
    </THELIA_PAIEMENT>

Doit-on modifier autre chose comme Severine l'a fait par exemple ?

MERCI - MERCI

Offline


Le message est enregistré dans la base de donnée au moment de l'enregistrement de la commande dans la base de donnée par la fonction fonctions/action.php function paiement(etc..) en ligne 329 de Thelia 1.3.8, mais pas avant. Cette ligne de code existe depuis Thelia 1.3.5 sauf erreur.

Votre code devrait fonctionner, si vous n'oubliez pas de cliquer sur Envoyer (votre message) avant de choisir votre mode de paiement!

Last edited by jhr (07-01-2009 11:51:58)

Offline


HELLO !
ENCORE MERCI ....

Je ne sais pas ce q'uil faut que je trouve comme code à la ligne 329, mais j'ai bien la version 1.3.8
"fonctions/action.php function paiement(etc..) en ligne 329 de Thelia 1.3.8"

	<?php

	// ajout panier
	function ajouter($ref, $quantite=1, $append=0, $nouveau=0){

		if($quantite =="" || $quantite == 0)
			$quantite = 1;
					
		$perso = array();
		
		$i = 0;
		
		// vérification si un produit avec la même déclinaison est déjà présent
		foreach ($_REQUEST as $key => $valeur) {
			
			if(strstr($key, "declinaison")){
				$perso[$i] = new Perso();
				$perso[$i]->declinaison = substr($key, 11);
				$perso[$i]->valeur = stripslashes($valeur);
				$i++;
				 
			}
		}

		$_SESSION['navig']->panier->ajouter($ref, $quantite, $perso, $append, $nouveau);	
				
	}
	
	// changement de transport
	function transport($id){
		$transzone = new Transzone();

		$pays = new Pays();
        
        if($_SESSION['navig']->adresse != "" && $_SESSION['navig']->adresse != "0"){
            $adr = new Adresse();
            $adr->charger($_SESSION['navig']->adresse);
            $pays->charger($adr->pays);
        }

        else
             $pays->charger($_SESSION['navig']->client->pays);

		if( ! $transzone->charger($id, $pays->zone)) return;
	
		$_SESSION['navig']->commande->transport = $id;	

	}

	// on fixe le code promo
	function codepromo($code){
		$promo = new Promo();
		$promo->charger($code);
		$_SESSION['navig']->promo = $promo;	
	}
		
	// suppression d'un article du panier	
	function supprimer($article){
			$_SESSION['navig']->panier->supprimer($article);

	}
	
	// modification de la quantité d'un article
	function modifier($article, $quantite){
		if($quantite != "")
			$_SESSION['navig']->panier->modifier($article, $quantite);
		
	}
	
	// connexion du client	
	function connexion($email,$motdepasse){
		
		$client = New Client();
		$rec = $client->charger($email, $motdepasse);

		if($rec) {
			$_SESSION['navig']->client = $client;
			$_SESSION['navig']->connecte = 1; 

			if($_SESSION['navig']->urlpageret) redirige($_SESSION['navig']->urlpageret);
			else redirige("index.php");
		}
		
		else redirige("connexion.php?errconnex=1");
		
	}
	
	// déconnexion du client
	function deconnexion(){

		$_SESSION['navig']->client= new Client();
		$_SESSION['navig']->connecte = 0;	
		$_SESSION['navig']->adresse = 0;
		$_SESSION['navig']->urlpageret = str_replace("action=deconnexion","",$_SESSION['navig']->urlpageret);
	}

	// modification de l'adresse en cours	
	function modadresse($adresse){
		$_SESSION['navig']->adresse=$adresse;
	}
	
	// procédure de paiement
	function paiement($type_paiement){
	
		if(! $_SESSION['navig']->client->id)
			header("Location: index.php");
			
		$total = 0;
		$nbart = 0;
		$poids = 0;
		$unitetr = 0;
		
		$modules = new Modules();
		$modules->charger_id($type_paiement);

		$commande = new Commande();
		$commande->transport = $_SESSION['navig']->commande->transport;
		$commande->client = $_SESSION['navig']->client->id;
		$commande->date = date("Y-m-d H:i:s");
		$commande->ref = "C" . date("ymdHis") . strtoupper(substr($_SESSION['navig']->client->prenom,0, 3));
		$commande->livraison = "L" . date("ymdHis") . strtoupper(substr($_SESSION['navig']->client->prenom,0, 3));
		$commande->transaction = date("His");
		$commande->remise = 0;


		$client = New Client();
		$client->charger_id($_SESSION['navig']->client->id);
		
		$adr = new Venteadr();
		$adr->raison = $client->raison;
		$adr->nom = $client->nom;
		$adr->prenom = $client->prenom;
		$adr->adresse1 = $client->adresse1;
		$adr->adresse2 = $client->adresse2;
		$adr->adresse3 = $client->adresse3;
		$adr->cpostal = $client->cpostal;		
		$adr->ville = $client->ville;		
		$adr->tel = $client->telfixe . "  " . $client->telport;		
		$adr->pays = $client->pays;
		$adrcli = $adr->add();
		$commande->adrfact = $adrcli;
		
		$adr = new Venteadr();
		$livraison = new Adresse();
		
		if($livraison->charger($_SESSION['navig']->adresse)){
			
			$adr->raison = $livraison->raison;
			$adr->nom = $livraison->nom;
			$adr->prenom = $livraison->prenom;
			$adr->adresse1 = $livraison->adresse1;
			$adr->adresse2 = $livraison->adresse2;
			$adr->adresse3 = $livraison->adresse3;
			$adr->cpostal = $livraison->cpostal;		
			$adr->ville = $livraison->ville;		
			$adr->tel = $livraison->tel;		
			$adr->pays = $livraison->pays;
			
		}
		else {
			$adr->raison = $client->raison;
			$adr->nom = $client->nom;
			$adr->prenom = $client->prenom;
			$adr->adresse1 = $client->adresse1;
			$adr->adresse2 = $client->adresse2;
			$adr->adresse3 = $client->adresse3;
			$adr->cpostal = $client->cpostal;		
			$adr->ville = $client->ville;		
			$adr->tel = $client->telfixe . "  " . $client->telport;		
			$adr->pays = $client->pays;			
		}
		
		$adrlivr = $adr->add();
		$commande->adrlivr = $adrlivr;			
		
		$commande->facture = 0;
		
		$commande->statut="1";
		$commande->paiement = $type_paiement;
		
		$commande->lang = $_SESSION['navig']->lang;
		
		$idcmd = $commande->add();
		$commande->charger($idcmd);
		$venteprod = new Venteprod();

		for($i=0; $i<$_SESSION['navig']->panier->nbart; $i++){
		
			$declidisp = new Declidisp();
			$declidispdesc = new Declidispdesc();
			$declinaison = new Declinaison();
			$declinaisondesc = new Declinaisondesc();
		
			$dectexte = "\n";

			$produit = new Produit();


			$stock = new Stock();
				
			
												
			for($compt = 0; $compt<count($_SESSION['navig']->panier->tabarticle[$i]->perso); $compt++){
				if(is_numeric($_SESSION['navig']->panier->tabarticle[$i]->perso[$compt]->valeur)){
                
					// diminution des stocks de déclinaison
					$stock->charger($_SESSION['navig']->panier->tabarticle[$i]->perso[$compt]->valeur, $_SESSION['navig']->panier->tabarticle[$i]->produit->id);
                	$stock->valeur-=$_SESSION['navig']->panier->tabarticle[$i]->quantite;
                	$stock->maj();
				}
				
		   		$tperso = $_SESSION['navig']->panier->tabarticle[$i]->perso[$compt];
				$declinaison->charger($tperso->declinaison);
				$declinaisondesc->charger($declinaison->id);
				// recup valeur declidisp ou string
				if($declinaison->isDeclidisp($tperso->declinaison)){
					$declidisp->charger($tperso->valeur);
					$declidispdesc->charger_declidisp($declidisp->id);
					$dectexte .= "- " . $declinaisondesc->titre . " : " . $declidispdesc->titre . "\n";
				}
				
				else $dectexte .= "- " . $declinaisondesc->titre . " : " . $tperso->valeur . "\n";
				
			}			

			
			// diminution des stocks classiques
			$produit = new Produit();
			$produit->charger($_SESSION['navig']->panier->tabarticle[$i]->produit->ref);
			$produit->stock-=$_SESSION['navig']->panier->tabarticle[$i]->quantite;
			$produit->maj();
			
						
			$prodtradesc = new Produitdesc();
			$prodtradesc->charger($_SESSION['navig']->panier->tabarticle[$i]->produit->id, $_SESSION['navig']->lang);
		
			$venteprod->quantite =  $_SESSION['navig']->panier->tabarticle[$i]->quantite;
			if( ! $_SESSION['navig']->panier->tabarticle[$i]->produit->promo)
				$venteprod->prixu =  $_SESSION['navig']->panier->tabarticle[$i]->produit->prix;	
			else $venteprod->prixu =  $_SESSION['navig']->panier->tabarticle[$i]->produit->prix2;
			$venteprod->ref = $_SESSION['navig']->panier->tabarticle[$i]->produit->ref;
			$venteprod->titre = $prodtradesc->titre . " " . $dectexte;
			$venteprod->chapo = $prodtradesc->chapo;
			$venteprod->description = $prodtradesc->description;
		 	$venteprod->tva =  $_SESSION['navig']->panier->tabarticle[$i]->produit->tva;	
		 	
			$venteprod->commande = $idcmd;
		 	$idvprod = $venteprod->add();

			// ajout dans ventedeclisp des declidisp associées au venteprod
			for($compt = 0; $compt<count($_SESSION['navig']->panier->tabarticle[$i]->perso); $compt++){
				$tperso = $_SESSION['navig']->panier->tabarticle[$i]->perso[$compt];
				$declinaison->charger($tperso->declinaison);

				// si declidisp (pas un champs libre)
				if($declinaison->isDeclidisp($tperso->declinaison)){
					$vdec = new Ventedeclidisp();
					$vdec->venteprod = $idvprod;
					$vdec->declidisp = $tperso->valeur;
					$vdec->add();
				}
			}
		
		
		 	$total += $venteprod->prixu * $venteprod->quantite;
		 	$nbart++;
		 	$poids+= $_SESSION['navig']->panier->tabarticle[$i]->produit->poids;
	 	
		}	
 
 			
			$pays = new Pays();
			$pays->charger($_SESSION['navig']->client->pays);
			
		 	if($_SESSION['navig']->client->pourcentage>0) $commande->remise = $total * $_SESSION['navig']->client->pourcentage / 100;

			$total -= $commande->remise;
		
		if($_SESSION['navig']->promo->id != ""){
			if($_SESSION['navig']->promo->type == "1" && $_SESSION['navig']->promo->mini <= $total) $commande->remise += $_SESSION['navig']->promo->valeur;
			else if($_SESSION['navig']->promo->type == "2" && $_SESSION['navig']->promo->mini <= $total) $commande->remise += $total * $_SESSION['navig']->promo->valeur / 100;
			
		
			$_SESSION['navig']->promo->utilise = 1;
			$commande->maj();
			$temppromo = new Promo();
			$temppromo->charger_id($_SESSION['navig']->promo->id);
			if(! $temppromo->illimite)
				$temppromo->utilise="1";
			$temppromo->maj();

			
			$_SESSION['navig']->promo = new Promo();
		} 

		$commande->port = port();	
		if($commande->port == "" || $commande->port<0) $commande->port = 0; 	
		
 		
		$_SESSION['navig']->commande = $commande;
		
		$commande->maj();		

		modules_fonction("aprescommande", $commande);
				
		$nomclass=$modules->nom;
		$nomclass[0] = strtoupper($nomclass[0]);

		include_once("client/plugins/" . $modules->nom . "/" . $nomclass . ".class.php");
		
 		modules_fonction("mail", $commande, $modules->nom);
				
		$tmpobj = new $nomclass();
		$tmpobj->paiement($commande);

	}
	
	// création d'un compte
	function creercompte($raison, $entreprise, $siret, $intracom, $prenom, $nom, $adresse1, $adresse2, $adresse3, $cpostal, $ville, $pays, $telfixe, $telport, $email1, $email2, $motdepasse1, $motdepasse2, $parrain){

		global $obligetelfixe, $obligetelport;

		$client = New Client();
		$client->raison = strip_tags($raison);
		$client->nom = strip_tags($nom);
		$client->entreprise = strip_tags($entreprise);
		$client->ref = date("ymdHis") . strtoupper(substr(strip_tags($prenom),0, 3));
		$client->prenom = strip_tags($prenom);
		$client->telfixe = strip_tags($telfixe);
		$client->telport =strip_tags($telport); 
		if( preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z.]+$/","$email1") 
			&& $email1==$email2) $client->email = strip_tags($email1);
		$client->adresse1 = strip_tags($adresse1);
		$client->adresse2 = strip_tags($adresse2);
		$client->adresse3 = strip_tags($adresse3);
		$client->cpostal = strip_tags($cpostal);
		$client->ville = strip_tags($ville);
		$client->siret = strip_tags($siret);
		$client->intracom = strip_tags($intracom);
		$client->pays = strip_tags($pays);
		$client->type = "0";
		
		$testcli = new Client();
		if($parrain != "") 
			if($testcli->charger_mail($parrain)) $parrain=$testcli->id;
			else $parrain=-1;
		else $parrain=0;

		if($testcli->id != "") $client->parrain=$testcli->id;
		
		if($motdepasse1 == $motdepasse2 && strlen($motdepasse1)>3 ) $client->motdepasse = strip_tags($motdepasse1);
		
		$_SESSION['navig']->formcli = $client;	
		
		$obligeok = 1;
		
		if($obligetelfixe && $client->telfixe=="") $obligeok=0;
		if($obligetelport && $client->telport=="") $obligeok=0;
			
		modules_fonction("avantclient");
			
		if($client->raison!="" && $client->prenom!="" && $client->nom!="" && $client->email!="" && $client->motdepasse!="" 
			&& $client->email && ! $client->existe($email1) && $client->adresse1 !="" && $client->cpostal!="" && $client->ville !="" && $client->pays !="" && $obligeok){
			$_SESSION['navig']->client = $client;	

			$client->crypter();
			
			$client->add();

			modules_fonction("apresclient", $client);
			
               		 $rec = $client->charger_mail($client->email);

                	if($rec) {
                       		$_SESSION['navig']->client = $client;
                        	$_SESSION['navig']->connecte = 1;
	                }
			
			
			redirige("nouveau.php");
		}	
		
		else {

				redirige("formulerr.php?errform=1");
		}		
	}
	
	// modification de compte	
	function modifiercompte($raison, $entreprise, $siret, $intracom, $prenom, $nom, $adresse1, $adresse2, $adresse3, $cpostal, $ville, $pays, $telfixe, $telport, $email1, $email2, $motdepasse1, $motdepasse2){

		global $obligetelfixe, $obligetelport;

		$client = New Client();

		$client->charger_id($_SESSION['navig']->client->id);
		if( $motdepasse1 == "" ){
			$client->id = $_SESSION['navig']->client->id;
			$client->raison = strip_tags($raison);
			$client->siret = strip_tags($siret);
			$client->intracom = strip_tags($intracom);
			$client->entreprise = strip_tags($entreprise);
			$client->nom = strip_tags($nom);
			$client->prenom = strip_tags($prenom);
			$client->telfixe = strip_tags($telfixe);
			$client->telport =strip_tags($telport); 
			
			if($email1 != $client->email){
				$test = new Client();
				if($test->existe($email1))
                    redirige("compte_modifiererr.php?errform=1");          
			}
			
            if( preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z.]+$/","$email1")
                    && $email1==$email2 && $email1 != "") $client->email = strip_tags($email1);
            else
                    $client->email = "";

			$client->adresse1 = strip_tags($adresse1);
			$client->adresse2 = strip_tags($adresse2);
			$client->adresse3 = strip_tags($adresse3);
			$client->cpostal = strip_tags($cpostal);
			$client->ville = strip_tags($ville);
			$client->pays = strip_tags($pays);
			$client->motdepasse = $_SESSION['navig']->client->motdepasse;
			
			$_SESSION['navig']->formcli = $client;

		$obligeok = 1;
		
		if($obligetelfixe && $client->telfixe=="") $obligeok=0;
		if($obligetelport && $client->telport=="") $obligeok=0;
					
			if($client->raison!="" && $client->prenom!="" && $client->nom!="" && $client->email!="" 
			&& $client->email && $client->adresse1 !="" && $client->cpostal!="" && $client->ville !="" && $client->pays !="" && $obligeok){
				$client->maj();
		 		$_SESSION['navig']->client = $client;	
						
		 	redirige($_SESSION['navig']->urlpageret);	

			}
			
				else redirige("compte_modifiererr.php?errform=1");
	
			}
		

		else{

			if(  $motdepasse1 == $motdepasse2 && strlen($motdepasse1)>3 ) {		
				$client->motdepasse = strip_tags($motdepasse1);
				$client->crypter();
		    	$client->maj();
				$_SESSION['navig']->client = $client;	
				redirige($_SESSION['navig']->urlpageret);	
			}
			else  {
				$_SESSION['navig']->formcli->motdepasse = "";
				redirige("compte_modifiererr.php?errform=1");
			}	
			

	   }			
				
		

		

	}
		
	// création d'une adresse de livraison	
	function creerlivraison($id, $libelle, $raison, $prenom, $nom, $adresse1, $adresse2, $adresse3, $cpostal, $ville, $tel, $pays){

		if($libelle != "" && $raison != "" && $prenom != "" && $nom != "" && $adresse1 != ""
			 && $cpostal != "" && $ville != "" && $pays != ""){
		
			$adresse = new Adresse();
			$adresse->libelle = strip_tags($libelle);
			$adresse->raison = strip_tags($raison);
			$adresse->prenom = strip_tags($prenom);
			$adresse->nom = strip_tags($nom);
			$adresse->adresse1 = strip_tags($adresse1);
			$adresse->adresse2 = strip_tags($adresse2);
			$adresse->adresse3 = strip_tags($adresse3);
			$adresse->cpostal = strip_tags($cpostal);
			$adresse->ville = strip_tags($ville);
			$adresse->tel = strip_tags($tel);
			$adresse->pays = strip_tags($pays);
			$adresse->client = $_SESSION['navig']->client->id;
			$lastid = $adresse->add();
			
			$_SESSION['navig']->adresse=$lastid;
						
			redirige($_SESSION['navig']->urlpageret);	
		
		}
	}
	
	
	// suppression d'une adresse de livraison
    function supprimerlivraison($id){
		
         $adresse = new Adresse();
         $adresse->charger($id);

		 if($adresse->client != $_SESSION['navig']->client->id) return;
		
         $adresse->delete();

		 $_SESSION['navig']->adresse = "";
		
    }

	// modification d'une adresse de livraison
	function modifierlivraison($id, $libelle, $raison, $prenom, $nom, $adresse1, $adresse2, $adresse3, $cpostal, $ville, $tel, $pays){

		
		$adresse = new Adresse();
		$adresse->charger($id);
	
		if($adresse->client != $_SESSION['navig']->client->id) return;
		
		if($libelle != "" && $raison != "" && $prenom != "" && $nom != "" && $adresse1 != ""
			 && $cpostal != "" && $ville != "" && $pays != ""){
			 		
			$adresse->id = $id;
			$adresse->libelle = strip_tags($libelle);
			$adresse->raison = strip_tags($raison);
			$adresse->prenom = strip_tags($prenom);
			$adresse->nom = strip_tags($nom);
			$adresse->adresse1 = strip_tags($adresse1);
			$adresse->adresse2 = strip_tags($adresse2);
			$adresse->adresse3 = strip_tags($adresse3);
			$adresse->cpostal = strip_tags($cpostal);
			$adresse->ville = strip_tags($ville);
			$adresse->tel = strip_tags($tel);
			$adresse->pays = strip_tags($pays);
			$adresse->maj();
		}
		
	}

	// changement du mot de passe
	function chmdp($email){
		$msg = new Message();
		$msgdesc = new Messagedesc();
		
		$tclient  = new Client();
		if( $tclient->charger_mail($email)){
			$pass = genpass(8);
			$tclient->motdepasse = $pass;
			$tclient->crypter();
			$tclient->maj();
        
			$msg->charger("changepass");
			$msgdesc->charger($msg->id);

			$sujet = $msgdesc->titre;	

			$emailcontact = new Variable();
            $emailcontact->charger("emailcontact");
                
            $corps = $msgdesc->description;     
			mail("$tclient->email", "$sujet", "$corps $pass", "From: $emailcontact->valeur");
                        
 		
		}


	}
?>

...

J'ai supprimé " messagecmd " directement sur la BDD et réinstallé le plugin,
mais toujours aucun enregistrement !?

Sinon, j'ai remarqué que si j'enlève method="POST"
les infos entrées dans les champs s'affichent dans l'url,
ce qui n'est pas le cas lorsque je mets method="POST"

J'ai aussi essayé avec <form action="#URLCOURANTEPARAM"
remplacé par <form action="commande.php" !

TOUJOURS rien de rien !

Merki !

Last edited by wts (09-01-2009 01:54:38)

Offline


UP to the TOP ! wink

Est--ce que qulequ'un a une synthèse
de tout ce qui pourrait faire fonctionner ce plugin ?

ps : ajax, où en es-tu ?

HELP & Hank !

Offline


Je viens de prendre note des messages, j'ai ajouté les infos que tu as donné dans le fichier Messagecmd.class.php

A savoir :

    function apres(){
    global $reset;
    if ($reset){
    $_SESSION['texte_messagecmd'] = "";
    $_SESSION['texte_destinatairecmd'] = "";
    $_SESSION['texte_expediteurcmd'] = "";
    }
}

J'ai effacé toutes les entrées que j'avais dans la base de donnée du plugin.

Cela fonctionne au début mais après, dès qu'on supprime une commande cela ne marche plus ensuite, je ne sais pas quoi faire, as tu d'autres idées car cette fonction ne semble pas avoir tout réglé malheureusement. Je tourne en rond depuis des semaines avec ce plugin mais j'aurai bien besoin de le faire marcher!

Last edited by ajax (13-01-2009 21:46:12)

Offline


A quand une mise à jour du plugin, car tel qu'il est proposé il n'est pas utilisable :-(