• Модуль: 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;
}