Deeva 0 Report post Posted June 9, 2006 ganz Unten im forum wird bei mir angezeigt welches mitglied online ist. da mein forum noch recht jung ist sieht das manchmal ziemlich armseelig aus... obwohl es viele aktive mitglieder gibt... es wäre cool wenn stattdessen die online mitglieder der letzten 3 stunden angezeigt werden die im forum eingeloggt waren. wie bekomme ich das hin?? Grüssle Share this post Link to post
Stefan 0 Report post Posted June 9, 2006 Hier gibt es eine Modifikation, die die heutigen Nutzer anzeigt. Share this post Link to post
Deeva 0 Report post Posted June 9, 2006 (edited) Members Online Today This is a Member Online today thing. Sports a quick Hide and Show option without reloading the page. If you want the list to be hidden by default, move the style='default: none;' to the other span in the template bit. -------------- Add Template to Board Index -> `online_today` Variables: $data Template Bit: CODE <tr> <td class='formsubtitle' colspan='2'>{ipb.lang['ot_title']}</td> </tr> <tr'> <td class='row1' width='1%'><{F_ACTIVE}></td> <td class='row2'> <span id='ot_list'>{$data['memstats']}<br />{$data['members']}<br /><br /><a href="java script:ShowHide('ot_list', 'ot_nolist');"><b>Hide List</b></a></span> <span id='ot_nolist' style='display: none;'>{$data['memstats']}<br /><a href="java script:ShowHide('ot_list', 'ot_nolist');"><b>Show List</b></a></span> </td> </tr> Add to lang_boards.php CODE 'ot_title' => "Members Online Today", 'ot_data' => "<b>%s</b> Members Online For <b>%s</b>", LIB/FUNC_BOARDSTATS.PHP -->> Find CODE return $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']); Replace With CODE $this->ipsclass->time_options['ONLINE_SHOW'] = "g:i A"; $data = array('memnum' => 0, 'members' => ''); $today = $this->ipsclass->get_time(time(), 'j-n-Y'); $this->ipsclass->DB->simple_construct(array('select' => '*', 'from' => 'members', 'where' => "id>0 AND last_activity>".time()-172800, 'order' => 'members_display_name ASC')); $this->ipsclass->DB->simple_exec(); while ($row = $this->ipsclass->DB->fetch_row()) { $time = $this->ipsclass->get_time($row['last_activity'], 'j-n-Y'); if ($time == $today) { $data['members'][$row['id']] = "<a href='{$this->ipsclass->base_url}act=Profile&MID={$row['id']}' title='".$this->ipsclass->get_date($row['last_activity'], 'ONLINE_SHOW', 1)."'>{$this->ipsclass->cache['group_cache'][$row['mgroup']]['prefix']}{$row['members_display_name']}{$this->ipsclass->cache['group_cache'][$row['mgroup']]['suffix']}</a>"; $data['memnum']++; } } if (is_array($data['members'])) { $data['members'] = implode(', ', $data['members']); } $this->ipsclass->time_options['ONLINE'] = $this->ipsclass->vars['ot_date']; $data['memstats'] = sprintf($this->ipsclass->lang['ot_data'], $data['memnum'], $this->ipsclass->get_date(time(), 'ONLINE', 1)); $online_today = $this->ipsclass->compiled_templates['skin_boards']->online_today($data); return $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']).$online_today; Add Settings to Date & Formats Setting title: "Member Online Today" date format Setting description: QUOTE Same configuration as <a href='http://www.php.net/date' target='_blank'>PHP Date</a> Setting key: ot_date Setting Curent AND Default Value: F j Y Done! ich kann mit diesem codes nix anfangen. was soll ich jetzt machen? leider finde ich die dateien nicht die ich abändern sol. obwohl ich sowas schonmal gemacht habe. oder muß ich sie erst erstellen?!? alles GRÜN markierte hab ich hinbekommen. den rest leider nicht !! wenn ich das mache kommt eine fehlermeldung das "Online today" fehlt. gerade beim ersten code hab ich NULL ahnung was ein board index ist und vorallem weiß ich nicht wo der code hin soll Edited June 9, 2006 by Deeva Share this post Link to post
Stefan 0 Report post Posted June 10, 2006 Geh ins ACP aufs Tab "LOOK & FEEL" und dann dort auf "Skin Manager". Bei einen Skin gehst du auf den Button auf der rechten Seite und wählst die Option "Edit Template HTML". Nun werden dir alle Skinelemente angezeigt. Du klickst dann auf "Board Index" und rechts erscheinen alle Elemente dieser Gruppe. Dort scrollst du ganz nach unten und siehst einen Button "Add Template Bit". Diesen betätigst du und erhälst ein Formular. Dort trägst du folgende Sachen ein: New Template Bit Name online_today New Template Bit Incoming Data Variables $data New Template Bit Group... Belasse es auf skin_boards Or Create New Group... Leer lassen. Anschließend klickst du auf den Buton "Continue" und fügst im nächsten Schritt den HTML Code ein: <tr> <td class='formsubtitle' colspan='2'>{ipb.lang['ot_title']}</td> </tr> <tr'> <td class='row1' width='1%'><{F_ACTIVE}></td> <td class='row2'> <span id='ot_list'>{$data['memstats']} <br />{$data['members']}<br /><br /> <a href="javascript:ShowHide('ot_list', 'ot_nolist');"><b>Hide List</b></a> </span> <span id='ot_nolist' style='display: none;'>{$data['memstats']}<br /> <a href="javascript:ShowHide('ot_list', 'ot_nolist');"><b>Show List</b> </a></span> </td> </tr> Damit wäre die Erweiterung des Skins abgeschlossen. Zu der zweiten Sache, da gehst du auf das Tab "TOOLS & SETTINGS" und dort auf die Option "View All General Settings". In der nun erscheinenen Liste gehst du auf "Date & Time Formats". Hier angekommen, klcist du auf den Button "Add New Setting". Das Formular fühlst du wie folgt aus: Setting title? "Member Online Today" date format Setting Description? Same configuration as <a href='http://www.php.net/date' target='_blank'>PHP Date</a> Setting Key? ot_date Setting Current Value? F j Y Setting Default Value? F j Y Das war es schon. :) Share this post Link to post
Deeva 0 Report post Posted June 10, 2006 (edited) VIELEN dank für die mühe. jetz thats natürlich geklappt !!!!!!!!!!! ist ne geile sache und noch ne kleine fragen hätte ich Frage : Da ist jetzt ein "hidden" und ein "show" button. ich will aber gar nicht das die mitglieder sich das auchsuchen dürfen obs angezeigt wird oder nicht. es soll immer angezeigt werden. wie bekomm ich diesen button weg? [EDIT] oh. ich habs schon selber hinbekommen. einfach diesen teil hier gelöscht: <a href="java script:ShowHide('ot_list', 'ot_nolist');"><b>Hide List</b></a> </span> <span id='ot_nolist' style='display: none;'>{$data['memstats']}<br /> <a href="java script:ShowHide('ot_list', 'ot_nolist');"><b>Show List</b> </a></span> und schon wars draussen die anfrage obs angezeigt werden soll oder nicht VIELEN DANK STEFAN !!!! Edited June 10, 2006 by Deeva Share this post Link to post