Hallo, ich habe leider nicht die geringste Ahnung, ob ich hier richtig bin, aber ich hoffe es jetzt einfach mal. Immerhin habe ich das Problem bei diesem Plugin und dem was ich zusätzlich versuche zu erreichen im Bezug darauf, dass ich das jetzt einfach hier hin packe.
Ich habe folgendes Problem:
es geht um die Abwesenheit. Installiert habe ich dazu folgende Plugins: Away Member List - MyBB.de - Liste aller Mitglieder, die auf 'abwesend' stehen / Display a list of away members
und das hier aufgeführte Away Start Date - MyBB.de - Ermöglicht das Festlegen eines Anfangsdatums für die Abwesenheit. .
Installiere ich aber letzteres also das Startdatum, zeigt er mir überhaupt keine Abwesenheiten mehr an, sollte ich einen Nutzer abwesend melden.
Ich möchte das ganze eigentlich nur wie folgt realisieren:
a) Man kann ein Anfangsdatum für die Abwesenheit festlegen
b) das Startdatum wird in der Anzeige in der Abwesenheitsliste & dem Profil mit aufgeführt
b2) der komplette Zeitraum wird zusammen mit dem Hauptaccount und dem Spielernamen (Profilfeld) auf dem Index in einem div wie folgt angezeigt: Hauptaccountname alias Spielername (Startdatum - Enddatum)
c) hab ich damit ja schon verraten: es soll nur der Hauptaccount mit Profillink angezeigt werden und dafür zusätzlich ein Profilfeld in dem der Username steht
Muss ich das wie in meinen Ansatz über die Gruppenids (aka Hautcharaktergruppe, Nebencharaktergruppe) lösen oder gäbe es auch eine Lösung über das Enhanced Account Switcher Plugin?
Den erwähnten Ansatz füge ich hier mal an. Das ist der Teil den ich (aus dem SG, credits an Jule & chan) in die Index.php kopiert habe.
PHP-Code:
// Zeige abwesende Teammitglieder an
$query = $db->query("
SELECT *
FROM ".TABLE_PREFIX."users
LEFT JOIN ".TABLE_PREFIX."userfields ON (".TABLE_PREFIX."users.uid = ".TABLE_PREFIX."userfields.ufid)
WHERE ".TABLE_PREFIX."users.away = '1' AND ".TABLE_PREFIX."users.as_uid = '0' AND ".TABLE_PREFIX."users.usergroup = '9'
ORDER by ".TABLE_PREFIX."userfields.fid4
");
$anzahlaway = mysqli_num_rows($query);
if($anzahlaway != '0') {
while($result = $db->fetch_array($query))
{
$result['username'] = format_name($result['fid4'], $result['usergroup'], $result['displaygroup']);
$abwesendesteam = $result['username'];
$result['awaydate'] = my_date($mybb->settings['dateformat'], $result['awaydate']);
$abwesenddatum = $result['awaydate'];
if($result['returndate'] == '')
{
$wiederda = "Keine Angabe";
}
$returnhome = explode("-", $result['returndate']);
$wiederdamk = mktime(0, 0, 0, $returnhome[1], $returnhome[0], $returnhome[2]);
$wiederda = my_date($mybb->settings['dateformat'], $wiederdamk);
$abwesendshowteam .= "<a href=\"member.php?action=profile&uid=".$result['uid']."\" target=\"blank\">{$result[username]}</a> ($abwesenddatum bis $wiederda) » ";
}
}
else {
$abwesendshowteam = "Zurzeit sind keine Teammitglieder abwesend gemeldet!";
}
eval("\$showteam_awayteam = \"".$templates->get("showteam_awayteam")."\";");
// Build the forum statistics to show on the index page.
Der sollte zwar tun was ich mir wünsche, aber irgendwie möchte das alles trotzdem nicht passen.
Denn wie bei dem Startdatumsplugin, zeigt er mir auch hier mit diesem Ansatz nichts an. Das Template index_awayteam ist mit dem $abwesendteam in den gobalen Templates vorhanden. Ebenso wie das {$index_awayteam} an der richtigen Stelle im index template. Oh und ein Benutzer ist auch in der richtigen Gruppe und abwesend gemeldet.
Wisst ihr zufällig was ich falsch mache und wie genau ich das zum Laufen bekomme? Mit einer detaillierten Anleitung wärt ihr meine Helden der Woche.