. .
pragmaMx Support Forum 18 Mai 2013, 16:42:39 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1] 2 3 ... 5   Nach unten
Drucken
Autor Thema: Freunde Block  (Gelesen 21056 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
vittatus
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« am: 21 Oktober 2005, 16:07:19 »

Hey habe nochmal ein Block für die JSM Friendlist gebastelt.. thumbup#

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  Wink

Code: [Select]  
<?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&amp;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($friendname10"..""");    # 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($friendname10"..""");    # 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($friendname10"..""");    # 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 !
Zitat
if (MX_IS_USER){
und
Zitat
if(!MX_IS_ADMIN){
Geht so nicht
der Funktionsaufruf für die beiden Funktionen muss lauten :
Zitat
if(mxIsUser()){
und
Zitat
if(!mxIsAdmin()){

anstatt darüber festzustellen, ob ein User online ist :
Zitat
$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 :
Zitat
   $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.
Zitat
if (MX_IS_USER){
$cookie=mxGetUserSession();
$username = $cookie[1];
$uid = $cookie[0];
}

dann einige Zeilen tiefer
Zitat
$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
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

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
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« Antworten #3 am: 23 Oktober 2005, 16:24:05 »

keiner eine Idee ?  Huh
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

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
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

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
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #6 am: 23 Oktober 2005, 18:28:24 »

kannst du bitte nochmal jetzt den geänderten code hier posten
Gespeichert
vittatus
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« Antworten #7 am: 23 Oktober 2005, 19:24:17 »

klar:

Code: [Select]  
<?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($friendname10"..""");    # 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($friendname10"..""");    # 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($friendname10"..""");    # 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
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« Antworten #8 am: 24 Oktober 2005, 23:49:24 »

Hallo,
hab nochmal ein bischen rumprobiert.
und zwar habe ich folgenden code:
Code: [Select]  
                   list($uname) = sql_fetch_row($result0);
                   if ($uname == "") {
                             $online = "(offline)";
                     } else {
                         $online = (online)";;
                     }

         
Zu folgendes abgeändert:
Code: [Select]  
                   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 Wink .......
Gespeichert
vittatus
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

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  Wink
Gruss Markus
Gespeichert
onkel
Gast
« Antworten #11 am: 25 Oktober 2005, 00:13:51 »

Zitat
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
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« Antworten #12 am: 25 Oktober 2005, 00:16:21 »

Zitat
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 Smiley man bekommt sie nicht aus ''Wer hat mich in seiner Freundesliste?''  cheesy
« Letzte Änderung: 25 Oktober 2005, 00:22:01 von onkel » Gespeichert
vittatus
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« Antworten #14 am: 25 Oktober 2005, 00:21:51 »

Achso  Tongue
Gespeichert
onkel
Gast
« Antworten #15 am: 25 Oktober 2005, 00:22:53 »

und auch nicht aus ''Wer hat mich in seiner Ignorierliste?''
Gespeichert
vittatus
weiss mehr
****
Offline Offline

Geschlecht: Männlich
Beiträge: 397

vittatus


« Antworten #16 am: 25 Oktober 2005, 00:26:11 »

 Wink
Hat vielleicht jetzt jemand eine Idee wie man es nach on-offline Sortieren kann ?
Gespeichert
smartmusic
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

smartmusic


« Antworten #17 am: 31 Oktober 2005, 12:26:12 »

...also ich fände es auch gut wenn es funktionieren würde...
Gespeichert
schnikemike
Spezialist
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 715

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
Inventar
*******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.269

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
Seiten: [1] 2 3 ... 5   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.18 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML