[Final] NV "Who Was Here?" 1.2.1
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
- Mitglied
- Beiträge: 29
- Registriert: 17.04.2008 18:04
- Wohnort: Erftstadt
Re: [Final] NV "Who Was Here?" 1.0.2
Danke dir NV für die schnelle Hilfe, aber nun möchte er nicht mehr zählen
[ externes Bild ]
Dateien von 1.0.1 auf 1.0.2 wurden getauscht. Die /install/index.php wurde auch korrekt ausgeführt und es wurde kein Fehler angezeigt.
[ externes Bild ]
Dateien von 1.0.1 auf 1.0.2 wurden getauscht. Die /install/index.php wurde auch korrekt ausgeführt und es wurde kein Fehler angezeigt.
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
-
- Mitglied
- Beiträge: 29
- Registriert: 17.04.2008 18:04
- Wohnort: Erftstadt
Re: [Final] NV "Who Was Here?" 1.0.2
Doch doch. Die includes/functions.php ist bearbeitet. Habe nur das Update gemacht und vorher hat es ja auch geklappt. Die includes/functions.php muss beim Update ja nicht nochmal bearbeitet werden. Habe dennoch gerade nochmal geprüft und die Zeilen sind ordnungsgemäss vorhanden.
Ich bin deine komplette install nochmal durchgegangen und keinen Fehler mit meinen Dateien finden können.
Meinst du, es könnte eventuell daran liegen, dass ich das MOD in der viewonline.php ausführe?
Ich bin deine komplette install nochmal durchgegangen und keinen Fehler mit meinen Dateien finden können.
Meinst du, es könnte eventuell daran liegen, dass ich das MOD in der viewonline.php ausführe?
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Re: [Final] NV "Who Was Here?" 1.0.2
Nun, also wenn du die viewonline.php und die template datei dafür richtig bearbeitest sollte es dort auch gehen...
kein Support per PN
-
- Mitglied
- Beiträge: 29
- Registriert: 17.04.2008 18:04
- Wohnort: Erftstadt
Re: [Final] NV "Who Was Here?" 1.0.2
Nein, geht leider nicht. Hab gerade das komplette MOD deinstalliert, alle 4 Dateien nochmal überprüft, wieder installiert und leider immer noch das gleiche Ergebnis und eigentlich ist dein MOD ja auch kinderleicht zu installieren
Ich hab's gerade dann auch nochmal in die index.php eingebaut und da klappt es. Denke, es wird wohl doch in der viewonline.php liegen.
Da ich recht viele MODs eingebaut habe, könnte es ja dort auch einen Konflikt geben
Ich liste dir hier mal meine viewonline.php auf. Vielleicht hilft's ja
Ich hab's gerade dann auch nochmal in die index.php eingebaut und da klappt es. Denke, es wird wohl doch in der viewonline.php liegen.
Da ich recht viele MODs eingebaut habe, könnte es ja dort auch einen Konflikt geben
Ich liste dir hier mal meine viewonline.php auf. Vielleicht hilft's ja
Code: Alles auswählen
<?php
/**
*
* @package phpBB3
* @version $Id: viewonline.php 8705 2008-07-28 16:55:00Z Kellanved $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('memberlist');
// Get and set some variables
$mode = request_var('mode', '');
$session_id = request_var('s', '');
$start = request_var('start', 0);
$sort_key = request_var('sk', 'b');
$sort_dir = request_var('sd', 'd');
$show_guests= ($config['load_online_guests']) ? request_var('sg', 0) : 0;
// Can this user view profiles/memberlist?
// Member List Permission Detail Mod
if (!$auth->acl_gets('u_viewonline_mod', 'a_user', 'a_useradd', 'a_userdel'))
{
if ($user->data['user_id'] != ANONYMOUS)
{
trigger_error('NO_VIEW_ONLINE_MOD');
}
login_box('', $user->lang['LOGIN_EXPLAIN_VIEWONLINE']);
}
$sort_key_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_JOINED'], 'c' => $user->lang['SORT_LOCATION']);
$sort_key_sql = array('a' => 'u.username_clean', 'b' => 's.session_time', 'c' => 's.session_page');
// Sorting and order
if (!isset($sort_key_text[$sort_key]))
{
$sort_key = 'b';
}
$order_by = $sort_key_sql[$sort_key] . ' ' . (($sort_dir == 'a') ? 'ASC' : 'DESC');
// Whois requested
if ($mode == 'whois' && $auth->acl_get('a_') && $session_id)
{
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$sql = 'SELECT u.user_id, u.username, u.user_type, s.session_ip
FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . " s
WHERE s.session_id = '" . $db->sql_escape($session_id) . "'
AND u.user_id = s.session_user_id";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$template->assign_var('WHOIS', user_ipwhois($row['session_ip']));
}
$db->sql_freeresult($result);
// Output the page
page_header($user->lang['WHO_IS_ONLINE']);
$template->set_filenames(array(
'body' => 'viewonline_whois.html')
);
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
}
// Forum info
$sql = 'SELECT forum_id, forum_name, parent_id, forum_type, left_id, right_id
FROM ' . FORUMS_TABLE . '
ORDER BY left_id ASC';
$result = $db->sql_query($sql, 600);
$forum_data = array();
while ($row = $db->sql_fetchrow($result))
{
$forum_data[$row['forum_id']] = $row;
}
$db->sql_freeresult($result);
$guest_counter = 0;
// Get number of online guests (if we do not display them)
if (!$show_guests)
{
switch ($db->sql_layer)
{
case 'sqlite':
$sql = 'SELECT COUNT(session_ip) as num_guests
FROM (
SELECT DISTINCT session_ip
FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
AND session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
')';
break;
default:
$sql = 'SELECT COUNT(DISTINCT session_ip) as num_guests
FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
AND session_time >= ' . (time() - ($config['load_online_time'] * 60));
break;
}
$result = $db->sql_query($sql);
$guest_counter = (int) $db->sql_fetchfield('num_guests');
$db->sql_freeresult($result);
}
// Get user list
$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_type, u.user_colour, u.user_avatar, u.user_avatar_type, u.user_avatar_width, u.user_avatar_height, s.session_id, s.session_time, s.session_page, s.session_ip, s.session_browser, s.session_viewonline, s.session_forum_id, s.session_album_id
FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s
WHERE u.user_id = s.session_user_id
AND s.session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
((!$show_guests) ? ' AND s.session_user_id <> ' . ANONYMOUS : '') . '
ORDER BY ' . $order_by;
$result = $db->sql_query($sql);
$prev_id = $prev_ip = $user_list = array();
$logged_visible_online = $logged_hidden_online = $counter = 0;
// BEGIN: Topic in "Who is online"
$topic_ids = $post_ids = $topic_post_ids = $topic_titles = array();
while ($row = $db->sql_fetchrow($result))
{
if ($row['user_id'] != ANONYMOUS && !isset($prev_id[$row['user_id']]))
{
$view_online = false;
if (!$row['session_viewonline'])
{
$view_online = ($auth->acl_get('u_viewonline')) ? true : false;
}
else
{
$view_online = true;
}
$prev_id[$row['user_id']] = 1;
if (!$view_online)
{
continue;
}
}
else if ($show_guests && $row['user_id'] == ANONYMOUS && !isset($prev_ip[$row['session_ip']]))
{
$prev_ip[$row['session_ip']] = 1;
}
else
{
continue;
}
preg_match('#^([a-z/]+)#i', $row['session_page'], $on_page);
if (!sizeof($on_page))
{
$on_page[1] = '';
}
// Sudoku MOD
if(strpos($row['session_page'], 'sudoku') !== false)
{
$on_page[1] = 'sudoku';
}
// DM Video
if(strpos($row['session_page'], 'dm_video') !== false)
{
$on_page[1] = 'videos';
}
// phpBB Gallery integration
if ((utf8_substr($on_page[1], 0, utf8_strlen(GALLERY_ROOT_PATH))) == GALLERY_ROOT_PATH)
{
$gallery_on_page[1] = $on_page[1];
$on_page[1] = utf8_substr($on_page[1], 0, utf8_strlen(GALLERY_ROOT_PATH));
}
if (!in_array($on_page[1], array('viewtopic', 'posting')))
{
continue;
}
preg_match('#t=([0-9]+)#', $row['session_page'], $on_page);
if (sizeof($on_page))
{
$topic_ids[] = $on_page[1];
continue;
}
preg_match('#p=([0-9]+)#', $row['session_page'], $on_page);
if (sizeof($on_page))
{
$post_ids[] = $on_page[1];
continue;
}
}
unset($prev_id, $prev_ip);
if (sizeof($topic_ids) || sizeof($post_ids))
{
if (sizeof($post_ids))
{
$sql = 'SELECT topic_id, post_id FROM ' . POSTS_TABLE . ' WHERE ' . $db->sql_in_set('post_id', $post_ids);
$post_result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($post_result))
{
$topic_post_ids[$row['post_id']] = $row['topic_id'];
$topic_ids[] = $row['topic_id'];
}
$db->sql_freeresult($post_result);
}
$sql = 'SELECT topic_id, topic_title FROM ' . TOPICS_TABLE . ' WHERE ' . $db->sql_in_set('topic_id', array_unique($topic_ids));
$topic_result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($topic_result))
{
$topic_titles[$row['topic_id']] = $row['topic_title'];
}
$db->sql_freeresult($topic_result);
}
$db->sql_rowseek(0, $result);
// END: Topic in "Who is online"
while ($row = $db->sql_fetchrow($result))
{
if ($row['user_id'] != ANONYMOUS && !isset($prev_id[$row['user_id']]))
{
$view_online = $s_user_hidden = false;
$user_colour = ($row['user_colour']) ? ' style="color:#' . $row['user_colour'] . '" class="username-coloured"' : '';
$username_full = ($row['user_type'] != USER_IGNORE) ? get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) : '<span' . $user_colour . '>' . $row['username'] . '</span>';
if (!$row['session_viewonline'])
{
$view_online = ($auth->acl_get('u_viewonline')) ? true : false;
$logged_hidden_online++;
$username_full = '<em>' . $username_full . '</em>';
$s_user_hidden = true;
}
else
{
$view_online = true;
$logged_visible_online++;
}
$prev_id[$row['user_id']] = 1;
if ($view_online)
{
$counter++;
}
if (!$view_online || $counter > $start + $config['topics_per_page'] || $counter <= $start)
{
continue;
}
}
else if ($show_guests && $row['user_id'] == ANONYMOUS && !isset($prev_ip[$row['session_ip']]))
{
$prev_ip[$row['session_ip']] = 1;
$guest_counter++;
$counter++;
if ($counter > $start + $config['topics_per_page'] || $counter <= $start)
{
continue;
}
$s_user_hidden = false;
$username_full = get_username_string('full', $row['user_id'], $user->lang['GUEST']);
}
else
{
continue;
}
preg_match('#^([a-z/]+)#i', $row['session_page'], $on_page);
if (!sizeof($on_page))
{
$on_page[1] = '';
}
switch ($on_page[1])
{
case 'index':
$location = $user->lang['INDEX'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
case 'arcade':
include($phpbb_root_path . 'includes/arcade/arcade_viewonline.' . $phpEx);
break;
case 'adm/index':
$location = $user->lang['ACP'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
case 'posting':
case 'viewforum':
case 'viewtopic':
$forum_id = $row['session_forum_id'];
if ($forum_id && $auth->acl_get('f_list', $forum_id))
{
$location = '';
$location_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id);
if ($forum_data[$forum_id]['forum_type'] == FORUM_LINK)
{
$location = sprintf($user->lang['READING_LINK'], $forum_data[$forum_id]['forum_name']);
break;
}
switch ($on_page[1])
{
case 'posting':
preg_match('#mode=([a-z]+)#', $row['session_page'], $on_page);
$posting_mode = (!empty($on_page[1])) ? $on_page[1] : '';
switch ($posting_mode)
{
case 'reply':
case 'quote':
// BEGIN: Topic in "Who is online"
preg_match('#t=([0-9]+)#', $row['session_page'], $on_page);
preg_match('#p=([0-9]+)#', $row['session_page'], $on_page_p);
if (sizeof($on_page) && isset($topic_titles[$on_page[1]]))
{
$location = sprintf($user->lang['REPLYING_MESSAGE_TOPIC'], $forum_data[$forum_id]['forum_name'], $topic_titles[$on_page[1]]);
$location_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&t=' . $on_page[1]);
}
else if (sizeof($on_page_p) && isset($topic_post_ids[$on_page_p[1]]))
{
$location = sprintf($user->lang['REPLYING_MESSAGE_TOPIC'], $forum_data[$forum_id]['forum_name'], $topic_titles[$topic_post_ids[$on_page[1]]]);
$location_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&p=' . $on_page_p[1]);
}
else
{
$location = sprintf($user->lang['REPLYING_MESSAGE'], $forum_data[$forum_id]['forum_name']);
}
// END: Topic in "Who is online"
break;
default:
$location = sprintf($user->lang['POSTING_MESSAGE'], $forum_data[$forum_id]['forum_name']);
break;
}
break;
case 'viewtopic':
// BEGIN: Topic in "Who is online"
preg_match('#t=([0-9]+)#', $row['session_page'], $on_page);
preg_match('#p=([0-9]+)#', $row['session_page'], $on_page_p);
if (sizeof($on_page) && isset($topic_titles[$on_page[1]]))
{
$location = sprintf($user->lang['READING_TOPIC_TOPIC'], $forum_data[$forum_id]['forum_name'], $topic_titles[$on_page[1]]);
$location_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&t=' . $on_page[1]);
}
else if (sizeof($on_page_p) && isset($topic_post_ids[$on_page_p[1]]))
{
$location = sprintf($user->lang['READING_TOPIC_TOPIC'], $forum_data[$forum_id]['forum_name'], $topic_titles[$topic_post_ids[$on_page_p[1]]]);
$location_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $forum_id . '&p=' . $on_page_p[1]);
}
else
{
$location = sprintf($user->lang['READING_TOPIC'], $forum_data[$forum_id]['forum_name']);
}
// END: Topic in "Who is online"
break;
case 'viewforum':
$location = sprintf($user->lang['READING_FORUM'], $forum_data[$forum_id]['forum_name']);
break;
}
}
else
{
$location = $user->lang['INDEX'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
}
break;
case 'search':
$location = $user->lang['SEARCHING_FORUMS'];
$location_url = append_sid("{$phpbb_root_path}search.$phpEx");
break;
case 'milestones':
$user->add_lang('mods/milestone_congratulations');
$location = $user->lang['VIEWING_MILESTONES'];
$location_url = append_sid("{$phpbb_root_path}milestones.$phpEx");
break;
case 'faq':
$location = $user->lang['VIEWING_FAQ'];
$location_url = append_sid("{$phpbb_root_path}faq.$phpEx");
break;
case 'zocker':
$user->add_lang('mods/zocker_spieler');
$location = $user->lang['VIEWING_BEST_SCORER'];
$location_url = append_sid("{$phpbb_root_path}zocker_spieler.$phpEx");
break;
case KB_FOLDER . '/index':
$location = $user->lang['KNOWLEDGE_BASE'];
$location_url = append_sid("{$phpbb_root_path}" . KB_FOLDER . '/');
break;
case 'viewonline':
$location = $user->lang['VIEWING_ONLINE'];
$location_url = append_sid("{$phpbb_root_path}viewonline.$phpEx");
break;
case 'viewonline':
$location = $user->lang['VIEWING_ONLINE'];
$location_url = append_sid("{$phpbb_root_path}magic_viewonline.$phpEx");
break;
case 'memberlist':
$location = (strpos($row['session_page'], 'mode=viewprofile') !== false) ? $user->lang['VIEWING_MEMBER_PROFILE'] : $user->lang['VIEWING_MEMBERS'];
$location_url = append_sid("{$phpbb_root_path}memberlist.$phpEx");
break;
case 'mcp':
$location = $user->lang['VIEWING_MCP'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
case 'sudoku':
$location = $user->lang['SUDOKU_VIEW_ONLINE'];
$location_url = append_sid("{$phpbb_root_path}sudoku/sudoku.$phpEx");
break;
case 'knuffel':
$location = $user->lang['PLAY_KNUFFEL'];
$location_url = append_sid("{$phpbb_root_path}knuffel.$phpEx");
break;
case 'ucp':
$location = $user->lang['VIEWING_UCP'];
// Grab some common modules
$url_params = array(
'mode=register' => 'VIEWING_REGISTER',
'i=pm&mode=compose' => 'POSTING_PRIVATE_MESSAGE',
'i=pm&' => 'VIEWING_PRIVATE_MESSAGES',
'i=profile&' => 'CHANGING_PROFILE',
'i=prefs&' => 'CHANGING_PREFERENCES',
);
foreach ($url_params as $param => $lang)
{
if (strpos($row['session_page'], $param) !== false)
{
$location = $user->lang[$lang];
break;
}
}
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
case 'arcade':
if (!isset($arcade))
{
include($phpbb_root_path . 'includes/arcade/arcade_common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_user.' . $phpEx);
// Initialize arcade auth
$auth_arcade->acl($user->data);
// Initialize arcade class
$arcade = new arcade();
}
// Grab some common modules
$url_params = array(
'mode=play' => 'PLAYING_GAME',
'mode=cat' => 'VIEWING_ARCADE_CAT',
'mode=download' => 'DOWNLOADING_GAME',
'mode=stats' => 'VIEWING_ARCADE_STATS',
'mode=popup' => 'PLAYING_GAME',
'mode=search' => 'VIEWING_ARCADE_SEARCH',
'mode=fav' => 'VIEWING_ARCADE_FAVS',
);
$found_arcade = false;
foreach ($url_params as $param => $lang)
{
if (strpos($row['session_page'], $param) !== false)
{
$found_arcade = true;
if ($param == 'mode=cat')
{
preg_match('#c=([0-9]+)#', $row['session_page'], $cat_id);
$cat_id = (sizeof($cat_id)) ? (int) $cat_id[1] : 0;
if (!$auth_arcade->acl_get('c_view', $cat_id))
{
$found_arcade = false;
break;
}
$cat_name = $arcade->get_cat_name($cat_id);
$location = sprintf($user->lang[$lang], $cat_name);
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx", 'mode=cat&c=' . $cat_id);
}
else if ($param == 'mode=download')
{
preg_match('#g=([0-9]+)#', $row['session_page'], $game_id);
$game_id = (sizeof($game_id)) ? (int) $game_id[1] : 0;
$game_name = $arcade->get_game_field($game_id, 'game_name');
if (!$game_name)
{
$found_arcade = false;
break;
}
$location = sprintf($user->lang[$lang], $game_name);
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx", 'mode=download&g=' . $game_id);
}
else if ($param == 'mode=play' || $param == 'mode=popup')
{
preg_match('#g=([0-9]+)#', $row['session_page'], $game_id);
$game_id = (sizeof($game_id)) ? (int) $game_id[1] : 0;
$game_name = $arcade->get_game_field($game_id, 'game_name');
if (!$game_name)
{
$found_arcade = false;
break;
}
$location = sprintf($user->lang[$lang], $game_name);
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx", 'mode=play&g=' . $game_id);
}
else if ($param == 'mode=stats')
{
preg_match('#g=([0-9]+)#', $row['session_page'], $game_id);
$game_id = (sizeof($game_id)) ? (int) $game_id[1] : 0;
preg_match('#u=([0-9]+)#', $row['session_page'], $user_id);
$user_id = (sizeof($user_id)) ? (int) $user_id[1] : 0;
if ($game_id && $user_id)
{
$game_name = $arcade->get_game_field($game_id, 'game_name');
if (!$game_name)
{
$found_arcade = false;
break;
}
$user_id_ary[] = $user_id;
$arcade_usernames = array();
user_get_id_name($user_id_ary, $arcade_usernames);
$arcade_username = $arcade_usernames[$user_id];
$location = sprintf($user->lang[$lang . '_GAME_USER'], $game_name, $arcade_username);
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx", "mode=stats&g=$game_id&u=$user_id");
}
else if ($game_id)
{
$game_name = $arcade->get_game_field($game_id, 'game_name');
if (!$game_name)
{
$found_arcade = false;
break;
}
$location = sprintf($user->lang[$lang . '_GAME'], $game_name);
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx", "mode=stats&g=$game_id");
}
else if ($user_id)
{
$user_id_ary[] = $user_id;
$arcade_usernames = array();
user_get_id_name($user_id_ary, $arcade_usernames);
$arcade_username = $arcade_usernames[$user_id];
$location = sprintf($user->lang[$lang . '_USER'], $arcade_username);
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx", "mode=stats&u=$user_id");
}
}
else
{
$location = $user->lang[$lang];
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx");
}
break;
}
}
if (!$found_arcade)
{
$location = $user->lang['VIEWING_ARCADE'];
$location_url = append_sid("{$phpbb_root_path}arcade.$phpEx");
}
break;
case 'download/file':
$location = $user->lang['DOWNLOADING_FILE'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
case 'report':
$location = $user->lang['REPORTING_POST'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
case 'calendar':
preg_match('#view=([a-z]+)#', $row['session_page'], $on_page);
$calendar_mode = (!empty($on_page[1])) ? $on_page[1] : 'month'; /* if no view is defined - they are viewing the month */
switch ($calendar_mode)
{
case 'month':
$location = $user->lang['VIEWING_CALENDAR_MONTH'];
break;
case 'week':
$location = $user->lang['VIEWING_CALENDAR_WEEK'];
break;
case 'day':
$location = $user->lang['VIEWING_CALENDAR_DAY'];
break;
case 'event':
$location = $user->lang['VIEWING_CALENDAR_EVENT'];
break;
default:
$location = $user->lang['VIEWING_CALENDAR'];
break;
}
$location_url = append_sid("{$phpbb_root_path}".$row['session_page']);
break;
case 'calendarpost':
preg_match('#view=([a-z]+)#', $row['session_page'], $on_page);
$calendar_mode = (!empty($on_page[1])) ? $on_page[1] : 'post'; /* if no view is defined - they are creating a new event */
switch ($calendar_mode)
{
case 'edit':
$location = $user->lang['EDITING_CALENDAR_EVENT'];
break;
case 'post':
default:
$location = $user->lang['CREATING_CALENDAR_EVENT'];
break;
}
$location_url = append_sid("{$phpbb_root_path}".$row['session_page']);
break;
//MOD Advanced Forum Statistics
case 'fs':
$location = $user->lang['VIEWING_FS'];
$location_url = append_sid("{$phpbb_root_path}fs.$phpEx");
break;
//END MOD
// phpBB Gallery integration
case GALLERY_ROOT_PATH:
if (!function_exists('integrate_viewonline'))
{
$gallery_root_path = GALLERY_ROOT_PATH;
include($phpbb_root_path . $gallery_root_path . 'includes/phpbb_integration.' . $phpEx);
}
$on_page[1] = $gallery_on_page[1];
integrate_viewonline ($on_page, $row['session_album_id'], $row['session_page']);
break;
case 'portal':
$user->add_lang('mods/lang_portal');
$location = $user->lang['VIEWING_PORTAL'];
$location_url = append_sid("{$phpbb_root_path}portal.$phpEx");
break;
case 'downloads':
$location = $user->lang['DL_PAGE_DOWNLOADS'];
$location_url = append_sid("{$phpbb_root_path}downloads.$phpEx");
break;
case 'hacks_list':
$location = $user->lang['DL_PAGE_DL_HACKSLIST'];
$location_url = append_sid("{$phpbb_root_path}hacks_list.$phpEx");
break;
case 'videos':
$user->add_lang('mods/dm_video');
$location = $user->lang['DMV_VIEW_VIDEOS'];
$location_url = append_sid("{$phpbb_root_path}dm_video/index.$phpEx");
break;
default:
$location = $user->lang['INDEX'];
$location_url = append_sid("{$phpbb_root_path}index.$phpEx");
break;
}
$avatar_max_dimensions = $avatar_width = $avatar_height = '';
if ( !empty($row['user_avatar']) )
{
$avatar_max_dimensions = 40; // here you can change the max-width you would like to have the avatars displayed, change to 0 to use default
if ( $avatar_max_dimensions )
{
if ( $row['user_avatar_width'] >= $row['user_avatar_height'] )
{
$avatar_width = ( $row['user_avatar_width'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['user_avatar_width'] ;
$avatar_height = ( $avatar_width == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['user_avatar_width'] * $row['user_avatar_height']) : $row['user_avatar_height'] ;
}
else
{
$avatar_height = ( $row['user_avatar_height'] > $avatar_max_dimensions ) ? $avatar_max_dimensions : $row['user_avatar_height'] ;
$avatar_width = ( $avatar_height == $avatar_max_dimensions ) ? round($avatar_max_dimensions / $row['user_avatar_height'] * $row['user_avatar_width']) : $row['user_avatar_width'] ;
}
}
else
{
$avatar_height = $row['user_avatar_height'];
$avatar_width = $row['user_avatar_width'];
}
}
$template->assign_block_vars('user_row', array(
'USERNAME' => $row['username'],
'ONLINE_AVATAR' => ( $row['user_avatar'] ) ? get_user_avatar($row['user_avatar'], $row['user_avatar_type'], $avatar_width, $avatar_height) : '',
'USERNAME_COLOUR' => $row['user_colour'],
'USERNAME_FULL' => $username_full,
'LASTUPDATE' => $user->format_date($row['session_time']),
'FORUM_LOCATION' => $location,
'USER_IP' => ($auth->acl_get('a_')) ? (($mode == 'lookup' && $session_id == $row['session_id']) ? gethostbyaddr($row['session_ip']) : $row['session_ip']) : '',
'USER_BROWSER' => ($auth->acl_get('a_user')) ? $row['session_browser'] : '',
'U_USER_PROFILE' => ($row['user_type'] != USER_IGNORE) ? get_username_string('profile', $row['user_id'], '') : '',
'U_USER_IP' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'mode=lookup' . (($mode != 'lookup' || $row['session_id'] != $session_id) ? '&s=' . $row['session_id'] : '') . "&sg=$show_guests&start=$start&sk=$sort_key&sd=$sort_dir"),
'U_WHOIS' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'mode=whois&s=' . $row['session_id']),
'U_FORUM_LOCATION' => $location_url,
'S_USER_HIDDEN' => $s_user_hidden,
'S_GUEST' => ($row['user_id'] == ANONYMOUS) ? true : false,
'S_USER_TYPE' => $row['user_type'],
));
}
$db->sql_freeresult($result);
unset($prev_id, $prev_ip);
// Generate reg/hidden/guest online text
$vars_online = array(
'REG' => array('logged_visible_online', 'l_r_user_s'),
'HIDDEN'=> array('logged_hidden_online', 'l_h_user_s'),
'GUEST' => array('guest_counter', 'l_g_user_s')
);
// Set some stats, get posts count from forums data if we... hum... retrieve all forums data
$total_posts = $config['num_posts'];
$total_topics = $config['num_topics'];
$total_users = $config['num_users'];
$total_images = $config['num_images'];
$user->add_lang('mods/info_acp_gallery');
$l_total_image_s = ($total_images == 0) ? 'TOTAL_IMAGES_ZERO' : 'TOTAL_IMAGES_OTHER';
$l_total_user_s = ($total_users == 0) ? 'TOTAL_USERS_ZERO' : 'TOTAL_USERS_OTHER';
$l_total_post_s = ($total_posts == 0) ? 'TOTAL_POSTS_ZERO' : 'TOTAL_POSTS_OTHER';
$l_total_topic_s = ($total_topics == 0) ? 'TOTAL_TOPICS_ZERO' : 'TOTAL_TOPICS_OTHER';
foreach ($vars_online as $l_prefix => $var_ary)
{
switch ($$var_ary[0])
{
case 0:
$$var_ary[1] = $user->lang[$l_prefix . '_USERS_ZERO_ONLINE'];
break;
case 1:
$$var_ary[1] = $user->lang[$l_prefix . '_USER_ONLINE'];
break;
default:
$$var_ary[1] = $user->lang[$l_prefix . '_USERS_ONLINE'];
break;
}
}
unset($vars_online);
$pagination = generate_pagination(append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir"), $counter, $config['topics_per_page'], $start);
// Grab group details for legend display
if ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel'))
{
$sql = 'SELECT group_id, group_name, group_colour, group_type
FROM ' . GROUPS_TABLE . '
WHERE group_legend = 1
ORDER BY group_name ASC';
}
else
{
$sql = 'SELECT g.group_id, g.group_name, g.group_colour, g.group_type
FROM ' . GROUPS_TABLE . ' g
LEFT JOIN ' . USER_GROUP_TABLE . ' ug
ON (
g.group_id = ug.group_id
AND ug.user_id = ' . $user->data['user_id'] . '
AND ug.user_pending = 0
)
WHERE g.group_legend = 1
AND (g.group_type <> ' . GROUP_HIDDEN . ' OR ug.user_id = ' . $user->data['user_id'] . ')
ORDER BY g.group_name ASC';
}
$result = $db->sql_query($sql);
$legend = '';
while ($row = $db->sql_fetchrow($result))
{
if ($row['group_name'] == 'BOTS')
{
$legend .= (($legend != '') ? ', ' : '') . '<span style="color:#' . $row['group_colour'] . '">' . $user->lang['G_BOTS'] . '</span>';
}
else
{
$legend .= (($legend != '') ? ', ' : '') . '<a style="color:#' . $row['group_colour'] . '" href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&g=' . $row['group_id']) . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</a>';
}
}
$db->sql_freeresult($result);
// Refreshing the page every 60 seconds...
meta_refresh(60, append_sid("{$phpbb_root_path}viewonline.$phpEx", "sg=$show_guests&sk=$sort_key&sd=$sort_dir&start=$start"));
include($phpbb_root_path . 'includes/functions_milestones.' . $phpEx);
$user->add_lang('mods/milestone_congratulations');
// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'] && $config['allow_birthdays'])
{
$now = getdate(time() + $user->timezone + $user->dst - date('Z'));
$sql = 'SELECT user_id, username, user_colour, user_birthday
FROM ' . USERS_TABLE . "
WHERE user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
AND user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);
if ($age = (int) substr($row['user_birthday'], -4))
{
$birthday_list .= ' (' . ($now['year'] - $age) . ')';
}
}
$db->sql_freeresult($result);
}
// Send data to template
$template->assign_vars(array(
'BIRTHDAY_LIST' => $birthday_list,
'LEGEND' => $legend,
'MILESTONE_INFO' => milestone_info(),
'MILESTONE_MESSAGE' => milestone_message(),
'MILESTONE_HISTORY' => milestone_history(),
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], get_username_string('full', $config['newest_user_id'], $config['newest_username'], $config['newest_user_colour'])),
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($l_r_user_s, $logged_visible_online) . sprintf($l_h_user_s, $logged_hidden_online),
'TOTAL_GUEST_USERS_ONLINE' => sprintf($l_g_user_s, $guest_counter),
'TOTAL_IMAGES' => ($config['gallery_total_images']) ? sprintf($user->lang[$l_total_image_s], $total_images) : '',
'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts),
'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics),
'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users),
'LEGEND' => $legend,
'PAGINATION' => $pagination,
'PAGE_NUMBER' => on_page($counter, $config['topics_per_page'], $start),
'U_SORT_USERNAME' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=a&sd=' . (($sort_key == 'a' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)),
'U_SORT_UPDATED' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=b&sd=' . (($sort_key == 'b' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)),
'U_SORT_LOCATION' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sk=c&sd=' . (($sort_key == 'c' && $sort_dir == 'a') ? 'd' : 'a') . '&sg=' . ((int) $show_guests)),
//MOD Advanced Forum Statistics
'U_STATISTICS' => ((!$auth->acl_get('u_viewfs') || $user->data['is_bot'])) ? $user->lang['STATISTICS'] : "<a href=\"{$phpbb_root_path}fs.$phpEx\">" . $user->lang['STATISTICS'] . '</a>',
//END MOD
'U_SWITCH_GUEST_DISPLAY' => append_sid("{$phpbb_root_path}viewonline.$phpEx", 'sg=' . ((int) !$show_guests)),
'L_SWITCH_GUEST_DISPLAY' => ($show_guests) ? $user->lang['HIDE_GUESTS'] : $user->lang['DISPLAY_GUESTS'],
'S_SWITCH_GUEST_DISPLAY' => ($config['load_online_guests']) ? true : false)
);
// We do not need to load the who is online box here. ;)
$config['load_online'] = false;
if (!function_exists('display_who_was_here'))
{
include($phpbb_root_path . 'includes/functions_wwh.' . $phpEx);
}
display_who_was_here();
// Output the page
page_header($user->lang['WHO_IS_ONLINE']);
$template->set_filenames(array(
'body' => 'viewonline_body.html')
);
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Zuletzt geändert von Springfield am 04.11.2009 02:15, insgesamt 1-mal geändert.
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Re: [Final] NV "Who Was Here?" 1.0.2
schiebs testweise mal über:
Code: Alles auswählen
$config['load_online'] = false;
kein Support per PN
-
- Mitglied
- Beiträge: 29
- Registriert: 17.04.2008 18:04
- Wohnort: Erftstadt
Re: [Final] NV "Who Was Here?" 1.0.2
Nein, leider keine Änderung
- DreamPromise
- Mitglied
- Beiträge: 3793
- Registriert: 27.01.2004 17:56
Re: [Final] NV "Who Was Here?" 1.0.2
Moin moin
ich hab diese MOD schon seit langer Zeit drin.
Was mich daran immer gestört hat sind die User die nach der Anmeldung gelöscht wurden.
Die erscheinen immer noch in der Liste.
Gibt es dann da schon eine Abhilfe ??
Danke
ich hab diese MOD schon seit langer Zeit drin.
Was mich daran immer gestört hat sind die User die nach der Anmeldung gelöscht wurden.
Die erscheinen immer noch in der Liste.
Gibt es dann da schon eine Abhilfe ??
Danke
- nickvergessen
- Ehrenadmin
- Beiträge: 11559
- Registriert: 09.10.2006 21:56
- Wohnort: Stuttgart, Germany
- Kontaktdaten:
Re: [Final] NV "Who Was Here?" 1.0.2
Die sollten ja nach einem Tag wieder drausen sein.
Man könnte das machen, genauso den Namen farblich anpassen wenn die Gruppe geändert wird oder einen Benutzer umbenannt wird. Mir war der Aufwand den Effekt nicht wert.
Zum löschen:
includes/functions_users.php:
finde (circa Zeile 530):
danach in neuer Zeile einfügen:
Man könnte das machen, genauso den Namen farblich anpassen wenn die Gruppe geändert wird oder einen Benutzer umbenannt wird. Mir war der Aufwand den Effekt nicht wert.
Zum löschen:
includes/functions_users.php:
finde (circa Zeile 530):
Code: Alles auswählen
$table_ary = array(USERS_TABLE, USER_GROUP_TABLE, TOPICS_WATCH_TABLE, FORUMS_WATCH_TABLE, ACL_USERS_TABLE, TOPICS_TRACK_TABLE, TOPICS_POSTED_TABLE, FORUMS_TRACK_TABLE, PROFILE_FIELDS_DATA_TABLE, MODERATOR_CACHE_TABLE, DRAFTS_TABLE, BOOKMARKS_TABLE, SESSIONS_KEYS_TABLE);
Code: Alles auswählen
$table_ary = array_merge($table_ary, array(WWH_TABLE));
kein Support per PN
- DreamPromise
- Mitglied
- Beiträge: 3793
- Registriert: 27.01.2004 17:56
Re: [Final] NV "Who Was Here?" 1.0.2
Moin moin
funktioniert leider nicht.
Danke
funktioniert leider nicht.
Danke