/** * Prepare and process config form * * @param void * @return boolean */ function execute() { if (strtolower(array_var($_SERVER, 'HTTPS')) == 'on' || array_var($_SERVER, 'SERVER_PORT') == 443) { $protocol = 'https://'; } else { $protocol = 'http://'; } // if $request_url = without_slash($protocol . dirname($_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'])); if (($rpos = strrpos($request_url, '/')) !== false) { $installation_url = substr($request_url, 0, $rpos - 7); // remove /public ;) } else { $installation_url = ''; } // if $config_form_data = array_var($_POST, 'config_form'); if (!is_array($config_form_data)) { $config_form_data = array('database_type' => $this->getFromStorage('database_type'), 'database_host' => $this->getFromStorage('database_host', 'localhost'), 'database_user' => $this->getFromStorage('database_user'), 'database_pass' => $this->getFromStorage('database_pass'), 'database_name' => $this->getFromStorage('database_name'), 'database_prefix' => $this->getFromStorage('database_prefix'), 'absolute_url' => $this->getFromStorage('absolute_url')); // array } // if tpl_assign('installation_url', $installation_url); tpl_assign('config_form_data', $config_form_data); if ($this->isSubmited()) { $database_type = (string) array_var($config_form_data, 'database_type'); $database_host = (string) array_var($config_form_data, 'database_host'); $database_user = (string) array_var($config_form_data, 'database_user'); $database_pass = (string) array_var($config_form_data, 'database_pass'); $database_name = (string) array_var($config_form_data, 'database_name'); $database_prefix = (string) array_var($config_form_data, 'database_prefix'); $absolute_url = (string) array_var($config_form_data, 'absolute_url'); $connected = false; if ($this->database_connection = @mysql_connect($database_host, $database_user, $database_pass)) { $connected = @mysql_select_db(array_var($config_form_data, 'database_name'), $this->database_connection); } // if if ($connected) { $this->addToStorage('database_type', $database_type); $this->addToStorage('database_host', $database_host); $this->addToStorage('database_user', $database_user); $this->addToStorage('database_pass', $database_pass); $this->addToStorage('database_name', $database_name); $this->addToStorage('database_prefix', $database_prefix); $this->addToStorage('absolute_url', $absolute_url); return true; } else { $this->addError('Failed to connect to database with data you provided'); } // if } // if $this->setContentFromTemplate('system_config_form.php'); return false; }
/** * Prepare and process config form * * @param void * @return boolean */ function execute() { if (strtolower(array_var($_SERVER, 'HTTPS')) == 'on' || array_var($_SERVER, 'SERVER_PORT') == 443) { $protocol = 'https://'; } else { $protocol = 'http://'; } // if $request_url = without_slash($protocol . dirname($_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'])); if (($rpos = strrpos($request_url, '/')) !== false) { $installation_url = substr($request_url, 0, $rpos - 7); // remove /public ;) } else { $installation_url = ''; } // if $config_form_data = array_var($_POST, 'config_form'); if (!is_array($config_form_data)) { $config_form_data = array('database_type' => $this->getFromStorage('database_type', 'MySQL'), 'database_host' => $this->getFromStorage('database_host', 'localhost'), 'database_user' => $this->getFromStorage('database_user', 'root'), 'database_pass' => $this->getFromStorage('database_pass'), 'database_name' => $this->getFromStorage('database_name', 'PP'), 'database_create' => $this->getFromStorage('database_create'), 'database_charset' => $this->getFromStorage('database_charset', 'utf8'), 'database_prefix' => $this->getFromStorage('database_prefix', 'PP086_')); // array } // if tpl_assign('config_form_data', $config_form_data); if ($this->isSubmitted()) { $database_type = (string) array_var($config_form_data, 'database_type'); $database_host = (string) array_var($config_form_data, 'database_host'); $database_user = (string) array_var($config_form_data, 'database_user'); $database_pass = (string) array_var($config_form_data, 'database_pass'); $database_name = (string) array_var($config_form_data, 'database_name'); $database_create = (string) array_var($config_form_data, 'database_create'); $database_charset = (string) array_var($config_form_data, 'database_charset'); $database_prefix = (string) array_var($config_form_data, 'database_prefix'); if ($this->database_connection = @mysql_connect($database_host, $database_user, $database_pass)) { // --------------------------------------------------- // Check if we have at least 4.1 // --------------------------------------------------- $mysql_version = mysql_get_server_info($this->database_connection); if ($mysql_version && version_compare($mysql_version, '4.1', '>=')) { $this->addToStorage('database_type', $database_type); $this->addToStorage('database_host', $database_host); $this->addToStorage('database_user', $database_user); $this->addToStorage('database_pass', $database_pass); $try_select = true; if ($database_create == 'yes') { $try_select = false; if (@mysql_select_db(array_var($config_form_data, 'database_name'), $this->database_connection)) { $this->addError("Database create failed, {$database_name} exists. Choose another name or uncheck create option."); } else { $sql = "CREATE DATABASE `{$database_name}`"; if (mysql_query($sql, $this->database_connection)) { $try_select = true; } else { $this->addError('Error creating database: ' . mysql_error()); } } } if ($try_select) { if (@mysql_select_db(array_var($config_form_data, 'database_name'), $this->database_connection)) { $this->addToStorage('database_name', $database_name); $this->addToStorage('database_charset', $database_charset); $this->addToStorage('database_prefix', $database_prefix); $exist = 0; $result = @mysql_query("show tables like '{$database_prefix}%'", $this->database_connection); while ($row = @mysql_fetch_row($result)) { $exist++; } if ($exist == 0) { return true; } $this->addError("There are {$exist} tables present with prefix '{$database_prefix}'. Remove those tables or use another prefix."); } else { $this->addError("Database '{$database_name}' not available on host '{$database_host}'."); } } } else { $this->addError('Database version is ' . $mysql_version . '. Minimum is 4.1. Choose another host or upgrade.'); } } else { $this->addError("Failed to connect to database server '{$database_host}' with user '{$database_user}' and provided password"); } // if } // if $this->setContentFromTemplate('system_config_form.php'); return false; }
$is_mdm = !empty($tables['domains']); if (!$is_mdm) { $domains = array(0); } if (!is_array($domains)) { cw_flush('No domains specified'); cw_add_top_message('No domains specified. Please select domains which should be included into the sitemap.', 'W'); return false; } foreach ($domains as $domain_id) { if ($addons['multi_domains']) { $domain = cw_func_call('cw_md_domain_get', array('domain_id' => $domain_id)); } $_filename = cw_sitemap_name('', false); if ($is_mdm) { $http_location = without_slash("http://" . $domain['http_host'] . $domain['web_dir']); $_filename = cw_sitemap_name($domain['name'], false); } $today = date('Y-m-d'); if (($filename = cw_allow_file($_filename, true)) && ($file = cw_fopen($_filename, 'w', true))) { $success = true; $data = array('home' => array(''), 'cat_manuf' => array(), 'product' => array(), 'static' => array()); $current_domain = $domain_id; $r = cw_func_call('cw_category_search', array('data' => array('status' => 1, 'all' => true))); unset($r[1]); // release navigation info $items =& $r[0]; if (is_array($items)) { cw_flush(cw_get_langvar_by_name('lbl_categories', null, false, true)); foreach ($items as $v) { cw_flush('.');
/** * Format path with leading slash and without trailing to make concatenation easier */ function with_leading_slash_only($path, $root_slash_for_empty = false) { if (empty($path) && !$root_slash_for_empty) { return ''; } return with_leading_slash(without_slash($path)); }
/** * Prepare and process config form * * @param void * @return boolean */ function execute() { if((strtolower(array_var($_SERVER, 'HTTPS')) == 'on') || (array_var($_SERVER, 'SERVER_PORT') == 443)) { $protocol = 'https://'; } else { $protocol = 'http://'; } // if $request_url = without_slash($protocol . dirname($_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'])); if(($rpos = strrpos($request_url, '/')) !== false) { $installation_url = substr($request_url, 0, $rpos - 7); // remove /public ;) } else { $installation_url = ''; } // if $config_form_data = array_var($_POST, 'config_form'); //var_dump($config_form_data) ; exit ; if(!is_array($config_form_data)) { $config_form_data = array( 'database_type' => $this->getFromStorage('database_type'), 'database_host' => $this->getFromStorage('database_host', 'localhost'), 'database_user' => $this->getFromStorage('database_user'), 'database_pass' => $this->getFromStorage('database_pass'), 'database_name' => $this->getFromStorage('database_name'), 'database_prefix' => $this->getFromStorage('database_prefix'), 'database_engine' => $this->getFromStorage('database_engine'), 'absolute_url' => $this->getFromStorage('absolute_url'), 'plugins' => $this->getFromStorage('plugins'), 'plugins_available' => $this->scanPlugins(), ); } tpl_assign('installation_url', $installation_url); tpl_assign('config_form_data', $config_form_data); if($this->isSubmited()) { $database_type = (string) array_var($config_form_data, 'database_type'); $database_host = (string) array_var($config_form_data, 'database_host'); $database_user = (string) array_var($config_form_data, 'database_user'); $database_pass = (string) array_var($config_form_data, 'database_pass'); $database_name = (string) array_var($config_form_data, 'database_name'); $database_prefix = (string) array_var($config_form_data, 'database_prefix'); $database_engine = (string) array_var($config_form_data, 'database_engine'); $absolute_url = (string) array_var($config_form_data, 'absolute_url'); $plugins = array_var($config_form_data, 'plugins'); $connected = false; $this->database_connection = @mysql_connect($database_host, $database_user, $database_pass); if ($this->database_connection) { $connected = @mysql_select_db($database_name, $this->database_connection); if (!$connected) { $error = @mysql_error(); $errno = @mysql_errno(); if ($errno == 1049 && strpos($database_name, '`') === false) { // database doesn't exist. Try to create it. if (@mysql_query('CREATE DATABASE `' . $database_name . '`', $this->database_connection)) { $connected = @mysql_select_db($database_name, $this->database_connection); } } } } else { $error = @mysql_error(); } if($connected) { $this->addToStorage('database_type', $database_type); $this->addToStorage('database_host', $database_host); $this->addToStorage('database_user', $database_user); $this->addToStorage('database_pass', $database_pass); $this->addToStorage('database_name', $database_name); $this->addToStorage('database_prefix', $database_prefix); $this->addToStorage('database_engine', $database_engine); $this->addToStorage('absolute_url', $absolute_url); $this->addToStorage('plugins' , $plugins); return true; } else { $this->addError('Failed to connect to database with data you provided: ' . $error); } // if } // if $this->setContentFromTemplate('system_config_form.php'); return false; } // excute
/** * Paths returned at the logs are relative to repository's ROOT url and * the repository needs to be queried with such paths, which makes the mess * in case that repository's root url added to activeCollab is actually * pointing to a subdirectory. * * Contacatenating fails in that case and this method takes care of that by * prepending the repository's root url to the requested path. * * @param string $path * @return string */ function getRealPath($path) { $path = str_replace("//", "/", $path); // weird issue that sometimes happens $path = str_replace(":/", "://", $path); // make http work again return str_replace(' ', '%20', without_slash($this->getRepositoryRootPath()) . $path); }