CONFIG_PATH = NN_CONFIGS; $this->COVERS_PATH = NN_RES . 'covers' . DS; $this->DB_DIR = NN_RES . 'db' . DS . 'schema' . DS; $this->SMARTY_COMPILED_TEMPLATES = NN_RES . 'smarty' . DS . 'templates_c' . DS; $this->INSTALL_DIR = NN_WWW . 'install'; $this->NZB_PATH = NN_RES . 'nzb' . DS; $this->TMP_PATH = NN_RES . 'tmp' . DS; $this->UNRAR_PATH = $this->TMP_PATH . 'unrar' . DS; $this->WWW_TOP = NN_WWW; } public function setSession() { $_SESSION['cfg'] = serialize($this); } public function getSession() { $tmpCfg = unserialize($_SESSION['cfg']); $tmpCfg->error = false; $tmpCfg->doCheck = false; return $tmpCfg; } public function isInitialized() { return (isset($_SESSION['cfg']) && is_object(unserialize($_SESSION['cfg']))); } public function isLocked() { return (file_exists($this->INSTALL_DIR . '/install.lock') ? true : false); } public function setConfig($tmpCfg) { preg_match_all('/define\((.*?)\)/i', $tmpCfg, $matches); $defines = $matches[1]; foreach ($defines as $define) { $define = str_replace('\'', '', $define); list($defName, $defVal) = explode(',', $define); $this->{$defName} = trim($defVal); } } public function saveConfig() { $tmpCfg = file_get_contents($this->INSTALL_DIR . DS . 'config.php.tpl'); $tmpCfg = str_replace('%%DB_SYSTEM%%', $this->DB_SYSTEM, $tmpCfg); $tmpCfg = str_replace('%%DB_HOST%%', $this->DB_HOST, $tmpCfg); $tmpCfg = str_replace('%%DB_PORT%%', $this->DB_PORT, $tmpCfg); $tmpCfg = str_replace('%%DB_SOCKET%%', $this->DB_SOCKET, $tmpCfg); $tmpCfg = str_replace('%%DB_USER%%', $this->DB_USER, $tmpCfg); $tmpCfg = str_replace('%%DB_PASSWORD%%', $this->DB_PASSWORD, $tmpCfg); $tmpCfg = str_replace('%%DB_NAME%%', $this->DB_NAME, $tmpCfg); $tmpCfg = str_replace('%%NNTP_USERNAME%%', $this->NNTP_USERNAME, $tmpCfg); $tmpCfg = str_replace('%%NNTP_PASSWORD%%', $this->NNTP_PASSWORD, $tmpCfg); $tmpCfg = str_replace('%%NNTP_SERVER%%', $this->NNTP_SERVER, $tmpCfg); $tmpCfg = str_replace('%%NNTP_PORT%%', $this->NNTP_PORT, $tmpCfg); $tmpCfg = str_replace('%%NNTP_SSLENABLED%%', ($this->NNTP_SSLENABLED ? "true" : "false"), $tmpCfg); $tmpCfg = str_replace('%%NNTP_SOCKET_TIMEOUT%%', $this->NNTP_SOCKET_TIMEOUT, $tmpCfg); $tmpCfg = str_replace('%%NNTP_USERNAME_A%%', $this->NNTP_USERNAME_A, $tmpCfg); $tmpCfg = str_replace('%%NNTP_PASSWORD_A%%', $this->NNTP_PASSWORD_A, $tmpCfg); $tmpCfg = str_replace('%%NNTP_SERVER_A%%', $this->NNTP_SERVER_A, $tmpCfg); $tmpCfg = str_replace('%%NNTP_PORT_A%%', $this->NNTP_PORT_A, $tmpCfg); $tmpCfg = str_replace('%%NNTP_SSLENABLED_A%%', ($this->NNTP_SSLENABLED_A ? "true" : "false"), $tmpCfg); $tmpCfg = str_replace('%%NNTP_SOCKET_TIMEOUT_A%%', $this->NNTP_SOCKET_TIMEOUT_A, $tmpCfg); $tmpCfg = str_replace('%%NN_SSL_CAFILE%%', $this->NN_SSL_CAFILE, $tmpCfg); $tmpCfg = str_replace('%%NN_SSL_CAPATH%%', $this->NN_SSL_CAPATH, $tmpCfg); $tmpCfg = str_replace('%%NN_SSL_VERIFY_PEER%%', $this->NN_SSL_VERIFY_PEER, $tmpCfg); $tmpCfg = str_replace('%%NN_SSL_VERIFY_HOST%%', $this->NN_SSL_VERIFY_HOST, $tmpCfg); $tmpCfg = str_replace('%%NN_SSL_ALLOW_SELF_SIGNED%%', $this->NN_SSL_ALLOW_SELF_SIGNED, $tmpCfg); $this->COMPILED_CONFIG = $tmpCfg; return @file_put_contents(NN_CONFIGS . DS . 'config.php', $tmpCfg); } public function saveInstallLock() { return @file_put_contents($this->INSTALL_DIR . DS . 'install.lock', ''); } }