Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Deeva

[FRAGE] OnlineUser der letzten 3 Stunden!

Recommended Posts

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??

:huh:

Grüssle

Share this post


Link to post

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&amp;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 by Deeva

Share this post


Link to post

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

VIELEN dank für die mühe. jetz thats natürlich geklappt !!!!!!!!!!! :lol: 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 by Deeva

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×