MyBB.de Forum
Liste von Usern die Inhalt in bestimmten CUstomProfileField haben - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Liste von Usern die Inhalt in bestimmten CUstomProfileField haben (/thread-16687.html)

Seiten: Seiten: 1 2


RE: Liste von Usern die Inhalt in bestimmten CUstomProfileField haben - MH_Razen - 08.08.2010

also ich würd gern noch ein paar neue Elemente in die Liste rein bringen und hab das selbst versucht - klappt aber nicht oft - wie klappt das mit der spec_user methode?

Als Beispiel:

PHP-Code:
<td class=\"{$bgcolor}\" align=\"center\">
    <a href=\"member.php?action=emailuser&amp;uid=
{$spec_user['uid']}\">
        <img src=\"
{$theme['imglangdir']}/postbit_email.gif\" alt=\"Send Mail\" title=\"Send Mail\" />
    </a>
</td> 

Den Mail-Button hab ich reinbekommen, allerdings wird er immer dargestellt, er sollte aber weg wenn jemand die mail versteckt hat. Hab auch avatar versucht mit
PHP-Code:
<img src=\"{spec_user['avatar']}\"> 
- und hat nich geklappt Sad

EDIT: Ich hab grad noch ein dringendes Problem festgestellt - ich brauch alle die in FID 15 oder FID 16 was drin haben und weiß nicht wie ich das anstellen muss...

EDIT2:

Das Problem das ganze für zwei Felder zu verwenden hab ich gelöst, der Rest mit Avatar und so... funzt noch ned:
PHP-Code:
<?php
define
("IN_MYBB"1);
//define("NO_ONLINE", 1); // Wenn Seite nicht in Wer ist online-Liste auftauchen soll

require_once "./global.php";
require_once 
MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;
$parser_options['allow_imgcode'] = 1;
 
add_breadcrumb("Awards");

$query $db->query("
    SELECT u.uid, u.username, uf.fid15, uf.fid16
    FROM "
.TABLE_PREFIX."users u
    LEFT JOIN "
.TABLE_PREFIX."userfields uf ON (u.uid = uf.ufid)
    WHERE uf.fid15 != '' or uf.fid16 != ''
    ORDER BY u.uid ASC
"
);

while(
$spec_user $db->fetch_array($query))
{
    
$bgcolor alt_trow();
    
$spec_user['fid15'] = $parser->parse_mycode($spec_user['fid15'], $parser_options);
    
$spec_user['fid16'] = $parser->parse_mycode($spec_user['fid16'], $parser_options);
    
    
$special_userlist .= "<tr>
<td class=\"
{$bgcolor}\">
    Avatar
</td>
<td class=\"
{$bgcolor}\">
    <a href=\"member.php?action=profile&amp;uid=
{$spec_user['uid']}\">{$spec_user['username']}</a>
</td>
<td class=\"
{$bgcolor}\" align=\"left\"><span class=\"smalltext\">{$spec_user['fid15']}</span></td>
<td class=\"
{$bgcolor}\" align=\"left\"><span class=\"smalltext\">{$spec_user['fid16']}</span></td>


<td class=\"
{$bgcolor}\" align=\"center\">
    <a href=\"member.php?action=emailuser&amp;uid=
{$spec_user['uid']}\">
        <img src=\"
{$theme['imglangdir']}/postbit_email.gif\" alt=\"Send Mail\" title=\"Send Mail\" />
    </a>
</td> 
<td class=\"
{$bgcolor}\" align=\"center\">
    <a href=\"private.php?action=send&amp;uid=
{$spec_user['uid']}\">
        <img src=\"
{$theme['imglangdir']}/postbit_pm.gif\" alt=\"Send PM\" title=\"Send PM\" />
    </a>
</td>
</tr>
"
;
}
 
eval(
"\$showawards = \"".$templates->get("showawards")."\";"); // Hier wird das erstellte Template geladen
output_page($showawards);
?>

na toll, nach 120 minuten kann man nicht mehr editieren, also double post - sorry...

PHP-Code:
<?php
define
("IN_MYBB"1);
//define("NO_ONLINE", 1); // Wenn Seite nicht in Wer ist online-Liste auftauchen soll

require_once "./global.php";
require_once 
MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;
$parser_options['allow_imgcode'] = 1;
 
add_breadcrumb("Awards");

$query $db->query("
    SELECT u.uid, u.username, u.usertitle, u.avatar, uf.fid15, uf.fid16
    FROM "
.TABLE_PREFIX."users u
    LEFT JOIN "
.TABLE_PREFIX."userfields uf ON (u.uid = uf.ufid)
    WHERE uf.fid15 != '' or uf.fid16 != ''
    ORDER BY u.uid ASC
"
);

while(
$spec_user $db->fetch_array($query))
{
    
$bgcolor alt_trow();
    
$spec_user['fid15'] = $parser->parse_mycode($spec_user['fid15'], $parser_options);
    
$spec_user['fid16'] = $parser->parse_mycode($spec_user['fid16'], $parser_options);
    
    
$special_userlist .= "<tr>
<td class=\"
{$bgcolor}\" align=\"center\">
    <img src=\"
{$spec_user['avatar']}\"  height=\"80\"/>
</td>
<td class=\"
{$bgcolor}\">
    <a href=\"member.php?action=profile&amp;uid=
{$spec_user['uid']}\">{$spec_user['username']}</a><br>
    
{$spec_user['usertitle']}
</td>
<td class=\"
{$bgcolor}\" align=\"left\"><span class=\"smalltext\">{$spec_user['fid15']}</span></td>
<td class=\"
{$bgcolor}\" align=\"left\"><span class=\"smalltext\">{$spec_user['fid16']}</span></td>
<td class=\"
{$bgcolor}\" align=\"center\">
    <a href=\"member.php?action=emailuser&amp;uid=
{$spec_user['uid']}\">
        <img src=\"
{$theme['imglangdir']}/postbit_email.gif\" alt=\"Send Mail\" title=\"Send Mail\" />
    </a>
</td> 
<td class=\"
{$bgcolor}\" align=\"center\">
    <a href=\"private.php?action=send&amp;uid=
{$spec_user['uid']}\">
        <img src=\"
{$theme['imglangdir']}/postbit_pm.gif\" alt=\"Send PM\" title=\"Send PM\" />
    </a>
</td>
</tr>
"
;
}
 
eval(
"\$showawards = \"".$templates->get("showawards")."\";"); // Hier wird das erstellte Template geladen
output_page($showawards);
?>

das ist mein aktueller stand - da gibts noch folgende Probleme:

1. Bei den Avataren sollte das Bild genauso klein sein wie in der Memberliste oder eben nicht angezeigt werden - das nur mit height 80 vergrößert allerdings avis die kleiner sind - und wenn das mitglied keinen hat würde der alt-text (der in dieser version gelöscht ist) angezeigt werden - ist in sofern ein bug.

2. Der Name sollte in der üblichen Formatierung erscheinen, also in meinem Fall zb Rot für Administratoren etc...

3. Darunter sollte der Usertitle erscheinen - wenn der usertitle leer ist der name des forumranks (wie in der normalen userliste)

4. Darunter sollte das Rank-Image erscheinen

5. Wenn der User die Email oder PM blockiert dann soll kein Button dort sein

Das wars dann entgültig :p
EDIT: Hatte da noch die Idee - für die ersten beiden spalten könnte man die templates aus der original -liste verwenden, aber ich weiß leider nicht wie ich die templates in der php-datei noch mit einbinde...


RE: Liste von Usern die Inhalt in bestimmten CUstomProfileField haben - Mthree - 23.11.2013

Vielen dank an dieser Stelle, das passt perfekt! Wäre es Möglich, dass sich die Profilfeldangabe jetzt auf auf der neuen Seite alphabetisch Sortieren lässt?