|
|
|
vittatus
|
« am: 21 Oktober 2005, 16:07:19 » |
|
Hey habe nochmal ein Block für die JSM Friendlist gebastelt..  # Läuft auch alles soweit nur ich hätte es gerne nach Online und Offline Sortiert.hat jemand vielleicht eine Idee ? Hier mal der Code: Bitte nicht mekern falls irgentwas da nicht rein gehört oder sonstwas bin in php / pragmamx noch nicht ganz so bewandert  <?php
################# Einstell Variablen ############################################################################ $onlinelistsize = 20; # Hoehe des Selectfeld der Onlinuser (Online-Liste) # Namen mit Komma trennen! $excludedusers ="Texsterdsgf, Knaxllerfgfd"; ################################################################################################################## $imagedir="images/maaxon"; ################################################################################################################## if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
global $prefix, $user_prefix, $bgcolor1, $bgcolor2, $bgcolor3, $txtcolor1, $txtcolor2;
# Variablen initialisieren $username = ""; if (MX_IS_USER){ $cookie=mxGetUserSession(); $username = $cookie[1]; $uid = $cookie[0]; }
# SQL-bedingung fuer excluded Users erstellen $exusers = explode (",", $excludedusers); if(!MX_IS_ADMIN){ while (list($key, $val) = each($exusers)) { $xexusers[]=trim($val); } } $xexusers[] = $GLOBALS['anonymous']; $excludedusers = "'".implode("','",$xexusers)."'";
$friend=addslashes($friend);
$cookie = mxGetUserSession();
$result=sql_query("select uid from ".$user_prefix."_users where uname='".$cookie[1]."'");
$row=sql_fetch_array($result);
$result=sql_query("select friendname from ".$user_prefix."_users_friendslist where uname='".$cookie[1]."'");
$num=sql_num_rows($result);
if($num>=1){
while(list($friendname) = sql_fetch_row($result)) {
$furl = "modules.php?name=Userinfo&uname=".$friendname."";
$past = time()- MX_SETINACTIVE_MINS ;
$result0 = sql_query("select uname from ".$user_prefix."_users where((uname='$friendname') AND (user_lastvisit >= ".$past.") AND (user_stat=1) AND (user_lastmod<>'logout')) AND user_stat=1");
list($uname) = sql_fetch_row($result0);
if ($uname == "") {
$online = "(offline)";
} else {
$online = "(online)";;
}
$result3 = sql_query("select uname, user_sexus, user_lastvisit from ".$user_prefix."_users where((uname='$friendname') ) AND user_stat=1");
list($uname, $user_sexus, $user_lastvisit) = sql_fetch_row($result3);
$letzterbesuch = strftime("%d.%m.%Y", $user_lastvisit);
if ($user_sexus==1) { $uname3 = mxCutString($friendname, 10, "..", ""); # Kurzen Usernamen erstellen $whoonlineselect.="<option style=\"color:black;\" value=\"".$friendname."\" title=\"".$friendname."\">".$uname3." (w) ".$online."</OPTION>\n"; # options fuer auswahlselect erstellen $member_online_num++; # Anzahl User hochzaehlen } if ($user_sexus==2){ $uname3 = mxCutString($friendname, 10, "..", ""); # Kurzen Usernamen erstellen $whoonlineselect.="<option style=\"color:black;\" value=\"".$friendname."\" title=\"".$friendname."\">".$uname3." (m) ".$online."</OPTION>\n"; # options fuer auswahlselect erstellen $member_online_num++; # Anzahl User hochzaehlen } if ($user_sexus==0){ $uname3 = mxCutString($friendname, 10, "..", ""); # Kurzen Usernamen erstellen $whoonlineselect.="<option style=\"color:black;\" value=\"".$friendname."\" title=\"".$friendname."\">".$uname3." ".$online."</OPTION>\n"; # options fuer auswahlselect erstellen $member_online_num++; # Anzahl User hochzaehlen }
# Ausgabe ................................... $content = "\n<!-- $thisfile output start -->\n<div class=\"boxcontent\" align=\"center\">\n" ."<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"border: 0px; margin-bottom: 5px;\">\n" ."</table>\n";
# Onlineliste anzeigen wenn User online sind if($member_online_num>0){ if($onlinelistsize>=$member_online_num) {$onlinelistsize=$member_online_num+5;} $script = ""; } else{ $script = " onDblClick=\"whob_clickit()\""; $content .= "<script language=\"JavaScript\" type=\"text/javascript\">\n<!--\n"; $content .= "function whob_clickit(){\n"; $content .= " var y=document.onlineuserinfo.uname.selectedIndex; \n"; $content .= " var x=document.onlineuserinfo.uname.options[y].value; \n"; $content .= " window.open('modules.php?name=$pm_module_name&file=buddy&op=compose&to='+x, '".md5(time())."','left=370,top=150,width=360,height=200,toolbar=no,location=no,menubar=no,scrollbars=yes,resizeable=yes,status=no');\n"; $content .= " return false;\n"; $content .= " }\n//-->\n"; $content .= "</script>\n"; } #background-color: $bgcolor1; font-size: 9px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: $txtcolor1; width: 90%; border: 0px $bgcolor1; $content .= "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"border: 0px; margin-bottom: 5px;\">\n"; $content .= "\n<tr>\n<td colspan=\"2\" align=\"center\" class=\"boxcontent\">\n"; $content .= "Freundeliste (<b>$member_online_num</b>)"; $content .= "</td>\n</tr>\n"; $content .= "\n<tr>\n<td colspan=\"2\" align=\"center\">"; # select-options verwenden $content .= "<form action=\"modules.php?test\" name=\"onlineuserinfo\" method=\"get\" style=\"border: 0px; margin-bottom: 5px; margin-top: 0px;\">"; $content .= "<input type=\"hidden\" name=\"name\" value=\"Your_Account\">"; $content .= "<input type=\"hidden\" name=\"op\" value=\"userinfo\">"; $content .= "<select name=\"uname\" size=\"$onlinelistsize\" style=\" background-color: $bgcolor1; font-size: 9px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: $txtcolor1; width: 90%; cursor: hand; border: 1px solid $bgcolor2; text-decoration: none; padding-left: 1px; padding-top: 1px; padding-bottom: 1px;\" $script>".$whoonlineselect."</select>"; $content .= "<br>\n<input type=\"image\" src=\"$imagedir/info.png\" alt=\""._BWOUSERINFO."\">"; $content .= "</form>\n"; $content .= "</td>\n</tr>\n"; $content .= "</table>\n"; }
} $content .= ""; $content .= "</div>\n<!-- $thisfile output end -->\n"; ?>
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
jubilee
Gast
|
« Antworten #1 am: 22 Oktober 2005, 11:28:34 » |
|
Hallo ! if (MX_IS_USER){
und if(!MX_IS_ADMIN){ Geht so nicht der Funktionsaufruf für die beiden Funktionen muss lauten : if(mxIsUser()){ und if(!mxIsAdmin()){ anstatt darüber festzustellen, ob ein User online ist : $result0 = sql_query("select uname from ".$user_prefix."_users where((uname='$friendname') AND (user_lastvisit >= ".$past.") AND (user_stat=1) AND (user_lastmod<>'logout')) AND user_stat=1");
list($uname) = sql_fetch_row($result0);
if ($uname == "") {
$online = "(offline)";
} else {
$online = "(online)";;
}
geht es ersatzweise einfacher mit : $Isonline=mxGetUserDataFromUsername($friedname); if ($Isonline['user_online']) { $online = "(online)"; } else { $online = "(offline)"; }
Ausserdem ist alles etwas durcheinander und es kommen auch unnötigerweise doppelte aufrufe vor . z.B. if (MX_IS_USER){ $cookie=mxGetUserSession(); $username = $cookie[1]; $uid = $cookie[0]; }
dann einige Zeilen tiefer $cookie = mxGetUserSession();
Wenn die obige Ausschlußbedingung schon richtig geschrieben wäre, wäre das 2x Abfragen der session komplett unnötig. MfG jubilee
|
|
|
|
« Letzte Änderung: 22 Oktober 2005, 11:37:11 von jubilee »
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #2 am: 22 Oktober 2005, 16:50:57 » |
|
Hey,
Vielen dank erstmal Jubilee für deine Hilfe. Habe erstmal alles abgeändert.
Wollte aber gerne noch wissen wie ich es hinbekomme das es nach on-offline sortiert wird.
Gruss Markus.
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #3 am: 23 Oktober 2005, 16:24:05 » |
|
keiner eine Idee ? 
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
smartmusic
|
« Antworten #4 am: 23 Oktober 2005, 17:59:14 » |
|
hi,
das einfachste und sinnvollste wird doch sein nur die online user anzuzeigen...
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #5 am: 23 Oktober 2005, 18:04:26 » |
|
Hey,
das wäre auch eine möglichkeit aber lieber wäre es mir wenn alle angzeigt werden und die online sind halt zuerst...
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
smartmusic
|
« Antworten #6 am: 23 Oktober 2005, 18:28:24 » |
|
kannst du bitte nochmal jetzt den geänderten code hier posten
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #7 am: 23 Oktober 2005, 19:24:17 » |
|
klar: <?php
################# Einstell Variablen ############################################################################ $onlinelistsize = 10; # Hoehe des Selectfeld der Onlinuser (Online-Liste) $showuserlistall = 1; # Wenn Online-Liste immer erscheinen soll, 1=Ja, 0=nein # Namen mit Komma trennen! $excludedusers ="Texsterdsgf, Knaxllerfgfd"; ################################################################################################################## $imagedir="images/maaxon"; ################################################################################################################## if (!defined("mxMainFileLoaded")) die ("You can't access this file directly..."); global $prefix, $user_prefix, $bgcolor1, $bgcolor2, $bgcolor3, $txtcolor1, $txtcolor2;
# Variablen initialisieren $username = ""; if(mxIsUser()){ $cookie=mxGetUserSession(); $username = $cookie[1]; $uid = $cookie[0]; }
# SQL-bedingung fuer excluded Users erstellen $exusers = explode (",", $excludedusers); if(!mxIsAdmin()){ while (list($key, $val) = each($exusers)) { $xexusers[]=trim($val); } } $xexusers[] = $GLOBALS['anonymous']; $excludedusers = "'".implode("','",$xexusers)."'"; $friend=addslashes($friend);
$result=sql_query("select uid from ".$user_prefix."_users where uname='".$cookie[1]."'"); $row=sql_fetch_array($result); $result=sql_query("select friendname from ".$user_prefix."_users_friendslist where uname='".$cookie[1]."'"); $num=sql_num_rows($result); if($num>=1){
while(list($friendname) = sql_fetch_row($result)) { $past = time()- MX_SETINACTIVE_MINS ; $result0 = sql_query("select uname from ".$user_prefix."_users where((uname='$friendname') AND (user_lastvisit >= ".$past.") AND (user_stat=1) AND (user_lastmod<>'logout')) AND user_stat=1");
list($uname) = sql_fetch_row($result0); if ($uname == "") { $online = "(offline)"; } else { $online = "(online)";; }
$result3 = sql_query("select uname, user_sexus, user_lastvisit from ".$user_prefix."_users where((uname='$friendname') ) AND user_stat=1"); list($uname, $user_sexus) = sql_fetch_row($result3);
if ($user_sexus==1) { $uname3 = mxCutString($friendname, 10, "..", ""); # Kurzen Usernamen erstellen $whoonlineselect.="<option style=\"color:black;\" value=\"".$friendname."\" title=\"".$friendname."\">".$uname3." (w) ".$online."</OPTION>\n"; # options fuer auswahlselect erstellen $member_online_num++; # Anzahl User hochzaehlen } if ($user_sexus==2){ $uname3 = mxCutString($friendname, 10, "..", ""); # Kurzen Usernamen erstellen $whoonlineselect.="<option style=\"color:black;\" value=\"".$friendname."\" title=\"".$friendname."\">".$uname3." (m) ".$online."</OPTION>\n"; # options fuer auswahlselect erstellen $member_online_num++; # Anzahl User hochzaehlen } if ($user_sexus==0){ $uname3 = mxCutString($friendname, 10, "..", ""); # Kurzen Usernamen erstellen $whoonlineselect.="<option style=\"color:black;\" value=\"".$friendname."\" title=\"".$friendname."\">".$uname3." ".$online."</OPTION>\n"; # options fuer auswahlselect erstellen $member_online_num++; # Anzahl User hochzaehlen }
# Ausgabe ................................... $content = "\n<!-- $thisfile output start -->\n<div class=\"boxcontent\" align=\"center\">\n" ."<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"border: 0px; margin-bottom: 5px;\">\n" ."</table>\n";
if (MX_IS_USER || MX_IS_ADMIN || $showuserlistall) { # Wenn angemeldeter User oder Admin oder Liste immer erscheinen soll # Onlineliste anzeigen wenn User online sind if($member_online_num>0){ if($onlinelistsize>=$member_online_num) {$onlinelistsize=$member_online_num+1;} $script = ""; } else{ $script = " onDblClick=\"whob_clickit()\""; $content .= "<script language=\"JavaScript\" type=\"text/javascript\">\n<!--\n"; $content .= "function whob_clickit(){\n"; $content .= " var y=document.onlineuserinfo.uname.selectedIndex; \n"; $content .= " var x=document.onlineuserinfo.uname.options[y].value; \n"; $content .= " window.open('modules.php?name=$pm_module_name&file=buddy&op=compose&to='+x, '".md5(time())."','left=370,top=150,width=360,height=200,toolbar=no,location=no,menubar=no,scrollbars=yes,resizeable=yes,status=no');\n"; $content .= " return false;\n"; $content .= " }\n//-->\n"; $content .= "</script>\n"; } #background-color: $bgcolor1; font-size: 9px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: $txtcolor1; width: 90%; border: 0px $bgcolor1; $content .= "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" style=\"border: 0px; margin-bottom: 5px;\">\n"; $content .= "\n<tr>\n<td colspan=\"2\" align=\"center\" class=\"boxcontent\">\n"; $content .= "Freundeliste (<b>$member_online_num</b>)"; $content .= "</td>\n</tr>\n"; $content .= "\n<tr>\n<td colspan=\"2\" align=\"center\">"; # select-options verwenden $content .= "<form action=\"modules.php?test\" name=\"onlineuserinfo\" method=\"get\" style=\"border: 0px; margin-bottom: 5px; margin-top: 0px;\">"; $content .= "<input type=\"hidden\" name=\"name\" value=\"Your_Account\">"; $content .= "<input type=\"hidden\" name=\"op\" value=\"userinfo\">"; $content .= "<select name=\"uname\" size=\"$onlinelistsize\" style=\" background-color: $bgcolor1; font-size: 9px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: $txtcolor1; width: 90%; cursor: hand; border: 1px solid $bgcolor2; text-decoration: none; padding-left: 1px; padding-top: 1px; padding-bottom: 1px;\" $script>".$whoonlineselect."</select>"; $content .= "<br>\n<input type=\"image\" src=\"$imagedir/info.png\" alt=\""._BWOUSERINFO."\">"; $content .= "</form>\n"; $content .= "</td>\n</tr>\n"; $content .= "</table>\n"; }
} } $content .= ""; $content .= "</div>\n<!-- $thisfile output end -->\n"; ?>
|
|
|
|
« Letzte Änderung: 23 Oktober 2005, 19:38:00 von vittatus »
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #8 am: 24 Oktober 2005, 23:49:24 » |
|
Hallo, hab nochmal ein bischen rumprobiert. und zwar habe ich folgenden code: list($uname) = sql_fetch_row($result0); if ($uname == "") { $online = "(offline)"; } else { $online = (online)";; }
Zu folgendes abgeändert: list($uname) = sql_fetch_row($result0); if ($uname == "") { $online = "(offline)"; } else { $online = "<option style=\"color:red;\">(online)</option>";; }
Das bedeutet der online wird in rot angezeigt nur leider steht das online aufeinmal eine zeile tiefer gibs da eine möglichkeit das es in der gleichen zeile bleibt ? Gruss Markus
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
onkel
Gast
|
« Antworten #9 am: 25 Oktober 2005, 00:05:09 » |
|
Die Freundeliste hat einen Fehler, denn die user die sich mal gelöscht haben werden trotzdem angezeigt und man kann sie nicht aus der liste löschen  .......
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #10 am: 25 Oktober 2005, 00:10:06 » |
|
Hey, Redest du vom block oder von der Freundeliste selbst ? Beim Block habe ich es gerade nochmal getestet und geht einwandfrei  Gruss Markus
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
onkel
Gast
|
« Antworten #11 am: 25 Oktober 2005, 00:13:51 » |
|
Hey, Redest du vom block oder von der Freundeliste selbst ? Beim Block habe ich es gerade nochmal getestet und geht einwandfrei Gruss Markus Häää von wo holt sich der block die Daten ?
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #12 am: 25 Oktober 2005, 00:16:21 » |
|
Häää von wo holt sich der block die Daten ?
Von der JSM_Friendlist
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
onkel
Gast
|
« Antworten #13 am: 25 Oktober 2005, 00:19:24 » |
|
Sorry ... habe mich vertan  man bekommt sie nicht aus ''Wer hat mich in seiner Freundesliste?'' 
|
|
|
|
« Letzte Änderung: 25 Oktober 2005, 00:22:01 von onkel »
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #14 am: 25 Oktober 2005, 00:21:51 » |
|
Achso 
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
onkel
Gast
|
« Antworten #15 am: 25 Oktober 2005, 00:22:53 » |
|
und auch nicht aus ''Wer hat mich in seiner Ignorierliste?''
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
vittatus
|
« Antworten #16 am: 25 Oktober 2005, 00:26:11 » |
|
 Hat vielleicht jetzt jemand eine Idee wie man es nach on-offline Sortieren kann ?
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
smartmusic
|
« Antworten #17 am: 31 Oktober 2005, 12:26:12 » |
|
...also ich fände es auch gut wenn es funktionieren würde...
|
|
|
|
|
Gespeichert
|
|
|
|
|
|
|
schnikemike
|
« Antworten #18 am: 07 November 2005, 23:14:32 » |
|
Meinst du die liste oder das mit dem nicht dem weiterhin angezeigt.
|
|
|
|
|
Gespeichert
|
Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
|
|
|
|
|
|
smartmusic
|
« Antworten #19 am: 07 November 2005, 23:19:34 » |
|
das die online freunde oben stehen,mir würde es auch schon reichen wenn nur die online freunde angezeigt werden...
...für den rest gibt es ja das modul
|
|
|
|
|
Gespeichert
|
|
|
|
|