// аждые пол часа обновл¤ем статус рассылок if (date('i') == 30) { require_once "classes/mailer.php"; $mailer = new mailer(); $mailer->updateStatusSending(); } // ночные нестыковки во времени при переходе в следующий день #0021788 if (!in_array((int) date('Hi'), array(2358, 2359))) { payed::UpdateProUsers(); } //@todo: непон¤тно дл¤ чего? //если юзер провисел 10 сек с момента публикации //то помечаем его как просмотренный хот¤ его мог никто и неувидеть! $pp = new pay_place(); $pp->getDoneShow(0); $user_content = new user_content(); $user_content->releaseDelayedStreams(); $user_content->getQueueCounts(); $user_content->getStreamsQueueCounts(); if (date('i') % 5 == 0) { walletAlpha::checkProgressOrders(); } // аждые 20 минут пересчитываем счетчики остальных сообществ if (date('i') % 20 == 0) { commune::recalcThemesCountCommunes(null, commune::COMMUNE_BLOGS_ID); } if (date('i') % 15 == 0) { // проверка статусов платежей paymaster при возврате require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/pmpay.php"; $pm = new pmpay(); if (DEBUG) {
/** * Сохранение профиля юзера * * @param object $objResponse xajaxResponse * @param string $rec_id идентификатор записи * @param string $rec_type тип записи * @param array $aForm массив данных * @param string $sDrawFunc имя функции для выполнения после сохранения */ function _admEditProfileSaveForm(&$objResponse, $rec_id = '', $rec_type = '', $aForm = array(), $sDrawFunc = '') { $error = ''; $bNew = true; setlocale(LC_ALL, 'ru_RU.CP1251'); switch ($aForm['p_ucolumn']) { case 'uname': $new_val = change_q(substr(trim($aForm['new_val']), 0, 21), true); if (!preg_match("/^[-a-zA-Zа-яёА-ЯЁ]+\$/", $new_val)) { $error = 'Поле заполнено некорректно'; } break; case 'usurname': $new_val = change_q(substr(trim($aForm['new_val']), 0, 21), true); if (!preg_match("/^[-a-zA-Zа-яёА-ЯЁ]+\$/", $new_val)) { $error = 'Поле заполнено некорректно'; } break; case 'pname': $new_val = change_q(substr(trim(stripslashes($aForm['new_val'])), 0, 100), true); break; case 'spec_text': $ab_text_max_length = 500; $new_val = stripslashes(trim($aForm['new_val'])); $new_val = preg_replace("|[\t]+|", " ", $new_val); $new_val = preg_replace("|[ ]+|", " ", $new_val); $original_text = $new_val; $newlines = intval(substr_count($new_val, "\r")); $new_val = change_q_x_a(substr($new_val, 0, $ab_text_max_length + $newlines), false, false, "b|i|p|ul|li{1}"); if (strlen($original_text) > $ab_text_max_length + $newlines) { $error = 'Допустимо максимум ' . $ab_text_max_length . ' знаков.'; } break; case 'resume_file': case 'photo': case 'logo': $del_file = intval($aForm['del_file']); $dir = $aForm['login']; $dir2 = $aForm['p_ucolumn'] == 'resume_file' ? 'resume' : ($aForm['p_ucolumn'] == 'photo' ? 'foto' : 'logo'); if ($del_file || $aForm['new_val']) { $new_val = $del_file ? '' : substr(change_q_new(trim(stripslashes($aForm['new_val']))), 0, 1500); if ($aForm['old_val']) { $oCFile = new CFile(); $oCFile->Delete(0, 'users/' . substr($dir, 0, 2) . '/' . $dir . '/' . $dir2 . '/', $aForm['old_val']); if ($aForm['p_ucolumn'] == 'photo' || $aForm['p_ucolumn'] == 'logo') { $oCFile->Delete(0, 'users/' . substr($dir, 0, 2) . '/' . $dir . '/' . $dir2 . '/', 'sm_' . $aForm['old_val']); } } } else { // админ нажал "Сохранить" не зааплоадив файл - считаем что утвердил тот что есть $bNew = false; } break; case 'resume': $new_val = str_replace("\r\n", "\r", $aForm['new_val']); if (strlen($new_val) > 4000) { $error = 'Допустимо максимум 4000 знаков.'; } $new_val = change_q(substr(trim($new_val), 0, 4000), false, 25); break; case 'konk': if (strlen($aForm['new_val']) > 4000) { $error = 'Допустимо максимум 4000 знаков.'; } $new_val = change_q(substr(trim($aForm['new_val']), 0, 4000), false, 90); break; case 'company': if (strlen($aForm['new_val']) > 500) { $error = 'Допустимо максимум 500 знаков.'; } $new_val = substr(change_q_x($aForm['new_val'], false, true, null, false, false), 0, 500); break; case 'status_text': $new_val = addslashes(substr(stripslashes(trim($aForm['new_val'])), 0, 200)); close_tags($new_val, 's'); $new_val = htmlspecialchars(htmlspecialchars_decode(change_q_x(trim($new_val), true, false), ENT_QUOTES), ENT_QUOTES); break; case 'compname': $new_val = change_q_x($aForm['new_val'], true); break; default: setlocale(LC_ALL, 'en_US.UTF-8'); return false; break; } setlocale(LC_ALL, 'en_US.UTF-8'); if (!$error) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages.php'; if ($bNew) { $sReason = _parseReason($rec_id, $aForm['adm_edit_text']); messages::profileModifiedNotification($rec_id, $aForm['p_ucolumn'], $aForm['p_utable'], $sReason); if ($sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2') { user_content::editProfile($aForm['p_change_id'], $new_val); } } $objResponse->script('adm_edit_content.cancel();'); if ($sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2') { $objResponse->script('parent.adm_edit_content.cancel();'); resolveContent($aForm['p_content_id'], $aForm['p_stream_id'], user_content::MODER_PROFILE . '_' . $aForm['p_change_id'] . '_0', 1, $rec_id, $aForm['p_content_cnt'], $aForm['p_status'], $aForm['p_is_sent'], '', $objResponse); } else { // действие после редактирования по умолчанию if ($bNew) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/' . $aForm['p_utable'] . '.php'; $user = new $aForm['p_utable'](); $user->{$aForm}['p_ucolumn'] = $new_val; $user->moduser_id = $_SESSION['uid']; $user->Update($rec_id, $res); } if ($sDrawFunc == 'suspect') { // шерстим все профили на наличие контактов в админке $objResponse->script("window.location = '/siteadmin/suspicious_contacts/?site={$aForm['p_site']}&action=resolve&sid={$aForm['p_sid']}&page={$aForm['p_page']}'"); return 0; } $objResponse->script('window.location.reload(true)'); } } else { $sParent = $sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2' ? 'parent.' : ''; $objResponse->script("{$sParent}\$('adm_edit_err_new_val').set('html', '{$error}');"); $objResponse->script("{$sParent}\$('div_adm_edit_err_new_val').setStyle('display', '');"); $objResponse->script("{$sParent}adm_edit_content.disabled = false; {$sParent}adm_edit_content.button();"); } }
$sms_gate = new sms_gate_a1($reqvs[$form_type]['phone']); if (!$sms_gate->isNextSend()) { $sms_gate->sendAuthCellCode(sms_gate::TYPE_ACTIVATE); $_SESSION['sms_accept_code'] = $sms_gate->getAuthCode(); $_SESSION['sms_accept_phone'] = $reqvs[$form_type]['phone']; if (SMS_GATE_DEBUG) { $code_debug = $sms_gate->getAuthCode(); } } } unset($err['phone']); } $error['sbr'] = $err; } elseif (!$is_adm) { //Если есть сделки то отправляем обновленные данные на проверку модератору в потоки user_content::sendToModeration($uid, user_content::MODER_SBR_REQV); } } if (!$error) { unset($_SESSION['sms_accept_code'], $_SESSION['sms_accept_phone'], $_SESSION['sms_accept']); $_SESSION['users.setup.fin_success'] = 1; //@todo: неиспользуется отправка письма об изменений финансов админу /* if(!hasPermissions('users')) { $smail = new smail(); $smail->FinanceChanged($login); } */ $uri = ($redirect_uri = __paramInit('string', NULL, 'redirect_uri')) ? urldecode($redirect_uri) : "/users/{$login}/setup/finance/"; if ($redirect_uri) { unset($_SESSION['users.setup.fin_success']);
<?php /* * Удаляет ключи из мемкеша связанные с потоками и чисит таблицы в базе. * Это приводит к тому, что структура потоков создается заново. * * @author Max 'BlackHawk' Yastrembovich */ require_once '../classes/stdf.php'; require_once '../classes/user_content.php'; $mem_buff = new memBuff(); $DB9 = new DB('plproxy'); $mem_buff->touchTag('user_content'); $DB9->query('SELECT mod_streams_release()'); $user_content = new user_content(); $user_content->releaseDelayedStreams(); // чтобы отработал метод _initStreams
*/ define('IS_SITE_ADMIN', 1); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; session_start(); $uid = get_uid(); $site = __paramInit('string', 'site', 'site', 'choose'); if (!in_array($site, user_content::$site_allow)) { header_location_exit('/404.php'); exit; } if (!isset($aPermissions)) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php'; $aPermissions = permissions::getUserPermissions($uid); } $user_content = new user_content($uid, $aPermissions); if (!$user_content->hasPermissions($site) || !user_content::isAllowed('adm', $aPermissions)) { header_location_exit('/404.php'); exit; } $menu_item = array_search($site, user_content::$site_allow); $rpath = '../../'; $css_file = array('moderation.css', 'nav.css', '/css/block/b-button/__icon/b-button__icon.css', '/css/block/b-icon/_dop/b-icon_dop.css', '/css/block/b-input-hint/b-input-hint.css'); $js_file = array('user_content.js'); $header = $rpath . 'header.php'; $inner_page = "{$site}_inner.php"; $content = '../content22.php'; $footer = $rpath . 'footer.html'; $template = 'template2.php'; $no_tpl = array('stream', 'blocked', 'frames'); $js_file_utf8[] = '/scripts/ckedit/ckeditor.js';
public function isAllowFinance($uid, $is_emp = false) { $is_valid = ReservesHelper::getInstance()->isValidUserReqvs($uid, $is_emp); $fn_status = ReservesHelper::getInstance()->getFinStatus($uid); if ($is_valid && $fn_status === 0) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; user_content::sendToModeration($uid, user_content::MODER_SBR_REQV); } return $is_valid && $fn_status == 2; }
/** * Устанавливает поля в форме редактирования предупреждения пользователя * * @param int $sUid UID пользователя * @param int $sWarnId ID предупреждения при редактировании/снятии * @param int $edit флаг редактирования причины предупреждения * @return object xajaxResponse */ function setUserWarnForm($sUid = 0, $sWarnId = 0, $edit = 0, $contextId, $streamType) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; session_start(); $objResponse = new xajaxResponse(); $users = new users(); if (hasPermissions('users') && !$users->GetUserByUID($sUid)) { $customReason = $reasonId = ''; $aUserWarn = admin_log::getUserWarn($sWarnId); $sUniqId = "warnUser{$sUid}"; $sObjName = $users->uname . ' ' . $users->usurname . ' [' . $users->login . ']'; $sReason = ''; $reasonId = 0; if (!$aUserWarn) { // инициализируем предупреждение по умолчанию $nActId = 1; $objResponse->assign('warn_label', 'innerHTML', 'Сделать'); } else { if ($edit) { // инициализируем данными предупреждения $nActId = 1; $sReason = $aUserWarn['reason']; $reasonId = $aUserWarn['reason_id']; $objResponse->assign('warn_label', 'innerHTML', 'Редактировать'); } else { // инициализируем снятие предупреждения по умолчанию $nActId = 2; $objResponse->assign('warn_label', 'innerHTML', 'Снять'); } } $customReason = $reasonId ? '' : $sReason; $readonly = $reasonId ? true : false; $sSelectOptions = _getAdminActionReasonOptions($nActId, $reasonId); $sBanDiv = '<div id="bfrm_div_sel_' . $sUniqId . '"><select id="bfrm_sel_' . $sUniqId . '" name="bfrm_sel_' . $sUniqId . '" onchange="banned.setReason(\'' . $sUniqId . '\');">' . $sSelectOptions . '</select></div><textarea id="bfrm_' . $sUniqId . '" name="bfrm_' . $sUniqId . '" cols="" rows="">' . $sReason . '</textarea>'; $objResponse->assign('warn_div', 'innerHTML', $sBanDiv); $objResponse->assign('warn_name', 'innerHTML', $sObjName); $objResponse->assign('warn_name', 'href', '/users/' . $users->login); if ($contextId == 'moder') { list($s_stream_id, $s_content_id, $s_rec_id, $s_rec_type) = explode('-', $streamType); require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/user_content.php"; $s_nActId = user_content::getReasonGroup($s_content_id, $s_rec_type); $sSelectOptions = _getAdminActionReasonOptions($s_nActId, $reasonId); $sBanDivStream = '<div id="bfrm_div_sel_stream_' . $sUniqId . '"><select id="bfrm_sel_stream_' . $sUniqId . '" name="bfrm_sel_stream_' . $sUniqId . '" onchange="banned.setReasonStream(\'' . $sUniqId . '\');">' . $sSelectOptions . '</select></div><textarea id="bfrm_stream_' . $sUniqId . '" name="bfrm_stream_' . $sUniqId . '" cols="" rows="">' . $sReason . '</textarea>'; $objResponse->assign('warn_div_stream', 'innerHTML', $sBanDivStream); $btnOnclick = "banned.commit(banned.banUid,\$('bfrm_'+banned.banUid).get('value'), \$('bfrm_stream_'+banned.banUid).get('value') );"; $objResponse->script("\$('warn_btn').set('onclick', \"{$btnOnclick}\")"); $objResponse->script("banned.buffer['{$sUniqId}'].streamId = '{$s_stream_id}';"); $objResponse->script("banned.context['moder'].contentId = '{$s_content_id}';"); $objResponse->script("banned.context['moder'].streamId = '{$s_stream_id}';"); $objResponse->script("banned.context['moder'].recId = '{$s_rec_id}';"); } $objResponse->script("banned.banUid = '{$sUniqId}';"); $objResponse->script("banned.buffer['{$sUniqId}'].act_id = {$nActId};"); $objResponse->script("banned.buffer['{$sUniqId}'].customReason[{$nActId}] = '{$customReason}';"); $objResponse->script("banned.buffer['{$sUniqId}'].reasonId[{$nActId}] = '{$reasonId}';"); $objResponse->script("\$('warn_btn').set('disabled',false);\$('warn_close').set('disabled',false);\$('warn_btn').set('value','Сохранить');"); $objResponse->script("\$('ov-notice').setStyle('display', '');"); } return $objResponse; }
header_location_exit('/404.php'); } $aUTL = admin_log::getUserToLogInfo($uid, $sLogId); admin_log::setLogCLV($uid, $sLogId); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/comments/CommentsAdminLog.php'; $maxlevel = 10; $maxwidth = 460; $minus_level_width = 2; $comments = new CommentsAdminLog($sLogId, $aUTL['last_comment_view'], array('maxlevel' => $maxlevel, 'maxwidth' => $maxwidth, 'minus_level_width' => $minus_level_width, 'hidden_threads' => $aUTL['hidden_threads'])); $comments->tpl_path = $_SERVER['DOCUMENT_ROOT'] . '/classes/comments/'; $comments_html = $comments->render(); $css_file[] = 'wysiwyg.css'; $css_file[] = 'hljs.css'; $js_file = array_merge($js_file, array('highlight.min.js', 'highlight.init.js', 'mooeditable.new/MooEditable.ru-RU.js', 'mooeditable.new/rangy-core.js', 'mooeditable.new/MooEditable.js', 'mooeditable.new/MooEditable.Pagebreak.js', 'mooeditable.new/MooEditable.UI.MenuList.js', 'mooeditable.new/MooEditable.Extras.js', 'mooeditable.new/init.js', 'comments.all.js', 'banned.js')); } $aDays = range(1, 31); $aYears = array_reverse(range(2007, date('Y'))); $aMounth = array('01' => 'Января', '02' => 'Февраля', '03' => 'Марта', '04' => 'Апреля', '05' => 'Мая', '06' => 'Июня', '07' => 'Июля', '08' => 'Августа', '09' => 'Сентября', '10' => 'Октября', '11' => 'Ноября', '12' => 'Декабря'); $shifts = user_content::getShifts(); // admin_actions.id $aRed = array(3, 5, 7, 9, 11, 13, 15, 18, 22, 24, 27, 29, 31); $aYellow = array(1); $aGreen = array(2, 4, 6, 8, 10, 12, 14, 16, 17, 19, 23, 25, 28, 30, 32); // Ключи - admin_actions.obj_code $aClass = array(admin_log::OBJ_CODE_USER => 'color-666666', admin_log::OBJ_CODE_BLOG => 'color-45a300', admin_log::OBJ_CODE_PROJ => '', admin_log::OBJ_CODE_COMM => 'color-45a300', admin_log::OBJ_CODE_ART => ''); // причина действия содержит другие данные $aReasonData = array(admin_log::ACT_ID_BLOG_CH_GR, admin_log::ACT_ID_PRJ_CH_SPEC, admin_log::ACT_ID_PRJ_DEL_OFFER, admin_log::ACT_ID_PRJ_RST_OFFER, admin_log::ACT_ID_BLOG_DEL_COMM, admin_log::ACT_ID_BLOG_RST_COMM, admin_log::ACT_ID_USR_CH_RATING); // в ленте показывать атора объекта для следующих действий admin_actions.id $aLogShowAuthor = array(admin_log::ACT_ID_PRJ_BLOCK_OFFER, admin_log::ACT_ID_PRJ_UNBLOCK_OFFER, admin_log::ACT_ID_PORTFOLIO_BLOCK, admin_log::ACT_ID_PORTFOLIO_UNBLOCK, admin_log::ACT_ID_PRJ_DIALOG_BLOCK, admin_log::ACT_ID_PRJ_DIALOG_UNBLOCK); include "{$site}.php"; include $rpath . $template;
register_anchor_function('init_subscriptions_js', 'cb_head'); /** * Dashboard Function */ register_filter('dashboard', '_order_dashboard_widgets_positions'); register_filter('dashboard_widgets', '_test_function_ordering'); register_anchor_function('init_dashboard_js', 'cb_head'); setup_myaccount_dashboard(); /** * User Content Setup */ register_filter('object_name', 'usercontent_make_label'); register_filter('content_type_name', 'usercontent_make_label'); register_filter('object_name', 'lang'); register_filter('content_type_name', 'lang'); $usercontent = new user_content(); $usercontent->object_group = 'content'; $usercontent->object = 'videos'; $usercontent->section = true; $usercontent->content_type = 'uploaded'; $usercontent->get_callback = 'cb_get_user_uploaded_videos'; $usercontent->permissions = 'show_my_videos'; $usercontent->access = 'view_videos'; $usercontent->add_new_content(); $usercontent->object_group = 'content'; $usercontent->object = 'videos'; $usercontent->section = true; $usercontent->content_type = 'favorite'; $usercontent->get_callback = 'cb_get_user_favorite_videos'; $usercontent->permissions = 'show_my_videos'; $usercontent->access = 'view_videos';