[Comoblog-commit] comoblog/_install upgrade_0.php,NONE,1.1 upgrade_1.php,NONE,1.1 upgrade_2.php,NONE
Status: Inactive
Brought to you by:
markwallis
|
From: Mark W. \(a. serialmonkey\) <mar...@us...> - 2005-10-09 14:11:44
|
Update of /cvsroot/comoblog/comoblog/_install In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23647/_install Modified Files: step_1.php Added Files: upgrade_0.php upgrade_1.php upgrade_2.php upgrade_3.php Log Message: UPGRADE component to installer added. Customed for 0.5.1->1.0 upgrade --- NEW FILE: upgrade_2.php --- <?php require ('../include/xtemplate.inc.php'); require_once (dirname(__FILE__).'/../include/config.inc.php'); if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { // check form foreach ($_POST as $k => $v) { if (get_magic_quotes_gpc() == 0) $_POST[$k] = addslashes(trim($v)); else $_POST[$k] = trim($v); } $errors = array(); if ($_POST['old_path'] == '') $errors[] = 'old path required'; if ($_POST['base_path'] == '') $errors[] = 'base path required'; if ($_POST['site_url'] == '') $errors[] = 'site url required'; if (count($errors) == 0) { if (file_exists($_POST['old_path'])) { $fromDir = str_replace('//','/',$_POST['old_path']."/img/topics"); if ($fromDir) { $toDir = dirname(__FILE__)."/../img/topics"; $handle=opendir($fromDir); while ($item=readdir($handle)) { $from=str_replace('//','/',$fromDir.'/'.$item); $to=str_replace('//','/',$toDir.'/'.$item); if (strpos($item, ".php") == FALSE && is_file($from)) { if (!copy($from, $to)) $errors[] = 'error copying "'.$from.'" to "'.$to.'"'; } } } else $errors[] = 'img/topics folder missing from old installation'; $fromDir = str_replace('//','/',$_POST['old_path']."/img/posts"); if ($fromDir) { $toDir = dirname(__FILE__)."/../img/posts"; $handle=opendir($fromDir); while ($item=readdir($handle)) { $from=str_replace('//','/',$fromDir.'/'.$item); $to=str_replace('//','/',$toDir.'/'.$item); if (strpos($item, ".php") == FALSE && is_file($from)) { if (!copy($from, $to)) $errors[] = 'error copying "'.$from.'" to "'.$to.'"'; } } } else $errors[] = 'img/posts folder missing from old installation'; } else $errors[] = 'old path provided does not exist'; // change values in ".CFG_MYSQL_TABPREFIX."preferences table $query = "update ".CFG_MYSQL_TABPREFIX."preferences set pref_value = '".$_POST['base_path']."' where pref_name = 'CFG_BASE_PATH'"; $res = mysql_query($query); $query = "update ".CFG_MYSQL_TABPREFIX."preferences set pref_value = '".$_POST['site_url']."' where pref_name = 'CFG_SITE_URL'"; $res = mysql_query($query); } if (count($errors) == 0) { Header ('Location: upgrade_3.php'); exit(); } } else { $current_path = dirname(__FILE__); $current_script = basename($_SERVER['PHP_SELF']); $AUTO_DETECTED['base_path'] = substr($current_path, 0, strlen($current_path) - strlen($current_script) + 4); $current_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $AUTO_DETECTED['site_url'] = substr($current_url, 0, strlen($current_url) - strlen('/_install/upgrade_2.php')) . '/'; } $tpl = @new XTemplate ('templates/upgrade_2.tpl.htm', 'main'); if (strtoupper($_SERVER['REQUEST_METHOD']) == 'POST') { if (count($errors) > 0) { foreach ($errors as $k => $v) { $tpl->assign('ERROR', $v); $tpl->parse('main.errors.error'); } $tpl->parse('main.errors'); } } else $tpl->assign('POST', $AUTO_DETECTED); $tpl->parse('main'); $tpl->out('main'); ?> --- NEW FILE: upgrade_3.php --- <?php require ('../include/xtemplate.inc.php'); require_once (dirname(__FILE__).'/../include/config.inc.php'); $tpl = @new XTemplate ('templates/upgrade_3.tpl.htm', 'main'); $tpl->assign('SITE_URL', CFG_SITE_URL); $tpl->assign('BASE_PATH', CFG_BASE_PATH); $tpl->assign('WIN_BASE_PATH', str_replace('/','\\',CFG_BASE_PATH)); $tpl->assign('ADMIN_USERNAME', CFG_ADMIN_USERNAME); session_start(); $tpl->assign('ADMIN_PW', $_SESSION['admin_pw']); $allowed_from = explode (',', CFG_ALLOWED_FROM); if (CFG_ALLOWED_FROM == '') { $tpl->assign('ALLOWED_FROM', 'everybody'); $tpl->parse('main.allowed_from'); } else { for ($c = 0; $c < count($allowed_from); $c++) { $tpl->assign('ALLOWED_FROM', $allowed_from[$c]); $tpl->parse('main.allowed_from'); } } $tpl->parse('main'); $tpl->out('main'); ?> --- NEW FILE: upgrade_1.php --- <?php require ('../include/xtemplate.inc.php'); require_once (dirname(__FILE__).'/../include/config.inc.php'); $query = "select pref_value from ".CFG_MYSQL_TABPREFIX."preferences where pref_name='CFG_VERSION'"; $res = mysql_query($query); $row = mysql_fetch_array($res, MYSQL_NUM); $ver = $row[0]; $errors = array(); if ($ver = "0.5.1") $errors = run_script(dirname(__FILE__)."/upgrades/0.5.1_to_1.0.xml"); if (count($errors) == 0) { Header ('Location: upgrade_2.php'); } else { $tpl = @new XTemplate ('templates/upgrade_1.tpl.htm', 'main'); foreach ($errors as $k => $v) { $tpl->assign('ERROR', $v); $tpl->parse('main.errors.error'); } $tpl->parse('main.errors'); $tpl->parse('main'); $tpl->out('main'); } ?> --- NEW FILE: upgrade_0.php --- <?php require ('../include/xtemplate.inc.php'); require_once (dirname(__FILE__).'/../include/config.inc.php'); $tpl = @new XTemplate ('templates/upgrade.tpl.htm', 'main'); $query = "select pref_value from ".CFG_MYSQL_TABPREFIX."preferences where pref_name='CFG_VERSION'"; $res = mysql_query($query); $row = mysql_fetch_array($res, MYSQL_NUM); $ver = $row[0]; // Check supported upgrade versions. if ($ver == "0.5.1") { $tpl->assign('VERSION', "Easymoblog 0.5.1"); $tpl->parse('main.upgrade'); } else { $tpl->parse('main.failed'); } $tpl->parse('main'); $tpl->out('main'); ?> Index: step_1.php =================================================================== RCS file: /cvsroot/comoblog/comoblog/_install/step_1.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- step_1.php 4 Oct 2005 03:18:29 -0000 1.3 +++ step_1.php 9 Oct 2005 14:11:35 -0000 1.4 @@ -57,8 +57,34 @@ $selectdb = @mysql_select_db ($_POST['mysql_dbname']); if (!$selectdb) - $errors[] = 'Error selecting database (check database name)'; + $errors[] = 'Error selecting database (check database name)'; + + $query = "select pref_value from ".$_POST['mysql_tabprefix']."preferences where pref_name='CFG_VERSION'"; + $res = mysql_query($query); + if ($res) + { + // Upgrade detected + + $fp = fopen('param.inc.dist', 'r'); + $config = fread($fp, filesize('param.inc.dist')); + fclose($fp); + $config = str_replace('{##MYSQL_HOST##}', $_POST['mysql_host'], $config); + $config = str_replace('{##MYSQL_USERNAME##}', $_POST['mysql_username'], $config); + $config = str_replace('{##MYSQL_PASSWORD##}', $_POST['mysql_password'], $config); + $config = str_replace('{##MYSQL_DBNAME##}', $_POST['mysql_dbname'], $config); + $config = str_replace('{##MYSQL_TABPREFIX##}', $_POST['mysql_tabprefix'], $config); + + $fp = fopen(dirname(__FILE__).'/../include/param.inc.php', 'w'); + fwrite($fp, $config); + fclose($fp); + + @chmod (dirname(__FILE__).'/../include/param.inc.php', 0600); + + header ('Location: upgrade_0.php'); + exit; + } } + if (count($errors) == 0) { require (dirname(__FILE__).'/../admin/include/xml2array.inc.php'); |