[Comoblog-commit] comoblog/admin manage_modules.php,1.2,1.3
Status: Inactive
Brought to you by:
markwallis
|
From: Mark W. \(a. serialmonkey\) <mar...@us...> - 2005-11-18 08:24:59
|
Update of /cvsroot/comoblog/comoblog/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv991/admin Modified Files: manage_modules.php Log Message: 1327274 - Updating with existing modules fails Index: manage_modules.php =================================================================== RCS file: /cvsroot/comoblog/comoblog/admin/manage_modules.php,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- manage_modules.php 13 Nov 2005 12:35:27 -0000 1.2 +++ manage_modules.php 18 Nov 2005 08:24:51 -0000 1.3 @@ -10,13 +10,15 @@ require('include/xml2array.inc.php'); $new = 0; + $upgrade = 0; $failed = 0; if ($dir = @opendir('../modules')) { while (($file = readdir($dir)) !== false) { if (substr($file,0,4) == 'mod_' && is_dir('../modules/'.$file)) { - $query = "select mod_name from ".CFG_MYSQL_TABPREFIX."modules where mod_name = '".$file."'"; + $query = "select mod_name,mod_version from ".CFG_MYSQL_TABPREFIX."modules where mod_name = '".$file."'"; $res = mysql_query($query); $install_file = '../modules/'.$file.'/install/'.$file.'.xml'; + $new_version = get_module_version_from_xml($install_file); if (mysql_num_rows($res) == 0 && file_exists($install_file)) { // found new module!!! $module_install = module_install($file); // install it if ($module_install) { @@ -31,6 +33,23 @@ $new += 1; } } + else { + $old_version = mysql_result($res, 0, 'mod_version'); + if ($old_version < $new_version) { + $module_install = module_install($file); // upgrade it + if ($module_install) { + $tpl->assign('MOD_NAME', $file); + $tpl->assign('ERROR', $module_install); + $tpl->parse('main.failed.module'); + $failed += 1; + } + else { // installed! + $tpl->assign('MOD_NAME', $file); + $tpl->parse('main.upgraded.module'); + $upgrade += 1; + } + } + } } } closedir($dir); @@ -39,8 +58,13 @@ if ($new > 0) // if new modules were installed $tpl->parse('main.installed'); + if ($upgrade > 0) + $tpl->parse('main.upgraded'); + if ($failed > 0) // if new modules failed to install $tpl->parse('main.failed'); + + /* */ @@ -84,7 +108,7 @@ $tpl->parse('main.modules.module.up'); } - if (!is_module_certified($modules[$m]['mod_certified'])) { + if (!is_module_certified($modules[$m]['mod_name'])) { $uncertified_found = true; $tpl->parse('main.modules.module.uncertified'); } @@ -132,7 +156,7 @@ $tpl->parse('main.modules.module.up'); } - if (!is_module_certified($modules[$m]['mod_certified'])) { + if (!is_module_certified($modules[$m]['mod_name'])) { $uncertified_found = true; $tpl->parse('main.modules.module.uncertified'); } @@ -178,7 +202,7 @@ $tpl->parse('main.modules.module.up'); } - if (!is_module_certified($modules[$m]['mod_certified'])) { + if (!is_module_certified($modules[$m]['mod_name'])) { $uncertified_found = true; $tpl->parse('main.modules.module.uncertified'); } @@ -211,7 +235,7 @@ $tpl->parse('main.modules.module.pos'); } - if (!is_module_certified($modules[$m]['mod_certified'])) { + if (!is_module_certified($modules[$m]['mod_name'])) { $uncertified_found = true; $tpl->parse('main.modules.module.uncertified'); } |