示例#1
0
        $CHARSET = defined("BX_UTF") ? "UTF-8" : "windows-1251";
        $SERVER_NAME = $_SERVER["SERVER_NAME"];
    }
    $culture = CultureTable::getRow(array('filter' => array("=FORMAT_DATE" => $FORMAT_DATE, "=FORMAT_DATETIME" => $FORMAT_DATETIME, "=FORMAT_NAME" => $FORMAT_NAME, "=CHARSET" => $CHARSET)));
    if ($culture) {
        $cultureId = $culture["ID"];
    } else {
        $addResult = CultureTable::add(array("NAME" => WIZARD_SITE_ID, "CODE" => WIZARD_SITE_ID, "FORMAT_DATE" => $FORMAT_DATE, "FORMAT_DATETIME" => $FORMAT_DATETIME, "FORMAT_NAME" => $FORMAT_NAME, "CHARSET" => $CHARSET));
        $cultureId = $addResult->getId();
    }
    $arFields = array("LID" => WIZARD_SITE_ID, "ACTIVE" => "Y", "SORT" => 100, "DEF" => "N", "NAME" => WIZARD_SITE_NAME, "DIR" => WIZARD_SITE_DIR, "SITE_NAME" => WIZARD_SITE_NAME, "SERVER_NAME" => $SERVER_NAME, "EMAIL" => $EMAIL, "LANGUAGE_ID" => $LANGUAGE_ID, "DOC_ROOT" => $DOC_ROOT, "CULTURE_ID" => $cultureId);
    $obSite = new CSite();
    $result = $obSite->Add($arFields);
    if ($result) {
        COption::SetOptionString("main", "wizard_site_id", WIZARD_SITE_ID);
        COption::SetOptionString("extranet", "extranet_site", WIZARD_SITE_ID);
    }
    CExtranetWizardServices::ReplaceMacrosRecursive(WIZARD_SITE_PATH . "/", array("SITE_DIR" => WIZARD_SITE_DIR));
    CExtranetWizardServices::ReplaceMacrosRecursive(WIZARD_TEMPLATE_ABSOLUTE_PATH . "/", array("SITE_DIR" => WIZARD_SITE_DIR));
    CUrlRewriter::Add(array("SITE_ID" => WIZARD_SITE_ID, "CONDITION" => "#^" . WIZARD_SITE_DIR . "workgroups/#", "ID" => "bitrix:socialnetwork_group", "PATH" => WIZARD_SITE_DIR . "workgroups/index.php"));
    CUrlRewriter::Add(array("SITE_ID" => WIZARD_SITE_ID, "CONDITION" => "#^" . WIZARD_SITE_DIR . "workgroups/create/#", "ID" => "bitrix:extranet.group_create", "PATH" => WIZARD_SITE_DIR . "workgroups/create/index.php"));
    CUrlRewriter::Add(array("SITE_ID" => WIZARD_SITE_ID, "CONDITION" => "#^" . WIZARD_SITE_DIR . "contacts/personal/#", "ID" => "bitrix:socialnetwork_user", "PATH" => WIZARD_SITE_DIR . "contacts/personal.php"));
} else {
    COption::SetOptionString("main", "wizard_site_id", WIZARD_SITE_ID);
    $siteName = COption::GetOptionString("main", "site_name", "", WIZARD_SITE_ID, true);
    if (strlen($siteName) > 0) {
        $arFields = array("NAME" => $siteName);
        $obSite = new CSite();
        $obSite->Update(WIZARD_SITE_ID, $arFields);
    }
}
示例#2
0
 function ReplaceMacrosRecursive($filePath, $arReplace)
 {
     clearstatcache();
     if (!is_dir($filePath) && !is_file($filePath) || !is_array($arReplace)) {
         return;
     }
     if ($handle = @opendir($filePath)) {
         while (($file = readdir($handle)) !== false) {
             if ($file == "." || $file == "..") {
                 continue;
             }
             if (is_dir($filePath . "/" . $file)) {
                 CExtranetWizardServices::ReplaceMacrosRecursive($filePath . $file . "/", $arReplace);
             } elseif (is_file($filePath . "/" . $file)) {
                 if (!is_writable($filePath . "/" . $file) || !is_array($arReplace)) {
                     return;
                 }
                 @chmod($filePath . "/" . $file, BX_FILE_PERMISSIONS);
                 if (!($handleFile = @fopen($filePath . "/" . $file, "rb"))) {
                     return;
                 }
                 $content = @fread($handleFile, filesize($filePath . "/" . $file));
                 @fclose($handleFile);
                 $handleFile = false;
                 if (!($handleFile = @fopen($filePath . "/" . $file, "wb"))) {
                     return;
                 }
                 if (flock($handleFile, LOCK_EX)) {
                     $arSearch = array();
                     $arValue = array();
                     foreach ($arReplace as $search => $replace) {
                         if ($skipSharp) {
                             $arSearch[] = $search;
                         } else {
                             $arSearch[] = "#" . $search . "#";
                         }
                         $arValue[] = $replace;
                     }
                     $content = str_replace($arSearch, $arValue, $content);
                     @fwrite($handleFile, $content);
                     @flock($handleFile, LOCK_UN);
                 }
                 @fclose($handleFile);
             }
         }
         @closedir($handle);
     }
 }