/** Собирает клиентские модули с версиями **/
 public static function GetCurrentModules(&$strError)
 {
     $arClientModules = array();
     if (file_exists($_SERVER["DOCUMENT_ROOT"] . US_SHARED_KERNEL_PATH . "/modules/main/classes/general/version.php") && is_file($_SERVER["DOCUMENT_ROOT"] . US_SHARED_KERNEL_PATH . "/modules/main/classes/general/version.php")) {
         $p = file_get_contents($_SERVER["DOCUMENT_ROOT"] . US_SHARED_KERNEL_PATH . "/modules/main/classes/general/version.php");
         preg_match("/define\\s*\\(\\s*\"SM_VERSION\"\\s*,\\s*\"(\\d+\\.\\d+\\.\\d+)\"\\s*\\)\\s*/im", $p, $arVers);
         $arClientModules["main"] = array("VERSION" => $arVers[1], "IS_DEMO" => defined("DEMO") && DEMO == "Y" ? "Y" : "N");
     }
     if (!array_key_exists("main", $arClientModules) || strlen($arClientModules["main"]["VERSION"]) <= 0) {
         CUpdateClientPartner::AddMessage2Log(GetMessage("SUPP_GM_ERR_DMAIN"), "Ux09");
         $strError .= "[Ux09] " . GetMessage("SUPP_GM_ERR_DMAIN") . ". ";
         return array();
     }
     if ($handle = @opendir($_SERVER["DOCUMENT_ROOT"] . US_SHARED_KERNEL_PATH . "/modules")) {
         while (false !== ($dir = readdir($handle))) {
             if (is_dir($_SERVER["DOCUMENT_ROOT"] . US_SHARED_KERNEL_PATH . "/modules/" . $dir) && $dir != "." && $dir != ".." && $dir != "main") {
                 $module_dir = $_SERVER["DOCUMENT_ROOT"] . US_SHARED_KERNEL_PATH . "/modules/" . $dir;
                 if (file_exists($module_dir . "/install/index.php")) {
                     $arInfo = CUpdateClientPartner::__GetModuleInfo($module_dir);
                     if (!isset($arInfo["VERSION"]) || strlen($arInfo["VERSION"]) <= 0) {
                         CUpdateClientPartner::AddMessage2Log(str_replace("#MODULE#", $dir, GetMessage("SUPP_GM_ERR_DMOD")), "Ux11");
                         $strError .= "[Ux11] " . str_replace("#MODULE#", $dir, GetMessage("SUPP_GM_ERR_DMOD")) . ". ";
                         return array();
                     } else {
                         if ($arInfo["ACTIVE"] == "Y") {
                             $arClientModules[$dir] = array("VERSION" => $arInfo["VERSION"], "IS_DEMO" => $arInfo["IS_DEMO"]);
                         }
                     }
                 } else {
                     CUpdateClientPartner::AddMessage2Log(str_replace("#MODULE#", $dir, GetMessage("SUPP_GM_ERR_DMOD")), "Ux12");
                 }
             }
         }
         closedir($handle);
     } else {
         CUpdateClientPartner::AddMessage2Log(GetMessage("SUPP_GM_NO_KERNEL"), "Ux15");
         $strError .= "[Ux15] " . GetMessage("SUPP_GM_NO_KERNEL") . ". ";
         return array();
     }
     return $arClientModules;
 }