Ejemplo n.º 1
0
            }*/
     }
     if ($PDA) {
         $content = "new_cnt.php";
     }
     break;
 case "delete":
     $token = $_GET['u_token_key'];
     if (!$uid || $token != $_SESSION['rand']) {
         header("Location: /fbd.php");
         die;
     }
     $id = intval(trim($_GET['id']));
     if ($id && $uid) {
         $msg = blogs::GetMsgInfo($id, $error, $perm);
         $thread = blogs::MarkDeleteMsg($uid, $id, getRemoteIP(), $err, $mod);
         $blog_data = new blogs();
         $blog_data->GetThread($thread, $err, $mod, $uid);
         if (hasPermissions('blogs') && $msg['fromuser_id'] != $uid && $blog_data->fromuser_id != $uid) {
             require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/messages.php";
             messages::SendMsgDelWarn($id, $msg);
         }
         // пишем лог админских действий: удаление комментария в блоге
         if (hasPermissions('blogs') && $msg['fromuser_id'] != $uid) {
             require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/admin_log.php';
             $sLink = getFriendlyURL('blog', $thread);
             $sReason = '<a href="' . $sLink . "?openlevel={$id}#o{$id}" . '" target="_blank">Комментарий</a> от <a href="' . $GLOBALS['host'] . '/users/' . $msg['login'] . '" target="_blank">' . $msg['uname'] . ' ' . $msg['usurname'] . ' [' . $msg['login'] . ']</a>';
             admin_log::addLog(admin_log::OBJ_CODE_BLOG, admin_log::ACT_ID_BLOG_DEL_COMM, $blog_data->fromuser_id, $thread, $blog_data->title, $sLink, 0, '', 0, $sReason);
         }
     }
     exit(header("Location: " . getFriendlyURL("blog", $_GET['tr']) . "?openlevel={$id}#o{$id}" . ($_GET["ord"] ? "&ord=" . $_GET["ord"] : "")));
Ejemplo n.º 2
0
/**
 * Удаление сущности
 * 
 * @param  string $sId составной уникальный ID сущности
 * @param  int $sUid UID сздателя сущности
 * @param  string $sReason причина удаления
 * @param  string $sDrawFunc имя функции для выполнения после сохранения
 * @param  string $sParams JSON кодированные дополнительные параметры
 * @return xajaxResponse 
 */
function setDeleted($sId = '', $sUid = 0, $sReason = '', $sDrawFunc = '', $sParams = '')
{
    session_start();
    $objResponse = new xajaxResponse();
    list($rec_content_id, $rec_id, $rec_type) = explode('_', $sId);
    $aParams = _jsonArray($sParams);
    if ($sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2') {
        // удаление в потоках
        resolveContent($aParams['content_id'], $aParams['stream_id'], $sId, 2, $sUid, $aParams['content_cnt'], $aParams['status'], $aParams['is_sent'], $sReason, $objResponse);
    } else {
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php';
        require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php';
        $aPermissions = permissions::getUserPermissions($_SESSION['uid']);
        $user_content = new user_content($_SESSION['uid'], $aPermissions);
        $bSend = false;
        if ($user_content->hasContentPermissions($rec_content_id)) {
            if (strpos($sReason, '%USERNAME%') !== false && $sUid) {
                $user = new users();
                $user->GetUserByUID($sUid);
                $sReason = str_replace('%USERNAME%', $user->uname . ' ' . $user->usurname, $sReason);
            }
            switch ($rec_content_id) {
                case user_content::MODER_MSSAGES:
                    switch ($sDrawFunc) {
                        // дейсвие из переписки между юзерами
                        case 'updateLetter':
                            updateLetter($rec_id, $sUid, 2, $sReason, $objResponse);
                            break;
                        case 'delLetter':
                            // в потоке - важно чтобы поток не был потерян либо перехвачен
                        // в потоке - важно чтобы поток не был потерян либо перехвачен
                        default:
                            delLetter($aParams['stream_id'], $sUid, $rec_id . '_' . $rec_type, $sReason, $objResponse);
                            break;
                    }
                    break;
                case user_content::MODER_BLOGS:
                    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
                    if ($rec_type == 1) {
                        // post
                        blogs::MarkDeleteBlog($_SESSION['uid'], $rec_id, $group, $base, $thread_id, $page, $msg, 0, $sReason);
                    } else {
                        // comment
                        blogs::MarkDeleteMsg($_SESSION['uid'], $rec_id, getRemoteIP(), $err, 0, $sReason);
                    }
                    $bSend = true;
                    break;
                case user_content::MODER_TSERVICES:
                    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices.php';
                    $tserviceObj = new tservices();
                    if ($tserviceObj->Blocked($rec_id, $_SESSION['uid'], $sReason)) {
                        $objResponse->script("\$('ov-notice22-r').toggleClass('b-shadow_hide');");
                        $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::reqvBlocked($rec_id, $_SESSION['uid'], $sReason, 0, $_SESSION['login'])) {
                        $finSmail = new FinanceSmail();
                        $finSmail->financeBlocked($rec_id, $sReason);
                        $objResponse->script("\$('ov-notice22-r').toggleClass('b-shadow_hide');");
                        $objResponse->script("\$\$('#__finance_blocked,#__finance_unblocked').toggleClass('b-button_hide');");
                    }
                    break;
                default:
                    break;
            }
            if ($bSend) {
                $user_content->sendNotification($_SESSION['uid'], $sUid, $rec_content_id, $rec_id, $rec_type, 2, $sReason);
                $objResponse->script('window.location.reload(true)');
            }
        }
        return $objResponse;
    }
    $objResponse->script("delete banned.buffer['delreason_{$sId}'];");
    $objResponse->script("parent.\$\$(\"div[id^='ov-notice']\").setStyle('display', 'none');");
    $objResponse->script("parent.\$('ov-notice22-r').toggleClass('b-shadow_hide');");
    return $objResponse;
}