Salut à toutes et à tous
La communauté des Nullos xoops Planète est ravi de vous présenter le module mypote version 1.
Les possibilités :
C'est un gestionnaire d'ami(e)s et de potes. Il retrace les visites faites par les membres dans son info compte.
Il est possible d'évaluer les membres visités, de les déclarer ami(e)s ou potes.
En fait, c'est le clone de mylove de Daviddu54, ce module est basé sur le module mylatinsoulmate que je ne connais pas.
Installation:
1 - télécharger le module mypote v1.0
ICI puis dezippez le
2 - Si c'est une mise à jour, éffacer l'ancien module sans le désinstaller , puis faite une mise à jour du module, ensuite allez sur la page
http://votre-site/modules/mypote/update.php et faite la mise à jour des table mysql puis
supprimer le ficher update.phpSi c'est une premiere installation, envoyer le modules sans le fichier
update.php sur votre ftp et installer le.
3 - Editer le fichier modules/system/templates/system_userinfo.html de votre site et ajouté le code suivant juste après le 2ème tag
<{/if}>
<!-- debut hack mypote -->
<{if $user_ownpage == false}>
<table width="100%">
<tr>
<td align="center">
<{$button_addpote}>
<{$button_addfriend}>
<{$button_addnote}>
</td>
</tr>
</table>
<{/if}>
<table width="100%">
<tr>
<br />
<td width="14%">
<table class="outer" width="100%">
<tr>
<th colspan="2" align="center"><{$lang_poter}></th>
</tr>
<tr class="even"><td><{foreach item=lov from=$poter}><{$lov.potedisplay}><br><{/foreach}></td></tr>
</table></td>
<td width="14%">
<table class="outer" width="100%">
<tr>
<th colspan="2" align="center"><{$lang_friends}></th>
</tr>
<tr class="even"><td><{foreach item=ami from=$friends}><{$ami.friendsdisplay}><br><{/foreach}></td></tr>
</table></td>
<td width="14%">
<table class="outer" width="100%">
<tr>
<th colspan="2" align="center"><{$lang_blocked}></th>
</tr>
<tr class="even"><td><{foreach item=bloq from=$blocked}><{$bloq.blockeddisplay}><br><{/foreach}></td></tr>
</table></td>
<td width="23%">
<table class="outer" width="100%">
<tr>
<th colspan="2" align="center"><{$lang_visitor}></th>
</tr>
<tr class="even"><td><{foreach item=visit from=$visitor}><{$visit.visitordisplay}> <font color=green><{$visit.timedisplay}></font><br><{/foreach}></td></tr>
</table></td>
<td width="35%">
<table class="outer" width="100%">
<tr>
<th align="center"><{$lang_info}></th>
</tr>
<tr bgcolor="white">
<td><{$lang_note}> <{$user_uname}> <{$lang_etde}> <font color=red><{$user_note}></font>/10</td>
</tr>
<tr bgcolor="white">
<td><font color=red><{$user_vote}></font> <{$lang_vote}> <{$user_uname}></td>
</tr>
<tr bgcolor="white">
<td><font color=red><{$user_hits}></font> <{$lang_hits}> <{$user_uname}></td>
</tr>
<tr bgcolor="white">
<td><{$user_uname}> <{$lang_potet}> <font color=red><{$user_potet}></font> <{$lang_membres}></td>
</tr>
<tr bgcolor="white">
<td><font color=red><{$user_potert}></font> <{$lang_membres}> <{$lang_potert}> <{$user_uname}></td>
</tr>
<tr bgcolor="white">
<td><{$user_uname}> <{$lang_addedme}> <font color=red><{$user_friendst}></font> <{$lang_friendst}></td>
</tr>
<tr bgcolor="white">
<td><font color=red><{$user_lfriendst}></font> <{$lang_membres}> <{$lang_added}> <{$user_uname}> <{$lang_lfriendst}></td>
</tr>
<tr bgcolor="white">
<td><{$user_uname}> <{$lang_mbloked}> <font color=red><{$user_mbloked}></font> <{$lang_membres}></td>
</tr>
<tr bgcolor="white">
<td><font color=red><{$user_lblockedt}></font> <{$lang_lblockedt}> <{$user_uname}></td>
</tr>
<tr bgcolor="white">
<td><{$lang_poput}> <{$user_uname}> <{$lang_etde}> <font color=red><{$user_poput}></font></td>
</tr>
</table></td>
</tr></table>
<br />
<!-- fin hack mypote -->
Puis mettez a jour le module system admin
4 - Editer le fichier pmlite de votre site et remplacer ses 3 lignes
$res = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("users")." WHERE uid=".intval($_POST['to_userid'])."");
list($count) = $xoopsDB->fetchRow($res);
if ($count != 1) {
Et remplacer les par ce code
$isblocked = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote")." WHERE friend=".intval($_POST['to_userid'])." AND friendid=".$xoopsUser->getVar('uid')." AND blocked='1' ");
list($countblocked) = $xoopsDB->fetchRow($isblocked);
$res = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("users")." WHERE uid=".intval($_POST['to_userid'])."");
list($count) = $xoopsDB->fetchRow($res);
if ($count != 1 or $countblocked != 0) {
5 - Editer le fichier userinfo.php juste apres ce code
$myts =& MyTextSanitizer::getInstance();
if ( is_object($xoopsUser) && $isAdmin ) {
$xoopsTpl->assign('lang_editprofile', _US_EDITPROFILE);
$xoopsTpl->assign('lang_deleteaccount', _US_DELACCOUNT);
$xoopsTpl->assign('user_uid', $thisUser->getVar('uid'));
}
Ajouter ce code
Note : pour interdir l'accés aux profiles aux anonymes supprimé les 2 // de la ligne //$xoopsUser or redirect_header('index.php', 3, _NOPERM);
/////////////////////////////////////////
// DEBUT HACK MYPOTE Version 3
// AFICHAGE MES POTES
// Retirer les 2 slash de la ligne en dessous pour interdire aux anonymes l'acces aux profiles
//$xoopsUser or redirect_header('index.php', 3, _NOPERM);
if (is_object($xoopsUser)) {
$surferuid = $xoopsUser->uid();
$count = 0;
$isblocked = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote")." WHERE friend=$uid AND friendid=$surferuid AND blocked='1' ");
list($countblocked) = $xoopsDB->fetchRow($isblocked);
if ($countblocked == '0') {
$ifexistpote = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote")." WHERE friend=$surferuid AND friendid=$uid AND status=2");
list($poteexist) = $xoopsDB->fetchRow($ifexistpote);
if ($poteexist == 1) {
$addpote = "<img src='modules/mypote/images/".$xoopsConfig['language']."/noaddpote.gif' whidth='160' height='17'/>";
} else {
$addpote = "<a href='modules/mypote/functions.php?op=addpote&friendid=$uid'><img src='modules/mypote/images/".$xoopsConfig['language']."/addpote.gif' whidth='160' height='17'/></a>";
}
$xoopsTpl->assign('button_addpote', $addpote);
$ifexistfriend = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote")." WHERE friend=$surferuid AND friendid=$uid AND status=1 ");
list($friendexist) = $xoopsDB->fetchRow($ifexistfriend);
if ($friendexist == 1) {
$addfriend = "<img src='modules/mypote/images/".$xoopsConfig['language']."/noaddfriend.gif' whidth='160' height='17'/>";
} else {
$addfriend = "<a href='modules/mypote/functions.php?op=addfriend&friendid=$uid'><img src='modules/mypote/images/".$xoopsConfig['language']."/addfriend.gif' whidth='160' height='17'/></a>";
}
$xoopsTpl->assign('button_addfriend', $addfriend);
$ifexistnote=$xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote_votedata")." WHERE uid=$uid AND ratinguser=$surferuid");
list($noteexist) = $xoopsDB->fetchRow($ifexistnote);
if ($noteexist == 1) {
$addnote = "<img src='modules/mypote/images/".$xoopsConfig['language']."/nonote.gif' whidth='160' height='17'/>";
} else {
$addnote = "<a href='modules/mypote/user_rate.php?uid=$uid'><img src='modules/mypote/images/".$xoopsConfig['language']."/note.gif' whidth='160' height='17'/></a>";
}
$xoopsTpl->assign('button_addnote', $addnote);
}
}
$result = $xoopsDB->query("SELECT m.friendid , u.uname FROM ".$xoopsDB->prefix("mypote")." m, ".$xoopsDB->prefix("users")." u WHERE m.friend='".$uid."' AND m.friendid=u.uid AND m.blocked=0 AND status=2 ORDER BY friendid DESC LIMIT 10");
$poter = array();
while ( $myrow = $xoopsDB->fetchArray($result) ) {
$poted=$myrow["friendid"];
$potename=$myrow["uname"];
$poter[$count]["potedisplay"]= "<a href='userinfo.php?uid=".$poted."'>".$potename."</a>";
$count ++;
$xoopsTpl->assign('poter', $poter);
}
if ($surferuid == $uid) {
$xoopsTpl->assign('lang_poter', _US_MYPOTE);
} else {
$xoopsTpl->assign('lang_poter', _US_SYPOTE);
}
// AFICHAGE MES AMIS
$result1 = $xoopsDB->query("SELECT m.friendid , u.uname FROM ".$xoopsDB->prefix("mypote")." m, ".$xoopsDB->prefix("users")." u WHERE m.friend='".$uid."' AND m.friendid=u.uid AND m.blocked=0 AND status=1 ORDER BY friendid DESC LIMIT 10");
$friends = array();
while ( $myrow = $xoopsDB->fetchArray($result1) ) {
$friendid=$myrow["friendid"];
$fname=$myrow["uname"];
$friends[$count]["friendsdisplay"]= "<a href='userinfo.php?uid=".$friendid."'>".$fname."</a>";
$count ++;
$xoopsTpl->assign('friends', $friends);
}
if ($surferuid == $uid) {
$xoopsTpl->assign('lang_friends', _US_MYFRIEND);
} else {
$xoopsTpl->assign('lang_friends', _US_SYFRIEND);
}
// AFICHAGE MEMBRES BLOQUER
$result2 = $xoopsDB->query("SELECT m.friendid , u.uname FROM ".$xoopsDB->prefix("mypote")." m, ".$xoopsDB->prefix("users")." u WHERE m.friend='".$uid."' AND m.friendid=u.uid AND m.blocked=1 ORDER BY friendid DESC LIMIT 10");
$blocked = array();
while ( $myrow = $xoopsDB->fetchArray($result2) ) {
$blockedid=$myrow["friendid"];
$blockername=$myrow["uname"];
$blocked[$count]["blockeddisplay"]= "<a href='userinfo.php?uid=".$blockedid."'>".$blockername."</a>";
$count ++;
$xoopsTpl->assign('blocked', $blocked);
}
if ($surferuid == $uid) {
$xoopsTpl->assign('lang_blocked', _US_MYBLIST);
} else {
$xoopsTpl->assign('lang_blocked', _US_SYBLIST);
}
// AFICHAGE VISITEURS
$result3 = $xoopsDB->query("SELECT m.visitor, m.last_visit, u.uname FROM ".$xoopsDB->prefix("mypote_visit")." m, ".$xoopsDB->prefix("users")." u WHERE m.uid='".$uid."' AND m.visitor=u.uid ORDER BY last_visit DESC LIMIT 10");
$visitor = array();
while ( $myrow = $xoopsDB->fetchArray($result3) ) {
$visitorid=$myrow["visitor"];
$visitorname=$myrow["uname"];
$visitortime=$myrow["last_visit"];
$visitor[$count]["visitordisplay"]= "<a href='userinfo.php?uid=".$visitorid."'>".$visitorname."</a>";
$visitor[$count]["timedisplay"]= formatTimestamp($visitortime,"m");
$count ++;
$xoopsTpl->assign('visitor', $visitor);
}
if ($surferuid == $uid) {
$xoopsTpl->assign('lang_visitor', _US_MYVISIT);
} else {
$xoopsTpl->assign('lang_visitor', _US_SYVISIT);
}
// AFFICHAGE INFORMATION GENERAL
$xoopsTpl->assign('lang_info', _US_INFOGENE);
$xoopsTpl->assign('lang_note', _US_NOTE);
$xoopsTpl->assign('lang_vote', _US_VOTE);
$xoopsTpl->assign('lang_hits', _US_HITS);
$xoopsTpl->assign('lang_potet', _US_POTET);
$xoopsTpl->assign('lang_potert', _US_POTERT);
$xoopsTpl->assign('lang_friendst', _US_FRIENDST);
$xoopsTpl->assign('lang_lfriendst', _US_LFRIENDST);
$xoopsTpl->assign('lang_mbloked', _US_MBLOCKED);
$xoopsTpl->assign('lang_lblockedt', _US_LBLOCKEDT);
$xoopsTpl->assign('lang_poput', _US_POPUT);
$xoopsTpl->assign('lang_etde', _US_ETDE);
$xoopsTpl->assign('lang_membres', _US_MEMBRES);
$xoopsTpl->assign('lang_added', _US_ADDED);
$xoopsTpl->assign('lang_addedme', _US_ADDEDME);
$xoopsTpl->assign('user_uname', $thisUser->getVar('uname'));
// RECUPERATION DE LA NOTE ET DES VOTES
$voteresult5 = $xoopsDB->query("select rating FROM ".$xoopsDB->prefix("mypote_votedata")." WHERE uid = $uid");
$totalvoter = $xoopsDB->getRowsNum($voteresult5);
$totalrating = 0;
while(list($rating)=$xoopsDB->fetchRow($voteresult5)){
$totalrating += $rating;
}
if ($totalvoter == 0) {
$finalrating = 0;
} else {
$finalrating = $totalrating/$totalvoter;
}
$xoopsTpl->assign('user_note', number_format($finalrating,0));
$xoopsTpl->assign('user_vote', $totalvoter);
// RECUPERATION DU NOMBRE DE VISITEURS
$voteresult6 = $xoopsDB->query("select hits FROM ".$xoopsDB->prefix("mypote_visit")." WHERE uid = $uid");
$totalhits = 0;
while(list($hits)=$xoopsDB->fetchRow($voteresult6)){
$totalhits += $hits;
}
$xoopsTpl->assign('user_hits', $totalhits);
// RECUPERATION DU NOMBRE DE MES POTES
$voteresult7 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mypote")." WHERE friend=$uid AND status=2 AND blocked=0");
$totalipote = $xoopsDB->getRowsNum($voteresult7);
$xoopsTpl->assign('user_potet', $totalipote);
// RECUPERATION DU NOMBRE DE MES FLASHER
$voteresult8 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mypote")." WHERE friendid=$uid AND status=2 AND blocked=0");
$totalpoteme = $xoopsDB->getRowsNum($voteresult8);
$xoopsTpl->assign('user_potert', $totalpoteme);
// RECUPERATION DU NOMBRE DE MES AMIS
$voteresult9 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mypote")." WHERE friend=$uid AND status=1 AND blocked=0");
$totalfuid = $xoopsDB->getRowsNum($voteresult9);
$xoopsTpl->assign('user_friendst', $totalfuid);
// RECUPERATION DU NOMBRE DE CEUX DE QUI JE SUIS L AMI
$voteresult10 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mypote")." WHERE friendid=$uid AND status=1 AND blocked=0 ");
$totaluidf = $xoopsDB->getRowsNum($voteresult10);
$xoopsTpl->assign('user_lfriendst', $totaluidf);
// RECUPERATION DU NOMBRE DE PERSONNES QUE J AI BLOQUER
$voteresult11 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mypote")." WHERE friend=$uid AND blocked=1 ");
$totalblocked = $xoopsDB->getRowsNum($voteresult11);
$xoopsTpl->assign('user_mbloked', $totalblocked);
// RECUPERATION DU NOMBRE DE PERSONNES QUI MON BLOQUER
$voteresult12 = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix("mypote")." WHERE friendid=$uid AND blocked=1 ");
$totalblockedme = $xoopsDB->getRowsNum($voteresult12);
$xoopsTpl->assign('user_lblockedt', $totalblockedme);
// RECUPERATION DE L INDICE DE POPULARITE
$poput = $totaluidf + $totalpoteme - $totalblockedme;
$xoopsTpl->assign('user_poput', $poput);
if (is_object($xoopsUser)) {
// UPDATE DES HITS ET VISITEURS
$ifexist = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote_stats")." WHERE uid=$uid ");
list($exist) = $xoopsDB->fetchRow($ifexist);
if ($exist == 1) {
$xoopsDB->queryF("UPDATE ".$xoopsDB->prefix("mypote_stats")." SET note=$finalrating, pop=$poput, visit=$totalhits WHERE uid=$uid ");
} else {
$xoopsDB->queryF("INSERT INTO ".$xoopsDB->prefix("mypote_stats")." (uid, note, pop, visit) VALUES ($uid, $finalrating, $poput, $totalhits)");
}
$datetime = time();
$sql4 = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix("mypote_visit")." WHERE uid = $uid AND visitor = $surferuid");
$check1 = $xoopsDB->fetchArray($sql4);
$checkvisitor = $check1["visitor"];
if ($checkvisitor == $surferuid) {
$xoopsDB->queryF("UPDATE ".$xoopsDB->prefix("mypote_visit")." SET last_visit = $datetime , hits = hits + 1 where uid = $uid AND visitor = $surferuid");
} else {
$xoopsDB->queryF("INSERT INTO ".$xoopsDB->prefix("mypote_visit")." (uid, visitor, last_visit ) VALUES ($uid, $surferuid ,$datetime)");
}
}
// FIN HACK MYPOTE
///////////////////////////////////////////////
6 - Editer le fichier language/french/user.php et ajouté ce code
// DEBUT HACK MYPOTE
define('_US_MYPOTE','Mes potes');
define('_US_SYPOTE','Ses potes');
define('_US_MYFRIEND','Mes ami(e)s');
define('_US_SYFRIEND','Ses ami(e)s');
define('_US_MYBLIST','Ma black liste');
define('_US_SYBLIST','Sa black liste');
define('_US_MYVISIT','Mes derniers visiteurs');
define('_US_SYVISIT','Ses derniers visiteurs');
define('_US_INFOGENE','Informations generales');
define('_US_NOTE','La note de');
define('_US_VOTE','membres ont votés pour');
define('_US_HITS','visiteurs on vu le profil de');
define('_US_POTET','a flashé sur');
define('_US_POTERT','ont flashés sur');
define('_US_FRIENDST','membres a sa liste d''ami(e)s');
define('_US_LFRIENDST','a leur liste d''ami(e)s');
define('_US_MBLOCKED','a black lister');
define('_US_LBLOCKEDT','membres ont black lister');
define('_US_POPUT','L''indice de popularité de');
define('_US_ETDE','est de');
define('_US_MEMBRES','membres');
define('_US_ADDEDME','a ajouté');
define('_US_ADDED','on ajouté');
// FIN HACK MYPOTE
MODIFICATION POUR PMLITE.PHP DE MPMANAGER
$isblocked = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mypote")." WHERE friend=".intval($_POST['to_userid'])." AND friendid=".$xoopsUser->getVar('uid')." AND blocked='1' ");
list($countblocked) = $xoopsDB->fetchRow($isblocked);
if ($countblocked != 0) {
redirect_header("index.php",1,"Vous êtes bloqué");
}
juste apres global $xoopsUser;
BONNE SOIREE
(heu !!! je crois avoir omis de remercier quelqu'un.... bof...
il se reconnaitra surement... )