<?php 

$pathtoroot = "";
if(!strlen($pathtoroot))
{
  //$path=dirname(realpath(__FILE__));PATH_TRANSLATED
  $path=dirname(realpath(__FILE__));
  if(strlen($path))
  {
    /* determine the OS type for path parsing */
    $pos = strpos($path,":");
    if ($pos === false)
    {
      $gOS_TYPE="unix";
      $pathchar = "/";
    }
    else
    {
      $gOS_TYPE="win";
      $pathchar="\\";
    }
    $p = $path.$pathchar;
    /*Start looking for the root flag file */
    while(!strlen($pathtoroot) && strlen($p))
    {
      $sub = substr($p,strlen($pathchar)*-1);
      if($sub==$pathchar)
      {
        $filename = $p."root.flg";
      }
      else
        $filename = $p.$pathchar."root.flg";
      if(file_exists($filename))
      {
        $pathtoroot = $p;
      }
      else
      {
        $parent = realpath($p.$pathchar."..".$pathchar);
	if($parent!=$p)
	{
	  $p = $parent;
	}
	else
	  $p = "";
      }
    }
    if(!strlen($pathtoroot))
      $pathtoroot = ".".$pathchar;
  }
  else
  {
    $pathtoroot = ".".$pathchar;
  }
}
function GetPathChar($path = null)
{
 	if( !isset($path) ) $path = $GLOBALS['pathtoroot'];
 	$pos = strpos($path, ':');
    return ($pos === false) ? "/" : "\\";
}

$rootURL = 'http://'.dirname($_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']);
$rootURL = str_replace('/install','',$rootURL);

$tmp = explode('/', $rootURL);
if( $tmp[ count($tmp) - 1 ] == $admin) unset( $tmp[ count($tmp) - 1 ] );
$rootURL = implode('/', $tmp).'/';
unset($tmp);
$mod_name = '/'.strtolower($_GET['module']);
if ($mod_name == '/in-portal')$mod_name = '';
$pathtoroot=str_replace('\\','/',$pathtoroot);

$path_char = GetPathChar();

$sub = substr($pathtoroot,strlen($pathchar)*-1);
if($sub!=$pathchar)
{
  $pathtoroot = $pathtoroot.$pathchar;
}
include($pathtoroot."/admin/install/install_lib.php");
require_once($pathtoroot."/kernel/include/adodb/adodb.inc.php");
include($_=$pathtoroot."/admin/install/inst_ado.php");

$ini_file = $pathtoroot."config.php";
if(file_exists($ini_file))
{
    $write_access = is_writable($ini_file);
    $ini_vars = inst_parse_portal_ini($ini_file,TRUE);
    foreach($ini_vars as $secname => $section)
    {
      foreach($section as $key => $value)
      {
          $key = "g_".str_replace('-', '', $key);      
          global $$key;
          $$key = $value;
      }
    }    
}
$module_path = $pathtoroot.$mod_name.'/admin/install/';
$ado =&inst_GetADODBConnection();
$sql = 'SELECT Version FROM '.$g_TablePrefix.'Modules WHERE Name="'.addslashes($_GET['module']).'" ORDER BY LoadOrder';
$rs = $ado->Execute($sql);

$mod_ver = 0;
while ($rs && !$rs->EOF) {
	$mod_ver = $rs->fields['Version'];
	$rs->MoveNext();
}

$p = strtolower($_GET['module']);        

if ($p == 'in-portal')$p = '';

$dir_name = $pathtoroot.$p."/admin";///install/upgrades/";

$newver=GetMaxPortalVersion($dir_name);

if($mod_ver!=$newver)
{
   	$dir_name = $pathtoroot.$p."/admin/install/upgrades/";
	$dir = @dir($dir_name); 
	
	$upgrades_arr = Array();
	
	$new_version = '';
	while ($file = $dir->read()) {
			if ($file != "." && $file != ".." && !is_dir($dir_name.$file)) { 	        	
	        	if (strstr($file, 'inportal_check_v')) {
		        	$upgrades_arr[] = $file;	        		
	        	}
			}
	}
	usort($upgrades_arr, "VersionSort");
	$result=0;
	$failCheck=1;
	$stopCheck=2;
	$CheckErrors = Array();

	foreach($upgrades_arr as $file)
	{
      $file_tmp = str_replace("inportal_check_v", "", $file);
      $file_tmp = str_replace(".php", "", $file_tmp);	
	        	
   		if (ConvertVersion($file_tmp) > ConvertVersion($current_version)) {
			$filename = $pathtoroot.$mod_name."/admin/install/upgrades/$file";
	       	if(file_exists($filename))
		   		{
					include($filename);
					if($result&2)break;
		   		}	        		
      	}		
	}

}

function print_pre($s)
{
	echo '<pre>'.print_r($s, true).'</pre>';	
}

?>
<html>
	<head>
		<title>In-Portal - Module Errors</title>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
		<meta http-equiv="Pragma" content="no-cache">
		<link rel="stylesheet" type="text/css" href="<?php echo $rootURL; ?>include/style.css">
	</head>
	<body topmargin="0" leftmargin="8" marginheight="8" marginwidth="8" bgcolor="#FFFFFF">
		<DIV style='position:relative; z-Index: 1; background-color: #ffffff; padding-top:1px;'>
		<div style='position:absolute; width:100%;top:0px;' align='right'>
			<img src='<?php echo $rootURL; ?>images/logo_bg.gif'>
		</div>
		<img src="<?php echo $rootURL; ?>images/spacer.gif" width="1" height="7"><br>
		<div style='z-Index:1; position:relative'>
			<!-- ADMIN TITLE -->
			<table cellpadding="0" cellspacing="0" border="0" width="100%">
              <tr><td valign="top" class="admintitle" align="left">
              <img alt="" width="46" height="46" src="<?php echo $rootURL; ?>install/ic_install.gif" align="absmiddle">&nbsp;Module Errors<br>
              <img src='<?php echo $rootURL; ?>images/spacer.gif' width=1 height=4><br>
              </td></tr></table>
              <!-- SECTION NAVIGATOR -->
              <table border="0" cellpadding="2" cellspacing="0" class="tableborder_full" width="100%" height="30"><tr>
              <TD class="header_left_bg" width="100%">
              	<span class="tablenav_link">Install</span>
              </td>
              <td align="right" class="tablenav" background="<?php echo $rootURL; ?>inst_bg.jpg" width="10">
              </td>
             </tr>
            </table>
            <!-- END SECTION NAVIGATOR -->
            <table width="100%" border="0" cellspacing="0" cellpadding="4" class="tableborder">
	<tr>
		<td bgcolor="F6F6F6">
		<div class="help_box">
<?php 
	foreach ($CheckErrors as $error) {
		echo '<b><font color="#FF0000">'.$error.'</font></b><br />';
	} 
?>		
		</h3>		</div>

				</td>

	</tr>
</table>
</body>
</html>