Esempio n. 1
0
 /**
  * Test created siteaccess URLs for given conditions
  *
  */
 public function testCreateSiteaccessUrls()
 {
     $installer = new eZSiteInstaller();
     /*
      * Access type: URL
      *
      */
     $params = array('siteaccess_list' => array('ezwebin_site'), 'access_type' => 'url', 'access_type_value' => 'ezwebin_site', 'exclude_port_list' => array(), 'host' => '', 'host_prepend_siteaccess' => false);
     $siteaccessURLs = $installer->createSiteaccessUrls($params);
     $this->assertEquals($siteaccessURLs, array('ezwebin_site' => array('url' => 'localhost/ezwebin_site')));
     /*
      * Access type: HOST
      *
      */
     $params = array('siteaccess_list' => array('ezwebin_site'), 'access_type' => 'host', 'access_type_value' => 'ezwebin.site.host', 'exclude_port_list' => array(), 'host' => '', 'host_prepend_siteaccess' => false);
     $siteaccessURLs = $installer->createSiteaccessUrls($params);
     $this->assertEquals($siteaccessURLs, array('ezwebin_site' => array('url' => 'ezwebin.site.host', 'host' => 'ezwebin.site.host')));
     /*
      * Access type: PORT
      *
      */
     $params = array('siteaccess_list' => array('ezwebin_site'), 'access_type' => 'port', 'access_type_value' => '81', 'exclude_port_list' => array(), 'host' => '', 'host_prepend_siteaccess' => false);
     $siteaccessURLs = $installer->createSiteaccessUrls($params);
     $this->assertEquals($siteaccessURLs, array('ezwebin_site' => array('url' => 'localhost:81', 'port' => '81')));
     /*
      * Access type: HOST
      * Language siteaccess
      * Host with prepended siteaccess name
      *
      */
     $params = array('siteaccess_list' => array('eng'), 'access_type' => 'host', 'access_type_value' => 'ezwebin.site.host', 'exclude_port_list' => array(), 'host' => '', 'host_prepend_siteaccess' => true);
     $siteaccessURLs = $installer->createSiteaccessUrls($params);
     $this->assertEquals($siteaccessURLs, array('eng' => array('url' => 'eng.ezwebin.site.host', 'host' => 'eng.ezwebin.site.host')));
     /*
      * Access type: PORT
      * Excluded port 81
      */
     $params = array('siteaccess_list' => array('ezwebin_site'), 'access_type' => 'port', 'access_type_value' => '81', 'exclude_port_list' => array('81'), 'host' => '', 'host_prepend_siteaccess' => false);
     $siteaccessURLs = $installer->createSiteaccessUrls($params);
     $this->assertEquals($siteaccessURLs, array('ezwebin_site' => array('url' => 'localhost:82', 'port' => '82')));
 }
Esempio n. 2
0
function createTranslationSiteAccesses($params)
{
    foreach ($params['locales'] as $locale) {
        // Prepare 'SiteLanguageList':
        // make $locale as 'top priority language'
        // and append 'primary language' as fallback language.
        $primaryLanguage = $params['primary_language'];
        $languageList = array($locale);
        if ($locale != $primaryLanguage) {
            $languageList[] = $primaryLanguage;
        }
        eZSiteInstaller::createSiteAccess(array('src' => array('siteaccess' => $params['user_siteaccess']), 'dst' => array('siteaccess' => eZSiteInstaller::languageNameFromLocale($locale), 'settings' => array('site.ini' => array('RegionalSettings' => array('Locale' => $locale, 'ContentObjectLocale' => $locale, 'TextTranslation' => $locale != 'eng-GB' ? 'enabled' : 'disabled', 'SiteLanguageList' => $languageList))))));
    }
}
Esempio n. 3
0
 function initSettings($parameters)
 {
     $siteINI = eZINI::instance();
     $classIdentifier = 'template_look';
     //get the class
     $class = eZContentClass::fetchByIdentifier($classIdentifier, true, eZContentClass::VERSION_STATUS_TEMPORARY);
     if (!$class) {
         $class = eZContentClass::fetchByIdentifier($classIdentifier, true, eZContentClass::VERSION_STATUS_DEFINED);
         if (!$class) {
             eZDebug::writeError("Warning, DEFINED version for class identifier {$classIdentifier} does not exist.");
             return;
         }
     }
     $classId = $class->attribute('id');
     $this->Settings['template_look_class_id'] = $classId;
     $objects = eZContentObject::fetchSameClassList($classId);
     if (!count($objects)) {
         eZDebug::writeError("Object of class {$classIdentifier} does not exist.");
         return;
     }
     $templateLookObject = $objects[0];
     $this->Settings['template_look_object'] = $templateLookObject;
     $this->Settings['template_look_object_id'] = $templateLookObject->attribute('id');
     if (!is_array($parameters)) {
         return;
     }
     $this->addSetting('admin_account_id', eZSiteInstaller::getParam($parameters, 'object_remote_map/1bb4fe25487f05527efa8bfd394cecc7', ''));
     $this->addSetting('guest_accounts_id', eZSiteInstaller::getParam($parameters, 'object_remote_map/5f7f0bdb3381d6a461d8c29ff53d908f', ''));
     $this->addSetting('anonymous_accounts_id', eZSiteInstaller::getParam($parameters, 'object_remote_map/15b256dbea2ae72418ff5facc999e8f9', ''));
     $this->addSetting('package_object', eZSiteInstaller::getParam($parameters, 'package_object', false));
     $this->addSetting('design_list', eZSiteInstaller::getParam($parameters, 'design_list', array()));
     $this->addSetting('main_site_design', strtolower($this->solutionName()));
     $this->addSetting('extension_list', array('ezwt', 'ezstarrating', 'ezgmaplocation', strtolower($this->solutionName())));
     $this->addSetting('version', $this->solutionVersion());
     $this->addSetting('locales', eZSiteInstaller::getParam($parameters, 'all_language_codes', array()));
     // usual user siteaccess like 'ezwebin_site'
     $this->addSetting('user_siteaccess', eZSiteInstaller::getParam($parameters, 'user_siteaccess', ''));
     // usual admin siteaccess like 'ezwebin_site_admin'
     $this->addSetting('admin_siteaccess', eZSiteInstaller::getParam($parameters, 'admin_siteaccess', ''));
     // extra siteaccess based on languages info, like 'eng', 'rus', ...
     $this->addSetting('language_based_siteaccess_list', $this->languageNameListFromLocaleList($this->setting('locales')));
     $this->addSetting('user_siteaccess_list', array_merge(array($this->setting('user_siteaccess')), $this->setting('language_based_siteaccess_list')));
     $this->addSetting('all_siteaccess_list', array_merge($this->setting('user_siteaccess_list'), array($this->setting('admin_siteaccess'))));
     $this->addSetting('access_type', eZSiteInstaller::getParam($parameters, 'site_type/access_type', ''));
     $this->addSetting('access_type_value', eZSiteInstaller::getParam($parameters, 'site_type/access_type_value', ''));
     $this->addSetting('admin_access_type_value', eZSiteInstaller::getParam($parameters, 'site_type/admin_access_type_value', ''));
     $this->addSetting('host', eZSiteInstaller::getParam($parameters, 'host', ''));
     $siteaccessUrls = array('admin' => $this->createSiteaccessUrls(array('siteaccess_list' => array($this->setting('admin_siteaccess')), 'access_type' => $this->setting('access_type'), 'access_type_value' => $this->setting('admin_access_type_value'), 'host' => $this->setting('host'), 'host_prepend_siteaccess' => false)), 'user' => $this->createSiteaccessUrls(array('siteaccess_list' => array($this->setting('user_siteaccess')), 'access_type' => $this->setting('access_type'), 'access_type_value' => $this->setting('access_type_value'), 'host' => $this->setting('host'), 'host_prepend_siteaccess' => false)), 'translation' => $this->createSiteaccessUrls(array('siteaccess_list' => $this->setting('language_based_siteaccess_list'), 'access_type' => $this->setting('access_type'), 'access_type_value' => $this->setting('access_type_value') + 1, 'host' => $this->setting('host'), 'exclude_port_list' => array($this->setting('admin_access_type_value'), $this->setting('access_type_value')))));
     $this->addSetting('siteaccess_urls', $siteaccessUrls);
     $this->addSetting('primary_language', eZSiteInstaller::getParam($parameters, 'all_language_codes/0', ''));
     $this->addSetting('var_dir', eZSiteInstaller::getParam($parameters, 'var_dir', 'var/' . $this->setting('user_siteaccess')));
 }
Esempio n. 4
0
    function updateClassAttributes( $params )
    {
        $classInfo = $params['class'];
        $attributesInfo = $params['attributes'];

        $contentClassID = eZSiteInstaller::classIDbyIdentifier( $classInfo );
        if( $contentClassID )
        {
            foreach( $attributesInfo as $attributeInfo )
            {
                $attributeIdentifier = $attributeInfo['identifier'];
                $name = isset( $attributeInfo['new_name'] ) ? $attributeInfo['new_name'] : false;

                $classAttributeList = eZContentClassAttribute::fetchFilteredList( array( 'contentclass_id' => $contentClassID,
                                                                                         'identifier' => $attributeIdentifier ),
                                                                                  true );
                foreach( $classAttributeList as $attribute )
                {
                    if( $name !== false )
                    {
                        $attribute->setName( $name );
                    }

                    $attribute->store();
                }
            }
        }
    }
 // Do the job
 //
 include_once installScriptDir($packageRepository) . "/settings/ezwebininstaller.php";
 $webinInstaller = new eZWebinInstaller($params);
 if (defined('EZWEBIN_INSTALLER_MAJOR_VERSION') && EZWEBIN_INSTALLER_MAJOR_VERSION >= "1.3") {
     $webinInstaller->createSiteAccess(array('src' => array('siteaccess' => $adminSiteaccess), 'dst' => array('siteaccess' => 'ezwebin_site_admin')));
     $webinInstaller->createSiteAccess(array('src' => array('siteaccess' => $userSiteaccess), 'dst' => array('siteaccess' => 'ezwebin_site')));
     $webinInstaller->preInstall();
     installPackages($packageList, $installParameters);
     $webinInstaller->install();
     $siteaccessUrls = $webinInstaller->setting('siteaccess_urls');
 } else {
     //
     // BC for eZWebin < 1.3
     //
     $siteInstaller = new eZSiteInstaller();
     $params['locales'] = $params['all_language_codes'];
     // extra siteaccess based on languages info, like 'eng', 'rus', ...
     $params['language_based_siteaccess_list'] = $siteInstaller->languageNameListFromLocaleList($params['locales']);
     $params['user_siteaccess_list'] = array_merge(array($params['user_siteaccess']), $params['language_based_siteaccess_list']);
     $params['all_siteaccess_list'] = array_merge($params['user_siteaccess_list'], $params['admin_siteaccess']);
     $params['main_site_design'] = 'ezwebin';
     // Create siteaccesses URLs
     $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;