Beispiel #1
0
 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);
 }