Fork me on GitHub






[nouveau] Module mypote version 1
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
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.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 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 != 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... )

Posté le : 09/11/2009 21:12

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: [nouveau] Module mypote version 1
Guest_
Bravo Eparcyl !

Peut être serais-tu utile de rappeler les fonctions de ce module aux nouveaux venus ? Ou mettre un lien vers une description détaillée ?

Merci pour le partage.

Posté le : 09/11/2009 23:19
Partager Twitter Partagez cette article sur GG+
Re: [nouveau] Module mypote version 1
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Bonjour Burning,
Tu as raison, j'ai rectifié le début du sujet.
Bonne journée

Posté le : 10/11/2009 07:02

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: [nouveau] Module mypote version 1
Régulier
Inscrit: 04/02/2003 03:43
De Carcassonne
Messages: 173
salut,

le module Mypotes a été rajouté sur le référenciel de modules.

Merci Eparcyl pour ton partage

Posté le : 14/11/2009 12:40

vivement l'heure de l'apéro
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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