예제 #1
0
파일: Index.php 프로젝트: pgcosta/vtiger
 public function Step7(Vtiger_Request $request)
 {
     // Set favourable error reporting
     error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
     $moduleName = $request->getModule();
     if ($_SESSION['config_file_info']['authentication_key'] != $request->get('auth_key')) {
         die(vtranslate('ERR_NOT_AUTHORIZED_TO_PERFORM_THE_OPERATION', $moduleName));
     }
     // Create configuration file
     $configParams = $_SESSION['config_file_info'];
     $configFile = new Install_ConfigFileUtils_Model($configParams);
     $configFile->createConfigFile();
     global $adb;
     $adb->resetSettings($configParams['db_type'], $configParams['db_hostname'], $configParams['db_name'], $configParams['db_username'], $configParams['db_password']);
     $adb->query('SET NAMES utf8');
     // Initialize and set up tables
     Install_InitSchema_Model::initialize();
     // Install all the available modules
     Install_Utils_Model::installModules();
     Install_InitSchema_Model::upgrade();
     $viewer = $this->getViewer($request);
     $viewer->assign('PASSWORD', $_SESSION['config_file_info']['password']);
     $viewer->assign('APPUNIQUEKEY', $this->retrieveConfiguredAppUniqueKey());
     $viewer->assign('CURRENT_VERSION', $_SESSION['vtiger_version']);
     $viewer->assign('INDUSTRY', $request->get('industry'));
     $viewer->view('Step7.tpl', $moduleName);
 }
예제 #2
0
 public function Step5(Vtiger_Request $request)
 {
     set_time_limit(0);
     // Override default limit to let install complete.
     $viewer = new Vtiger_Viewer();
     $viewer->assign('LANG', $request->get('lang'));
     $viewer->setTemplateDir('install/tpl/');
     $requestData = $request->getAll();
     foreach ($requestData as $name => $value) {
         $_SESSION['config_file_info'][$name] = $value;
     }
     $_SESSION['default_language'] = $request->get('lang');
     $_SESSION['timezone'] = $request->get('timezone');
     $createDataBase = false;
     $createDB = $request->get('create_db');
     if ($createDB == 'on') {
         $rootUser = $request->get('db_username');
         $rootPassword = $request->get('db_password');
         $createDataBase = true;
     }
     $authKey = $_SESSION['config_file_info']['authentication_key'] = md5(microtime());
     //PHP 5.5+ mysqli is favourable.
     $dbConnection = Install_Utils_Model::checkDbConnection('mysql', $request->get('db_hostname'), $request->get('db_username'), $request->get('db_password'), $request->get('db_name'), $createDataBase, true, $rootUser, $rootPassword);
     $webRoot = $_SERVER["HTTP_HOST"] ? $_SERVER["HTTP_HOST"] : $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];
     $webRoot .= $_SERVER["REQUEST_URI"];
     $webRoot = str_replace("index.php", "", $webRoot);
     $webRoot = (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ? "https://" : "http://") . $webRoot;
     $tabUrl = explode('/', $webRoot);
     unset($tabUrl[count($tabUrl) - 1]);
     unset($tabUrl[count($tabUrl) - 1]);
     $webRoot = implode('/', $tabUrl) . '/';
     $_SESSION['config_file_info']['site_URL'] = $webRoot;
     $viewer->assign('SITE_URL', $webRoot);
     $root_directory = getcwd();
     if (substr($root_directory, -1) != '/') {
         $root_directory = $root_directory . '/';
     }
     $_SESSION['config_file_info']['root_directory'] = $root_directory;
     $currencies = Install_Utils_Model::getCurrencyList();
     $currencyName = $request->get('currency_name');
     if (isset($currencyName)) {
         $_SESSION['config_file_info']['currency_code'] = $currencies[$currencyName][0];
         $_SESSION['config_file_info']['currency_symbol'] = $currencies[$currencyName][1];
     }
     $viewer->assign('DB_CONNECTION_INFO', $dbConnection);
     $viewer->assign('INFORMATION', $requestData);
     $viewer->assign('AUTH_KEY', $authKey);
     echo $viewer->fetch('Step5.tpl');
 }
 static function getDbDefaultPort($dbType)
 {
     if (Install_Utils_Model::isMySQL($dbType)) {
         return "3306";
     }
 }
예제 #4
0
 public function Step7(Vtiger_Request $request)
 {
     // Set favourable error reporting
     version_compare(PHP_VERSION, '5.5.0') <= 0 ? error_reporting(E_WARNING & ~E_NOTICE & ~E_DEPRECATED) : error_reporting(E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
     $moduleName = $request->getModule();
     $webuiInstance = new Vtiger_WebUI();
     $isInstalled = $webuiInstance->isInstalled();
     if (!$isInstalled) {
         if ($_SESSION['config_file_info']['authentication_key'] != $request->get('auth_key')) {
             die(vtranslate('ERR_NOT_AUTHORIZED_TO_PERFORM_THE_OPERATION', $moduleName));
         }
         // Create configuration file
         $configParams = $_SESSION['config_file_info'];
         $configFile = new Install_ConfigFileUtils_Model($configParams);
         $configFile->createConfigFile();
         global $adb;
         $adb->resetSettings($configParams['db_type'], $configParams['db_hostname'], $configParams['db_name'], $configParams['db_username'], $configParams['db_password']);
         $adb->query('SET NAMES utf8');
         // Initialize and set up tables
         Install_InitSchema_Model::initialize();
         // Install all the available modules
         Install_Utils_Model::installModules();
         Install_InitSchema_Model::upgrade();
         $viewer = $this->getViewer($request);
         $viewer->assign('PASSWORD', $_SESSION['config_file_info']['password']);
         $viewer->assign('APPUNIQUEKEY', $this->retrieveConfiguredAppUniqueKey());
         $viewer->assign('CURRENT_VERSION', $_SESSION['vtiger_version']);
         $viewer->assign('INDUSTRY', $request->get('industry'));
         $viewer->view('Step7.tpl', $moduleName);
     } else {
         $response = new Vtiger_Response();
         $response->setResult(vtranslate('THIS_INSTANCE_IS_ALREADY_INSTALLED', $moduleName));
         return $response;
     }
 }