Magazine Graphisme

Pligg, astuce numero 2 …//Lire la suite…

Publié le 17 octobre 2008 par Johnsgraphisme

Pligg, astuce numero 2 …//Lire la suite…

// Vous avez pu voir la semaine dernière une première astuce concernant le CMS Pligg, qui permettait à l’administrateur du site de recevoir un e-mail lorqu’une news était ajoutée. Et bien cette semaine toujours dans la partie e-mail, nous allons voir comment l’auteur d’un post sur un digg-like Pigg peut être tenu au courant lorsque quelqu’un met un commentaire sur sa news. Pour faire simple, vous recevez un mail à chaque fois qu’une personne commente votre post, en cochant une case, et si, vous ne voulez plus recevoir les mails, il suffit d’aller décocher cette même case.

En pratique maintenant :

Nous allons agir sur ces fichiers : lang.conf, submit_step_2.tpl, submit.php, editlink_edit_center.tpl, link.php, editlink.php et enfin story.php

Mais avant de commencer à toucher au fichier, nous allons rajouter une colonne dans la base de donnée, dans la table pligg_link, de la façon suivante :

ALTER TABLE `pligg_links` ADD COLUMN `link_subscribe` TINYINT( 1 ) NULL DEFAULT '0';

Etape 1 :
Ouvrir le fichier lang.conf et insérer ceci :

//<SECTION>SUBMIT - STEP 2</SECTION><ADDED>0.5</ADDED>
PLIGG_Visual_Submit2Subscribe_To = "Cochez ici si vous voulez être prévenu par email lors d'un commentaire"

Etape 2 :
Ouvrir le fichier submit_step_2.tpl et insérer ce qui suit juste après la ligne “{checkActionsTpl location=”submit_step_2_pre_extrafields”}” :

<br />
<label for"subscribeto"><input type="checkbox" name="subscribeto" id="subscribeto"> {#PLIGG_Visual_Submit2Subscribe_To#}</label><br/>

Etape 3 :
Ouvrir le fichier submit.php, et juste après cette ligne $linkres->category=$_POST['category']; insérer ce qui suit :

$linkres->subscribe=$_POST['subscribeto'];

Dans le même fichier chercher cette ligne $main_smarty->assign(’submit_content’, $link_content); et insérer ceci juste après :

$main_smarty->assign('submit_subscribe', $linkres->subscribe);

Etape 4 :
On va maintenant s’occuper du fichier editlink_edit_center.tpl, il faut rajouter la check box également. Chercher cette ligne : {include file=$tpl_extra_fields.”.tpl”}, et rajouter ce qui suit juste après :

<br />
<label for"subscribeto">{if $submit_subscribe eq 1}<input type="checkbox" name="subscribeto" id="subscribeto" CHECKED> {else} <input type="checkbox" name="subscribeto" id="subscribeto">{/if}{#PLIGG_Visual_Submit2Subscribe_To#}</label>
<br/><br/>

Etape 5 :
Nous allons maintenant gérer le fichier /libs/link.php, recherche la ligne “class Link {”, et insérer juste en dessous ceci :

var $subscribe = 0;

Toujours dans le même fichier, rechercher cette ligne : global $db, $current_user; et insérer ceci juste en dessous :

if(isset($_POST['subscribeto'])){
$this->subscribe = "1";
}

Dans le même fichier chercher la ligne : $link_summary = $db->escape($this->link_summary); et rajouter ce qui suit juste après :

$link_subscribe = $db->escape($this->subscribe);

Encore dans le fichierlink.php, rechercher la ligne set link_summary=’$link_summary’, et placer ce qui suit juste après :

link_subscribe='$link_subscribe'

Dans le même fichier rechercher la ligne : if($link) { et ajouter ce qui suit en dessous :

$this->subscribe = $link->link_subscribe;

Et enfin dans ce même fichier, rechercher la ligne : function fill_smarty($smarty, $type=’full’){ et insérer ce qui suit juste en dessous :

$smarty->assign('subscribe', $this->subscribe);

Etape 6 :
Occupons nous maintenant du fichier editlink.php, et rechercher la ligne : $edit = false; puis rajouter ce qui suit en dessous :

$link_subscribe = $linkres->subscribe;

Dans ce même fichier rechercher la ligne : $main_smarty->assign(’enable_tags’, Enable_Tags); et rajouter ce qui suit juste en dessous :

$main_smarty->assign('submit_subscribe', $link_subscribe);

Etape 7 :
Dernier fichier à modifier, c’est story.php, rechercher ce code :

if(isset($_POST['process'])){
         if ($_POST['process']=='newcomment') {
                     insert_comment();
         }
}

et remplacer le par ce code :

if(isset($_POST['process'])){
         if ($_POST['process']=='newcomment') {
                     if ($link->subscribe==1) {
//If you find that most users do not provide a public email, it would be safer to change the query below to "Select user_email FROM" instead.
$authormail = $db->get_var("SELECT public_email FROM " .table_users ." WHERE user_id = $link->author;");

$subject= 'Vous avez un nouveau commentaire sur votre news : ' . $link->title;
$message = "Le membre :". $current_user->user_login . " a commente cette news :" . $link->title . "'\r\n\r\n\t" . "'".$_POST['comment_content']. "\r\n\r\nLien de la news en question : " . my_base_url . my_pligg_base . "/story.php?title=". $link->title_url . "\r\n\r\nVoila,\r\nNews4blog Administration";
                                 $headers = "From: admin@votresite.fr"  . "\r\nReply-To: admin@votresite.fr " . "\r\nX-Priority: 1\r\n";
                                             $to=$authormail;
                                             @mail($to, $subject, $message, $headers);
                                 }

                                 insert_comment();
                     }
         }

Etape 8 :
Maintenant, il ne vous reste plus qu’a uploader vos fichiers modifiers sur votre FTP et le tour et joué, qu’est ce que vous en pensez les utilisateurs de Pligg ???

N’hésitez pas à me mettre vos réactions…

Articles relatifs


Vous pourriez être intéressé par :

Retour à La Une de Logo Paperblog

Ces articles peuvent vous intéresser :

A propos de l’auteur


Johnsgraphisme 140 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte