Beispiel #1
0
 /**
  * Рексизиты финансов. Утверждение/удаление записи
  * 
  * @param  string $stream_id идентификатор потока
  * @param  int $user_id идентификатор модератора
  * @param  int $from_id идентификатор пользователя
  * @param  int $rec_id идентификатор записи
  * @param  int $rec_type тип записи 
  * @param  int $action действие: 1 - утверждено, 2 - удалено
  * @param  string $is_sent было ли отправлено уведомление
  * @param  string $reason причина удаления
  */
 function resolveSbrReqv($stream_id = '', $user_id = 0, $from_id = 0, $rec_id = 0, $rec_type = 0, $action = 1, $is_sent = '', $reason = '')
 {
     $bRet = false;
     $sQuery = 'UPDATE moderation SET moder_num = ?i, status = ?i WHERE rec_id = ?i AND rec_type = ?i AND stream_id = ? RETURNING rec_id';
     $sRecId = $GLOBALS['DB']->val($sQuery, $this->nResolveCnt, $action, $rec_id, self::MODER_SBR_REQV, $stream_id);
     if ($sRecId) {
         $data = $GLOBALS['DB']->row("\n                SELECT \n                    sr.*,\n                    COALESCE(srb.src_id::boolean, FALSE) AS is_blocked \n                FROM sbr_reqv AS sr\n                LEFT JOIN sbr_reqv_blocked AS srb ON srb.src_id = sr.user_id\n                WHERE sr.user_id = ?i\n                LIMIT 1\n            ", $rec_id);
         if ($data) {
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/Finance/FinanceSmail.php';
             $finSmail = new FinanceSmail();
             $bRet = true;
             if ($action == 1 && $data['is_blocked'] == 't') {
                 //разблокируем если было блокированно
                 $GLOBALS['DB']->query("\n                        DELETE FROM sbr_reqv_blocked \n                        WHERE src_id = ?i\n                    ", $rec_id);
                 //Обновляем статус на "Проверенные данные"
                 if ($GLOBALS['DB']->update('sbr_reqv', array('validate_status' => 2), 'user_id = ?i', $rec_id)) {
                     $finSmail->financeUnBlocked($rec_id);
                 }
             } elseif ($action == 2 && $data['is_blocked'] != 't') {
                 //блокируем
                 $sBlockId = $GLOBALS['DB']->val("\n                        INSERT INTO sbr_reqv_blocked (\n                            src_id, \n                            admin, \n                            reason, \n                            reason_id, \n                            blocked_time) \n                        VALUES(?i, ?i, ?, ?i, NOW()) RETURNING id\n                     ", $rec_id, $user_id, $reason, 0);
                 //Обновляем статус на "Отклоненные данные"
                 if ($GLOBALS['DB']->update('sbr_reqv', array('validate_status' => -1), 'user_id = ?i', $rec_id)) {
                     $finSmail->financeBlocked($rec_id, $reason);
                 }
             }
         }
     }
     return $bRet;
 }
Beispiel #2
0
/**
 * Разблокирование сущности, ввиде гномика ;)
 * 
 * @param  string $sId составной уникальный ID сущности
 */
function unBlocked($sId)
{
    session_start();
    $objResponse = new xajaxResponse();
    $uid = get_uid(FALSE);
    list($rec_content_id, $rec_id, $rec_type) = explode('_', $sId);
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php';
    $aPermissions = permissions::getUserPermissions($uid);
    $user_content = new user_content($uid, $aPermissions);
    if ($user_content->hasContentPermissions($rec_content_id)) {
        switch ($rec_content_id) {
            case user_content::MODER_TSERVICES:
                require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices.php';
                $tserviceObj = new tservices();
                $tserviceObj->unBlocked($rec_id, $uid);
                $objResponse->script("\$\$('#__tservices_blocked,#__tservices_unblocked').toggleClass('b-button_hide');");
                break;
            case user_content::MODER_SBR_REQV:
                require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php';
                require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/Finance/FinanceSmail.php';
                if (sbr_meta::reqvUnBlocked($rec_id, $uid, $_SESSION['login'])) {
                    $finSmail = new FinanceSmail();
                    $finSmail->financeUnBlocked($rec_id);
                    $objResponse->script("\$\$('#__finance_blocked,#__finance_unblocked').toggleClass('b-button_hide');");
                }
                break;
        }
    }
    return $objResponse;
}