Userchangehack Sortierung und verschiedene Anzeigen |
sadagares
Mitglied
Dabei seit: 21.11.05
Beiträge: 52
Fähigkeiten: WBB Lite 1 Anfänger Herkunft: Lübeck Forenversion: Lite 1.0
|
|
Problembeschreibung:
Ich habe den Userchangehack eingebaut und kam nun auf die Idee, da es um ein Forum gehen soll, wie ein User massig Accounts haben wird, diese ein wenig mehr zu strukturieren, sprich, nach gewissen Kriterien zu sortieren und diese dementsprechend anzeigen zu lassen.
Nach Gruppenids wird die Anzeige der verschiedenen Accounts bereits angezeigt, doch nun möchte ich auch, dass die einzelnen Accounts der jeweilen Gruppen seperat angezeigt werden. Als Beispiel:
User B hat in Gruppe zwei 3 Accounts, in Gruppe vier 2 Accounts und in Gruppe sieben 5 Accounts. Nun sollte seine Übersicht ungefähr so aussehen:
Gruppe 2: Account Name, Account Name [etc]
Gruppe 7: Account Name, Account Name [etc]
Ich hoffe, es ist irgendwie verständlich.
Weiterhin denke ich, oder bin mir relativ sicher, dass der ausschlagebende Punkt hier sein wird:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
|
function makeuserchange($parentid=0) {
global $wbbuserdata, $db, $n, $tpl;
$url = preg_replace("/(&(amp;)?)?(userchange=1|userchangeid=[^&]*)(?
=&|&|\$)/siU","",$_SERVER['REQUEST_URI']);
if(strpos($url,"?")) $url .= "&userchange=1";
else $url .="?userchange=1";
$count = 0;
if ($parentid == 0) $parentid = $wbbuserdata['userid'];
else $parentid = intval($parentid);
$users = $db->query("SELECT userid, password, username FROM bb".$n."_users WHERE parentid =
'".intval($parentid)."' || userid = '".intval($parentid)."' ORDER BY groupid ASC");
while ($user = $db->fetch_array($users)) {
$count++;
if ($user['userid'] == $parentid) eval("\$superaccountmodifier = \"".$tpl->get("userchange_superaccountmodifier")."\";");
else $superaccountmodifier = "";
if ($user['userid'] == $wbbuserdata['userid']) eval("\$userchangebit .= \"".$tpl->get("userchange_current")."\";");
else eval("\$userchangebit .= \"".$tpl->get("userchange_link")."\";");
}
if ($userchangebit && $count > 1) return $userchangebit;
else return NULL;
} |
|
Die Idee steht dahinter, dass in diesem Teil:
php: |
1:
|
if ($user['userid'] == $wbbuserdata['userid']) eval("\$userchangebit .= \"".$tpl->get("userchange_current")."\";"); else eval("\$userchangebit .= \"".$tpl->get("userchange_link")."\";"); |
|
der Accountname Fett ist, wenn der Account gerade gewählt wird (current) und sonst als Link dargestellt wird (Link).
Eine Spontaneingebung, etwas in die Richtung zu machen wie
php: |
1:
|
if ($user['userid'] == $wbbuserdata['groupid']==2) eval("\$userchangebit .= \"".$tpl->get ("userchangebit_group2")."\";"); else eval("\$userchangebit .= \"".$tpl->get("userchangebit3")."\";"); |
|
Gibt mir nur eine weiße Seite. (Keine Ahnung, aber es kann auch absoluter Mumpitz sein, was ich fabriziert habe, es war eben nur ein Geistesblitz.)
Da ich aber seit einer halben Stunde, egal was ich mache, nur eine weiße Seite bekomme, kommt mir langsam der Gedanke auf, ob es überhaupt machbar ist, was ich mir vorstelle und wenn doch ja, ob ich gänzlich falsch liege.
Ich wäre also dankbar um eine kleine Hilfestellung, oder einen Schubs in die richtige Richtung
|
|
04.10.09 19:33 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
#SHADOW
Mitglied
Dabei seit: 23.08.11
Beiträge: 57
|
|
Hallo ich wollte diese Idee gerne nichmal aufgreiffen aber leider bekomme ich das auch so nicht hin wie bei meinem Vorgänger und ich würde auch gerne wissen ob ich das kombinieren kann mit dem Username-Style Hack?
Meine Datei ist etwas modifieziert aber nicht für diese Idee hier.
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
|
function makeuserchange($parentid=0) {
global $wbbuserdata, $db, $n, $tpl;
$url = preg_replace("/(&(amp;)?)?(userchange=1|userchangeid=[^&]*)(?=&|&|\$)/siU","",$_SERVER['REQUEST_URI']);
if(strpos($url,"?")) $url .= "&userchange=1";
else $url .="?userchange=1";
$count = 0;
if ($parentid == 0) $parentid = $wbbuserdata['userid'];
else $parentid = intval($parentid);
$users = $db->query("SELECT u.userid, u.password, u.username, COUNT(DISTINCT pm.privatemessageid) as `newpmcount` ".
"FROM bb".$n."_users u ".
"LEFT JOIN bb".$n."_privatemessage pm ON (u.userid=pm.recipientid AND pm.sendtime>u.lastvisit AND pm.view=0 AND pm.deletepm<>1) ".
"WHERE u.parentid=".intval($parentid)." || u.userid=".intval($parentid)." ".
"GROUP BY u.userid ".
"ORDER BY username ASC");
while ($user = $db->fetch_array($users)) {
$count++;
if ($user['newpmcount']) eval("\$userchangenewpm = \"".$tpl->get("userchange_newpm")."\";");
else $userchangenewpm = "";
if ($user['userid'] == $parentid) eval("\$superaccountmodifier = \"".$tpl->get("userchange_superaccountmodifier")."\";");
else $superaccountmodifier = "";
if ($user['userid'] == $wbbuserdata['userid']) eval("\$userchangebit .= \"".$tpl->get("userchange_current")."\";");
else eval("\$userchangebit .= \"".$tpl->get("userchange_link")."\";");
}
if ($userchangebit && $count > 1) return $userchangebit;
else return NULL;
} |
|
LG
__________________ Liebe Grüße
#Shadow
|
|
12.12.11 19:34 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|