function GetWizardsList($moduleName = "") { $arWizardsList = array(); if (strlen($moduleName) <= 0) { $path = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/wizards"; if ($h1 = opendir($path)) { while (($f1 = readdir($h1)) !== false) { if ($f1 == "." || $f1 == "..") { continue; } if (!is_dir($path . "/" . $f1)) { continue; } if ($h2 = opendir($path . "/" . $f1)) { while (($f2 = readdir($h2)) !== false) { if ($f2 == "." || $f2 == "..") { continue; } if (!is_dir($path . "/" . $f1 . "/" . $f2)) { continue; } if (!file_exists($path . "/" . $f1 . "/" . $f2 . "/.description.php")) { continue; } if ($wizardData = BXInstallServices::LoadWizardData($f1 . ":" . $f2)) { $arWizardsList[$f1 . ":" . $f2] = $wizardData; } } closedir($h2); } } closedir($h1); } } $path = $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules"; if ($h1 = opendir($path)) { while (($f1 = readdir($h1)) !== false) { if ($f1 == "." || $f1 == "..") { continue; } if (strlen($moduleName) > 0 && $f1 != $moduleName) { continue; } if (!is_dir($path . "/" . $f1) || !file_exists($path . "/" . $f1 . "/install/wizards") || !is_dir($path . "/" . $f1 . "/install/wizards")) { continue; } if ($h2 = opendir($path . "/" . $f1 . "/install/wizards")) { while (($f2 = readdir($h2)) !== false) { if ($f2 == "." || $f2 == "..") { continue; } if (!is_dir($path . "/" . $f1 . "/install/wizards/" . $f2)) { continue; } if ($h3 = opendir($path . "/" . $f1 . "/install/wizards/" . $f2)) { while (($f3 = readdir($h3)) !== false) { if ($f3 == "." || $f3 == "..") { continue; } if (!is_dir($path . "/" . $f1 . "/install/wizards/" . $f2 . "/" . $f3)) { continue; } if (array_key_exists($f2 . ":" . $f3, $arWizardsList)) { continue; } if (!file_exists($path . "/" . $f1 . "/install/wizards/" . $f2 . "/" . $f3 . "/.description.php")) { continue; } if ($wizardData = BXInstallServices::LoadWizardData($f1 . ":" . $f2 . ":" . $f3)) { $arWizardsList[$f2 . ":" . $f3] = $wizardData; } } closedir($h3); } } closedir($h2); } } closedir($h1); } if (LANGUAGE_ID != 'ru') { unset($arWizardsList['bitrix:demo']); } ksort($arWizardsList); return array_values($arWizardsList); }