Exemplo n.º 1
0
//  аждые пол часа обновл¤ем статус рассылок
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();");
    }
}
Exemplo n.º 3
0
                 $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']);
Exemplo n.º 4
0
<?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
Exemplo n.º 5
0
 */
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';
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 7
0
/**
 * Устанавливает поля в форме редактирования предупреждения пользователя
 * 
 * @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;
}
Exemplo n.º 8
0
        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;
Exemplo n.º 9
0
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';