THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

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

Offline

#1 Formulaire Thélia 1.4.4

(29-01-2015 18:51:13)


Bonjour,

A l'heure où Thelia se développe avec la v2 est toute ses fonctions sympas j'ai besoin d'aide sur la v1.4.4 sad

En fait je cherche un module de contact qui fonctionne encore avec cette version, j'ai testé quelques modules qui sont ici http://thelia.net/v1/ mais sans succès, une idée ?

Offline

#2 Re: Formulaire Thélia 1.4.4

(30-01-2015 03:12:42)


Bonjour THDEBOK,

En plus des plugins present sur le site thelia certains anciens peuvent se trouver sur le site de Griggione wink

Moi j'utilise le plugin "formcontact" introuvable donc1 truc que j'ai du développer à l’époque pour mon site (1.4.0) http://le-bouquiniste.com/contact.php
me souviens malheureusement plus hmm  mais si le principe te plait je te fournirai le "plugin" et les brides de codes...

Reg


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline

#3 Re: Formulaire Thélia 1.4.4

(30-01-2015 20:04:14)


Merci Reg, j'ai trouvé mon bonheur avec ton lien, il faut maintenant l'adapter mais ce n'est pas simple à priori  hmm

Offline

#4 Re: Formulaire Thélia 1.4.4

(30-01-2015 21:53:26)


je bloque sur un truc tt bête certainement  mais pas moyen de comprendre ce plugin "contact" (1.4

dans la fichier Contact.class.php c'est bien cette ligne qui met en forme le mail

$messagedesc->description = "Bonjour,<br /> Un nouveau mail de contact vient de vous être adressé : <br />nom : __NOM__<br />prénom : __PRENOM__<br />email : __EMAIL__<br />tel : __TEL__<br/>message : __MESSAGE__";

Pourtant quand je me modifie (ou supprime) je reçois toujours les même mails !!

des idées ??

<?php
include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsClassiques.class.php");
include_once(realpath(dirname(__FILE__)) . "/../../../classes/Message.class.php");
include_once(realpath(dirname(__FILE__)) . "/../../../classes/Messagedesc.class.php");
include_once(realpath(dirname(__FILE__)) . "/../../../classes/Variable.class.php");
include_once(realpath(dirname(__FILE__)) . "/../../../classes/Mail.class.php");



class Contact extends PluginsClassiques{

	var $id;
	var $nom;
	var $prenom;
	var $email;
	var $tel;
	var $sujet;
	var $message;
	var $date;
	var $lu;
	
	var $table = "contact";
	var $bddvars = array("id","nom","prenom","email","tel","sujet","message","date","lu");
	
	
	function Contact(){
		$this->PluginsClassiques();
	}

	function init(){
		$variable = new Variable();
		if(!$variable->charger("contact")){
			$emailcontact = new variable();
			$emailcontact->charger("emailcontact");
			
			$variable->nom = "contact";
			$variable->valeur = $emailcontact->valeur;
			$variable->add();
		}
	
		$message = new Message();
		if(!$message->charger("contact")){
			$message->nom = "contact";
						
			$messagedesc = new Messagedesc();
			$messagedesc->message = $message->add();
			$messagedesc->lang="1";
			$messagedesc->intitule = "contact";
			$messagedesc->titre = "__SUJET__";
			$messagedesc->description = "Bonjour,<br /> Un nouveau mail de contact vient de vous être adressé : <br />nom : __NOM__<br />prénom : __PRENOM__<br />email : __EMAIL__<br />tel : __TEL__<br/>message : __MESSAGE__";
			$messagedesc->descriptiontext = str_replace("<br />","\r\n",$messagedesc->description);
			$messagedesc->add();
		}
		
		$cnx = new Cnx();
		$query = "CREATE TABLE `contact` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nom` VARCHAR( 255 ) NOT NULL ,
`prenom` VARCHAR( 255 ) NOT NULL ,
`email` VARCHAR( 255 ) NOT NULL ,
`tel` VARCHAR( 30 ) NOT NULL ,
`sujet` VARCHAR( 255 ) NOT NULL ,
`message` TEXT NOT NULL ,
`date` DATETIME NOT NULL ,
`lu` INT NOT NULL
)";
		$resul = mysql_query($query,$cnx->link);
	}
	
	function charger($id){
		return $this->getVars("select * from $this->table where id=\"$id\"");
	}
	
	function action(){
		global $action;
		
		switch($action){
			case "contact":
				$this->crea_contact();
				break;
		}
		
		if(isset($_GET["errcontact"]) && $_GET["errcontact"] == 1){
			$this->formerreur();
		}
	}
	
	function demmarrage(){
		if(!isset($_SESSION["contact"])){
			$_SESSION["contact"] = new Contact();
		}
	}
	
	function formerreur(){
		global $res;
		if( $_SESSION['contact']->nom == "" ) $res = preg_replace("/\#NOM\[([^]]*)\]/", "\\1", $res);
	 	else $res = preg_replace("/\#NOM\[[^]]*\]/", "", $res);
	 	
	 	if( $_SESSION['contact']->prenom == "" ) $res = preg_replace("/\#PRENOM\[([^]]*)\]/", "\\1", $res);
	 	else $res = preg_replace("/\#PRENOM\[[^]]*\]/", "", $res);
	 	
	 	if( $_SESSION['contact']->email == "" ) $res = preg_replace("/\#EMAIL\[([^]]*)\]/", "\\1", $res);
	 	else $res = preg_replace("/\#EMAIL\[[^]]*\]/", "", $res);
	 	
	 	if( $_SESSION['contact']->tel == "" ) $res = preg_replace("/\#TEL\[([^]]*)\]/", "\\1", $res);
	 	else $res = preg_replace("/\#TEL\[[^]]*\]/", "", $res);
	 	
	 	if( $_SESSION['contact']->sujet == "" ) $res = preg_replace("/\#SUJET\[([^]]*)\]/", "\\1", $res);
	 	else $res = preg_replace("/\#SUJET\[[^]]*\]/", "", $res);
	 	
	 	if( $_SESSION['contact']->message == "" ) $res = preg_replace("/\#MESSAGE\[([^]]*)\]/", "\\1", $res);
	 	else $res = preg_replace("/\#MESSAGE\[[^]]*\]/", "", $res);
	 	
	 	$res = str_replace("#NOM",$_SESSION["contact"]->nom,$res);
	 	$res = str_replace("#PRENOM",$_SESSION["contact"]->prenom,$res);
	 	$res = str_replace("#EMAIL",$_SESSION["contact"]->email,$res);
	 	$res = str_replace("#TEL",$_SESSION["contact"]->tel,$res);
	 	$res = str_replace("#SUJET",$_SESSION["contact"]->sujet,$res);
	 	$res = str_replace("#MESSAGE",$_SESSION["contact"]->message,$res);
	}
	
	function crea_contact(){
		global $obligenom, $obligeprenom, $obligetel, $obligesujet, $obligemessage;
		$contact = new Contact();
		$contact->nom = strip_tags($_POST["nom"]);
		$contact->prenom = strip_tags($_POST["prenom"]);
		if( preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z.]+$/",$_POST["email"])) $contact->email = strip_tags($_POST["email"]);
		$contact->tel = strip_tags($_POST["tel"]);
		$contact->sujet = strip_tags($_POST["sujet"]);
		$contact->message = strip_tags($_POST["message"]);
		
		$obligeok = 1;
		
		if($obligenom && $contact->nom == "") $obligeok = 0;
		if($obligeprenom && $contact->prenom == "") $obligeok = 0;
		if($obligetel && $contact->tel == "") $obligeok  =0;
		if($obligesujet && $contact->sujet == "") $obligeok = 0;
		if($obligemessage && $contact->message == "") $obligeok = 0;
		if($contact->email == "") $obligeok = 0;
		
		if(!$obligeok){
			$_SESSION["contact"] = $contact;
			redirige("contacterr.php?errcontact=1");
		}
		else{
			$contact->date = date("Y-m-d H:i:s");
			$contact->lu = 0;
			$contact->add();
			$this->envoimessage($contact);
		}
	}
	
	
	function envoimessage($contact){
		
		$message = new Message();
		$message->charger("contact");
		
		$messagedesc = new Messagedesc();
		$messagedesc->charger($message->id);
		
		$email = new Variable();
		$email->charger("contact");
		
		$nomsite = new Variable();
		$nomsite->charger("nomsite");
		
		$mail = new Mail();
		$mail->IsMail();
		$mail->FromName = $contact->nom;
		$mail->From = $contact->email;
		$mail->Subject = $this->substitmail($messagedesc->titre,$contact);
		$mail->MsgHTML($this->substitmail($messagedesc->description,$contact));
		$mail->AltBody = $this->substitmail($messagedesc->descriptiontext,$contact);
		$mail->AddAddress($email->valeur,$nomsite->valeur);
		$mail->send();
	    
		redirige($urlsite->valeur ." merci2.php") ;
	}
	
	function substitmail($corps,$contact){
		$corps = str_replace("__SUJET__",$contact->sujet,$corps);
		$corps = str_replace("__NOM__",$contact->nom,$corps);
		$corps = str_replace("__PRENOM__",$contact->prenom,$corps);
		$corps = str_replace("__TEL__",$contact->tel,$corps);
		$corps = str_replace("__EMAIL__",$contact->email,$corps);
		$corps = str_replace("__MESSAGE__",$contact->message,$corps);
		$corps = str_replace("__DATE__",$contact->dateR,$corps);
		
		return $corps;
	}
}


?>

Offline

#5 Re: Formulaire Thélia 1.4.4

(31-01-2015 03:35:55)


THDEBOK wrote:

j'ai trouvé mon bonheur avec ton lien

Du coup content de rendre service me suis fendu de mettre en musique 1 plugin complet et tout beau formcontact
avant de me dire 1 fois le boulot fait hmm
mais mon lien n'ai pas le mien mais celui de l'ami Griggione tongue

Pour ton problème tu peux essayer de modifier le mail directement dans ta BDD ou l’éditer dans la configuration ton BO wink


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline

#6 Re: Formulaire Thélia 1.4.4

(31-01-2015 08:07:59)


Une fois le plugin installé, il ne faut pas éditer le mail dans le code, mais dans le back-office de Thelia (Configuration -> Gestion des messages)


OpenStudio Toulouse

Offline

#7 Re: Formulaire Thélia 1.4.4

(31-01-2015 14:48:35)


dans le back-office tout simplement smile

Merci Reg et Roadster

Offline

#8 Re: Formulaire Thélia 1.4.4

(04-02-2015 12:32:12)


je reviens sur cette discussion, en bricolant le formulaire j'ai pu insérer un calendrier par contre je bloque pour avoir un champ qui permette d'envoyer une pj avec le formulaire (simple formulaire de contact).

J'ai bien suivi cette discussion : http://thelia.net/forum/viewtopic.php?id=4248
mais je ne vois pas comment l'adapter à mes besoins (qui sont plus simple je crois)

que faut-il ajouter à Contact.class.php ?
un code de ce type ?

AddAttachment($path, $name = "", $encoding = "base64",
    $type = "application/octet-stream")