Salut à tous
Ca y est le module mylove version 3 est prêt.
Les nouveautés :
1 - Le module a était entierement réecris
2 - Le design a était retravaillé
VOIR ICI3 - De nombreuse fonctions on était rajoutés pour evité les bugs
4 - Les membres bloqués ne peuvent plus envoyé de MP
5 - Les listes "ceux de qui je suis l'amie" et " ceux qui m'aime" on était supprimé
6 - Ils est impossible d'ajouté un membre a la fois dans la liste "mes amours" ou "mes ami(e)s"
7 - Un email ou MP est egalement envoyé lorsque on ajoute un ami a sa liste
8 - La bdd a était restructurée pour pouvoir fonctionnée avec xoops messenger v1.0
9 - Les profiles sont desormais visible pour ceux qui le desir
10 - Une liste de statistiques a était rajouté
VOIR ICIBon allez on attaque
1 - telecharger le module mylove v3.0
ICI puis dezippez le
2 - Si c'est une mise à jour effacer l'ancien module sans le desinstaller , puis faite une mise a jour du module ,ensuite allez sur la page
http://votre-site/modules/mylove/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 mylove -->
<{if $user_ownpage == false}>
<table width="100%">
<tr>
<td align="center">
<{$button_addlove}>
<{$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_lover}></th>
</tr>
<tr class="even"><td><{foreach item=lov from=$lover}><{$lov.lovedisplay}><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_lovet}> <font color=red><{$user_lovet}></font> <{$lang_membres}></td>
</tr>
<tr bgcolor="white">
<td><font color=red><{$user_lovert}></font> <{$lang_membres}> <{$lang_lovert}> <{$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 mylove -->
Puis mettez a jour le module system admin
4 - Edtier 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("mylove")." 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 MYLOVE Version 3
// AFICHAGE MES AMOURS
// 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("mylove")." WHERE friend=$uid AND friendid=$surferuid AND blocked='1' ");
list($countblocked) = $xoopsDB->fetchRow($isblocked);
if ($countblocked == '0') {
$ifexistlove = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylove")." WHERE friend=$surferuid AND friendid=$uid AND status=2");
list($loveexist) = $xoopsDB->fetchRow($ifexistlove);
if ($loveexist == 1) {
$addlove = "<img src='modules/mylove/images/".$xoopsConfig['language']."/noaddlove.gif' whidth='160' height='17'/>";
} else {
$addlove = "<a href='modules/mylove/functions.php?op=addlove&friendid=$uid'><img src='modules/mylove/images/".$xoopsConfig['language']."/addlove.gif' whidth='160' height='17'/></a>";
}
$xoopsTpl->assign('button_addlove', $addlove);
$ifexistfriend = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylove")." WHERE friend=$surferuid AND friendid=$uid AND status=1 ");
list($friendexist) = $xoopsDB->fetchRow($ifexistfriend);
if ($friendexist == 1) {
$addfriend = "<img src='modules/mylove/images/".$xoopsConfig['language']."/noaddfriend.gif' whidth='160' height='17'/>";
} else {
$addfriend = "<a href='modules/mylove/functions.php?op=addfriend&friendid=$uid'><img src='modules/mylove/images/".$xoopsConfig['language']."/addfriend.gif' whidth='160' height='17'/></a>";
}
$xoopsTpl->assign('button_addfriend', $addfriend);
$ifexistnote=$xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylove_votedata")." WHERE uid=$uid AND ratinguser=$surferuid");
list($noteexist) = $xoopsDB->fetchRow($ifexistnote);
if ($noteexist == 1) {
$addnote = "<img src='modules/mylove/images/".$xoopsConfig['language']."/nonote.gif' whidth='160' height='17'/>";
} else {
$addnote = "<a href='modules/mylove/user_rate.php?uid=$uid'><img src='modules/mylove/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("mylove")." 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");
$lover = array();
while ( $myrow = $xoopsDB->fetchArray($result) ) {
$loved=$myrow["friendid"];
$lovename=$myrow["uname"];
$lover[$count]["lovedisplay"]= "<a href='userinfo.php?uid=".$loved."'>".$lovename."</a>";
$count ++;
$xoopsTpl->assign('lover', $lover);
}
if ($surferuid == $uid) {
$xoopsTpl->assign('lang_lover', _US_MYLOVE);
} else {
$xoopsTpl->assign('lang_lover', _US_SYLOVE);
}
// AFICHAGE MES AMIS
$result1 = $xoopsDB->query("SELECT m.friendid , u.uname FROM ".$xoopsDB->prefix("mylove")." 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("mylove")." 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("mylove_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_lovet', _US_LOVET);
$xoopsTpl->assign('lang_lovert', _US_LOVERT);
$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("mylove_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("mylove_visit")." WHERE uid = $uid");
$totalhits = 0;
while(list($hits)=$xoopsDB->fetchRow($voteresult6)){
$totalhits += $hits;
}
$xoopsTpl->assign('user_hits', $totalhits);
// RECUPERATION DU NOMBRE DE MES AMOURS
$voteresult7 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mylove")." WHERE friend=$uid AND status=2 AND blocked=0");
$totalilove = $xoopsDB->getRowsNum($voteresult7);
$xoopsTpl->assign('user_lovet', $totalilove);
// RECUPERATION DU NOMBRE DE MES FLASHER
$voteresult8 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mylove")." WHERE friendid=$uid AND status=2 AND blocked=0");
$totalloveme = $xoopsDB->getRowsNum($voteresult8);
$xoopsTpl->assign('user_lovert', $totalloveme);
// RECUPERATION DU NOMBRE DE MES AMIS
$voteresult9 = $xoopsDB->query("select * FROM ".$xoopsDB->prefix("mylove")." 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("mylove")." 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("mylove")." 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("mylove")." WHERE friendid=$uid AND blocked=1 ");
$totalblockedme = $xoopsDB->getRowsNum($voteresult12);
$xoopsTpl->assign('user_lblockedt', $totalblockedme);
// RECUPERATION DE L INDICE DE POPULARITE
$poput = $totaluidf + $totalloveme - $totalblockedme;
$xoopsTpl->assign('user_poput', $poput);
if (is_object($xoopsUser)) {
// UPDATE DES HITS ET VISITEURS
$ifexist = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mylove_stats")." WHERE uid=$uid ");
list($exist) = $xoopsDB->fetchRow($ifexist);
if ($exist == 1) {
$xoopsDB->queryF("UPDATE ".$xoopsDB->prefix("mylove_stats")." SET note=$finalrating, pop=$poput, visit=$totalhits WHERE uid=$uid ");
} else {
$xoopsDB->queryF("INSERT INTO ".$xoopsDB->prefix("mylove_stats")." (uid, note, pop, visit) VALUES ($uid, $finalrating, $poput, $totalhits)");
}
$datetime = time();
$sql4 = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix("mylove_visit")." WHERE uid = $uid AND visitor = $surferuid");
$check1 = $xoopsDB->fetchArray($sql4);
$checkvisitor = $check1["visitor"];
if ($checkvisitor == $surferuid) {
$xoopsDB->queryF("UPDATE ".$xoopsDB->prefix("mylove_visit")." SET last_visit = $datetime , hits = hits + 1 where uid = $uid AND visitor = $surferuid");
} else {
$xoopsDB->queryF("INSERT INTO ".$xoopsDB->prefix("mylove_visit")." (uid, visitor, last_visit ) VALUES ($uid, $surferuid ,$datetime)");
}
}
// FIN HACK MYLOVE
///////////////////////////////////////////////
6 - Editer le fichier language/french/user.php et ajouté ce code
// DEBUT HACK MYLOVE
define('_US_MYLOVE','Mes amours');
define('_US_SYLOVE','Ses amours');
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_LOVET','a flashé sur');
define('_US_LOVERT','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 MYLOVE
Et voila c'est terminé