Beispiel #1
0
function main($argv)
{
    global $IS_WIN, $FIX;
    $opts = getopt("m::");
    $minimal_run = isset($opts['m']);
    $msg1 = <<<EOF
Welcome to the Sausage installer!


---------------------------------


EOF;
    out("\n");
    $msg2 = <<<EOF
    ( \\                 / )
     \\ \\.-------------./ /
      \\(    hot dog!   )/
        `.___________.'



---------------------------------


EOF;
    out($msg1, 'info');
    if (!$minimal_run) {
        out($msg2, 'info');
    }
    checkPHP();
    checkInitialRequirements();
    startComposer();
    installPackages($minimal_run);
    if (!$minimal_run) {
        configureSauce();
        downloadDemo();
        if (!$FIX) {
            out("- You're all set!");
        } else {
            out("- Oops! Found an issue...please fix the issue and try again!");
        }
        if (!$IS_WIN) {
            out("Try running 'vendor/bin/paraunit --processes=8 --path=WebDriverDemo.php'", 'success');
            out("  (change to: --path=SeleniumRCDemo.php for Selenium 1)", 'success');
            out("Then load https://saucelabs.com/account to see your tests running in parallel", 'success');
            out("Get the most out of Sausage: https://github.com/jlipps/sausage/blob/master/README.md", 'info');
        }
    } else {
        out("Sausage successfuly set up!", 'success');
    }
    out('');
}
$autoMode = $scriptOptions['auto-mode'];
if ($autoMode != 'off') {
    $autoMode = 'on';
    $importDir = eZPackage::repositoryPath() . "/{$packageRepository}";
    showWarning("Processing in auto-mode: \n" . "- packages will be downloaded to '{$packageDir}';\n" . "- packages will be imported to '{$importDir}';\n" . "- installing of existing classes will be skipped;\n" . "- all files(extesion, design, downloaded and imported packages) will be overwritten;");
    $action = getUserInput("Continue? [y/n]: ");
    if (strpos($action, 'y') !== 0) {
        $script->shutdown(0, 'Done');
    }
}
/**************************************************************
* do the work                                                 *
***************************************************************/
if (downloadPackages($packageList, $packageURL, $packageDir, $packageRepository)) {
    // install
    installPackages($packageList);
}
if (file_exists(installScriptDir($packageRepository, 'ezwebin_site'))) {
    include_once installScriptDir($packageRepository, 'ezwebin_site') . "/settings/ezwebininstaller.php";
    include_once installScriptDir($packageRepository, 'ezwebin_site') . "/settings/ini-site.php";
    include_once installScriptDir($packageRepository, 'ezwebin_site') . "/settings/ini-common.php";
    showMessage2("Updating content classes...");
    execUpdateFunction("updateClasses", $toVersion);
    showMessage2("Updating content objects...");
    execUpdateFunction("updateObjects", $toVersion);
    showMessage2("Updating INI-files...");
    execUpdateFunction("updateINI", $toVersion);
} else {
    showWarning("no data for updating content classes, objects, roles, ini");
}
showMessage2("Upgrade complete");
 $siteaccessUrls = array('admin' => $siteInstaller->createSiteaccessUrls(array('siteaccess_list' => array($params['admin_siteaccess']), 'access_type' => $accessType, 'port' => $adminAccessTypeValue, 'host' => $params['host'])), 'user' => $siteInstaller->createSiteaccessUrls(array('siteaccess_list' => array($params['user_siteaccess']), 'access_type' => $accessType, 'port' => $accessTypeValue, 'host' => $params['host'])), 'translation' => $siteInstaller->createSiteaccessUrls(array('siteaccess_list' => $params['language_based_siteaccess_list'], 'access_type' => $accessType, 'port' => $accessTypeValue + 1, 'host' => $params['host'], 'exclude_port_list' => array($adminAccessTypeValue, $accessTypeValue))));
 $params['siteaccess_urls'] = $siteaccessUrls;
 // prepare 'admin_url' for 'eZSiteINISettings'. Will unset it later.
 $params['siteaccess_urls']['admin_url'] = $siteaccessUrls['admin']['ezwebin_site_admin']['url'];
 // Include setting files
 $settingsFiles = $package->attribute('settings-files');
 foreach ($settingsFiles as $settingsFileName) {
     include_once installScriptDir($packageRepository) . '/settings/' . $settingsFileName;
 }
 $siteInstaller->createSiteAccess(array('src' => array('siteaccess' => $adminSiteaccess), 'dst' => array('siteaccess' => 'ezwebin_site_admin')));
 $siteInstaller->createSiteAccess(array('src' => array('siteaccess' => $userSiteaccess), 'dst' => array('siteaccess' => 'ezwebin_site')));
 // Call user function for additional setup tasks.
 if (function_exists('eZSitePreInstall')) {
     eZSitePreInstall();
 }
 installPackages($packageList, $installParameters);
 $settings = array();
 $settings[] = array('settings_dir' => 'settings/siteaccess/' . $params['user_siteaccess'], 'groups' => eZSiteINISettings($params));
 $settings[] = array('settings_dir' => 'settings/siteaccess/' . $params['admin_siteaccess'], 'groups' => eZSiteAdminINISettings($params));
 $settings[] = array('settings_dir' => 'settings/override', 'groups' => eZSiteCommonINISettings($params));
 foreach ($settings as $settingsGroup) {
     resetINI($settingsGroup, 'override.ini');
     $siteInstaller->updateINIFiles($settingsGroup);
 }
 // 'admin_url' is not needed anymore.
 unset($params['siteaccess_urls']['admin_url']);
 updateINIAccessType($accessType, $params);
 $siteInstaller->updateRoles(array('roles' => eZSiteRoles($params)));
 $siteInstaller->updatePreferences(array('prefs' => eZSitePreferences($params)));
 setVersion('ezwebin', '1.2.0');
 postInstallAdminSiteaccessINIUpdate($params);