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); }
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"; } }
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; } }