public static function Delete($ID) { global $DB; $ID = IntVal($ID); $arResult = CBlogComment::GetByID($ID); foreach(GetModuleEvents("blog", "OnBeforeCommentDelete", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, Array($ID))===false) return false; } if ($arResult) { $DB->Query( "UPDATE b_blog_comment SET ". " PARENT_ID = ".((IntVal($arResult["PARENT_ID"]) > 0) ? IntVal($arResult["PARENT_ID"]) : "null")." ". "WHERE PARENT_ID = ".$ID." ". " AND BLOG_ID = ".IntVal($arResult["BLOG_ID"])." ". " AND POST_ID = ".IntVal($arResult["POST_ID"])." ", true ); if($arResult["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH) CBlogPost::Update($arResult["POST_ID"], array("=NUM_COMMENTS" => "NUM_COMMENTS - 1")); $res = CBlogImage::GetList(array(), array("BLOG_ID" => $arResult["BLOG_ID"], "POST_ID"=>$arResult["POST_ID"], "IS_COMMENT" => "Y", "COMMENT_ID" => $ID)); while($aImg = $res->Fetch()) CBlogImage::Delete($aImg['ID']); $GLOBALS["USER_FIELD_MANAGER"]->Delete("BLOG_COMMENT", $ID); } unset($GLOBALS["BLOG_COMMENT"]["BLOG_COMMENT_CACHE_".$ID]); foreach(GetModuleEvents("blog", "OnCommentDelete", true) as $arEvent) ExecuteModuleEventEx($arEvent, Array($ID)); if (CModule::IncludeModule("search")) { CSearch::Index("blog", "C".$ID, array( "TITLE" => "", "BODY" => "" ) ); } return $DB->Query("DELETE FROM b_blog_comment WHERE ID = ".$ID."", true); }
function Delete($ID) { global $DB; $ID = IntVal($ID); $arPost = CBlogPost::GetByID($ID); if ($arPost) { $db_events = GetModuleEvents("blog", "OnBeforePostDelete"); while ($arEvent = $db_events->Fetch()) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } $dbResult = CBlogComment::GetList(array(), array("POST_ID" => $ID), false, false, array("ID")); while ($arResult = $dbResult->Fetch()) { if (!CBlogComment::Delete($arResult["ID"])) { return False; } } $dbResult = CBlogUserGroupPerms::GetList(array(), array("POST_ID" => $ID, "BLOG_ID" => $arPost["BLOG_ID"]), false, false, array("ID")); while ($arResult = $dbResult->Fetch()) { if (!CBlogUserGroupPerms::Delete($arResult["ID"])) { return False; } } $dbResult = CBlogTrackback::GetList(array(), array("POST_ID" => $ID, "BLOG_ID" => $arPost["BLOG_ID"]), false, false, array("ID")); while ($arResult = $dbResult->Fetch()) { if (!CBlogTrackback::Delete($arResult["ID"])) { return False; } } $dbResult = CBlogPostCategory::GetList(array(), array("POST_ID" => $ID, "BLOG_ID" => $arPost["BLOG_ID"]), false, false, array("ID")); while ($arResult = $dbResult->Fetch()) { if (!CBlogPostCategory::Delete($arResult["ID"])) { return False; } } $strSql = "SELECT F.ID " . "FROM b_blog_post P, b_file F " . "WHERE P.ID = " . $ID . " " . "\tAND P.ATTACH_IMG = F.ID "; $z = $DB->Query($strSql, false, "FILE: " . __FILE__ . " LINE:" . __LINE__); while ($zr = $z->Fetch()) { CFile::Delete($zr["ID"]); } unset($GLOBALS["BLOG_POST"]["BLOG_POST_CACHE_" . $ID]); $arBlog = CBlog::GetByID($arPost["BLOG_ID"]); $result = $DB->Query("DELETE FROM b_blog_post WHERE ID = " . $ID . "", true); if (IntVal($arBlog["LAST_POST_ID"]) == $ID) { CBlog::SetStat($arPost["BLOG_ID"]); } if ($result) { $res = CBlogImage::GetList(array(), array("POST_ID" => $ID, "IS_COMMENT" => "N")); while ($aImg = $res->Fetch()) { CBlogImage::Delete($aImg['ID']); } } if ($result) { $GLOBALS["USER_FIELD_MANAGER"]->Delete("BLOG_POST", $ID); } $db_events = GetModuleEvents("blog", "OnPostDelete"); while ($arEvent = $db_events->Fetch()) { ExecuteModuleEventEx($arEvent, array($ID, &$result)); } if (CModule::IncludeModule("search")) { CSearch::Index("blog", "P" . $ID, array("TITLE" => "", "BODY" => "")); //CSearch::DeleteIndex("blog", false, "COMMENT", $arPost["BLOG_ID"]."|".$ID); } return $result; } else { return false; } return True; }
$_POST['perms_p'][1] = BLOG_PERMS_READ; } if ($_POST['perms_c'][1] > BLOG_PERMS_READ) { $_POST['perms_c'][1] = BLOG_PERMS_READ; } $arFields['PERMS_POST'] = $_POST['perms_p']; $arFields['PERMS_COMMENT'] = $_POST['perms_c']; } else { $arFields['PERMS_POST'] = array(); $arFields['PERMS_COMMENT'] = array(); } while (is_array($_POST['IMAGE_ID_title']) && (list($imgID, $imgTitle) = each($_POST['IMAGE_ID_title']))) { $aImg = CBlogImage::GetByID($imgID); if ($aImg['BLOG_ID'] == $BLOG_ID && $aImg['POST_ID'] == $ID) { if ($_POST['IMAGE_ID_del'][$imgID]) { CBlogImage::Delete($imgID); $arFields['DETAIL_TEXT'] = str_replace("[IMG ID={$imgID}]", "", $arFields['DETAIL_TEXT']); } else { CBlogImage::Update($imgID, array("TITLE" => $imgTitle)); } } } if ($ID > 0) { // Проверяем: новая запись или изменение старой $newID = CBlogPost::Update($ID, $arFields); } else { $arFields['=DATE_CREATE'] = $DB->GetNowFunction(); $arFields['AUTHOR_ID'] = $USER_ID; $arFields['BLOG_ID'] = $BLOG_ID; $newID = CBlogPost::Add($arFields); if ($newID && $arBlog['EMAIL_NOTIFY'] == 'Y' && $USER_ID != $arBlog['OWNER_ID']) {
$res = CBlogImage::GetList(array(), array("POST_ID" => $arPost["ID"], "BLOG_ID" => $arBlog["ID"], "COMMENT_ID" => $commentID, "IS_COMMENT" => "Y")); while ($aImg = $res->Fetch()) { $images[$aImg["ID"]] = $aImg["FILE_ID"]; } $arParamsUpdateLog = array("PATH_TO_SMILE" => $arParams["PATH_TO_SMILE"], "IMAGES" => $images); if (IntVal($user_id) > 0) { $arResult["BlogUser"] = CBlogUser::GetByID($user_id, BLOG_BY_USER_ID); $arResult["BlogUser"] = CBlogTools::htmlspecialcharsExArray($arResult["BlogUser"]); $dbUser = CUser::GetByID($user_id); $arResult["arUser"] = $dbUser->GetNext(); $arResult["User"]["NAME"] = CBlogUser::GetUserName($arResult["BlogUser"]["ALIAS"], $arResult["arUser"]["NAME"], $arResult["arUser"]["LAST_NAME"], $arResult["arUser"]["LOGIN"]); } CBlogComment::UpdateLog($commentID, $arResult["BlogUser"], $arResult["User"], $arFields, $arPost, $arParamsUpdateLog); $res = CBlogImage::GetList(array(), array("POST_ID" => $arPost["ID"], "BLOG_ID" => $arBlog["ID"], "IS_COMMENT" => "Y", "COMMENT_ID" => false, "<=TIMESTAMP_X" => ConvertTimeStamp(AddToTimeStamp(array("HH" => -3)), "FULL"))); while ($aImg = $res->Fetch()) { CBlogImage::Delete($aImg["ID"]); } $commentUrl = CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => CBlogPost::GetPostID($arPost["ID"], $arPost["CODE"], $arParams["ALLOW_POST_CODE"]), "user_id" => $arBlog["OWNER_ID"])); $commentUrl .= strpos($commentUrl, "?") !== false ? "&" : "?"; if (strlen($arFields["PUBLISH_STATUS"]) > 0 && $arFields["PUBLISH_STATUS"] != BLOG_PUBLISH_STATUS_PUBLISH) { $arResult["MESSAGE"] = GetMessage("B_B_PC_MES_HIDDEN_EDITED"); } $arResult["ajax_comment"] = $commentID; $bHasImg = false; $bHasProps = false; $dbImg = CBlogImage::GetList(array(), array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arPost["ID"], "IS_COMMENT" => "Y"), false, false, array("ID")); if ($dbImg->Fetch()) { $bHasImg = true; } $arPostFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("BLOG_COMMENT", $commentID, LANGUAGE_ID); foreach ($arPostFields as $arPostField) {
} } echo CUtil::PhpToJsObject(array('SUCCESS' => 'Y', "FILE_ID" => $file_id)); } } if (isset($_REQUEST["post_id"]) && intval($_REQUEST["post_id"]) > 0) { // Blog Images $varKey = "MFU_UPLOADED_IMAGES_" . $GLOBALS["USER"]->GetId() . "_" . intval($_REQUEST["post_id"]); if (in_array($file_id, $_SESSION[$varKey])) { $rsFile = CFile::GetByID($file_id); if ($arFile = $rsFile->Fetch()) { $bFileFound = true; if (CModule::IncludeModule('blog')) { $rsBlogImage = CBlogImage::GetList(array(), array("FILE_ID" => $file_id)); if ($arBlogImage = $rsBlogImage->Fetch()) { CBlogImage::Delete($arBlogImage["ID"]); BXClearCache(true, "/blog/socnet_post/" . intval($_REQUEST["post_id"]) . "/"); BXClearCache(true, "/blog/socnet_post/gen/" . intval($_REQUEST["post_id"]) . "/"); } } CFile::Delete($file_id); foreach ($_SESSION[$varKey] as $key => $session_file_id) { if ($session_file_id == $file_id) { unset($_SESSION[$varKey][$key]); break; } } echo CUtil::PhpToJsObject(array('SUCCESS' => 'Y', "FILE_ID" => $file_id)); } } }
CBlog::AddSocnetRead($blogID); } $arBlog = CBlog::GetByID($blogID, $arParams["GROUP_ID"]); } } } else { $arResult["ERROR_MESSAGE"] = GetMessage("BPE_SESS"); } } if ($_GET["image_upload_frame"] == "Y" || $_GET["image_upload"] || $_POST["do_upload"] || $_GET["del_image_id"]) { if (check_bitrix_sessid()) { if (IntVal($_GET["del_image_id"]) > 0) { $del_image_id = IntVal($_GET["del_image_id"]); $aImg = CBlogImage::GetByID($del_image_id); if ($aImg["BLOG_ID"] == $arBlog["ID"] && $aImg["POST_ID"] == IntVal($arParams["ID"])) { CBlogImage::Delete($del_image_id); } $APPLICATION->RestartBuffer(); die; } else { $arResult["imageUploadFrame"] = "Y"; $arResult["imageUpload"] = "Y"; $APPLICATION->RestartBuffer(); header("Pragma: no-cache"); $arFields = array(); if ($_FILES["BLOG_UPLOAD_FILE"]["size"] > 0) { $arFields = array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arParams["ID"], "USER_ID" => $arResult["UserID"], "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => $_POST["IMAGE_TITLE"], "IMAGE_SIZE" => $_FILES["BLOG_UPLOAD_FILE"]["size"]); $arImage = array_merge($_FILES["BLOG_UPLOAD_FILE"], array("MODULE_ID" => "blog", "del" => "Y")); $arFields["FILE_ID"] = $arImage; } elseif ($_POST["do_upload"] && $_FILES["FILE_ID"]["size"] > 0) { $arFields = array("BLOG_ID" => $arBlog["ID"], "POST_ID" => $arParams["ID"], "USER_ID" => $arResult["UserID"], "=TIMESTAMP_X" => $DB->GetNowFunction(), "TITLE" => $_POST["IMAGE_TITLE"], "IMAGE_SIZE" => $_FILES["FILE_ID"]["size"], "URL" => $arBlog["URL"]);
function Delete($ID) { global $DB; $ID = IntVal($ID); $bSuccess = True; $db_events = GetModuleEvents("blog", "OnBeforeBlogDelete"); while ($arEvent = $db_events->Fetch()) { if (ExecuteModuleEventEx($arEvent, array($ID)) === false) { return false; } } $events = GetModuleEvents("blog", "OnBlogDelete"); while ($arEvent = $events->Fetch()) { ExecuteModuleEventEx($arEvent, array($ID)); } $arBlog = CBlog::GetByID($ID); $DB->StartTransaction(); if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_user2blog WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_user_group_perms WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_user2user_group WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_user_group WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_trackback WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_comment WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_post WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog_category WHERE BLOG_ID = " . $ID . "", true); } if ($bSuccess) { unset($GLOBALS["BLOG"]["BLOG_CACHE_" . $ID]); unset($GLOBALS["BLOG"]["BLOG4OWNER_CACHE_" . $arBlog["OWNER_ID"]]); } if ($bSuccess) { $bSuccess = $DB->Query("DELETE FROM b_blog WHERE ID = " . $ID . "", true); } if ($bSuccess) { $DB->Commit(); } else { $DB->Rollback(); } if ($bSuccess) { if (CModule::IncludeModule("search")) { CSearch::DeleteIndex("blog", false, "COMMENT", $ID . "|%"); CSearch::DeleteIndex("blog", false, "POST", $ID); CSearch::DeleteIndex("blog", "B" . $ID); } } if ($bSuccess) { $res = CBlogImage::GetList(array(), array("BLOG_ID" => $ID)); while ($aImg = $res->Fetch()) { CBlogImage::Delete($aImg['ID']); } } if ($bSuccess) { $GLOBALS["USER_FIELD_MANAGER"]->Delete("BLOG_BLOG", $ID); } CBlog::DeleteSocnetRead($ID); return $bSuccess; }