$this->prompt_for_confirm($msg);
            }
        }
        change_tor_status($attach_id, $new_status);
        $this->response['status'] = $bb_cfg['tor_icons'][$new_status] . ' <b> ' . $lang['TOR_STATUS_NAME'][$new_status] . '</b> &middot; ' . profile_url($userdata) . ' &middot; <i>' . delta_time(TIMENOW) . $lang['TOR_BACK'] . '</i>';
        if ($bb_cfg['tor_comment'] && ($comment && $comment != $lang['COMMENT'] || in_array($new_status, $bb_cfg['tor_reply']))) {
            if ($tor['poster_id'] > 0) {
                $subject = sprintf($lang['TOR_MOD_TITLE'], $tor['topic_title']);
                $message = sprintf($lang['TOR_MOD_MSG'], get_username($tor['poster_id']), make_url(TOPIC_URL . $tor['topic_id']), $bb_cfg['tor_icons'][$new_status] . ' ' . $lang['TOR_STATUS_NAME'][$new_status]);
                if ($comment && $comment != $lang['COMMENT']) {
                    $message .= "\n\n[b]" . $lang['COMMENT'] . '[/b]: ' . $comment;
                }
                send_pm($tor['poster_id'], $subject, $message, $userdata['user_id']);
                cache_rm_user_sessions($tor['poster_id']);
            }
        }
        break;
    case 'status_reply':
        if (!$bb_cfg['tor_comment']) {
            $this->ajax_die($lang['MODULE_OFF']);
        }
        $subject = sprintf($lang['TOR_AUTH_TITLE'], $tor['topic_title']);
        $message = sprintf($lang['TOR_AUTH_MSG'], get_username($tor['checked_user_id']), make_url(TOPIC_URL . $tor['topic_id']), $tor['topic_title']);
        if ($comment && $comment != $lang['COMMENT']) {
            $message .= "\n\n[b]" . $lang['COMMENT'] . '[/b]: ' . $comment;
        }
        send_pm($tor['checked_user_id'], $subject, $message, $userdata['user_id']);
        cache_rm_user_sessions($tor['checked_user_id']);
        break;
}
$this->response['attach_id'] = $attach_id;
        $table = BB_BT_USERS;
        $value = (double) str_replace(',', '.', $this->request['value']);
        foreach (array('KB' => 1, 'MB' => 2, 'GB' => 3, 'TB' => 4) as $s => $m) {
            if (strpos($this->request['value'], $s) !== false) {
                $value *= pow(1024, $m);
                break;
            }
        }
        $value = sprintf('%.0f', $value);
        $this->response['new_value'] = humn_size($value, null, null, ' ');
        if (!($btu = get_bt_userdata($user_id))) {
            require INC_DIR . 'functions_torrent.php';
            generate_passkey($user_id, true);
            $btu = get_bt_userdata($user_id);
        }
        $btu[$field] = $value;
        $this->response['update_ids']['u_ratio'] = (string) get_bt_ratio($btu);
        break;
    case 'user_points':
        $value = htmlCHR($value);
        $value = (double) str_replace(',', '.', $this->request['value']);
        $value = sprintf('%.2f', $value);
        $this->response['new_value'] = $value;
        break;
    default:
        $this->ajax_die("invalid profile field: {$field}");
}
$value_sql = DB()->escape($value, true);
DB()->query("UPDATE {$table} SET {$field} = {$value_sql} WHERE user_id = {$user_id} LIMIT 1");
cache_rm_user_sessions($user_id);
$this->response['edit_id'] = $this->request['edit_id'];
Beispiel #3
0
function delete_user_sessions($user_id)
{
    cache_rm_user_sessions($user_id);
    $user_id = get_id_csv($user_id);
    DB()->query("DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id IN({$user_id})");
}
Beispiel #4
0
                $emailer->send();
                $emailer->reset();
                $message = $lang['PROFILE_UPDATED_INACTIVE'];
                $user->session_end();
            } else {
                meta_refresh('index.php', 10);
                $message = $lang['PROFILE_UPDATED'];
            }
            $sql_args = DB()->build_array('UPDATE', $db_data);
            DB()->query("UPDATE " . BB_USERS . " SET {$sql_args} WHERE user_id = {$pr_data['user_id']} LIMIT 1");
            if ($pr_data['user_id'] != $userdata['user_id']) {
                if ($pr_data['user_level'] == MOD && !empty($db_data['username'])) {
                    $datastore->update('moderators');
                }
            }
            cache_rm_user_sessions($pr_data['user_id']);
            if ($adm_edit) {
                bb_die($lang['PROFILE_USER'] . ' <b>' . profile_url($pr_data) . '</b> ' . $lang['GOOD_UPDATE']);
            } elseif (!$pr_data['user_active']) {
                bb_die($lang['PROFILE_UPDATED_INACTIVE']);
            } else {
                meta_refresh('index.php', 10);
                bb_die($lang['PROFILE_UPDATED']);
            }
        } else {
            bb_die($lang['NOTHING_HAS_CHANGED']);
        }
    }
}
$template->assign_vars($tp_data);
$template->assign_vars(array('PAGE_TITLE' => $mode == 'editprofile' ? $lang['EDIT_PROFILE'] . ($adm_edit ? " :: {$pr_data['username']}" : '') : $lang['REGISTER'], 'SHOW_REG_AGREEMENT' => $mode == 'register' && !IS_ADMIN, 'ERROR_MESSAGE' => $errors ? join('<br />', array_unique($errors)) : '', 'MODE' => $mode, 'EDIT_PROFILE' => $mode == 'editprofile', 'ADM_EDIT' => $adm_edit, 'SHOW_PASS' => $adm_edit || $mode == 'register' && IS_ADMIN, 'CAPTCHA_HTML' => $need_captcha ? bb_captcha('get') : '', 'LANGUAGE_SELECT' => language_select($pr_data['user_lang'], 'user_lang'), 'TIMEZONE_SELECT' => tz_select($pr_data['user_timezone'], 'user_timezone'), 'USER_TIMEZONE' => $pr_data['user_timezone'], 'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], round($bb_cfg['avatars']['max_size'] / 1024)), 'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'), 'AVATAR_DIS_EXPLAIN' => sprintf($lang['AVATAR_DISABLE'], $bb_cfg['terms_and_conditions_url']), 'AVATAR_IMG' => get_avatar($pr_data['user_id'], $pr_data['avatar_ext_id'], !bf($pr_data['user_opt'], 'user_opt', 'dis_avatar')), 'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']), 'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_sig'), 'PR_USER_ID' => $pr_data['user_id'], 'U_RESET_AUTOLOGIN' => LOGIN_URL . "?logout=1&amp;reset_autologin=1&amp;sid={$userdata['session_id']}"));
Beispiel #5
0
         $privmsg_sent_id = DB()->sql_nextid();
         $sql = "INSERT INTO " . BB_PRIVMSGS_TEXT . " (privmsgs_text_id, privmsgs_text)\n\t\t\t\tVALUES ({$privmsg_sent_id}, '" . DB()->escape($privmsg_message) . "')";
     } else {
         $sql = "UPDATE " . BB_PRIVMSGS_TEXT . "\n\t\t\t\tSET privmsgs_text = '" . DB()->escape($privmsg_message) . "'\n\t\t\t\tWHERE privmsgs_text_id = {$privmsg_id}";
     }
     if (!DB()->sql_query($sql)) {
         bb_die('Could not insert / update private message sent text');
     }
     if ($mode != 'edit') {
         $timenow = TIMENOW;
         // Add to the users new pm counter
         $sql = "UPDATE " . BB_USERS . " SET\n\t\t\t\t\tuser_new_privmsg = user_new_privmsg + 1,\n\t\t\t\t\tuser_last_privmsg = {$timenow},\n\t\t\t\t\tuser_newest_pm_id = {$privmsg_sent_id}\n\t\t\t\tWHERE user_id = {$to_userdata['user_id']}\n\t\t\t\tLIMIT 1";
         if (!($status = DB()->sql_query($sql))) {
             bb_die('Could not update private message new / read status for user');
         }
         cache_rm_user_sessions($to_userdata['user_id']);
         if (bf($to_userdata['user_opt'], 'user_opt', 'user_notify_pm') && $to_userdata['user_active'] && $bb_cfg['pm_notify_enabled']) {
             require CLASS_DIR . 'emailer.php';
             $emailer = new emailer($bb_cfg['smtp_delivery']);
             $emailer->from($bb_cfg['sitename'] . " <{$bb_cfg['board_email']}>");
             $emailer->email_address($to_userdata['username'] . " <{$to_userdata['user_email']}>");
             $emailer->use_template('privmsg_notify', $to_userdata['user_lang']);
             $emailer->assign_vars(array('USERNAME' => html_entity_decode($to_username), 'NAME_FROM' => $userdata['username'], 'MSG_SUBJECT' => html_entity_decode($privmsg_subject), 'SITENAME' => $bb_cfg['sitename'], 'U_INBOX' => make_url(PM_URL . "?folder=inbox&mode=read&p={$privmsg_sent_id}")));
             $emailer->send();
             $emailer->reset();
         }
     }
     pm_die($lang['MESSAGE_SENT']);
 } else {
     if ($preview || $refresh || $error) {
         //
$mc_text = (string) $this->request['mc_text'];
if (!($mc_text = prepare_message($mc_text))) {
    $this->ajax_die($lang['EMPTY_MESSAGE']);
}
$post = DB()->fetch_row("\n\tSELECT\n\t\tp.post_id, p.poster_id\n\tFROM      " . BB_POSTS . " p\n\tWHERE p.post_id = {$post_id}\n");
if (!$post) {
    $this->ajax_die('not post');
}
$data = array('mc_comment' => $mc_type ? $mc_text : '', 'mc_type' => $mc_type, 'mc_user_id' => $mc_type ? $userdata['user_id'] : 0);
$sql_args = DB()->build_array('UPDATE', $data);
DB()->query("UPDATE " . BB_POSTS . " SET {$sql_args} WHERE post_id = {$post_id}");
if ($mc_type && $post['poster_id'] != $userdata['user_id']) {
    $subject = sprintf($lang['MC_COMMENT_PM_SUBJECT'], $lang['MC_COMMENT'][$mc_type]['type']);
    $message = sprintf($lang['MC_COMMENT_PM_MSG'], get_username($post['poster_id']), make_url(POST_URL . "{$post_id}#{$post_id}"), $lang['MC_COMMENT'][$mc_type]['type'], $mc_text);
    send_pm($post['poster_id'], $subject, $message);
    cache_rm_user_sessions($post['poster_id']);
}
switch ($mc_type) {
    case 1:
        // Комментарий
        $mc_class = 'success';
        break;
    case 2:
        // Информация
        $mc_class = 'info';
        break;
    case 3:
        // Предупреждение
        $mc_class = 'warning';
        break;
    case 4: