/** * Дополнительные действия, выполняемые после редактирования * * @param object $objResponse xajaxResponse * @param int $content_id идентификатор сущности из admin_contents * @param int $rec_id идентификатор записи * @param int $rec_type тип записи * @param string $sDrawFunc имя функции для выполнения после сохранения * @param array $aForm массив данных */ function _admEditAfterAll(&$objResponse, $content_id = 0, $rec_id = 0, $rec_type = 0, $sDrawFunc = '', $aForm = array()) { $objResponse->script('adm_edit_content.cancel();'); if ($sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2') { // из потоков $objResponse->script('parent.adm_edit_content.cancel();'); if ($sDrawFunc != 'stream1') { resolveContent($aForm['p_content_id'], $aForm['p_stream_id'], $content_id . '_' . $rec_id . '_' . $rec_type, 1, $aForm['user_id'], $aForm['p_content_cnt'], $aForm['p_status'], $aForm['p_is_sent'], '', $objResponse); } else { $objResponse->script('window.location.reload(true)'); } } elseif ($sDrawFunc == 'blocked') { // из админки "заблокированные" global $user_content; $sid = $content_id . '_' . $rec_id . '_' . $rec_type; $user_content->unblock($content_id, $aForm['user_id'], $rec_id, $rec_type, $aForm['p_is_sent']); $objResponse->script("\$('my_div_content_{$sid}').destroy();"); $objResponse->script('user_content.spinner.hide();'); } elseif ($sDrawFunc == 'suspect') { // шерстим все профили на наличие контактов в админке require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php'; if ($content_id == user_content::MODER_PORTFOLIO) { $objResponse->script("window.location = '/siteadmin/suspicious_contacts/?site={$aForm['p_site']}&action=resolve&sid={$aForm['p_sid']}&page={$aForm['p_page']}'"); } } else { // действие после редактирования по умолчанию $objResponse->script('window.location.reload(true)'); } }
/** * Удаление сущности * * @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; }