public static function delete($id, $removeFile = true) { global $DB, $CACHE_MANAGER; $id = intval($id); if ($id <= 0) { return false; } if ($removeFile) { $arSmile = CSmile::getByID($id); @unlink($_SERVER["DOCUMENT_ROOT"] . ($arSmile['TYPE'] == CSmile::TYPE_ICON ? CSmile::PATH_TO_ICON : CSmile::PATH_TO_SMILE) . $arSmile['SET_ID'] . '/' . $arSmile['IMAGE']); } $DB->Query("DELETE FROM b_smile WHERE ID = " . $id, true); $DB->Query("DELETE FROM b_smile_lang WHERE TYPE = '" . self::TYPE_SMILE . "' AND SID = " . $id, true); $CACHE_MANAGER->CleanDir("b_smile"); return true; }
'ORDER' => array($by => $order), 'SELECT' => array('ID'), 'FILTER' => $arFilter, 'RETURN_RES' => 'Y' )); while ($row = $res->Fetch()) $arID[] = $row['ID']; } foreach ($arID as $ID) { if (strlen($ID) <= 0) continue; if ($_REQUEST['action'] == 'delete') { $arSmile = CSmile::getByID($ID); if (CSmile::delete($ID)) { if ($arSmile) { @unlink($_SERVER["DOCUMENT_ROOT"].($arSmile['TYPE'] == CSmile::TYPE_ICON? CSmile::PATH_TO_ICON: CSmile::PATH_TO_SMILE).$arSmile['SET_ID'].'/'.$arSmile['IMAGE']); } } } } } if($lAdmin->EditAction()) { foreach($FIELDS as $ID=>$arFields) { $ID = IntVal($ID);
} if ($ID > 0) { $arSmile = empty($arSmile) ? CSmile::getByID($ID) : $arSmile; CSmile::update($ID, $arFields); } else { $ID = CSmile::add($arFields); } if ($e = $GLOBALS["APPLICATION"]->GetException()) { $arError[] = array("id" => "", "text" => $e->getString()); if (!empty($_FILES["IMAGE"]["tmp_name"]) && isset($sUploadDir)) { @unlink($_SERVER["DOCUMENT_ROOT"] . $sUploadDir . $fileName); unset($arFields["IMAGE"]); } } else { if (!empty($arSmile)) { $res = CSmile::getByID($ID); if ($arSmile["IMAGE"] != $res["IMAGE"]) { @unlink($_SERVER["DOCUMENT_ROOT"] . ($arSmile['TYPE'] == CSmile::TYPE_ICON ? CSmile::PATH_TO_ICON : CSmile::PATH_TO_SMILE) . intval($arSmile["SET_ID"]) . '/' . $arSmile["IMAGE"]); } elseif ($arSmile["TYPE"] != $res["TYPE"] || $arSmile["SET_ID"] != $res["SET_ID"]) { CopyDirFiles($_SERVER["DOCUMENT_ROOT"] . ($arSmile['TYPE'] == CSmile::TYPE_ICON ? CSmile::PATH_TO_ICON : CSmile::PATH_TO_SMILE) . intval($arSmile["SET_ID"]) . '/' . $arSmile["IMAGE"], $_SERVER["DOCUMENT_ROOT"] . ($res['TYPE'] == CSmile::TYPE_ICON ? CSmile::PATH_TO_ICON : CSmile::PATH_TO_SMILE) . intval($res["SET_ID"]) . '/' . $arSmile["IMAGE"], false, false, true, ""); } } LocalRedirect(strlen($apply) > 0 ? "smile_edit.php?lang=" . LANG . "&ID=" . $ID . "&" . GetFilterParams("filter_", false) : (strlen($save_and_add) > 0 ? "smile_edit.php?lang=" . LANG . "&TYPE=" . ($arSmile['TYPE'] == CSmile::TYPE_ICON ? CSmile::TYPE_ICON : CSmile::TYPE_SMILE) . "&SET_ID=" . intval($_REQUEST['SET_ID']) . "&" . GetFilterParams("filter_", false) : "smile.php?SET_ID=" . intval($_REQUEST['SET_ID']) . "&lang=" . LANG . "&" . GetFilterParams("filter_", false))); } } $e = new CAdminException($arError); $message = new CAdminMessage($ID > 0 ? GetMessage("ERROR_EDIT_SMILE") : GetMessage("ERROR_ADD_SMILE"), $e); $bInitVars = true; } if ($bInitVars && !empty($arFields)) { if (isset($arFields['LANG'])) {