|
FURAX69 80
| Posté : 20-10-2006 18:34
Bonjour à tous,
J'ai cherché comment afficher la date/heure de dernière connexion d'un membre (dans le carnet d'adresse par ex.) sans trouver de solution... Pourtant, ce paramètre semble être intégré à la base MySQL dans la table user... On trouve un champs nommé clairement "Lastconnect" et qui contient ces information sour la forme d'un nombre entier que je cherche d'ailleur à déchiffrer...
Sur quoi est-il basé et quelle est la date de référence ?
Merci d'avance pour toute aide et éclaircissement... |  Profil E-mail www Citation
|
|
jms 16
| Posté : 21-10-2006 12:01
Effectivement ce champ existe mais la date est codée. Plutot que de chercher à la décoder, peut-être par fainantse j'ai rajouter un champ date en clair dans la base que j'alimente au moment de l'insertion dans la table session (donc modif de code aussi). |  Profil www Citation
|
|
FURAX69 80
| Posté : 21-10-2006 12:30
merci pour ta réponse jms... Je n'ai pour le moment, pas les compétences pour modifier le code... je me mets tout juste au PhP et SQL... Mais je comprends ce que tu veux dire... Mais si je sais ajouter le champ, je ne sais pas comment intéger la mise à jour dans session ni comment afficher cette donnée une fois récoltée...
J'attends donc de pouvoir éventuellement utiliser ce qui existe !
Sinon, je serai contraint de mettre les mains dans le camboui
Ce n'est pas que cela me fasse peur, mais c'est plutot parce que le temps me manque... |  Profil E-mail www Citation
|
|
jms 16
| Posté : 21-10-2006 14:32
Le code pour mettre à jour la table.
Dans Mainfile.php, fonction session_manage, juste après la ligne :
mysql_query("INSERT INTO session (username, time, host_addr, guest) VALUES ('$username', '".time()."', '$ip', '$guest')");
rajouter :
mysql_query("UPDATE users SET derniere_visite=now() WHERE uname='$username'");
En supposant que la colonne nouvelle s'appelle "derniere_visite".
Faire la même chose dans la fonction "online" du même fichier mainfile.php
|  Profil www Citation
|
|
lecoq 22
| Posté : 22-10-2006 17:13
Je l'ai fait dans mon memberslist.php. Je l'ai mis dans une colonne en remplacement d'une autre qui ne m'itéressait pas trop.
$last=$temp_user[user_lastvisit];
$today = date("d.m.Y",time()+($gmt*3600)); //la date du jour
$zlast=date("d.m.Y",$last); // la dernière connection
if ($today==date("d.m.Y",$last)) { // si aujourd'hui, renvoi l'heure
$zlast = date("H:i",$last); //renvoi l'heure
}
if ($last<1) { $zlast=""; }
echo "<td>$zlast</td>\n";
Il faut rajouter le champ "user_lastvisit" dans l'appel SQL vers la ligne 173.
Notez que la colonne est visible par tout les membres. |  Profil www Citation
|
|
FURAX69 80
| Posté : 25-10-2006 21:49
Bonjour Lecoq et merci pour ta réponse...
Ta solution me convient parfaitement mais je n'arrive pas à placer le code que tu me donne correctement dans memberslist.php... J'ai bien ajouté "user_lastvisit" dans l'appel SQL à la ligne 175... Et tenté de remplacer la colonne URL mais...
Ma meilleure tentative fonctionne mais seulement sur la première page de membres !!!
http://mtg.lyon.online.fr/memberslist2a.php
Dès que l'on passe à la suivante, l'affichage se fait avec la colonne URL d'origine !!!???
http://mtg.lyon.online.fr/memberslist.php?letter=&sortby=uid%20DESC&list=&page=2
Je suis peut-être gonflé pour le coup, mais si jamais tu avais décidé de supprimer la même colonne URL que moi, serais-tu ok pour me passer ton fichier memberslist.php ?
Mon adresse email, si tu est d'accord, est furax88 [at] thierryschmitt.com
Je te remercie pour le temps que tu pourras m'accorder car je débute vraiment en PhP/sql et c'est une des première fois que je trifouille ce code ;)
|  Profil E-mail www Citation
|
|
lecoq 22
| Posté : 26-10-2006 16:00
Ouups!
Avec moins de 20 membres (site familial) je na'i pas vu cela.
Je regarde dès que possible pour l'intégrer sur les pages suivantes.
Aujourd'hui j'ai un anni donc un ptit peu de patience. |  Profil www Citation
|
|
xgonin 709
| |
lecoq 22
| Posté : 26-10-2006 17:40
Oui juste, et bien vu, car en regardant bien les appels tournent sur la même routine et chez moi tout est ok, contrairement à ce j'ai écris sur mon message précédent. |  Profil www Citation
|
|
xgonin 709
| Posté : 26-10-2006 17:46
good...
Comment faire pour rajouter ces colonnes "connexion" en plus des colonnes existantes, avec la même ecriture que le reste de la liste... histoire de faire joli ????
Furax, peus-tu reposter les modifs faites dans les différents fichiers, car celle qui sont dans le forum ne marche absolument pas chez moi
Amicalement |  Profil www Citation
|
|
Anonyme 19853
| Posté : 27-10-2006 22:20
Il y a finallement plusieurs modifications à faire... Voici donc l'intégralité du code modifié à ma sauce pour faire apparaitre
une colonne "Dernière connexion" à la place de la colonne "URL"...
Le code a également été modifié afin de faire un tri par date et heure de connexion... Vous pouvez ainsi suivre les logs de vos membre plus clairement
<?PHP
/************************************************************** **********/
/* NPDS V : Net Portal Dynamic System . & nbsp; */
/* =========================== &nbs p;   ; */
/* &nb sp; &nbs p;   ; & nbsp; */
/* Original Copyright (c) 2001 by Francisco Burzi (fburzi@ncc.org.ve) */
/* http://phpnuke.org */
/* &nb sp; &nbs p;   ; & nbsp; */
/* This version name NPDS Copyright (c) 2001-2004 */
/* &nb sp; &nbs p;   ; & nbsp; */
/* ========================= & nbsp; &n bsp; */
/* Based on MyPHPortal Modified MembersList &n bsp; &nb sp; */
/* &nb sp; &nbs p;   ; & nbsp; */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License. */
/************************************************************************/
br />if (!function_exists("Mysql_Connexion")) {!include! ("mainfile.php");}
// Make Member_list Private or not
if (!AutoReg()) { unset($user); }
if (($member_list==1) AND ($user=="") AND ($admin=="")) {
Header("Location: index.php");
}
function alpha() {
global $sortby, $list;
$alphabet = array ("".translate("All")."", "A","B","C","D","E","F","G","H","I","J","K","L","M",
  ; "N","O","P","Q","R","S","T","U","V","W","X","Y","Z","".translate("Other")."");
echo "<table width=\"100%\" border=\"0\"><tr><td width=\"50%\" align=\"center\" valign=\"top\">";
$num = count($alphabet) - 1;
$counter = 0;
while (list(, $ltr) = each($alphabet)) {
echo "<a href=\"memberslist.php?letter=$ltr&sortby=$sortby&list =$list\" class=\"NOIR\">$ltr</a>";
if ( $counter == roun d($num/2) ) {
echo " ]<br />[ ";
} elseif ( $counter != $num )  ;{
echo " | ";
}
$counter++;
}
echo "</td><td class=\"NOIR\">";
echo "<form action=\"memberslist.php\" method=\"post\">";
echo translate("Search")." : <input class=\"TEXTBOX_STANDARD\" type=\"input\" name=\"letter\" size=\"30\" maxlenght=\"60\">";
echo "<input type=\"hidden\" name=\"list\" value=\"".urldecode($list)."\">";
echo "<input type=\"hidden\" name=\"TempoSuperCache\" value=\"OFF\">";
echo "</form>";
echo "</td></tr></table>";
}
function unique($ibid) {
while (list(,$to_user) = each($ibid)) {
if (!$Xto_user[$to_user]) {
$Xto_user[$to_user]=$to_user;
}
}
return ($Xto_user);
}
function SortLinks($letter) {
global $sortby, $list, $admin;
if ($letter == "front") {
$letter = translate("All");
}
$sort=false;
echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td align=\"center\">\n";
echo translate("Sort by:")." ";
if ($sortby == "uname ASC" OR !$sortby) {
echo translate("nickname")." | ";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=uname%20ASC&a mp;list=$list\" class=\"NOIR\">".translate("nickname")."</a> | ";
}
if ($sortby == "name ASC") {
echo translate("real name")." | ";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=name%20ASC&am p;list=$list\" class=\"NOIR\">".translate("real name")."</a> | ";
}
if ($sortby == "user_avatar ASC") {
echo translate("Avatar")." | ";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=user_avatar%20ASC &list=$list\" class=\"NOIR\">".translate("Avatar")."</a> | ";
}
if (($sortby == "femail ASC") or ($sortby == "email ASC")) {
echo translate("Email")." | ";
$sort=true;
} else {
if ($admin) {
echo "<a href=\"memberslist.php?letter=$letter&sortby=email%20ASC&a mp;list=$list\" class=\"NOIR\">".translate("Email")."</a> | ";
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=femail%20ASC& amp;list=$list\" class=\"NOIR\">".translate("Email")."</a> | ";
}
}
if ($sortby == "user_from ASC") {
echo translate("Location")." | ";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=user_from%20ASC&a mp;amp;list=$list\" class=\"NOIR\">".translate("Location")."</a> | ";
}
if ($sortby == "user_lastvisit DESC") {
echo "Dernière connexion |";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=user_lastvisit%20 DESC&list=$list\" class=\"NOIR\">Dernière connexion</a> | ";
}
if ($sortby == "mns DESC") {
echo translate("Mini-Web site")." | ";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=mns%20DESC&am p;list=$list\" class=\"NOIR\">".translate("Mini-Web site")."</a> | ";
}
if ($sortby == "uid DESC") {
echo "I.D";
$sort=true;
} else {
echo "<a href=\"memberslist.php?letter=$letter&sortby=uid%20DESC&am p;list=$list\" class=\"NOIR\">I.D</a>";
}
if (!$sort) {$sortby="uname ASC";}
echo "</td></tr></table>\n";
}
function avatar($user_avatar) {
if (!$user_avatar) {
$imgtmp="images/forum/avatar/blank.gif";
} else if (stristr($user_avatar,"users_private")) {
$imgtmp=$user_avatar;
} else {
if ($ibid=theme_image("forum/avatar/$user_avatar")) {$imgtmp=$ibid;} else {$imgtmp="images/forum/avatar/$user_avatar";}
if (!file_exists($imgtmp)) {$imgtmp="images/forum/avatar/blank.gif";}
}
return ($imgtmp);
}
// OFF temporairement SC pour la&n bsp;recherche
if ($TempoSuperCache=="OFF") {$SuperCache=false;}
!include!("header.php");
$pagesize = $show_user;
$letter=removeHack(stripslashes(htmlspecialchars($letter,&n bsp;ENT_QUOTES)));
$sortby=removeHack($sortby);
if (!isset($letter)) { $letter = translate("All"); }
if (!isset($sortby)) { $sortby = "uid DESC"; }
if (!isset($page)) { $page = 1; }
if ($list!="") {
$tempo=unique(explode(",",$list));
$list=urlencode(implode(",",$tempo));
}
$result = mysql_query("select uname from users order by uid DESC limit 0,1");
list($lastuser) = mysql_fetch_row($result);
echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"HEADER\">\n";
echo translate("Welcome to")." $sitename - ".translate("Members List");
echo "</td></tr></table>\n";
Opentable();
echo "<p align=\"center\">".translate("Greetings to our latest registered use r:")." <a href=\"user.php?op=userinfo&uname=$lastuser\" class=\"NOIR\">$lastuser</a></p><br />";
if (!$admin) {
if ($SuperCache) {
$cache_obj = new cacheManager();
$cache_obj->startCachingPage();
}
}
if (($cache_obj->genereting_output==1) or ($cache_obj->genereting_output==-1) or (!$SuperCache) or  ;($admin)) {
alpha();
SortLinks($letter);
$min = $pagesize * ($page - 1);
$max = $pagesize;
$count = "SELECT COUNT(uid) AS total FROM users& nbsp;";
$select = "select uid, name, uname, femail, url,& nbsp;user_regdate, user_from, email, is_visible, user_viewe mail, user_lastvisit, user_avatar, mns from users  ;";
if ( ( $letter != "".translate("Other")."" ) AND ( $letter != "".translate("All")."" ) ) {
$where = "where uname like '".$letter."%'";
} else if ( ( $letter == "".translate("Other")."" ) AND ( $letter != "".translate("All")."" ) ) {
$where = "where uname REGEXP \"^\[1-9]\" ";
} else {
$where = "";
}
global $member_invisible;
if ($member_invisible) < font color="#007700">{
if ($admin)
$and= "";
else {
if&nb sp;($where)
  ; $and="and is_visible=1 ";
else
  ; $and="where is_visible=1 ";
}
} else {
$and="";
}
$sort = "order by $sortby";
$limit = " LIMIT ".$min.", ".$max;
$count_result = mysql_query($co unt.$where);
$num_rows_per_order = mysql_res ult($count_result,0,0);
$result = mysql_query($select.$ where.$and.$sort.$limit) or die(mysql_error() );
echo "<br />";
if ( $letter != "front" ) {
echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"1\" border=\"0\"><tr class=\"HEADER\">\n";
echo "<td class=\"BOX\"><span style=\"font-size: 10px;\"><b>".translate("Nickname")."</b></span></td>\n";
echo "<td class=\"BOX\"> </td>\n";
echo "<td class=\"BOX\" align=\"center\"> </td>";
echo "<td class=\"BOX\" align=\"center\"> </td>";
echo "<td class=\"BOX\"><span style=\"font-size: 10px;\"><b>".translate("Real Name")."</b></span></td>\n";
if ($sortby!="user_from ASC") {
echo& nbsp;"<td class=\"BOX\"><span style=\"font-size: 10px;\"><b>".translate("Email")."</b></span></td>\n";
} else {
echo& nbsp;"<td class=\"BOX\"><span style=\"font-size: 10px;\"><b>".translate("Location")."</b></span></td>\n";
}
echo "<td class=\"BOX\"><span style=\"font-size: 10px;\">Dernière connexion</td>\n";
$cols = 7;
br /> if ($admin) < /font>{
$cols = 9;
echo& nbsp;"<td class=\"BOX\" align=\"center\" width=\"12%\"><span style=\"font-size: 10px;\"><b>".translate("Functions")."</b></span></td><td class=\"BOX\"> </td>\n";
}
echo "</tr>";
$a = 0;
$num_users = mysql_num_rows($result);
if ( $num_row s_per_order > 0 ) {
globa l $anonymous, $user;
while ($temp_user = mysql_fetch_array($result) ) {
  ; $rowcolor = tablos();
  ; if ($temp_user[mns]) {$mns="<a href=\"minisite.php?op=$temp_user[uname]\" alt=\"\" title=\"".translate("Mini-Web site")."\" target=\"_blank\" class=\"HEADA\"><b>(w)</b></a>";} else {$mns="";}
  ; echo "<tr $rowcolor><td><a href=\"user.php?op=userinfo&uname=$temp_user[uname]\" alt=\"\" title=\"".date(translate("dateinternal"),$temp_user[user_regdate])."\" class=\"HEADA\">$temp_user[uname]</a> $mns</td>\n";
  ; echo "<td valign=\"middle\">";
  ; if ($ibid_avatar=avatar($temp_user[user_avatar]))
  ; echo "<img src=\"".$ibid_avatar."\" width=\"20\" height=\"20\" border=\"0\" alt=\"\" title=\"\" />";
  ; else
  ; echo " ";
  ; echo "</td>";
  ;&
| Citation
|
|
Anonyme 19853
| Posté : 14-07-2009 14:54
hello,
Quelqu'un pourrai-t-il mettre un tuto et les fichiers modifiés en ligne?
J'ai essayé mais je suis une bille et ça ne marche pas. | Citation
|
|
Anonyme 19853
| Posté : 16-07-2009 09:36
ben alors y-a pas un pro qui répond? | Citation
|
|
Anonyme 19853
| Posté : 25-05-2010 15:00
Petit UP
Ca fait plus de 3 heures que j'essaie d'obtenir une colonne "dernière connexion"
J'ai modifié mon fichier memberlist avec un copier/coller du code ci-dessus.
J'ai hélas de très nombreux messages d'erreur (même en essayant de corriger le code)
L'un de vous pourrait il nous venir en aide s'il vous plait ?
Cette fonction serait un énorme plus dans l'administration d'NPDS
Merci
je suis sous Evol | Citation
|
|
Anonyme 19853
| Posté : 30-06-2010 10:10
Up... si quelqu'un à la solution pour Sable Evol 08.06
Merci | Citation
|
|
Aller à la page : [ 1 | 2 ] |