Current Path : /var/www/html/clients/wodo.e-nk.ru/bitrix/components/bitrix/photogallery.detail.list/ |
Current File : /var/www/html/clients/wodo.e-nk.ru/bitrix/components/bitrix/photogallery.detail.list/action.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $this->IncludeComponentLang("action.php"); if ($_REQUEST["detail_list_edit"] == "Y" && !empty($_REQUEST["ACTION"]) && !empty($_REQUEST["items"])) { $arError = array(); $bVarsFromForm = false; CModule::IncludeModule("iblock"); $_REQUEST["TO_SECTION_ID"] = intVal($_REQUEST["TO_SECTION_ID"]); if (!check_bitrix_sessid()): // SESSION $arError[] = array( "id" => "bad sessid", "text" => PhotoShowError(array("code" => "100"))); elseif ($arParams["SECTION_ID"] <= 0): // SECTION_ID must be $arError[] = array( "id" => "empty section", "text" => PhotoShowError(array("code" => "102"))); elseif ($arParams["PERMISSION"] < "U"): $arError[] = array( "id" => "bad permission", "text" => GetMessage("P_DENIED_ACCESS")); elseif ($_REQUEST["ACTION"] == "move"): if ($_REQUEST["TO_SECTION_ID"] <= 0): $arError[] = array( "id" => "BAD_SECTION_TO_MOVE", "text" => GetMessage("P_SECTION_EMPTY_TO_MOVE")); elseif ($_REQUEST["TO_SECTION_ID"] == $arParams["SECTION_ID"]): $arError[] = array( "id" => "BAD_SECTION_TO_MOVE", "text" => GetMessage("P_SECTION_THIS_TO_MOVE")); elseif ($arParams["BEHAVIOUR"] == "USER"): $arResult["SECTION_TO_MOVE"] = array(); $db_res = CIBlockSection::GetList(array(), array( "ACTIVE" => "Y", "IBLOCK_ID" => $arParams["IBLOCK_ID"], "IBLOCK_ACTIVE" => "Y", "ID" => $_REQUEST["TO_SECTION_ID"])); if (!($db_res && $res = $db_res->Fetch())): $arError[] = array( "id" => "bad section", "text" => PhotoShowError(array("code" => 102))); elseif ($arResult["GALLERY"]["LEFT_MARGIN"] >= $res["LEFT_MARGIN"] || $arResult["GALLERY"]["RIGHT_MARGIN"] <= $res["RIGHT_MARGIN"]): $arError[] = array( "id" => "BAD_SECTION_TO_MOVE", "text" => GetMessage("P_SECTION_IS_NOT_IN_GALLERY")); else: $arResult["SECTION_TO_MOVE"] = $res; endif; endif; endif; if (empty($arError)) { $iFileSize = 0; $bClearCacheDetailAll = false; @set_time_limit(0); foreach ($_REQUEST["items"] as $itemID): $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arParams["SECTION_ID"], "ID" => $itemID, "CHECK_PERMISSIONS" => "Y"); $arSelect = array( "ID", "CODE", "IBLOCK_ID", "IBLOCK_SECTION_ID", "SECTION_PAGE_URL", "NAME", "DETAIL_PICTURE", "PREVIEW_PICTURE", "PREVIEW_TEXT", "DETAIL_TEXT", "DETAIL_PAGE_URL", "PREVIEW_TEXT_TYPE", "DETAIL_TEXT_TYPE", "TAGS", "DATE_CREATE", "CREATED_BY", "PROPERTY_REAL_PICTURE", "PROPERTY_PUBLIC_ELEMENT", "PROPERTY_BLOG_POST_ID", "PROPERTY_FORUM_TOPIC_ID"); $db_res = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect); if ($arRes = $db_res->Fetch()) { $arRes["REAL_PICTURE"] = intVal($arRes["PROPERTY_REAL_PICTURE_VALUE"]); $arRes["BLOG_POST_ID"] = intVal($arRes["PROPERTY_BLOG_POST_ID_VALUE"]); $arRes["FORUM_TOPIC_ID"] = intVal($arRes["PROPERTY_FORUM_TOPIC_ID_VALUE"]); $bClearCacheDetailAll = ($arRes["PROPERTY_PUBLIC_ELEMENT_VALUE"] == "Y" ? true : $bClearCacheDetailAll); if ($_REQUEST["ACTION"] == "drop"): $arRes["REAL_PICTURE"] = CFile::GetFileArray($arRes["REAL_PICTURE"]); endif; } else { $arError[] = array( "id" => "103", "text" => PhotoShowError(array("code" => "103", "data" => array("ID" => $itemID)))); continue; } $APPLICATION->ResetException(); switch ($_REQUEST["ACTION"]) { case "drop": if (!CIBlockElement::Delete($itemID)) { $sError = GetMessage("P_DELETE_ERROR"); if($ex = $APPLICATION->GetException()) $sError = $ex->GetString(); $arError[] = array( "id" => "drop error", "text" => PhotoShowError(array("code" => "NOT_DELETED", "title" => $sError, "DATA" => $arRes))); continue; } $iFileSize += intVal($arRes["REAL_PICTURE"]["FILE_SIZE"]); if ($arRes["BLOG_POST_ID"] > 0) { CModule::IncludeModule("blog"); $arPost = CBlogPost::GetByID($arRes["BLOG_POST_ID"]); $arBlog = CBlog::GetByID($arPost["BLOG_ID"]); CBlogPost::Delete($arRes["BLOG_POST_ID"]); BXClearCache(True, "/".SITE_ID."/blog/".$arBlog["URL"]); } if ($arRes["FORUM_TOPIC_ID"] > 0) { CModule::IncludeModule("forum"); ForumDeleteTopic($arRes["FORUM_TOPIC_ID"]); } break; case "move": $bs = new CIBlockElement; $itemID = $bs->Update($itemID, array("MODIFIED_BY" => $USER->GetID(), "IBLOCK_SECTION" => $_REQUEST["TO_SECTION_ID"])); if ($itemID <= 0): $arError[] = array( "id" => "move error", "text" => PhotoShowError(array("ID" => $itemID, "code" => "NOT_UPDATED", "title" => $bs->LAST_ERROR, "DATA" => $arRes))); endif; break; } endforeach; if ($arParams["BEHAVIOUR"] == "USER") { $bs = new CIBlockSection; $arFields = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "UF_GALLERY_SIZE" => intVal($arResult["GALLERY"]["UF_GALLERY_SIZE"]) - $iFileSize); $GLOBALS["UF_GALLERY_SIZE"] = $arFields["UF_GALLERY_SIZE"]; $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("IBLOCK_".$arParams["IBLOCK_ID"]."_SECTION", $arFields); $res = $bs->Update($arResult["GALLERY"]["ID"], $arFields, false, false); } PClearComponentCache(array( "search.page", "search.tags.cloud", "photogallery.detail", "photogallery.detail.comment", "photogallery.detail.edit", "photogallery.detail.list", "photogallery.gallery.edit", "photogallery.gallery.list", "photogallery.section", "photogallery.section.edit", "photogallery.section.edit.icon", "photogallery.section.list", "photogallery.upload", "photogallery.user")); } if (!empty($arError)) { $e = new CAdminException($arError); $arResult["ERROR_MESSAGE"] = $e->GetString(); } elseif (!empty($_REQUEST["REDIRECT_URL"])) { LocalRedirect($_REQUEST["REDIRECT_URL"]); } $arResult["bVarsFromForm"] = ($bVarsFromForm ? "Y" : "N"); } ?>