Ejemplo n.º 1
0
 /**
  * Setup index action
  *
  * @return array List of prepared variables
  */
 public function actionIndex()
 {
     // Check requirements
     $validator = new Validator();
     $cart_settings['main_language'] = App::DEFAULT_LANGUAGE;
     $setup = new Setup($cart_settings);
     $app = App::instance();
     $session_started = $validator->isSessionStarted();
     if ($session_started && !$app->getFromStorage('license_agreement')) {
         $params['dispatch'] = 'license';
         $app->run($params);
         exit(0);
     }
     $checking_result = array('session_started' => $session_started, 'file_upload' => $validator->isFileUploadsSupported(), 'safe_mode' => $validator->isSafeModeDisabled(), 'curl_supported' => $validator->isCurlSupported(), 'mysql_supported' => $validator->isMysqlSupported(), 'php_version_supported' => $validator->isPhpVersionSupported(), 'session_auto_start' => $validator->isSessionAutostartDisabled(), 'file_system_writable' => $validator->isFilesystemWritable(), 'json_available' => $validator->isJsonAvailable(), 'register_globals_disabled' => $validator->isGlobalsDisabled(), 'phar_data_available' => $validator->isPharDataAvailable(), 'func_overload_acceptable' => $validator->isFuncOverloadAcceptable());
     $validator->isModeSecurityDisabled();
     $validator->isModRewriteEnabled();
     $validator->isZipArchiveAvailable();
     foreach ($checking_result as $validator_result) {
         if (empty($validator_result)) {
             $app->setNotification('E', $app->t('error'), $app->t('server_requirements_do_not_meet'), true, 'server_requirements');
             break;
         }
     }
     if (empty($checking_result['file_system_writable'])) {
         $app->setNotification('E', $app->t('error'), $app->t('check_files_and_folders_permissions'), true, 'file_permissions_section');
     }
     $this->_prepareHttpData();
     $languages = $setup->getLanguages();
     $available_themes = $setup->getAvailableThemes();
     $db_types = $setup->getSupportedDbTypes();
     $return = array('checking_result' => $checking_result, 'show_requirements_section' => !$validator_result, 'languages' => $languages, 'available_themes' => $available_themes, 'db_types' => $db_types, 'cart_settings' => $cart_settings);
     return $return;
 }
Ejemplo n.º 2
0
 /**
  * Languages validator
  *
  * @param  array $languages
  * @return bool  true if selected language is valid
  */
 public function isLanguagesValid($languages)
 {
     $app = App::instance();
     if (is_array($languages)) {
         $available_langs = Setup::getLanguages();
         $isLangExists = false;
         foreach ($languages as $lang_code) {
             if (empty($available_langs[$lang_code])) {
                 $app->setNotification('N', $app->t('notice'), $app->t('language_will_be_ignored', array('lang_code' => $app->t($lang_code))), true, 'administration_settings');
             } else {
                 $isLangExists = true;
             }
         }
         if (!$isLangExists) {
             $app->setNotification('E', $app->t('error'), $app->t('empty_languages'), true, 'administration_settings');
         }
         return $isLangExists;
     } else {
         $app->setNotification('E', $app->t('error'), $app->t('empty_languages'), true, 'administration_settings');
         return false;
     }
 }