Example #1
0
 function show_members_json($context, $limit = 30, $offset = 0, $username)
 {
     if (!$username) {
         $user = elgg_get_logged_in_user_entity();
     } else {
         $user = get_user_by_username($username);
         if (!$user) {
             throw new InvalidParameterException('registration:usernamenotvalid');
         }
     }
     if ($context == "newest") {
         $params = array('types' => 'user', 'limit' => $limit, 'full_view' => FALSE);
         $latest_member = elgg_get_entities($params);
         //return $return;
     }
     if ($context == "online") {
         $latest_member = get_online_users();
     }
     if ($context == "popular") {
         $params = array('types' => 'user', 'relationship' => 'friend', 'inverse_relationship' => false);
         $latest_member = elgg_list_entities_from_relationship_count($params);
     }
     if ($latest_member) {
         foreach ($latest_member as $single) {
             $member['guid'] = $single->guid;
             $member['name'] = $single->name;
             //$member['avatar_url'] = get_entity_icon_url($single,'small');
             $return[] = $member;
         }
     }
     //return $return;
     return json_encode($return, true);
 }
Example #2
0
/**
 * Returns content for the "online" page
 *
 * @param string      $hook        "members:list"
 * @param string      $type        "online"
 * @param string|null $returnvalue list content (null if not set)
 * @param array       $params      array with key "options"
 * @return string
 */
function members_list_online($hook, $type, $returnvalue, $params)
{
    if ($returnvalue !== null) {
        return;
    }
    return get_online_users();
}
 function cms_block_online_users_chat()
 {
     global $db, $cache, $config, $template, $theme, $images, $user, $lang, $table_prefix;
     $ajax_chat_page = !empty($config['ajax_chat_link_type']) ? CMS_PAGE_AJAX_CHAT : CMS_PAGE_AJAX_SHOUTBOX;
     $ajax_chat_link = !empty($config['ajax_chat_link_type']) ? append_sid($ajax_chat_page) . '" target="_chat' : '#" onclick="window.open(\'' . append_sid($ajax_chat_page) . '\', \'_chat\', \'width=720,height=600,resizable=yes\'); return false;';
     $online_time = 300;
     $cache_time = 600;
     // Initialize data
     $online_users_array = array('reg' => 0, 'guests' => 0, 'tot' => 0, 'list' => '', 'text' => '', 'users' => array(), 'user_ids' => array());
     if (!function_exists('get_online_users')) {
         @(include_once IP_ROOT_PATH . 'includes/functions_online.' . PHP_EXT);
     }
     $online_users_chat = get_online_users('chat', true, false, '', $online_time, $cache_time);
     foreach ($online_users_chat as $online_user_chat_data) {
         $uid = $online_user_chat_data['user_id'];
         if (!in_array($uid, $online_users_array['user_ids'])) {
             $online_users_array['user_ids'][] = $uid;
             $online_users_array['users'][$uid] = array('user_id' => $online_user_chat_data['user_id'], 'username' => $online_user_chat_data['username'], 'username_clean' => $online_user_chat_data['username_clean'], 'user_color' => $online_user_chat_data['user_color'], 'user_active' => $online_user_chat_data['user_active'], 'user_allow_viewonline' => 1);
         }
     }
     $online_users = get_online_users('site', true, false, '', $online_time, $cache_time);
     foreach ($online_users as $online_user_data) {
         $uid = $online_user_data['user_id'];
         if (!in_array($uid, $online_users_array['user_ids'])) {
             if ($online_user_data['user_allow_viewonline'] || $user->data['user_level'] == ADMIN || $user->data['user_id'] == $online_user_data['user_id']) {
                 $online_users_array['user_ids'][] = $uid;
                 $io = $online_user_data['user_allow_viewonline'] ? true : false;
                 $online_users_array['users'][$uid] = array('user_id' => $online_user_data['user_id'], 'username' => $online_user_data['username'], 'username_clean' => $online_user_data['username_clean'], 'user_color' => $online_user_data['user_color'], 'user_active' => $online_user_data['user_active'], 'user_allow_viewonline' => $online_user_data['user_allow_viewonline']);
             }
         }
     }
     $online_users_array['tot'] = sizeof($online_users_array['users']);
     $online_users_array['text'] = empty($online_users_array['tot']) ? $lang['Reg_users_zero_total'] : ($online_users_array['tot'] == 1 ? $lang['Reg_user_total'] : sprintf($lang['Reg_users_total'], $online_users_array['tot']));
     $online_users_text = '';
     $switch_users_online = false;
     if (empty($online_users_array['tot'])) {
         $online_users_text = $lang['CHAT_NO_USERS'];
     } else {
         foreach ($online_users_array['users'] as $k => $online_user_data) {
             $online_users_sort[$k] = $online_user_data['username_clean'];
         }
         asort($online_users_sort);
         foreach ($online_users_sort as $k => $v) {
             $cu = $online_users_array['users'][$k];
             $io = $cu['user_allow_viewonline'] ? true : false;
             $user_link = '';
             if ($user->data['session_logged_in'] && $user->data['user_id'] != $cu['user_id']) {
                 $chat_room = 'chat_room=' . (min($user->data['user_id'], $cu['user_id']) . '|' . max($user->data['user_id'], $cu['user_id']));
                 $chat_link = append_sid($ajax_chat_page . '?' . $ajax_chat_room);
                 $user_link = !empty($config['ajax_chat_link_type']) ? $chat_link . '" target="_chat' : '#" onclick="window.open(\'' . $chat_link . '\', \'_chat\', \'width=720,height=600,resizable=yes\'); return false;';
             }
             $online_users_text .= (empty($online_users_text) ? '' : ', ') . ($io ? '' : '<em>') . colorize_username($cu['user_id'], $cu['username'], $cu['user_color'], $cu['user_active'], false, false, false, false, $user_link) . ($io ? '' : '</em>');
         }
         $switch_users_online = !empty($online_users_text) ? true : false;
     }
     $template->assign_vars(array('S_USERS_ONLINE' => $switch_users_online, 'B_ONLINE_USERS_TEXT' => $online_users_text, 'B_U_CHAT' => $ajax_chat_link));
 }
Example #4
0
<?php

/**
 * Members index
 *
 */
$num_members = get_number_users();
$title = elgg_echo('members');
$options = array('type' => 'user', 'full_view' => false);
switch ($vars['page']) {
    case 'popular':
        $options['relationship'] = 'friend';
        $options['inverse_relationship'] = false;
        $content = elgg_list_entities_from_relationship_count($options);
        break;
    case 'online':
        $content = get_online_users();
        break;
    case 'newest':
    default:
        $content = elgg_list_entities($options);
        break;
}
$params = array('content' => $content, 'sidebar' => elgg_view('members/sidebar'), 'title' => $title . " ({$num_members})", 'filter_override' => elgg_view('members/nav', array('selected' => $vars['page'])));
$body = elgg_view_layout('content', $params);
echo elgg_view_page($title, $body);
Example #5
0
                foreach ($serv->connections as $fd) {
                    $serv->push($fd, $response_data);
                }
                break;
        }
    });
    $serv->on('Close', function ($server, $fd) use($redis, $serv) {
        //所有用户退出,清空数据
        echo 'logout--' . $serv->connections->count();
        if ($serv->connections->count() == 1) {
            flush_data($redis);
            return;
        }
        //log out
        $username = $redis->get('uid_' . $fd);
        $redis->lRem('uid_list', $fd, 1);
        $redis->delete('uid_', $fd);
        $user_list = get_online_users($redis);
        $response = ['cmd' => 'logout', 'data' => ['user' => $username, 'user_list' => $user_list]];
        $response_data = json_encode($response);
        //通知新用户登录
        foreach ($serv->connections as $send_to) {
            if ($send_to != $fd) {
                $serv->push($send_to, $response_data);
            }
        }
    });
    $serv->start();
} catch (Exception $e) {
    print_r($e);
}
    $ac_g_user = $ac_online_users['guests'] == 0 ? $lang['Guest_users_zero_total'] : ($ac_online_users['guests'] == 0 ? sprintf($lang['Guest_user_total'], $ac_online_users['guests']) : sprintf($lang['Guest_users_total'], $ac_online_users['guests']));
    $ac_online_users['text'] = $ac_t_user . $ac_r_user . $ac_g_user;
}
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';
if (!empty($topic_id) && !defined('IN_VIEWFORUM')) {
    $user_forum_sql = ' AND s.session_topic_id = ' . $db->sql_escape($topic_id);
} elseif (!empty($forum_id)) {
    $user_forum_sql = ' AND s.session_forum_id = ' . $db->sql_escape($forum_id);
} else {
    $user_forum_sql = '';
}
$online_users = get_online_users('site', false, false, $user_forum_sql, 0, 0);
$prev_user_id = 0;
$prev_user_ip = '';
$session_ip_array = array();
$tmp_bots_array = array();
foreach ($online_users as $row) {
    // User is logged in and therefore not a guest
    if ($row['session_logged_in']) {
        // Skip multiple sessions for one user
        if ($row['user_id'] != $prev_user_id) {
            $user_online_link = colorize_username($row['user_id'], $row['username'], $row['user_color'], $row['user_active']);
            if ($row['user_allow_viewonline']) {
                $logged_visible_online++;
            } else {
                $logged_hidden_online++;
                $user_online_link = '<em>' . $user_online_link . '</em>';
Example #7
0
<?php

/**
 * AVE.cms
 *
 * @package AVE.cms
 * @subpackage admin
 * @filesource
 */
if (!defined('ACP')) {
    header('Location:index.php');
    exit;
}
get_ave_info();
get_editable_module();
DisplayMainDocuments();
get_online_users();
getLogRecords(6);
//$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/main.txt', 'index');
$AVE_Template->assign('php_version', @PHP_VERSION != '' ? @PHP_VERSION : 'unknow');
$AVE_Template->assign('domain', $_SERVER["HTTP_HOST"]);
$AVE_Template->assign('mysql_version', $GLOBALS['AVE_DB']->mysql_version());
$AVE_Template->assign('mysql_size', get_mysql_size());
$AVE_Template->assign('navi', $AVE_Template->fetch('navi/navi.tpl'));
$AVE_Template->assign('navi_top', $AVE_Template->fetch('navi/navi_top.tpl'));
$AVE_Template->assign('content', $AVE_Template->fetch('start.tpl'));
<?php

/**
 * Online users widget
 */
echo get_online_users(array('pagination' => false));
Example #9
0
<?php

/**
 * Online users widget
 */
$num_display = sanitize_int($vars['entity']->num_display, false);
// set default value for display number
if (!$num_display) {
    $num_display = 8;
}
echo get_online_users(array('pagination' => false, 'limit' => $num_display));
<!-- This file used to handle AJAX requests for displaying a pop-up notification for list of users who are online -->
<?php 
require_once "includes/connection.php";
require_once "includes/functions.php";
echo "<link href=\"style/css/toastr.css\" rel=\"stylesheet\"/>";
echo "<script src=\"style/js/jquery-1.11.0.js\"></script>";
echo "<script src=\"style/js/toastr.js\"></script>";
$result = get_online_users();
$output = "";
while ($row = mysql_fetch_array($result)) {
    $user = $row['ID'];
    if ($row['Status'] == 1) {
        $output .= "<script type=\"text/javascript\">\n\t\t\ttoastr.options = {\n\t\t\t\t\"closeButton\": true,\n\t\t\t\t\"debug\": false,\n\t\t\t\t\"positionClass\": \"toast-bottom-left\",\n\t\t\t\t\"onclick\": null,\n\t\t\t\t\"showDuration\": \"10000\",\n\t\t\t\t\"hideDuration\": \"5000\",\n\t\t\t\t\"timeOut\": \"10000\",\n\t\t\t\t\"extendedTimeOut\": \"5000\",\n\t\t\t\t\"showEasing\": \"swing\",\n\t\t\t\t\"hideEasing\": \"linear\",\n\t\t\t\t\"showMethod\": \"fadeIn\",\n\t\t\t\t\"hideMethod\": \"fadeOut\"\n\t\t\t};\n\t\t\ttoastr.info('The user {$user} is online');\n\t\t\tvar audio = new Audio('notification.wav');\n\t\t\taudio.play();\n\t\t\t</script>";
        update_notification($user);
    }
}
print $output;
Example #11
0
File: online.php Project: elgg/elgg
<?php

echo elgg_view_module('inline', elgg_echo('admin:statistics:label:onlineusers'), get_online_users());
Example #12
0
<?php

/**
 * Online users widget
 */
$widget = elgg_extract('entity', $vars);
$num_display = sanitize_int($widget->num_display, false);
// set default value for display number
if (!$num_display) {
    $num_display = 8;
}
echo get_online_users(['pagination' => false, 'limit' => $num_display]);
Example #13
0
$area1 .= elgg_view("members/search");
// count members
$members = get_number_users();
// title
$pagetitle = elgg_echo("members:members") . " ({$members})";
$area2 = elgg_view_title($pagetitle);
//get the correct view based on filter
switch ($filter) {
    case "newest":
        $content = elgg_list_entities("user", "", 0, 10, false);
        break;
    case "pop":
        $filter_content = list_entities_by_relationship_count('friend', true, '', '', 0, 10, false);
        break;
    case "active":
        $filter_content = get_online_users();
        break;
        // search based on name
    // search based on name
    case "search":
        set_context('search');
        $filter_content = list_user_search($tag);
        break;
        // search based on tags
    // search based on tags
    case "search_tags":
        $filter_content = trigger_plugin_hook('search', '', $tag, "");
        $filter_content .= list_entities_from_metadata("", $tag, "user", "", "", 10, false, false);
        break;
    case "newest":
    case 'default':
Example #14
0
 //
 $dbsize = get_database_size();
 $sql = "SELECT VERSION() AS mysql_version";
 $db->sql_return_on_error(true);
 $result = $db->sql_query($sql);
 $db->sql_return_on_error(false);
 if (!$result) {
     throw_error("Couldn't obtain MySQL Version", __LINE__, __FILE__, $sql);
 }
 $row = $db->sql_fetchrow($result);
 $mysql_version = $row['mysql_version'];
 $db->sql_freeresult($result);
 $template->assign_vars(array('NUMBER_OF_POSTS' => $total_posts, 'NUMBER_OF_TOPICS' => $total_topics, 'NUMBER_OF_USERS' => $total_users, 'START_DATE' => $start_date, 'POSTS_PER_DAY' => $posts_per_day, 'TOPICS_PER_DAY' => $topics_per_day, 'USERS_PER_DAY' => $users_per_day, 'AVATAR_DIR_SIZE' => $avatar_dir_size, 'DB_SIZE' => $dbsize, 'PHPBB_VERSION' => '2' . $config['version'], 'PHP_VERSION' => phpversion(), 'MYSQL_VERSION' => $mysql_version, 'NUMBER_OF_DEACTIVATED_USERS' => $total_deactivated_users, 'NUMBER_OF_MODERATORS' => $total_moderators, 'NUMBER_OF_JUNIOR_ADMINISTRATORS' => $total_junior_administrators, 'NUMBER_OF_ADMINISTRATORS' => $total_administrators, 'NAMES_OF_DEACTIVATED' => $deactivated_names, 'NAMES_OF_MODERATORS' => $moderator_names, 'NAMES_OF_JUNIOR_ADMINISTRATORS' => $junior_administrator_names, 'NAMES_OF_ADMINISTRATORS' => $administrator_names, 'GZIP_COMPRESSION' => $config['gzip_compress'] ? $lang['ON'] : $lang['OFF']));
 // End forum statistics
 // Get users online information.
 $onlinerow_reg = get_online_users('site', true, true, '', 0, 0);
 $sql = "SELECT session_page, session_forum_id, session_topic_id, session_logged_in, session_time, session_ip, session_start, session_browser\n\t\tFROM " . SESSIONS_TABLE . "\n\t\tWHERE session_logged_in = '0'\n\t\t\tAND session_time >= " . (time() - ONLINE_REFRESH) . "\n\t\tORDER BY session_time DESC";
 $result = $db->sql_query($sql);
 $onlinerow_guest = $db->sql_fetchrowset($result);
 // Forum info
 $forum_types = array(FORUM_CAT, FORUM_POST, FORUM_LINK);
 $forums_array = get_forums_ids($forum_types, false, false);
 foreach ($forums_array as $forum) {
     $forum_data[$forum['forum_id']] = $forum['forum_name'];
 }
 $reg_userid_ary = array();
 if (sizeof($onlinerow_reg)) {
     $registered_users = 0;
     for ($i = 0; $i < sizeof($onlinerow_reg); $i++) {
         if (!in_array($onlinerow_reg[$i]['user_id'], $reg_userid_ary)) {
             $reg_userid_ary[] = $onlinerow_reg[$i]['user_id'];
function is_online($id)
{
    return in_array($id, get_online_users());
}
<?php

/**
 * Elgg statistics screen
 *
 * @package Elgg
 * @subpackage Core
 * @author Curverider Ltd
 * @link http://elgg.org/
 */
// users online
get_context('search');
$users_online = get_online_users();
get_context('admin');
?>

<div class="admin_users_online">
	<h3><?php 
echo elgg_echo('admin:statistics:label:onlineusers');
?>
</h3>
	<?php 
echo $users_online;
?>
</div>
Example #17
0
$is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $user->data);

// Viewonline pagination... to be coded...
/*
if ($show_all)
{
	$sql_limit = '';
}
else
{
	$sql_limit = 'LIMIT ' . $start . ', ' . $config['topics_per_page'];
}
*/

// Get user list
$online_users = get_online_users('site', false, true, '', 0, 0);

$guest_users = 0;
$registered_users = 0;
$hidden_users = 0;

$reg_counter = 0;
$guest_counter = 0;
$prev_user = 0;
$session_ip_array = array();
foreach ($online_users as $row)
{
	$view_online = false;
	$is_auth_view = false;
	$forum_id = false;
	$topic_id = false;