- Модуль: webdav
- Путь к файлу: ~/bitrix/modules/webdav/classes/extlinks.php
- Класс: CWebDavExtLinks
- Вызов: CWebDavExtLinks::Delete
static function Delete($arFilter)
{
global $DB;
$arSqlSearch = Array();
if(!is_array($arFilter))
{
$arFilter = Array();
}
if(!array_key_exists("USER_ID", $arFilter) && empty($arFilter['SKIP_USER_FILTER']))
{
$arFilter["USER_ID"] = self::GetUserID();
}
foreach($arFilter as $key => $val)
{
if((is_array($val) && count($val) <= 0) || (!is_array($val) && $val == ''))
{
continue;
}
$key = mb_strtoupper($key);
if (is_array($val))
{
$val = implode(" | ",$val);
}
switch($key)
{
case "LINK_TYPE":
$arSqlSearch[] = GetFilterQuery("LINK_TYPE", $val, "N");
break;
case "IRRELEVANT":
$arSqlSearch[] = 'LIFETIME < ' . strtotime('tomorrow');
break;
case "URL_HASH":
$arSqlSearch[] = GetFilterQuery("URL_HASH", $val, "N");
break;
case "USER_ID":
$arSqlSearch[] = GetFilterQuery("USER_ID", $val, "N");
break;
case "SINGLE_SESSION":
$arSqlSearch[] = GetFilterQuery("SINGLE_SESSION", $val, "N");
break;
case "HASH":
$arSqlSearch[] = GetFilterQuery("HASH", $val, "N");
break;
case "URL":
$arSqlSearch[] = ("URL = '" . $DB->ForSql($val) . "'");
break;
case "BASE_URL":
$arSqlSearch[] = ("BASE_URL = '" . $DB->ForSql($val) . "'");
break;
}
}
if(count($arSqlSearch) <= 0)
{
return false;
}
$strSqlSearch = GetFilterSqlSearch($arSqlSearch);
$strSql = "DELETE FROM " . self::EXT_LINKS_TABLE . " WHERE $strSqlSearch";
$DB->Query($strSql, false, self::ErrMess( __FUNCTION__ , __LINE__ ));
return true;
}