• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/gadget.php
  • Класс: BXGadget
  • Вызов: BXGadget::GetList
static function GetList($bWithParameters = false, $arAllCurrentValues = false)
{
	$arGadgets = [];

	$folders = [
		"/bitrix/gadgets",
		"/local/gadgets",
	];

	foreach ($folders as $folder)
	{
		// Find all namespaces of gadgets
		$arGdNS = static::getNamespaces($_SERVER["DOCUMENT_ROOT"] . $folder);

		// Find all gadgets
		foreach ($arGdNS as $NS)
		{
			$gdDir = $_SERVER["DOCUMENT_ROOT"].$folder."/".$NS;
			if (is_dir($gdDir) && ($handle = opendir($gdDir)))
			{
				while (false !== ($file = readdir($handle)))
				{
					if ($file=="." || $file=="..")
						continue;
					$arGadgetParams = BXGadget::GetById($NS."/".$file, $bWithParameters, $arAllCurrentValues);
					if ($arGadgetParams)
						$arGadgets[$file] = $arGadgetParams;
					else
						unset($arGadgets[$file]);
				}
				closedir($handle);
			}
		}
	}

	uasort($arGadgets, ["BXGadget", "_sort"]);

	return $arGadgets;
}