letzte besucher

Begonnen von smartmusic, 13 Mai 2004, 14:53:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

smartmusic

hallo,
ich suche ein modul das den usern ihre letzten profil besucher anzeigt...
wer kennt sowas oder kann es programmieren?


wob

So mal wieder ich ... nun nach ca. 1std Forum durchsuchen bin ich hier auf das Thema gestoßen.

Da ich leider nix anderes im Forum gefunden habe, poste ich es einfach mal hier.

Da es ja nun auch den Profil Aufzähler gibt, und ich auch von unseren Usern angesprochen wurde, ob es möglich wäre das man sehen kann wer auf sein Profil war. Dachte ich schauen wir doch mal hier im Forum rein.. also ich muss sagen die Idee die Smartmusic hatte finde ich auch gut ...

Ich dachte so unter den Profil Zähler... als Code Vorlage könnte man doch den Block Wer war Hier nehmen.. ( Wenn ich da nicht falsch liege ) Also wer könnte uns da helfen, so das man es umsetzten kann.

Würde mich freuen von euch zu hören.

Mit freundlichen Grüßen

Rene  ;)
Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)

NeMeSiSX2LC

Wenn mir jemand sag wie ich alte einträge wieder löschen kann (alles älter wie 48std) dann könnte ich sowas zusammen bauen. Weil dran hängt es nämlich im mom bei mir :(
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

NeMeSiSX2LC

Weil sonst würde die DB innerhalb kurzer Zeit total überlaufen
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

wob

Mensch :-) das ging ja Fix hätte ich jetzt nicht gedacht ... ok das hört sich ja schonmal so an als wenn du so was im Einsatz hast.

Ich glaube wenn du den Code hier posten könntest.. könnten andere User schauen an was es liegen könnte mit den 48std. Denk ich mal ;)

Also so wie der Block WER WAR HIER könnte man es machen so sieht man Welcher User auf den Profil war und vor wie viel Minuten, und eben das immer der letzte Profil Besucher ganz oben steht und der letzte Besucher von 5 z-b ganz unten, und eben das es alle User sehen können wer auf den Profil war. Ich Poste einfach mal den Code WER WAR HIER.

  global $cookie, $prefix, $currentlang;


if(file_exists("language/lastseen/lastseen-$currentlang.php")) {
include("language/lastseen/lastseen-$currentlang.php");
}
else {
include("language/lastseen/lastseen-german.php");
}

        $numusers = 5;
        $username = $cookie[1];

        mysql_query("CREATE TABLE IF NOT EXISTS $prefix"._lastseen." (id INT (15) not null AUTO_INCREMENT, username TEXT not null, date INT(15) not null, ip CHAR(50), PRIMARY KEY (id), UNIQUE (id))");

        if (isset($username)) {
                $ip = getenv("REMOTE_HOST");
                if (empty($ip)) {
                        $ip = getenv("REMOTE_ADDR");
                }

                $result = mysql_query("SELECT * FROM $prefix"._lastseen." WHERE username = \"$username\"");
                if (mysql_num_rows($result) > 0) {
                        mysql_query("UPDATE $prefix"._lastseen." SET date = " . time() . " WHERE username = \"$username\"");
                } else {
                        mysql_query("INSERT INTO $prefix"._lastseen." VALUES (\"\", \"$username\", ".time().", \"".$ip."\")");
                }
        }

 
        $content = "";
     $content = " <A name= \"scrollingCode\"></A>
<MARQUEE behavior= \"scroll\"  direction= \"up\" height=\"120\" scrollamount= \"2\" scrolldelay= \"70\" onmouseover='this.stop()' onmouseout='this.start()'>
<table width=\"80%\">";
        $content .= "<tr><td></td></tr>";
    $content .= "$show";
    $content .= "</table>";

   
   
   
   
    $a++;  
        $result = mysql_query("SELECT username, date FROM $prefix"._lastseen." ORDER BY date DESC limit 0,20");
        while (list($uname, $date) = mysql_fetch_row($result)) {
                if ($uname != $username) {
                        $realtime = time() - $date;
                        $dont = false;

                        // how many days ago?
                        if ($realtime >= (60*60*24*2)) { // if it's been more than 2 days
                                $days = floor($realtime / (60*60*24));
                                $dont = true;
                        } else if ($realtime >= (60*60*24)) { // if it's been less than 2 days
                                $days = 1;
                                $realtime -= (60*60*24);
                        }

                        if (!$dont) {
                                // how many hours ago?
                                if ($realtime >= (60*60)) {
                                        //$content .= " ($realtime) ";
                                        $hours = floor($realtime / (60*60));
                                        $realtime -= (60*60*$hours);
                                }

                                // how many minutes ago?
                                if ($realtime >= 60) {
                                        $mins = floor($realtime / 60);
                                        $realtime -= (60*$mins);
                                }

                                // just a little precation, although I don't *think* mins will ever be 60...
                                if ($mins == 60) {
                                        $mins = 0;
                                        $hours += 1;
                                }
                        }

 
                      $content .= "<font class=tiny><img src=\"images/block-modules/ur-guest.gif \"> <a href=\"modules.php?name=Your_Account&op=userinfo&uname=$uname\"><b>".$uname."</b></a>:<br> ";
                        if ($dont) {
                                $content .= "  ".$days." "._LASTSEENDAYS."";
                        } else {
                                if ($days > 0) {
                                        $content .= " ".$days." "._LASTSEENDAY."".(($hours == 0 && $mins == 0)?(""):(","));
                                }
                                if ($hours > 0) {
                                        $content .= " ".$hours." ".(($hours > 1)?(""._LASTSEENHOURS.""):(""._LASTSEENHOUR."")).(($mins == 0)?(""):(","));
                                }
                                if ($mins > 0) {
                                        $content .= " ".$mins." ".(($mins > 1)?(""._LASTSEENMINUTES.""):(""._LASTSEENMINUTE.""))."";
                                }  else { // less than a minute :)
                                        $content .= " ".$realtime." "._LASTSEENSECONDS."";
                                }
                        }

 
                        $content .= " "._LASTSEENAGO." </font><br>";

                        $days = 0;
                        $hours = 0;
                        $mins = 0;
                        $dont = false;
                }
        }


        $content .= "";
Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)

L1nuX3r

machs doch noch einfacher: Zeige nur die letzten 10 oder 15 Besucher und lösche alle anderen wieder!

NeMeSiSX2LC

Warum so umständlich?? Es würde locker reichen wenn ausgeben würd wann jemand auf dem Profil war. Versuch das morgen mal zusammen zubauen. Weil heute ist noch das Photoalbum dran ;)
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

wob

Hy super genau hast ja recht um so einfacher um so besser :-) und was machst du im Fotoalbum :-) "mal ganz vorsichtig fragt"  :redhead:


Mfg Rene
Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)

L1nuX3r

hmm... ich finds so http://www.fs-location.de/index.php?section=profile&id=1 am einfachsten... also da unten letze  beuscher.

NeMeSiSX2LC

Find ich persönlich nun wieder kacke, man will doch schon wissen wann der User auf dem Profil war.

Zum Photoalbum:

Sag ich nicht werdet ihr sehen ;)
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

wob

Jo genau WANN der User da war wäre schon nicht schlecht ;)

und wegen Fotoalbum : Ok mal warten ... wird bestimmt was gutes sein  :P


Mfg Rene
Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)

Observer

Muss der letzte Besucher nachts dann auch das Licht ausmachen?

wob

ZitatMuss der letzte Besucher nachts dann auch das Licht ausmachen?

Und Morgens das Licht wieder an machen  :D


Mfg Rene
Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)

NeMeSiSX2LC

Ich wart mal bis jubi was schreib der Sag mir bestimmt die lösung für das 48h prob ;)
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

jubilee

Hallo !
 
ZitatIch wart mal bis jubi was schreib der Sag mir bestimmt die lösung für das 48h prob  
Würd ich glatt machen ;)
Wird beim (Profil-) Aufrufzähler denn irgendwo eine Zeit mitgeloggt/gespeichert ?
MfG
jubilee

NeMeSiSX2LC

Jupps es wird dann time() mit eingefügt.
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

Musicman75

das ist ja mal ne gute idee für eine funktion, das erhöht das community feeling der page, da man sieht, ob man auch besucht wird.

@ L1nuX3r:
Wie hast du den zähler realisiert in dem useraccount?

Unaufgeforderte Support PMs & Emails werden ignoriert

Immer erst die Boardsuche verwenden und gegebenenfalls einen neuen Threat eröffnen, wenn das Problem noch nicht behandelt wurde!

NeMeSiSX2LC

So los gehts:

SQL:

  CREATE TABLE `mx_users_visit` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `uid` int(11) NOT NULL default '0',
  `vuid` int(11) NOT NULL default '0',
  `time` int(11) unsigned NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


Profilzähler mit cookie setzung ACHTUNG Cookie Zeit muss angepasst werden und gegebenenfalls die Abfrage:

  ob_start();
$time = mxdynatime();
if(!empty($_COOKIE["Profilaufruf".$uname.""])) {

echo"";

}else {
$cookie = mxGetUserSession();
if ($cookie[1] != $uname) {
sql_query("UPDATE ".$user_prefix."_users SET user_click=user_click+1 where uname='$uname'");
sql_query("INSERT INTO ".$user_prefix."_users_visit (uid, vuid, time) VALUES ('".$uinfo['uid']."', '".$cookie[0]."', '".time()."')");
}

setcookie("Profilaufruf".$uname."","Profilaufruf",time()+$time);

}

So nun will man das ganze auch noch sehen:

  $gestern = mktime(0, 0, 0, date ("m") , date ("d")-1, date("Y"));
$visituser = sql_query("SELECT uid, vuid, time FROM ".$user_prefix."_users_visit WHERE uid=".$uinfo['uid']." AND time >= ".$gestern." ORDER BY time DESC");
while($visit = sql_fetch_array($visituser)){
$sqluser = sql_fetch_array(sql_query("SELECT * FROM ".$user_prefix."_users WHERE uid=".$visit['vuid'].""));
$visit['time'] = date ("d.m.Y H:i", $visit['time']);
echo"<a href=\"modules.php?name=Userinfo&uname=".$sqluser['uname']."\">".$sqluser['uname']."</a> ".vkpGetSexusString($sqluser['user_sexus'])."".$visit['time']."";
} // while    

Ist mal die erste version von dem teil. morgen kommt noch mehr ;)

Ach und bitte erstmal richtig angucken bevor wieder irgendwelche Fragen kommen!!

[Editiert am 20/8/2004 von NeMeSiSX2LC]
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

NeMeSiSX2LC

War jetzt 30 miun arbeit! Da wird mir doch keiner weis machen wohlen das das wirklich so schwer ist!
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

wob

Hallo NeMeSiSX2LC

Nun bin ich doch einer der sagen muss ... nicht so einfach habe versucht die beiden Codes in der mx_userfunctions_options.php ein zu bauen ... aber leider klappert das mit dem Nachbran noch nicht so ... echt sorry bin wohl zu ........ :-)

Hier mal die fehlermeldung die ich bekomme
Fatal error: Call to undefined function: mxdynatime() in /srv/www/htdocs/web120/html/includes/mx_userfunctions_options.php on line 796

ich glaube das prob ist man weiss leider nicht genau wo was hin muss ...

Würde mich freuen von dir zu hören ...


Mfg Rene


Ideen sind immer gut, nur diese Idee`n umsetzen ist eine andere frage :-)