/** * */ public function installDbAction() { $this->setClientFolder($this->getRequestArg('folder', null, true)); $lsDbPath = 'config' . DS . 'db.php'; $laDbClientConf = (require $this->_sClientPath . DS . $lsDbPath); $lsDbDriver = $this->getRequestArg('driver', $laDbClientConf['production']['driver']); $lsDbCharset = $this->getRequestArg('charset', $laDbClientConf['production']['charset']); $lsDbHost = $this->getRequestArg('host', $laDbClientConf['production']['hostname']); $lsDbPort = $this->getRequestArg('port', $laDbClientConf['production']['port']); $lsDbUser = $this->getRequestArg('user', $laDbClientConf['production']['username']); $lsDbPass = $this->getRequestArg('pass', $laDbClientConf['production']['password']); $lsDbName = $this->getRequestArg('dbname', $laDbClientConf['production']['database'], true); $laDbConf = array('driver' => $lsDbDriver, 'charset' => $lsDbCharset, 'hostname' => $lsDbHost, 'port' => $lsDbPort, 'username' => $lsDbUser, 'password' => $lsDbPass); $this->_aRepository['newDb'] = new InstallRepository($laDbConf); if ($this->_aRepository['newDb']->connect()) { if (!$this->_aRepository['newDb']->checkDb($lsDbName)) { if (System::confirm("The database [{$lsDbName}] does not exists! Create a new database useing dbname [{$lsDbName}]?")) { if ($this->_aRepository['newDb']->createDb($lsDbName)) { $laDbConf['database'] = $lsDbName; } else { System::echoError($this->_aRepository['newDb']->getErrorMsg()); return; } } else { System::echoWarning("You need a database to continue. Aborting proccess!"); return; } } elseif (System::confirm("The database [{$lsDbName}] already exists! Confirm use this database?")) { $laDbConf['database'] = $lsDbName; } else { System::echoWarning("You need a database to continue. Aborting proccess!"); return; } } else { System::echoError($this->_aRepository['newDb']->getErrorMsg()); return; } echo "Select a database type:\n"; echo "[1] onion-base (default)\n"; echo "[2] onion-full\n"; echo "[3] onion-parking\n"; echo "[4] onion-service\n"; echo "[5] onion-telmsg\n"; $lsAnswer = System::prompt("Option:"); switch ($lsAnswer) { case "2": $lsDbFile = "onion-full.sql"; break; case "3": $lsDbFile = "onion-parking.sql"; break; case "4": $lsDbFile = "onion-service.sql"; break; case "5": $lsDbFile = "onion-telmsg.sql"; break; default: $lsDbFile = "onion-base.sql"; } $lsDbBase = System::localRequest($this->_sDbPath . DS . $lsDbFile); $this->_aRepository['newDb']->setDbConf($laDbConf); if (!$this->_aRepository['newDb']->importDb($lsDbBase)) { System::echoError($this->_aRepository['newDb']->getErrorMsg()); } else { System::echoSuccess("Success in configure database!"); } $this->confDbAction($laDbConf); }
/** */ public function checkEnvAction() { $lbCheck = true; $laPHPExtensions = array("date", "ereg", "bz2", "calendar", "hash", "session", "sockets", "zip", "PDO", "curl", "gd", "intl", "json", "mysql", "pdo_mysql", "mhash"); if (version_compare(phpversion(), '5.4', '>=')) { System::echoSuccess("PHP " . phpversion() . " - OK"); foreach ($laPHPExtensions as $lsExtension) { if (in_array($lsExtension, get_loaded_extensions())) { System::echoSuccess("PHP extension {$lsExtension} - OK"); } else { System::echoWarning("PHP extension {$lsExtension} - FAIL"); $lbCheck = false; } } if (ini_get('allow_url_fopen')) { System::echoSuccess("PHP fopen - OK"); } else { System::echoWarning("PHP - DISABLED"); $lbCheck = false; } if ($this->checkCommandLine('apachectl')) { $laApacheReturn = System::execute("apachectl -M"); } elseif ($this->checkCommandLine('httpd')) { $laApacheReturn = System::execute("httpd -M"); } $laModules = array('php5' => false, 'rewrite' => false, 'deflate' => false, 'expires' => false, 'headers' => false); if (is_array($laApacheReturn)) { foreach ($laApacheReturn as $lsLine) { if (strpos($lsLine, 'deflate')) { System::echoSuccess("Apache2 mod_deflate - OK"); $laModules['deflate'] = true; } elseif (strpos($lsLine, 'php5')) { System::echoSuccess("Apache2 mod_php5 - OK"); $laModules['php5'] = true; } elseif (strpos($lsLine, 'rewrite')) { System::echoSuccess("Apache2 mod_rewrite - OK"); $laModules['rewrite'] = true; } elseif (strpos($lsLine, 'expires')) { System::echoSuccess("Apache2 mod_expires - OK"); $laModules['expires'] = true; } elseif (strpos($lsLine, 'headers')) { System::echoSuccess("Apache2 mod_headers - OK"); $laModules['headers'] = true; } } } foreach ($laModules as $lsModule => $lbOk) { if (!$lbOk) { System::echoWarning("Apache2 mod_{$lsModule} - DISABLED"); $lbCheck = false; } } } else { System::echoWarning('You need PHP version 5.4 or latest!'); $lbCheck = false; } return $lbCheck; }