CForumSmile::Update($ID, $arFields); } else { $ID = CForumSmile::Add($arFields); } if ($e = $GLOBALS["APPLICATION"]->GetException()) { $arError[] = array("id" => "", "text" => $e->getString()); if (!empty($_FILES["IMAGE"]["tmp_name"]) && isset($sUploadDir)) { @unlink($sUploadDir . $fileName); unset($arFields["IMAGE"]); } } else { BXClearCache(true, "/" . LANG . "/forum/smilesList/"); BXClearCache(true, "/" . LANG . "/forum/iconsList/"); BXClearCache(true, "/" . LANG . "/forum/smiles/"); if (!empty($arSmile)) { $res = CForumSmile::GetByID($ID); if ($arSmile["IMAGE"] != $res["IMAGE"]) { @unlink($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/images/forum/" . ($arSmile["TYPE"] == "I" ? "icon" : "smile") . "/" . $arSmile["IMAGE"]); } elseif ($arSmile["TYPE"] != $res["TYPE"]) { CopyDirFiles($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/images/forum/" . ($arSmile["TYPE"] == "I" ? "icon" : "smile") . "/" . $arSmile["IMAGE"], $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/images/forum/" . ($res["TYPE"] == "I" ? "icon" : "smile") . "/" . $arSmile["IMAGE"], false, false, true, ""); } } LocalRedirect(strlen($save) > 0 ? "forum_smile.php?lang=" . LANG . "&" . GetFilterParams("filter_", false) : "forum_smile_edit.php?lang=" . LANG . "&ID=" . $ID . "&" . GetFilterParams("filter_", false)); } } $e = new CAdminException($arError); $message = new CAdminMessage($ID > 0 ? GetMessage("ERROR_EDIT_SMILE") : GetMessage("ERROR_ADD_SMILE"), $e); $bInitVars = true; } /******************************************************************** /Action
if ($_REQUEST['action_target'] == 'selected') { $arID = array(); $dbResultList = CForumSmile::GetList(array($by => $order), $arFilter); while ($arResult = $dbResultList->Fetch()) { $arID[] = $arResult['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); $arOldSmile = CForumSmile::GetByID($ID); if (!CForumSmile::Delete($ID)) { $DB->Rollback(); if ($ex = $APPLICATION->GetException()) { $lAdmin->AddGroupError($ex->GetString(), $ID); } else { $lAdmin->AddGroupError(GetMessage("ERROR_DEL_SMILE"), $ID); } } else { if ($arOldSmile) { $strDirNameOld = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/images/forum/"; if ($arOldSmile["TYPE"] == "I") { $strDirNameOld .= "icon"; } else { $strDirNameOld .= "smile"; }