Index: trunk/admin/install.php =================================================================== diff -u -r78 -r89 --- trunk/admin/install.php (.../install.php) (revision 78) +++ trunk/admin/install.php (.../install.php) (revision 89) @@ -96,11 +96,12 @@ } include("install/install_lib.php"); + $ini_file = $pathtoroot."config.php"; if(file_exists($ini_file)) { $write_access = is_writable($ini_file); - $ini_vars = parse_ini_file($ini_file,TRUE); + $ini_vars = inst_parse_portal_ini($ini_file,TRUE); foreach($ini_vars as $secname => $section) { @@ -123,7 +124,7 @@ set_ini_value("Database", "DBUser", ""); set_ini_value("Database", "DBUserPassword", ""); set_ini_value("Database", "DBName", ""); - set_ini_value("Module Versions", "In-Portal", ""); + set_ini_value("Modules", "In-Portal", ""); save_values(); } } @@ -140,7 +141,6 @@ $configs[3] = "in-portal:configure_categories"; $mods[3] = "In-Portal"; - // simulate rootURL variable: begin $rootURL = 'http://'.dirname($_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']); $tmp = explode('/', $rootURL); @@ -546,7 +546,7 @@ if(file_exists($filename)) { RunSQLFile($ado, $filename); - set_ini_value("Module Versions", $p, $try_version); + set_ini_value("Modules", $p, $try_version); save_values(); } } @@ -568,7 +568,7 @@ if($state=="db_reconfig_save") { - $ini_vars = parse_ini_file($ini_file,TRUE); + $ini_vars = inst_parse_portal_ini($ini_file,TRUE); foreach($ini_vars as $secname => $section) { @@ -615,7 +615,7 @@ $tmp_vers = $file_tmp_cont[0]; $vers_arr = explode(";", $tmp_vers); - $ini_values = parse_ini_file($ini_file); + $ini_values = inst_parse_portal_ini($ini_file); foreach ($ini_values as $key => $value) { foreach ($vers_arr as $k) { @@ -679,7 +679,7 @@ set_ini_value("Database","TablePrefix",$_POST["TablePrefix"]); save_values(); - $ini_vars = parse_ini_file($ini_file,TRUE); + $ini_vars = inst_parse_portal_ini($ini_file,TRUE); foreach($ini_vars as $secname => $section) { @@ -806,7 +806,7 @@ if($state=="license_process") { - $ValidLicense = FALSE; + $ValidLicense = FALSE; switch($_POST["lic_opt"]) { case 1: /* download from intechnic */ @@ -1039,7 +1039,7 @@ $sql = "SELECT Version FROM ".$g_TablePrefix."Modules WHERE Name = 'In-Portal'"; $rs = $ado->Execute($sql); - set_ini_value("Module Versions", "In-Portal", $rs->fields['Version']); + set_ini_value("Modules", "In-Portal", $rs->fields['Version']); save_values(); require_once $pathtoroot.'kernel/include/tag-class.php'; @@ -1433,7 +1433,7 @@ if(file_exists($filename)) { RunSQLFile($ado, $filename); - set_ini_value("Module Versions", $p, $try_version); + set_ini_value("Modules", $p, $try_version); save_values(); } } Index: trunk/admin/install/install_lib.php =================================================================== diff -u -r78 -r89 --- trunk/admin/install/install_lib.php (.../install_lib.php) (revision 78) +++ trunk/admin/install/install_lib.php (.../install_lib.php) (revision 89) @@ -415,6 +415,44 @@ return FALSE; } +function inst_parse_portal_ini($file, $parse_section = false) { + if(!file_exists($file) && !is_readable($file)) + die('Could Not Open Ini File'); + + $contents = file($file); + + $retval = array(); + + $section = ''; + foreach($contents as $line) { + $line = trim($line); + $line = eregi_replace(';[.]*','',$line); + if(strlen($line) > 0) { + //echo $line . " - "; + if(eregi('^[[a-z]+]$',$line)) { + //echo 'section'; + $section = substr($line,1,(strlen($line)-2)); + if ($parse_section) { + $retval[$section] = array(); + } + continue; + } elseif(eregi('=',$line)) { + //echo 'main element'; + list($key,$val) = explode(' = ',$line); + if (!$parse_section) { + $retval[trim($key)] = str_replace('"', '', $val); + } + else { + $retval[$section][trim($key)] = str_replace('"', '', $val); + } + } //end if + //echo '
'; + } //end if + } //end foreach + + return $retval; +} + function inst_GetModuleList() { global $rootpath,$pathchar,$admin, $pathtoroot; Index: trunk/globals.php =================================================================== diff -u -r78 -r89 --- trunk/globals.php (.../globals.php) (revision 78) +++ trunk/globals.php (.../globals.php) (revision 89) @@ -1,6 +1,6 @@ 0) { + //echo $line . " - "; + if(eregi('^[[a-z]+]$',$line)) { + //echo 'section'; + $section = substr($line,1,(strlen($line)-2)); + if ($parse_section) { + $retval[$section] = array(); + } + continue; + } elseif(eregi('=',$line)) { + //echo 'main element'; + list($key,$val) = explode(' = ',$line); + if (!$parse_section) { + $retval[trim($key)] = str_replace('"', '', $val); + } + else { + $retval[$section][trim($key)] = str_replace('"', '', $val); + } + } //end if + //echo '
'; + } //end if + } //end foreach + + return $retval; +} + function &GetADODBConnection() { global $g_adodbConnection, $g_DBType, $g_DBHost,$g_DBUser,$g_DBUserPassword,$g_DBName,$g_DebugMode; Index: trunk/kernel/include/modules.php =================================================================== diff -u -r41 -r89 --- trunk/kernel/include/modules.php (.../modules.php) (revision 41) +++ trunk/kernel/include/modules.php (.../modules.php) (revision 89) @@ -516,7 +516,7 @@ { global $i_Keys, $objConfig, $pathtoroot; - $vars = parse_ini_file($pathtoroot."config.php"); + $vars = parse_portal_ini($pathtoroot."config.php"); while($key = key($vars)) {