Ejemplo n.º 1
0
        $mchat_del = $auth->acl_get('u_mchat_delete') && ($auth->acl_get('m_') || $user->data['user_id'] == $row['user_id']) ? true : false;
        // If mChat disabled
        if (!$mchat_del) {
            // Forbidden (for jQ AJAX request)
            header('HTTP/1.0 403 Forbidden');
            exit_handler();
        }
        // Run delete!
        $sql = 'DELETE FROM ' . MCHAT_TABLE . ' 
			WHERE message_id = ' . (int) $message_id;
        $db->sql_query($sql);
        //adds a log
        $message_author = get_username_string('no_profile', $row['user_id'], $row['username'], $row['user_colour'], $user->lang['GUEST']);
        add_log('admin', 'LOG_DELETED_MCHAT', $message_author);
        // insert user into the mChat sessions table
        mchat_sessions($mchat_session_time, true);
        // Stop running code
        exit_handler();
        break;
        // Default function...
    // Default function...
    default:
        // If not include in index.php set mchat.php page true
        if (!$mchat_include_index) {
            // Yes its custom page...
            $mchat_custom_page = true;
            // If custom page false mchat.php page redirect to index...
            if (!$config_mchat['custom_page'] && $mchat_custom_page) {
                $mchat_redirect = append_sid("{$phpbb_root_path}index.{$phpEx}");
                // Redirect to previous page
                meta_refresh(3, $mchat_redirect);
Ejemplo n.º 2
0
/**
* @param $session_time amount of time before a users session times out
*/
function mchat_users($session_time, $on_page = false)
{
    global $auth, $db, $template, $user;
    $check_time = time() - (int) $session_time;
    $sql = 'DELETE FROM ' . MCHAT_SESSIONS_TABLE . ' WHERE user_lastupdate < ' . $check_time;
    $db->sql_query($sql);
    // add the user into the sessions upon first visit
    if ($on_page && ($user->data['user_id'] != ANONYMOUS && !$user->data['is_bot'])) {
        mchat_sessions($session_time);
    }
    $mchat_user_count = 0;
    $mchat_user_list = '';
    $sql = 'SELECT m.user_id, u.username, u.user_type, u.user_allow_viewonline, u.user_colour
		FROM ' . MCHAT_SESSIONS_TABLE . ' m
		LEFT JOIN ' . USERS_TABLE . ' u ON m.user_id = u.user_id
		WHERE m.user_lastupdate > ' . $check_time . '
		ORDER BY u.username ASC';
    $result = $db->sql_query($sql);
    $can_view_hidden = $auth->acl_get('u_viewonline');
    while ($row = $db->sql_fetchrow($result)) {
        if (!$row['user_allow_viewonline']) {
            if (!$can_view_hidden) {
                continue;
            } else {
                $row['username'] = '******' . $row['username'] . '</em>';
            }
        }
        $mchat_user_count++;
        $mchat_user_online_link = get_username_string('full', $row['user_id'], $row['username'], $row['user_colour'], $user->lang['GUEST']);
        $mchat_user_list .= $mchat_user_list != '' ? $user->lang['COMMA_SEPARATOR'] . $mchat_user_online_link : $mchat_user_online_link;
    }
    $db->sql_freeresult($result);
    $refresh_message = mchat_session_time($session_time);
    if (!$mchat_user_count) {
        return array('online_userlist' => '', 'mchat_users_count' => $user->lang['MCHAT_NO_CHATTERS'], 'refresh_message' => $refresh_message);
    } else {
        return array('online_userlist' => $mchat_user_list, 'mchat_users_count' => $mchat_user_count > 1 ? sprintf($user->lang['MCHAT_ONLINE_USERS_TOTAL'], $mchat_user_count) : sprintf($user->lang['MCHAT_ONLINE_USER_TOTAL'], $mchat_user_count), 'refresh_message' => $refresh_message);
    }
}