Freunde Block

Begonnen von vittatus, 21 Oktober 2005, 16:07:19

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

vittatus

Hey also ich habe es im moment entsprechen so gelöst...

  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 = " ";
                     } 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
    }


smartmusic

wie mache ich es denn,das nur die online freunde angezeigt werden?

vittatus

Da bin ich auch noch am rätzeln.. komme leider auf keine idee wie das zu lösen wäre  ???
Also ich würde es ja immernoch gerne nach on-offline sortiert haben das heisst die online sind zuerst.
Aber ich weiss auch nicht wie ich das hinbekommen soll  :o

Vielleicht hat ja mal irgendwer eine idee ?!
Gruss Markus

vittatus

Hey hab eben nochmal ein bischen nachgedacht vielleicht könnte es ja so gehen  ;)
Ist leider ungetestet weil ich gerade auf der Arbeit bin.

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 = "";
                     } else {
                         $online = "<b>".$uname3."</b>";;
                     }

                     $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."\">".$online." (w) </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."\">".$online." (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."\">".$online."</OPTION>\n"; # options fuer auswahlselect erstellen
    $member_online_num++;    # Anzahl User hochzaehlen
    }



Gruss Markus

smartmusic

so werden nur noch (w) oder (m) angezeigt

vittatus

#25
habs gerade nochmal getestet und so werden nur noch die freunde angezeigt aber der, der offline ist wird eine leerzeile angezeigt.
habs im moment so:

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 = "";
                     } else {
                         $online = "<b>".$uname3."</b>";;
                     }

                     $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."\">".$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."\">".$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."\">".$online."</OPTION>\n"; # options fuer auswahlselect erstellen
    $member_online_num++;    # Anzahl User hochzaehlen
    }



Mach das heute abend mal fertig.

smartmusic

so wird der freund der online ist nicht angezeigt,sondern ich bekomme denjenigen in der liste davor angezeigt

vittatus

Hey,
wie gesagt bin noch auf der Arbeit.
Mache das heute abend fertig habe dafür glaube ich schon eine lösung  ;)

Bis heute abend.
Gruss Markus

schnikemike

Kannst du das ganze mal in ein komplettes packet mit dem modul packen?
Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

vittatus

Jop mache ich nachher hab in paar min feierabend...
Denke das ich es so gegen 10 uhr mache ;)

schnikemike

@vittatus Cool aber mach dir deshalb keien stress.  ich bin leider auch noch nicht dazugekommen. WG  Coppermine
Wer anderen eine Grube gräbt der hat ein Grubengrabgerät!
 

vittatus

Hey,
ok meine idee hat nicht funktioniert,
vielleicht wer anders dahinter gekommen ?

Stallion44

hi ich hätte da mal ne idee wie wärs die online und ofline freunde per farben zu sortieren oder sie per nem online symbol und ofline symbol zu unterscheiden das wäre vieleicht ne einfachere variante :)
MfG
Stallion44

vittatus


NeMeSiSX2LC

Ich verfolge das nur noch mit ansonsten von meiner Seite :-X
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

vittatus

hey

Zitat von: NeMeSiSX2LC am 29 November 2005, 21:43:44
Ich verfolge das nur noch mit ansonsten von meiner Seite :-X

Vielleicht könntest du uns ja auch Helfen ?  :P

vittatus

#36
So wunderschönen guten Morgen... ich wollte es entlich wissen  :D
Hab jetzt nochmal neue blöcke gemacht ..
Und zwar ein neuen Freundeblock:
Wo angezeigt wird...
...Online (in roter schrift)
...Fotohochgeladen (User_Fotoalbum (Sollte aber anzupassen sein fürs Avatar upload Module))
...Alter
...Geschlecht
Who is online Block das gleiche ausser mit roter schrift wer online ist, dafür benutzergruppen farblich makiert
Und den Block User_off_today

Farben müssen an eure Homepage angepasst werden.
Bitte um Feedback....

http://www.eplexx.de/bloecke.zip


Also viel Spass damit hat mich eine ganze Nacht gekostet  :P
Gruss Markus

EDIT : Neue Nachichten block im download enthalten

vittatus

#37
Joa so langsam kommt alles zusammen,
jetzt fehlt nur noch eine user suche..
irgendwer wird doch bestimmt sowas haben..

Bräuchte sowas unbedingt, wer eine hat bitte melden wäre echt dankbar

Gruss Markus

V4Mp

#38
Schön schön...
Fehler:
Wenn ich mehr Freunde in meiner Liste habe, als in das Feld passen, wird mir nur der letzte Freund angezeigt.
Also nur noch einer!

Wie wäre es außerdem, um n pissel Platz zu sparen (ich z.B. hab eh schon viele Blöcke), die User in einem Pulldown Auswahlmenü anzuzeigen???

So wie diese z.Bleistift. (kann man ganz unten sehen)
http://www.gitnet.de/content/web-design/js/js-menus/nav-pulldown.htm

In etwas so...

Dies in die header.php einfügen (achtung, ich habs per include eingefügt und eine test.html erstellt, in die ich dann den text gelegt habe... wenn ihr es direkt in die header einfügt, müßt ihr natürlich erstmal alles an pragmamx php anpassen mit " und \" und so):

<script language="JavaScript">;
<!--
function Go(x)
   {
   if(x == "nothing")
   {
   document.forms[0].reset();
   document.forms[0].elements[0].blur();
   return;
   }
   else
   {
   // alert(x); 
   location.href = x;
   document.forms[0].reset();
   document.forms[0].elements[0].blur();
   }
  }
//-->;
</script>


Dies ist der neue Block:

<?php

################# Einstell Variablen ############################################################################
# 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$bgcolor8$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)."'";



$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 " style=\"COLOR:white\"";
                     } else {
                         $online " style=\"COLOR:red\"";;
                     }
 
if(file_exists("modules/User_Fotoalbum/album/".$friendname."1.jpg")) {
$foto "<image src=\"images/fotoja.gif\" alt=\"foto\" width=\"12\" border=\"0\">\n";
}
elseif(file_exists("modules/User_Fotoalbum/album/".$friendname."1.gif")) {
$foto "<image src=\"images/fotoja.gif\" alt=\"foto\" width=\"12\" border=\"0\">\n";
}
elseif(file_exists("modules/User_Fotoalbum/album/".$friendname."1")) {
$foto "<image src=\"images/fotoja.gif\" alt=\foto\" width=\"12\" border=\"0\">\n";
}
else{
$foto "";
}


$result3 sql_query("select uname, user_sexus, (YEAR( CURRENT_DATE ) - YEAR( user_bday )) - ( RIGHT( CURRENT_DATE, 5 ) < RIGHT( user_bday, 5 ) ) AS user_age from ".$user_prefix."_users where((uname='$friendname') ) AND user_stat=1");
                    list(
$uname$user_sexus$user_age) = sql_fetch_row($result3);

if (
$user_sexus==1) {
    
    
$uname3 mxCutString($friendname10"..""");    # Kurzen Usernamen erstellen
    
$whoonlineselect="<option value=\"modules.php?name=Userinfo&uname=".$friendname."\"".$online.">".$uname3."(w-".$user_age.")".$foto."</a></font><br>\n"# options fuer auswahlselect erstellen
    
$member_online_num++;    # Anzahl User hochzaehlen
    
}
if (
$user_sexus==2){    
    
    
$uname3 mxCutString($friendname10"..""");    # Kurzen Usernamen erstellen
    
$whoonlineselect.="<option value=\"modules.php?name=Userinfo&uname=".$friendname."\"".$online.">".$uname3."(m-".$user_age.")".$foto."</font><br>\n"# options fuer auswahlselect erstellen
    
$member_online_num++;    # Anzahl User hochzaehlen
    
}
if (
$user_sexus==0){    
    
    
$uname3 mxCutString($friendname10"..""");    # Kurzen Usernamen erstellen
    
$whoonlineselect.="<option value=\"modules.php?name=Userinfo&uname=".$friendname."\"".$online.">".$uname3."(".$user_age.")".$foto."</a></font><br>\n"# options fuer auswahlselect erstellen
    
$member_online_num++;    # Anzahl User hochzaehlen
    
}
}

$content .= "<center>";
$content .= "Freundeliste (<b>$member_online_num</b>)<br>";
$content .= "</center>";
$content .= "<div style=\"height: 100px; width: 125px; background-color: $bgcolor8; cursor: hand; border: 2px solid $bgcolor2; text-decoration: none; padding-left: 1px; padding-top: 1px; padding-bottom: 1px; overflow: auto;\><a href=\"modules.php?name=Userinfo&uname=".$uname3."\">".$whoonlineselect."</a></div>";
###$content .= "<center><font size=\"1\" color=\"#FF0000\">Rot = Online</font><br>Weiß = Offline</center>";
$content .= "<form name=\"Nav\" method=\"Post\">";
$content .= "<select size=\"1\" name=\"Auswahl\" onchange=\"Go(this.form.Auswahl.options[this.form.Auswahl.options.selectedIndex].value)\"";
$content .= "style=\"width:130px; background-color:#000000; font-size:9pt; font-family:Arial,sans-serif;\"width=\"200\">;";
$content .= "<option value=\"nothing\">Freundesliste ($member_online_num)";
$content .= "<option value=\"modules.php?name=Userinfo&uname=".$uname3."\">".$whoonlineselect."";
$content .= "</select>";
$content .= "</form>";

}

?>



Auch hier ist allerdings noch der Fehler, nach 5 Usern wird mir, wenn ich n 6ten in meine Liste speicherer, nur dieser angezeigt. Bei 7 halt, 2 und bei 11 wieder 1 User.  Anscheinend ist irgendwo die Anzahl der zu sehenden User auf 5 begrenzt... aber wo???



Noch was... ich hätte gerne dort, wo Freundesliste(Anzahl Freunde) steht, statt der "Anzahl Freunde" lieber in den Klammern stehen, wieviele Freunde grade online sind. Wieviele Freunde ich habe weiß ich ja, aber grade im Pulldown wäre es wichtig zu wissen, ob grade einer online ist. Man sieht die User ja erst, wenn man das Pulldown öffnet.

vittatus

Hey hab es gerade bei mir nochmal ein bischen durchgetestet.. also bei mir geht es einwandfrei...
habe jetzt 17 leute oder so ein meiner Freundeliste..

Und das mit dem Pulldown menü ist eine schlechte sache, dann könnte man sich ja auch den ganzen block sparen und in das Modul gehen.