function display()
 {
     $result = array();
     $languages = false;
     $defaultLanguage = false;
     $defaultExtraLanguages = false;
     eZSetupLanguageList($languages, $defaultLanguage, $defaultExtraLanguages);
     eZTranslatorManager::setActiveTranslation($defaultLanguage, false);
     $this->Tpl->setVariable('language_list', $languages);
     $this->Tpl->setVariable('primary_language', $defaultLanguage);
     $this->Tpl->setVariable('optional_test', array('result' => $this->OptionalResult, 'results' => $this->OptionalResults));
     $result['content'] = $this->Tpl->fetch('design:setup/init/welcome.tpl');
     $result['path'] = array(array('text' => ezpI18n::tr('design/standard/setup/init', 'Welcome to eZ Publish'), 'url' => false));
     return $result;
 }
 function init()
 {
     /*
     if( $this->hasKickstartData() )
     {
         $data = $this->kickstartData();
     
         return $this->kickstartContinueNextStep();
     }
     */
     //
     // Get all available languages
     //
     $languages = false;
     $defaultLanguage = false;
     $defaultExtraLanguages = false;
     eZSetupLanguageList($languages, $defaultLanguage, $defaultExtraLanguages);
     //
     // Get info about package and site languages
     //
     $siteLanguageLocaleList = $this->PersistenceList['regional_info']['languages'];
     $packageNameList = array();
     $packageLanguageLocaleList = array();
     $sitePackageName = $this->chosenSitePackage();
     $sitePackage = eZPackage::fetch($sitePackageName, false, false, false);
     if (is_object($sitePackage)) {
         $dependencies = $sitePackage->attribute('dependencies');
         $requirements = $dependencies['requires'];
         foreach ($requirements as $req) {
             $packageNameList[] = $req['name'];
         }
         $packageLanguageLocaleList = eZPackage::languageInfoFromPackageList($packageNameList, false);
     }
     // Explicitly add 'eng-GB' cause clean data is in 'eng-GB'.
     if (!in_array('eng-GB', $packageLanguageLocaleList)) {
         $packageLanguageLocaleList[] = 'eng-GB';
     }
     //
     // Exclude languages which exist both in packges and site.
     //
     $packageLanguageLocaleList = array_diff($packageLanguageLocaleList, $siteLanguageLocaleList);
     if (count($packageLanguageLocaleList) > 0) {
         //
         // Get language names
         //
         $siteLanguageList = array();
         $packageLanguageList = array();
         foreach ($languages as $language) {
             $locale = $language->attribute('locale_code');
             $name = $language->attribute('intl_language_name');
             if (in_array($locale, $siteLanguageLocaleList)) {
                 $siteLanguageList[] = array('locale' => $locale, 'name' => $name);
             }
             if (in_array($locale, $packageLanguageLocaleList)) {
                 $packageLanguageList[] = array('locale' => $locale, 'name' => $name);
             }
         }
         $this->MissedPackageLanguageList = $packageLanguageList;
         $this->SiteLanguageList = $siteLanguageList;
         return false;
     }
     // There are no language conflicts => proceed with next step
     return true;
 }
 function display()
 {
     $languages = false;
     $defaultLanguage = false;
     $defaultExtraLanguages = false;
     eZSetupLanguageList($languages, $defaultLanguage, $defaultExtraLanguages);
     $this->Tpl->setVariable('language_list', $languages);
     $showUnicodeError = false;
     if (isset($this->Error)) {
         $showUnicodeError = !$this->PersistenceList['database_info']['use_unicode'];
         $this->PersistenceList['database_info']['use_unicode'] = false;
     }
     $this->Tpl->setVariable('show_unicode_error', $showUnicodeError);
     $regionalInfo = array('primary_language' => $defaultLanguage, 'languages' => $defaultExtraLanguages);
     if (isset($this->PersistenceList['regional_info'])) {
         $regionalInfo = $this->PersistenceList['regional_info'];
     }
     if (!isset($regionalInfo['enable_unicode'])) {
         $regionalInfo['enable_unicode'] = true;
     }
     $this->Tpl->setVariable('regional_info', $regionalInfo);
     // The default is to not use unicode if it has not been detected by
     // database driver to be OK.
     $databaseInfo = array('use_unicode' => false);
     if (isset($this->PersistenceList['database_info'])) {
         $databaseInfo = $this->PersistenceList['database_info'];
     }
     $this->Tpl->setVariable('database_info', $databaseInfo);
     $result = array();
     // Display template
     $result['content'] = $this->Tpl->fetch("design:setup/init/language_options.tpl");
     $result['path'] = array(array('text' => ezpI18n::tr('design/standard/setup/init', 'Language options'), 'url' => false));
     return $result;
 }