$user_update_list .= !empty($user_update_list) ? EXPLODE_SEPARATOR_CHAR : '';
             $user_update_list .= preg_replace($update_find_pattern, '', $key);
         }
     }
     if (!jr_admin_user_exist($user_id)) {
         //If the user_id doesn't exist in the table, we need to add it
         //before we can update!
         sql_query_nivisec('INSERT INTO ' . JR_ADMIN_TABLE . "\n\t\t\t(user_id, start_date) VALUES ({$user_id}, " . time() . ')', $lang['Error_Module_Table']);
     }
     $notes_view = isset($_POST['notes_view']) ? 1 : 0;
     $admin_notes = $_POST['admin_notes'];
     //Do the information update
     $sql = 'UPDATE ' . JR_ADMIN_TABLE . "\n\t\t\tSET user_jr_admin = '{$user_update_list}',\n\t\t\tupdate_date = " . time() . ",\n\t\t\tadmin_notes = '" . $db->sql_escape($admin_notes) . "',\n\t\t\tnotes_view = {$notes_view}\n\t\t\tWHERE user_id = {$user_id}";
     $db->sql_query($sql);
     $status_message .= $lang['Updated_Permissions'];
     clear_user_color_cache($user_id);
 }
 //No user_id was found or we are done updating, take them to the info page
 $alpha_where = '';
 $proof = '';
 if (!$sort_item) {
     $sort_item = 'username';
 }
 for ($i = 97; $i <= 122; $i++) {
     $proof .= " AND u.username NOT LIKE '" . chr($i) . "%' ";
 }
 $alpha_where = $alphanum == '0' ? $proof : ($alphanum != '' ? "AND u.username LIKE '" . $db->sql_escape($alphanum) . "%'" : '');
 $user_where = !empty($user_search) ? " AND u.username LIKE ('" . $db->sql_escape($user_search) . "'%)" : '';
 $per_page = $config['topics_per_page'];
 if ($sort_item == 'user_modules') {
     $sql = "SELECT u.username, u.user_id, u.user_active, u.user_color, u.user_rank, u.user_allow_pm, u.user_allowavatar\n\t\t\tFROM " . USERS_TABLE . " u, " . JR_ADMIN_TABLE . " j\n\t\t\tWHERE u.user_id <> " . ANONYMOUS . "\n\t\t\t{$alpha_where}\n\t\t\t{$user_where}\n\t\t\t\tAND j.user_id = u.user_id\n\t\t\tORDER BY u.username ASC\n\t\t\tLIMIT {$start}, {$per_page}";
示例#2
0
/**
* Create a profile link for the user with his own color
*/
function colorize_username($user_id, $username = '', $user_color = '', $user_active = true, $no_profile = false, $get_only_color_style = false, $from_db = false, $force_cache = false, $alt_link_url = '')
{
    global $db, $config, $lang;
    $user_id = empty($user_id) ? ANONYMOUS : $user_id;
    $is_guest = $user_id == ANONYMOUS ? true : false;
    if (!$is_guest && $from_db || !$is_guest && empty($username) && empty($user_color)) {
        // Get the user info and see if they are assigned a color_group
        $sql = user_color_sql($user_id);
        $cache_cleared = CACHE_COLORIZE && defined('IN_ADMIN') ? clear_user_color_cache($user_id) : false;
        $result = (CACHE_COLORIZE || $force_cache) && !defined('IN_ADMIN') ? $db->sql_query($sql, 0, POST_USERS_URL . '_', USERS_CACHE_FOLDER) : $db->sql_query($sql);
        $sql_row = array();
        $row = array();
        while ($sql_row = $db->sql_fetchrow($result)) {
            $row = $sql_row;
        }
        $db->sql_freeresult($result);
        $username = $row['username'];
        $user_color = $row['user_color'];
        $user_active = $row['user_active'];
    }
    $username = $user_id == ANONYMOUS || empty($username) ? $lang['Guest'] : str_replace('&amp;amp;', '&amp;', htmlspecialchars($username));
    $user_link_url = !empty($alt_link_url) ? str_replace('$USER_ID', $user_id, $alt_link_url) : (defined('USER_LINK_URL_OVERRIDE') ? str_replace('$USER_ID', $user_id, USER_LINK_URL_OVERRIDE) : CMS_PAGE_PROFILE . '?mode=viewprofile&amp;' . POST_USERS_URL . '=' . $user_id);
    $user_link_style = '';
    $user_link_begin = '<a href="' . append_sid(IP_ROOT_PATH . $user_link_url) . '"';
    $user_link_end = '>' . $username . '</a>';
    if (!$user_active || $is_guest) {
        $user_link = $user_link_begin . $user_link_style . $user_link_end;
        $user_link = $no_profile || $is_guest ? $username : $user_link;
        $user_link = $get_only_color_style ? '' : $user_link;
    } else {
        $user_color = check_valid_color($user_color);
        $user_color = $user_color != false ? $user_color : $config['active_users_color'];
        $user_link_style = ' style="font-weight: bold; text-decoration: none; color: ' . $user_color . ';"';
        if ($no_profile) {
            $user_link = '<span' . $user_link_style . '>' . $username . '</span>';
        } else {
            $user_link = $user_link_begin . $user_link_style . $user_link_end;
        }
        $user_link = $get_only_color_style ? $user_link_style : $user_link;
    }
    return $user_link;
}
示例#3
0
         $emailer->assign_vars(array('SITENAME' => $config['sitename'], 'GROUP_NAME' => $group_name, 'EMAIL_SIG' => $email_sig, 'U_GROUPCP' => $server_url . '?' . POST_GROUPS_URL . '=' . $group_id));
         $emailer->send();
         $emailer->reset();
     } else {
         $redirect_url = append_sid(CMS_PAGE_GROUP_CP . '?' . POST_GROUPS_URL . '=' . $group_id);
         meta_refresh(3, $redirect_url);
         $message = $lang['User_is_member_group'] . '<br /><br />' . sprintf($lang['Click_return_group'], '<a href="' . append_sid(CMS_PAGE_GROUP_CP . '?' . POST_GROUPS_URL . '=' . $group_id) . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid(CMS_PAGE_FORUM) . '">', '</a>');
         message_die(GENERAL_MESSAGE, $message);
     }
 } else {
     if ((isset($_POST['approve']) || isset($_POST['deny'])) && isset($_POST['pending_members']) || isset($_POST['remove']) && isset($_POST['members']) || isset($_POST['mass_colorize']) && isset($_POST['members'])) {
         $members = isset($_POST['approve']) || isset($_POST['deny']) ? $_POST['pending_members'] : $_POST['members'];
         $sql_in = '';
         for ($i = 0; $i < sizeof($members); $i++) {
             $sql_in .= ($sql_in != '' ? ', ' : '') . intval($members[$i]);
             clear_user_color_cache($members[$i]);
         }
         if (isset($_POST['approve'])) {
             if ($group_info['auth_mod']) {
                 $sql = "UPDATE " . USERS_TABLE . "\n\t\t\t\t\t\t\t\tSET user_level = " . MOD . "\n\t\t\t\t\t\t\t\tWHERE user_id IN ({$sql_in})\n\t\t\t\t\t\t\t\t\tAND user_level NOT IN (" . MOD . ", " . JUNIOR_ADMIN . ", " . ADMIN . ")";
                 $db->sql_query($sql);
             }
             if (!empty($group_color) && $group_color != $config['active_users_color']) {
                 $sql_users = "UPDATE " . USERS_TABLE . "\n\t\t\t\t\t\t\t\tSET group_id = '" . $group_id . "'\n\t\t\t\t\t\t\t\tWHERE user_id IN ({$sql_in})\n\t\t\t\t\t\t\t\t\tAND group_id = '0'";
                 $db->sql_query($sql_users);
             }
             $sql_users = "UPDATE " . USERS_TABLE . "\n\t\t\t\t\t\t\tSET user_color = '" . $group_color . "'\n\t\t\t\t\t\t\tWHERE user_id IN ({$sql_in})\n\t\t\t\t\t\t\t\tAND (user_color = '' OR user_color = '" . $config['active_users_color'] . "')";
             $db->sql_query($sql_users);
             $sql_users = "UPDATE " . USERS_TABLE . "\n\t\t\t\t\t\t\tSET user_rank = '" . $group_rank . "'\n\t\t\t\t\t\t\tWHERE user_id IN ({$sql_in})\n\t\t\t\t\t\t\t\tAND user_rank = '0'";
             $db->sql_query($sql_users);
             $sql = "UPDATE " . USER_GROUP_TABLE . "\n\t\t\t\t\t\t\tSET user_pending = 0\n\t\t\t\t\t\t\tWHERE user_id IN ({$sql_in})\n\t\t\t\t\t\t\t\tAND group_id = {$group_id}";
示例#4
0
/**
* Update user color and group.
*
* @param => user_id
* @param => user_color
* @param => group_id
* @return => true on success
*/
function update_user_color($user_id, $user_color, $group_id = false, $force_color = false, $force_group_color = false, $simple_mode = false)
{
    global $db, $config;
    $sql = "SELECT u.user_color, u.group_id\n\t\t\t\t\tFROM " . USERS_TABLE . " as u\n\t\t\t\t\tWHERE u.user_id = " . (int) $user_id . "\n\t\t\t\t\tLIMIT 1";
    $result = $db->sql_query($sql);
    $row = $db->sql_fetchrow($result);
    $current_user_color = $row['user_color'];
    $current_group_id = $row['group_id'];
    $db->sql_freeresult($result);
    $user_color_sql = '';
    $user_color = check_valid_color($user_color);
    $user_color = $user_color != false ? $user_color : $config['active_users_color'];
    if ($force_color || empty($current_user_color) || empty($current_group_id) || $current_user_color == $config['active_users_color']) {
        $user_color_sql .= (empty($user_color_sql) ? '' : ', ') . ("user_color = '" . $db->sql_escape($user_color) . "'");
        if ($simple_mode && !empty($group_id) && intval($group_id)) {
            $user_color_sql .= (empty($user_color_sql) ? '' : ', ') . ("group_id = " . (int) $group_id);
        }
    }
    if (!$simple_mode) {
        // 0 is different from false...
        if ($group_id === 0) {
            $user_color_sql .= ($user_color_sql == '' ? '' : ', ') . "group_id = '0'";
        } elseif ($force_group_color || $current_group_id == '0' && $group_id !== false) {
            $new_group_color = get_group_color($group_id);
            $user_color = $new_group_color != false ? $new_group_color : $user_color;
            $user_color_sql .= $new_group_color != false ? ($user_color_sql == '' ? '' : ', ') . ("group_id = '" . (int) $group_id . "'") : '';
        }
    }
    if (!empty($user_color_sql)) {
        $sql_users = "UPDATE " . USERS_TABLE . "\n\t\t\tSET " . $user_color_sql . "\n\t\t\tWHERE user_id = " . (int) $user_id;
        $db->sql_query($sql_users);
        clear_user_color_cache($user_id);
    }
    return true;
}