Пример #1
0
 /**
  * Setup console action
  *
  * @param  array $cart_settings     Cart settings
  * @param  array $database_settings Database settings
  * @param  array $server_settings   Server settings
  * @param  array $addons            List of addons to be installed
  * @return bool  Result of setup
  */
 public function actionConsole($cart_settings, $database_settings, $server_settings, $addons = array())
 {
     $app = App::instance();
     $setup_result = 1;
     // return code for cli
     $validator = new Validator();
     if ($validator->validateAll(array_merge($cart_settings, $server_settings, $database_settings, $addons))) {
         if ($app->connectToDB($database_settings['host'], $database_settings['name'], $database_settings['user'], $database_settings['password'], $database_settings['table_prefix'], $database_settings['database_backend'])) {
             define('CART_LANGUAGE', $cart_settings['main_language']);
             define('DESCR_SL', $cart_settings['main_language']);
             define('CART_SECONDARY_CURRENCY', 'NULL');
             // Need for cache_level
             set_time_limit(0);
             $sCart = new Setup($cart_settings, $server_settings, $database_settings, $this->isDemoInstall($cart_settings));
             $sAddons = new AddonsSetup();
             $sCart->setupScheme();
             $sCart->setupData();
             $sCart->setSimpleMode();
             if ($this->isDemoInstall($cart_settings)) {
                 $sCart->setupDemo();
             } else {
                 $sCart->clean();
             }
             $sCart->setupUsers();
             $sCart->setupCompanies();
             $sCart->setupLanguages($this->isDemoInstall($cart_settings));
             $sCart->setupThemes();
             $sAddons->setup($this->isDemoInstall($cart_settings), $addons);
             $license_number = !empty($cart_settings['license_number']) ? $cart_settings['license_number'] : '';
             $sCart->setupLicense($license_number);
             $sCart->writeConfig();
             $app->setNotification('N', '', $app->t('successfully_finished'), true);
             $setup_result = 0;
         }
     }
     return $setup_result;
 }