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: [email protected]"  . "\r\nReply-To: [email protected] " . "\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


Retour à La Une de Logo Paperblog

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