diff --git a/root/language/en/mods/portal/portal_whois_online_module.php b/root/language/en/mods/portal/portal_whois_online_module.php new file mode 100644 index 00000000..aaa47eb0 --- /dev/null +++ b/root/language/en/mods/portal/portal_whois_online_module.php @@ -0,0 +1,37 @@ + 'Who is online?', +)); + +?> \ No newline at end of file diff --git a/root/portal/modules/portal_whois_online.php b/root/portal/modules/portal_whois_online.php new file mode 100644 index 00000000..5ca31957 --- /dev/null +++ b/root/portal/modules/portal_whois_online.php @@ -0,0 +1,129 @@ +lang}/mods/portal/" + */ + var $language = 'portal_whois_online_module'; + + /** + * custom acp template + * file must be in "adm/style/portal/" + */ + var $custom_acp_tpl = ''; + + function get_template_center($module_id) + { + global $config, $template, $user, $auth, $db, $phpbb_root_path, $phpEx; + + // 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 = array(); + while ($row = $db->sql_fetchrow($result)) + { + $colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : ''; + $group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; + + if ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile'))) + { + $legend[] = '' . $group_name . ''; + } + else + { + $legend[] = '' . $group_name . ''; + } + } + $db->sql_freeresult($result); + + $legend = implode(', ', $legend); + + $template->assign_var('PORTAL_LEGEND', $legend); + + return 'whois_online_center.html'; + } + + function get_template_acp($module_id) + { + return array( + 'title' => 'PORTAL_WHOIS_ONLINE', + 'vars' => array(), + ); + } + + /** + * API functions + */ + function install($module_id) + { + return true; + } + + function uninstall($module_id) + { + return true; + } +} + +?> \ No newline at end of file diff --git a/root/styles/prosilver/template/portal/modules/whois_online_center.html b/root/styles/prosilver/template/portal/modules/whois_online_center.html new file mode 100644 index 00000000..af9bffbc --- /dev/null +++ b/root/styles/prosilver/template/portal/modules/whois_online_center.html @@ -0,0 +1,11 @@ + +{$C_BLOCK_H_L}
{TOTAL_USERS_ONLINE} ({L_ONLINE_EXPLAIN})
{RECORD_USERS}
{LOGGED_IN_USER_LIST}
+
{L_LEGEND}: {PORTAL_LEGEND}