• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/site_checker.php
  • Класс: CSearchFiles
  • Вызов: CSearchFiles::Search
function Search($path)
{
	if (time() - $this->StartTime > $this->TimeLimit)
	{
		$this->BreakPoint = $path;
		return empty($this->arFail);
	}

	if (count($this->arFail) > $this->MaxFail)
		return false;

	if ($this->SkipPath)
	{
		if (0 !== strpos($this->SkipPath, dirname($path)))
			return null;

		if ($this->SkipPath == $path)
		{
			$this->SkipPath = null;
		}
	}

	if (is_dir($path))
	{
		if (is_readable($path))
		{
			if (!is_writable($path))
				$this->arFail[] = $path;

			if ($dir = opendir($path))
			{
				while(false !== $item = readdir($dir))
				{
					if ($item == '.' || $item == '..')
						continue;

					$this->Search($path.'/'.$item);
					if ($this->BreakPoint)
						break;
				}
				closedir($dir);
			}
		}
		else
			$this->arFail[] = $path;
	}
	elseif (!$this->SkipPath)
	{
		$this->FilesCount++;
		if (!is_readable($path) || !is_writable($path))
			$this->arFail[] = $path;
	}
	return empty($this->arFail);
}