function toc_copy($source, $target) { if (is_dir($source)) { $src_dir = dir($source); while (false !== ($file = $src_dir->read())) { if ($file == '.' || $file == '..') { continue; } $src_file = $source . '/' . $file; if (is_dir($src_file)) { toc_copy($src_file, $target . '/' . $file); continue; } copy($src_file, $target . '/' . $file); } $src_dir->close(); } else { copy($source, $target); } }
case 'dbImportSample': $db = array('DB_SERVER' => trim(urldecode($_GET['server'])), 'DB_SERVER_USERNAME' => trim(urldecode($_GET['username'])), 'DB_SERVER_PASSWORD' => trim(urldecode($_GET['password'])), 'DB_DATABASE' => trim(urldecode($_GET['name'])), 'DB_DATABASE_CLASS' => trim(urldecode($_GET['class'])), 'DB_TABLE_PREFIX' => trim(urldecode($_GET['prefix']))); $osC_Database = osC_Database::connect($db['DB_SERVER'], $db['DB_SERVER_USERNAME'], $db['DB_SERVER_PASSWORD'], $db['DB_DATABASE_CLASS']); if ($osC_Database->isError() === false) { $osC_Database->selectDatabase($db['DB_DATABASE']); } if ($osC_Database->isError() === false) { @chmod('../images', 0777); @chmod('../images/categories', 0777); @chmod('../images/products', 0777); @chmod('../images/products/large', 0777); @chmod('../images/products/mini', 0777); @chmod('../images/products/originals', 0777); @chmod('../images/products/product_info', 0777); @chmod('../images/products/thumbnails', 0777); toc_copy('samples/images', '../images'); $sql_file = $dir_fs_www_root . '/tomatocart_sample_data.sql'; $osC_Database->importSQL($sql_file, $db['DB_DATABASE'], $db['DB_TABLE_PREFIX']); } if ($osC_Database->isError()) { echo '[[0|' . $osC_Database->getError() . ']]'; } else { echo '[[1]]'; } exit; break; case 'checkWorkDir': $directory = trim(urldecode($_GET['dir'])); if (file_exists($directory)) { if (is_writeable($directory)) { if (file_exists($directory . '/.htaccess') === false) {
/** * Connect to the database * * @access public * @return void */ public function save() { //store settings $www = trim(urldecode($this->input->post('HTTP_WWW_ADDRESS'))); $store_name = trim(urldecode($this->input->post('CFG_STORE_NAME'))); $store_owner_name = trim(urldecode($this->input->post('CFG_STORE_OWNER_NAME'))); $email = trim(urldecode($this->input->post('CFG_STORE_OWNER_EMAIL_ADDRESS'))); $username = trim(urldecode($this->input->post('CFG_ADMINISTRATOR_USERNAME'))); $password = trim(urldecode($this->input->post('CFG_ADMINISTRATOR_PASSWORD'))); $sample = trim(urldecode($this->input->post('DB_INSERT_SAMPLE_DATA'))); $db_config = $this->session->userdata('db_config'); //connect to database $this->load->database($db_config); //load settings model $this->load->model('settings_model'); //load administrators model $this->load->model('administrators_model'); $this->settings_model->save_setting('STORE_NAME', $store_name); $this->settings_model->save_setting('STORE_OWNER', $store_owner_name); $this->settings_model->save_setting('STORE_OWNER_EMAIL_ADDRESS', $email); $this->settings_model->save_setting('EMAIL_FROM', '"' . $store_owner_name . '" <' . $email . '>'); $this->administrators_model->create($username, $password, $email); //parse http, get http server & http path $http_url = parse_url($www); $http_server = $http_url['scheme'] . '://' . $http_url['host']; $http_path = $http_url['path']; if (isset($http_url['port']) && !empty($http_url['port'])) { $http_server .= ':' . $http_url['port']; } //http path if (substr($http_path, -1) != '/') { $http_path .= '/'; } //write store frontend config file $this->write_config_file($http_server, $http_path, $http_url); //write store admin config file $this->write_admin_config_file($http_server, $http_path, $http_url); //write database configuration file $this->write_database_file('../local/config/database.php', $db_config); //import sample data if ($sample == 'on') { //import sample sql data $this->import_sample_sql(); //copy sample data toc_copy('samples/images', '../images'); //resize images $this->resize_product_images(); } $this->output->set_output(json_encode(array('success' => TRUE))); }