Fork me on GitHub

Rapport de message :*
 

[nouveau] Module mylove version 3

Titre du sujet : [nouveau] Module mylove version 3
par daviddu54 sur 03/06/2007 17:55:05

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 ICI
3 - 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 ICI

Bon 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.php
Si 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 != 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é
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

81 Personne(s) en ligne (66 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 81 | Plus ...