Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Questions » » [Résolu] - Affichage de la dernière connexion dans userinfo ?
Auteur[Résolu] - Affichage de la dernière connexion dans userinfo ?
Anonyme
19853  

Anonyme
  Posté : 04-06-2007 20:51

Bonsoir,

pietre codeur et surtout débutant, je tente en vainc d'ajouter l'affichage de la derniere connexion d'un membre dans la fonction userinfo...

Plusieurs problèmes se posent à moi :

1 ma tentative de code renvoie ZERO pour ma variable $user_lastv


function userinfo($uname, $bypass=0) {
    global $user, $sitename, $smilies, $short_user, $site_font;
    global $name, $email, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, <b>$user_lastv</b>;

    $uname=removeHack($uname);
    $result = mysql_query("SELECT uid, name, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, user_journal, <b>user_lastvisit</b>, mns FROM users WHERE uname='$uname'");
    list($uid, $name, $femail, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $mns, <b>$user_lastv</b>) = mysql_fetch_array($result);
    if (!$uid) {
       header ("location: index.php");
    }
    if (!$bypass) {global $cookie;}
    !include!("header.php");
<b>echo "- $uname, c'est connecté pour la  dernière fois le ";
echo "$user_lastv";</b>



2 - A priori, même si $user_lastv revenait avec une valeur, elle serait égale à un entier et donc à mettre en forme ? Mais comment ?

Merci d'avance à ceux qui voudront/pourront aider un débutant en code ;)

++

  
Anonyme
19853  

Anonyme
  Posté : 07-06-2007 17:16

Pas très animé par ici... A moins que ma demande ne soit trop complexe ?

  
Tito
7758       
 

Tito
  Posté : 07-06-2007 20:03

Tu as inversé mns et user_lastv (l'odre dans la requête n'est pas le même que dans le list)

  Profil  E-mail  www  
Anonyme
19853  

Anonyme
  Posté : 07-06-2007 20:32

Merci Tito, cela répond à la question 1 et au retour zéro... J'ai maintenant la bonne valeur qui s'affiche...

Reste à savoir comment la mettre en forme de date

  
Tito
7758       
 

Tito
  Posté : 07-06-2007 20:53

Regarde la fonctiond date() de PHP

  Profil  E-mail  www  
Anonyme
19853  

Anonyme
  Posté : 07-06-2007 21:50

Ca y est... Ca marche !!!

Pour ceux que ça intéresserait, voici la fonction userinfo modifiée de telle façon que la fiche d'un membre, présente la date ou l'heure de sa dernière connexion :




function userinfo($uname, $bypass=0) {
    global $user, $sitename, $smilies, $short_user, $site_font, $oggi;
    global $name, $email, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $user_lastv;

    $uname=removeHack($uname);
    $result = mysql_query("SELECT uid, name, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, user_journal, mns, user_lastvisit FROM users WHERE uname='$uname'");
    list($uid, $name, $femail, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $mns, $user_lastv) = mysql_fetch_array($result);
    if (!$uid) {
       header ("location: index.php");
    }
    if (!$bypass) {global $cookie;}
    !include!("header.php");
    
     
    $user_lastv=intval($user_lastv);
    $today=intval($today);
    $today = date("d.m.Y",time()+($gmt*3600)); //la date du jour
    $zlast=date("d.m.Y",$user_lastv); // la dernière connection
          if ($today==date("d.m.Y",$user_lastv)) { // si aujourd'hui, renvoi l'heure
      $zlast = date("H:i",$user_lastv);  //renvoi l'heure
      $oggi="Aujourd'hui à ";
      }
      if ($user_lastv<1) { $user_lastv="Jamais"; }
   
    if (($uname == $cookie[1]) || ($bypass==1)) {
       echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
       echo "$uname, ".translate("Welcome to")." $sitename";

       echo "</td></tr></table>\n";
       echo "<br />";
       echo "<p align=\"center\">".translate("This is your personal page")."</p><br />";
       nav($mns);
    }
    $email=removeHack($femail);
    $name=stripslashes(removeHack($name));
    $url=removeHack($url);
    $bio=stripslashes(removeHack($bio));
    $user_icq=stripslashes(removeHack($user_icq));
    $user_aim=stripslashes(removeHack($user_aim));
    $user_yim=stripslashes(removeHack($user_yim));
    $user_msnm=stripslashes(removeHack($user_msnm));
    $user_from=stripslashes(removeHack($user_from));
    $user_occ=stripslashes(removeHack($user_occ));
    $user_intrest=stripslashes(removeHack($user_intrest)) ;
    $user_sig=nl2br(removeHack($user_sig));
    $user_journal=stripslashes(removeHack($user_journal)) ;
    $op="userinfo";
    !include!("modules/sform/extend-user/aff_extend-user. php");
    echo "<br /><br />";
    opentable();
    if ($mns) {
       echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
       echo translate("Mini-Web site")." : <a href=\"minisite.php?op=$uname\" target=\"_blank\" class=\"ROUGE\"><b>".translate("the page")." ".translate("here")."</b></a></td></tr>";
       echo "</table>\n";
       echo "<br />";
    }
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo "Dernière connexion de $uname : ";
    echo "</td></tr><tr><td>\n";
    
   
    echo $oggi, $zlast;
    echo "</td></tr></table>\n";

    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo translate("Online journal for")." $uname :";
    echo "</td></tr><tr><td>\n";
    echo $user_journal;
    echo "</td></tr></table>\n";


    echo "<br />";
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo translate("Last 10 comments by")." $uname :";
    echo "</td></tr>\n";
    $result = mysql_query("select c.tid, c.sid, c.subject, s.ihome from comments c, stories s where c.sid=s.sid and name='$uname' order by tid DESC limit 0,10");
    while(list($tid, $sid, $subject, $ihome) = mysql_fetch_row($result)) {
       $rowcolor = tablos();
       if (ctrl_aff($ihome,0)) {
          echo "<tr $rowcolor><td><a href=\"article.php?thold=-1&mode=flat&order=0&sid=$sid#$tid\" class=\"NOIR\">$subject</a></td></tr>";
       }
    }
    echo "</table>\n";
    echo "<br />";
    echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
    echo translate("Last 10 news submissions sent by")." $uname :";
    echo "</td></tr>\n";
    $xtab=news_aff("libre", "where informant='$uname' order by sid DESC limit 10", "", 10);
    $story_limit=0;
    while (($story_limit<10) and ($story_limit<sizeof($xtab))) {
       $rowcolor = tablos();
       list($sid, $catid, $aid, $title) = $xtab[$story_limit];
       $story_limit++;
       echo "<tr $rowcolor><td><a href=\"article.php?sid=$sid\" class=\"NOIR\">".aff_langue($title)."</a></td></tr>";
    }
    echo "</table>\n";
    closetable();
    !include!("footer.php");
}







  
Anonyme
19853  

Anonyme
  Posté : 07-06-2007 21:54

Bon, si je compliquait encore un peu mon histoire

Cette fois, j'aimerais également faire apparaitre (toujours dans la fenêtre userinfo, le ,nombre de messages postés par le membre consulté...

C'est à dire le champs "post" de la table "users_status"...

Là, je coince sur le fait que je dois lancer un SELECT aussi sur cette table et une commande LIST sur le même UID...

HELP

  
Tito
7758       
 

Tito
  Posté : 07-06-2007 23:31

Bah oui, tu t'en sors très bien! $uid a été défini par la requête (et le list) précédente
$query = mysql_query("SELECT post FROM users_status WHERE uid='$uid'");
list($posts) = mysql_fetch_array($query);
echo $posts;

  Profil  E-mail  www  
Anonyme
19853  

Anonyme
  Posté : 08-06-2007 07:46



$query = mysql_query("SELECT postS FROM users_status WHERE uid='$uid'");



Manquait un S à post et je ne l'ai vu que ce matin... Comme quoi, après une bonne nuit de sommeil, on voit autrement

En tout cas, un grand MERCI pour ton aide tito... Ca m'a permis de résoudre mes problèmes mais aussi de progresser en PhP

  
Tito
7758       
 

Tito
  Posté : 08-06-2007 13:13

Mais de rien

Pense à t'inscrire au lieu de poster en anonyme, ça permet un meilleur suivi

  Profil  E-mail  www  
FURAX69
80    

FURAX69
  Posté : 26-01-2008 17:45

Au secour !!

J'ai perdu mon user.php et essaye de rétablir l'affichage du nombre de posts pour un membre...

Je ne parviens plus à intégrer ça


$query = mysql_query("SELECT post FROM users_status WHERE uid='$uid'");
list($posts) = mysql_fetch_array($query);
echo $posts;



Dans mon code


unction userinfo($uname, $bypass=0) {
    global $user, $sitename, $smilies, $short_user, $site_font, $oggi, $posts, $nposts;
    global $name, $email, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $user_lastv, $user_posts;

    $uname=removeHack($uname);
    $result = mysql_query("SELECT uid, name, femail, url, bio, user_avatar, user_icq, user_aim, user_yim, user_msnm, user_from, user_occ, user_intrest, user_sig, user_journal, mns, user_lastvisit FROM users WHERE uname='$uname'");
    list($uid, $name, $femail, $url, $bio, $user_avatar, $user_icq, $user_aim, $user_yim, $user_msnm, $user_from, $user_occ, $user_intrest, $user_sig, $user_journal, $mns, $user_lastv) = mysql_fetch_array($result);
    if (!$uid) {
       header ("location: index.php");
    }
    if (!$bypass) {global $cookie;}
    !!!include!!!("header.php");
    $user_lastv=intval($user_lastv);
    $today=intval($today);
    $today = date("d.m.Y",time()+($gmt*3600)); //la date du jour
    $zlast=date("d.m.Y",$user_lastv); // la dernière connection
          if ($today==date("d.m.Y",$user_lastv)) { // si aujourd'hui, renvoi l'heure
      $zlast = date("H:i",$user_lastv);  //renvoi l'heure
      $oggi="Aujourd'hui à ";
      }
      if ($user_lastv<1) { $user_lastv="Jamais"; }
   
     if (($uname == $cookie[1]) || ($bypass==1)) {
       echo "
\n";
       echo "$uname, ".translate("Welcome to")." $sitename";

       echo "
\n";
       echo "
";
       echo "

".translate("This is your personal page")."


";
       nav($mns);
    }
    $email=removeHack($femail);
    $name=stripslashes(removeHack($name));
    $url=removeHack($url);
    $bio=stripslashes(removeHack($bio));
    $user_icq=stripslashes(removeHack($user_icq));
    $user_aim=stripslashes(removeHack($user_aim));
    $user_yim=stripslashes(removeHack($user_yim));
    $user_msnm=stripslashes(removeHack($user_msnm));
    $user_from=stripslashes(removeHack($user_from));
    $user_occ=stripslashes(removeHack($user_occ));
    $user_intrest=stripslashes(removeHack($user_intrest));
    $user_sig=nl2br(removeHack($user_sig));
    $user_journal=stripslashes(removeHack($user_journal));
    $op="userinfo";
    !!!include!!!("modules/sform/extend-user/aff_extend-user.php");
    echo "

";
    opentable();
    if ($mns) {
       echo "";
       echo "
\n";
       echo translate("Mini-Web site")." : ".translate("the page")." ".translate("here")."
\n";
       echo "
";
    }
    echo "
\n";
    echo "Dernière connexion de $uname :  $oggi $zlast";
    echo "
\n";
    echo "";
    echo $posts;
    echo "
\n";
    echo "
\n";
    echo "Nombre de messages postés par $uname dans les forums : $posts";
    echo $posts;
    echo "
\n";
...



En fait, mon problème réside dans le fait que le champ "posts" est localisé dans une table différente des autres champs...

Si Tito est dans les parages...

HELP


Message édité par : FURAX69 / 26-01-2008 18:15


  Profil  E-mail  www  
FURAX69
80    

FURAX69
  Posté : 27-01-2008 14:40

Ok, j'ai trouvé... On peut fermer

  Profil  E-mail  www  
Sauter à :

Temps : 0.0199 seconde(s)