Archiv verlassen und diese Seite im Standarddesign anzeigen : [SUCHE] Gesamt seedzeit
Ich meine gesehen zuhaben das es mal ein hack gab, wo die gesamt Seedzeit angezeigt wurde im Profil.
Damit meine ich nicht für einzelne Torrents sondern gesamt!
kann mir jemand denn Link sagen oder denn code geben?
mfg entity
Öhm? Wenn du die Seedzeit schon pro Torrent ermittelst, dann ist das doch nur eine Summe bilden und ausgeben. Oder missversteh ich da nun etwas?
ja das wäre ja einfach alles addieren... ich möchte zusammen zählen, wie lange man mit der announce sozusagen verbunden ist
gib mal bitte ein beispiel sonst versteht dich ja niemand. du kannst nicht im ersten teil schreiben "ja addieren" und ich zweiten teil weiter von "zusammen zählen" (was auch addieren ist) reden, dann aber nicht mit der antwort zufrieden sein, wenn man addieren vorschlägt. überdies ist es so, wenn man das genauer betrachet, man gar nicht mit der announce(verkündung) verbunden sein kann. Bitte drück dich daher genauer aus.
Sorry wenn es nicht so rüberkommt wie ich es meine.
Also solange ein User, sein Client an hat, soll im Profil stehen wie lange seine Seedzeit insgesamt aufn tracker ist.
Dabei ist es egal ob er 1, 3, 6 oder 1000 Files im Seed hat.
Solange der Client mit dem Tracker verbunden ist, soll also hochgezählt werden.
Es ist in etwa so wie die Online Zeit die er aufm Tracker verbringt.
ok, dann keine summe, sondern ein max getrennt nach IP. PSEUDOCODE: "SELECT max(seedzeit) FROm peers WHERE userid=$CURUSER["id"] GROUP BY ip" Das ist daner nur die Light variante. Für genauere Werte müsste man ein bischen meerh coden. Darfst du dir dann aber selbst ausdenken.
was hat die ip damit zutuen? und müsste es nicht einfach ein update gemacht werden der alle 30 min aktualisiert wird?
Naja, du sprachst von der Zeit die ein Client verbunden ist. Da User auch mehrere Clients haben können (z.B. Home und Root-Server) dachte ich mir es wäre sinnvoll diese zu unterscheiden. Zudem macht es echt keinen Spaß, wenn du dich so ungenau ausdrückst. "Ein Update zu machen, das aktualisiert wird" ist kein sinnvoller Satz.
also so lange ein user in der peer liste steht, egal wie oft, soll eben ein
mysql_query("UPDATE users SET seedtime = seedtime+0.5 WHERE userid = '".$arr_seed["userid"]."'' ") or sqlerr(__FILE__, __LINE__);
durchgeführt werden alle halbe std.
das aber nur einmal (alle 30 min) und nicht für jeden torrent der in der peer liste steht
Entweder
Announce -> da brauchst du aber zusätzlich eine last_seedtime_update spalte
Oder
Über Cleanup!
Das wäre dann so ähnlich wie das UsersOnline verhalten zu beobachten wie lange wer auf einer Seite unterwegs ist ... wennst es ganz genau haben willst brauchst eine Start und End Spalte!
Ja wenn über cleanup. Nur hab ich gerade keine Idee wie ich die beschafenheit schreiben soll das wenn der User in der Peer Liste steht
$query_peer_users = mysql_query("SELECT userid FROM peers GROUP BY userid");
Schleife und update Statement
netsoldier
23.01.2017, 17:28
Hallo,
sorry also irgendwie erschließt sich mir gerade der Sinn der Sache nicht.
Der größte Teil der User heutzutage hat eh einen Root und sind dadurch 24 Std. am Tag online.
Ansonsten gibt es in der Standard-NV doch die Start/Stop Geschichte, womit sich das doch eigentlich ganz Gut Umsätzen lassen müsste.
Da müsste man doch nur den Max Onlinewert pro Tag raus filtern Bzw. eine Neue Spalte anlegen wo immer der Wert von Start bis zum nächsten Stop addiert wird.
Das würde dann bei jedem Torrent gemacht und den größten Wert eines Users kannst du dann ausgeben.
UPDATE users SET seedtime = seedtime+0.5 WHERE userid in (SELECT userid FROM peers GROUP BY userid)
hab es nu so...
$query_peer_users = mysql_query("SELECT userid FROM peers WHERE seeder = 'yes' GROUP BY userid");
while($arr_seed = mysql_fetch_assoc($query_peer_users)) {
mysql_query("UPDATE users SET seedtime = seedtime + 0.5 WHERE user_id = '".$arr_seed["userid"]."' ") or sqlerr(__FILE__, __LINE__);
}
kann man das so lassen?
tantetoni2
25.01.2017, 13:27
ist wahrscheinlich schneller und sparrt die Schleife ;)
UPDATE users SET seedtime = seedtime + 0.5 WHERE user_id IN (SELECT userid FROM peers WHERE seeder = 'yes' GROUP BY userid)
vBulletin® v3.8.9, Copyright ©2000-2024, vBulletin Solutions, Inc.