Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Sat, Jun 21, 12:33 AM

in-portal

Index: tags/RC_mar08_2/admin/install.php
===================================================================
--- tags/RC_mar08_2/admin/install.php (revision 10207)
+++ tags/RC_mar08_2/admin/install.php (revision 10208)
@@ -1,2050 +1,2050 @@
-<?php
-
-error_reporting(E_ALL);
-set_time_limit(0);
-ini_set('memory_limit', -1);
-
-define('BACKUP_NAME', 'dump(.*).txt'); // how backup dump files are named
-$general_error = '';
-
-// new path detection without K4 init: begin
-define('FULL_PATH', realpath(dirname(__FILE__).'/..') );
-define('BASE_PATH', rtrim(preg_replace('#/admin$#', '', str_replace('\\', '/', dirname($_SERVER['PHP_SELF']))), '/'));
-$rootURL = 'http://'.$_SERVER['HTTP_HOST'].rtrim(BASE_PATH, '/').'/admin/';
-// new path detection without K4 init: end
-
-$pathtoroot = FULL_PATH.'/';
-$admin = 'admin';
-
-ini_set('include_path', '.');
-
-if (!defined('IS_INSTALL')) define('IS_INSTALL',1);
-if( file_exists($pathtoroot.'debug.php') && !(defined('DEBUG_MODE') && DEBUG_MODE) ) include_once($pathtoroot.'debug.php');
-
-$state = isset($_GET["state"]) ? $_GET["state"] : '';
-if(!strlen($state))
-{
- $state = isset($_POST['state']) ? $_POST['state'] : '';
-}
-
-if (!defined("GET_LICENSE_URL")) {
- define("GET_LICENSE_URL", "http://www.intechnic.com/myaccount/license.php");
-}
-
-require_once $pathtoroot.$admin.'/install/install_lib.php';
-
-$install_type = GetVar('install_type', true);
-$force_finish = isset($_REQUEST['ff']) ? true : false;
-
-$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;
- }
- }
-}
-else
-{
- $state="";
- $write_access = is_writable($pathtoroot);
- if($write_access)
- {
- set_ini_value("Database", "DBType", "");
- set_ini_value("Database", "DBHost", "");
- set_ini_value("Database", "DBUser", "");
- set_ini_value("Database", "DBUserPassword", "");
- set_ini_value("Database", "DBName", "");
- set_ini_value("Module Versions", "In-Portal", "");
-
- save_values();
- }
-}
-
-$titles[1] = "General Site Setup";
-$configs[1] = "in-portal:configure_general";
-$mods[1] = "In-Portal";
-
-$titles[2] = "User Setup";
-$configs[2] = "in-portal:configure_users";
-$mods[2] = "In-Portal:Users";
-
-$titles[3] = "Category Display Setup";
-$configs[3] = "in-portal:configure_categories";
-$mods[3] = "In-Portal";
-
-// simulate rootURL variable: begin
- $rootURL = 'http://'.dirname($_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']);
- $tmp = explode('/', $rootURL);
- if( $tmp[ count($tmp) - 1 ] == $admin) unset( $tmp[ count($tmp) - 1 ] );
- $rootURL = implode('/', $tmp).'/';
- unset($tmp);
- //echo "RU: $rootURL<br>";
-// simulate rootURL variable: end
-
-$db_savings = Array('dbinfo', 'db_config_save', 'db_reconfig_save'); //, 'reinstall_process'
-if( isset($g_DBType) && $g_DBType && strlen($state)>0 && !in_array($state, $db_savings) )
-{
- define('REL_PATH', 'admin');
- require_once($pathtoroot."kernel/startup.php");
- $localURL=$rootURL."kernel/";
- $adminURL = $rootURL.$admin;
- $imagesURL = $adminURL."/images";
-
-//admin only util
-
- $pathtolocal = $pathtoroot."kernel/";
- require_once ($pathtoroot.$admin."/include/elements.php");
- //require_once ($pathtoroot."kernel/admin/include/navmenu.php");
- require_once ($pathtolocal."admin/include/navmenu.php");
- require_once($pathtoroot.$admin."/toolbar.php");
-
- set_cookie(SESSION_COOKIE_NAME, '', adodb_mktime() - 3600, rtrim(BASE_PATH, '/') );
-}
-
-function GetPathChar($path = null)
-{
- if( !isset($path) ) $path = $GLOBALS['pathtoroot'];
- $pos = strpos($path, ':');
- return ($pos === false) ? "/" : "\\";
-}
-
-function SuperStrip($str, $inverse = false)
-{
- $str = $inverse ? str_replace("%5C","\\",$str) : str_replace("\\","%5C",$str);
- return stripslashes($str);
-}
-
-$skip_step = false;
-
-require_once($pathtoroot.$admin."/install/inst_ado.php");
-$helpURL = $rootURL.$admin.'/help/install_help.php?destform=popup&help_usage=install';
-?>
-<html>
-<head>
-<title>In-Portal Installation</title>
- <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
- <meta name="generator" content="Notepad">
- <link rel="stylesheet" type="text/css" href="include/style.css">
- <LINK REL="stylesheet" TYPE="text/css" href="install/2col.css">
- <SCRIPT LANGUAGE="JavaScript1.2">
- function MM_preloadImages() { //v3.0
- var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
- var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
- if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
- }
-
- function swap(imgid, src){
- var ob = document.getElementById(imgid);
- ob.src = 'images/' + src;
- }
-
- function Continue() {
- document.iform1.submit();
- }
-
- function CreatePopup(window_name, url, width, height)
- {
- // creates a popup window & returns it
- if(url == null && typeof(url) == 'undefined' ) url = '';
- if(width == null && typeof(width) == 'undefined' ) width = 750;
- if(height == null && typeof(height) == 'undefined' ) height = 400;
-
-
- return window.open(url,window_name,'width='+width+',height='+height+',status=yes,resizable=yes,menubar=no,scrollbars=yes,toolbar=no');
- }
-
- function ShowHelp(section)
- {
- var frm = document.getElementById('help_form');
-
- frm.section.value = section;
- frm.method = 'POST';
- CreatePopup('HelpPopup','<?php echo $rootURL.$admin; ?>/help/blank.html'); // , null, 600);
- frm.target = 'HelpPopup';
- frm.submit();
- }
-
- </SCRIPT>
-</head>
-
-<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" style="height: 100%">
-<form name="help_form" id="help_form" action="<?php echo $helpURL; ?>" method="post"><input type="hidden" id="section" name="section" value=""></form>
-<form enctype="multipart/form-data" name="iform1" id="iform1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
-<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
- <tr>
- <td height="90">
- <table cellpadding="0" cellspacing="0" border="0" width="100%" height="90">
- <tr>
- <td rowspan="3" valign="top"><a href="http://www.in-portal.net" target="_top"><img title="In-portal" src="images/globe.gif" width="84" height="91" border="0"></a></td>
- <td rowspan="3" valign="top"><a href="http://www.in-portal.net" target="_top"><img title="In-portal" src="images/logo.gif" width="150" height="91" border="0"></a></td>
- <td rowspan="3" width="100000" align="right">&nbsp;</td>
- <td width="400"><img title="" src="images/blocks.gif" width="400" height="73"></td>
- </tr>
- <tr><td align="right" background="images/version_bg.gif" class="head_version" valign="top"><img title="" src="images/spacer.gif" width="1" height="14">In-Portal Version <?php echo GetMaxPortalVersion($pathtoroot.$admin)?>: English US</td></tr>
- <tr><td><img title="" src="images/blocks2.gif" width="400" height="2"><br></td></tr>
- <tr><td bgcolor="black" colspan="4"><img title="" src="images/spacer.gif" width="1" height="1"><br></td></tr>
- </table>
- </td>
- </tr>
-
-<?php
-require_once($pathtoroot."kernel/include/adodb/adodb.inc.php");
-
-if(!strlen($state))
- $state = @$_POST["state"];
-//echo $state;
-
-if(strlen($state)==0)
-{
- $ado =& inst_GetADODBConnection();
- $installed = $ado ? TableExists($ado,"ConfigurationAdmin,Category,Permissions") : false;
-
- if(!minimum_php_version("4.1.2"))
- {
- $general_error = "You have version ".phpversion()." - please upgrade!";
- //die();
- }
-
- if(!$write_access)
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "Install cannot write to config.php in the root directory of your in-portal installation ($pathtoroot).";
- //die();
- }
-
- if(!is_writable($pathtoroot."themes/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's Theme directory must be writable (".$pathtoroot."themes/).";
- //die();
- }
-
- if(!is_writable($pathtoroot."kernel/images/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's Image Upload directory must be writable (".$pathtoroot."kernel/images/).";
- //die();
- }
-
- if(!is_writable($pathtoroot."kernel/images/pending"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's Pending Image Upload directory must be writable (".$pathtoroot."kernel/images/pending).";
- //die();
- }
-
- if(!is_writable($pathtoroot."admin/backupdata/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's Backup directory must be writable (".$pathtoroot."admin/backupdata/).";
- //die();
- }
-
- if(!is_writable($pathtoroot."admin/export/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's Export directory must be writable (".$pathtoroot."admin/export/).";
- //die();
- }
-
- if(!is_writable($pathtoroot."kernel/stylesheets/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's stylesheets directory must be writable (".$pathtoroot."kernel/stylesheets/).";
- //die();
- }
-
- if(!is_writable($pathtoroot."kernel/user_files/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's CMS images directory must be writable (".$pathtoroot."kernel/user_files/).";
- //die();
- }
-
- if(!is_writable($pathtoroot."kernel/cache/"))
- {
- if ($general_error != '') {
- $general_error .= '<br /><br />';
- }
- $general_error .= "In-portal's templates cache directory must be writable (".$pathtoroot."kernel/cache/).";
- //die();
- }
-
- if($installed)
- {
- $state="reinstall";
- }
- else {
- $state="dbinfo";
- }
-
-}
-
-if($state=="reinstall_process")
-{
- $login_err_mesg = ''; // always init vars before use
- if( !isset($g_License) ) $g_License = '';
- $lic = base64_decode($g_License);
- if(strlen($lic))
- {
- a83570933e44bc66b31dd7127cf3f23a($lic);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- }
-
- $LoggedIn = FALSE;
- if($_POST["UserName"]=="root")
- {
- $ado =& inst_GetADODBConnection();
- $sql = "SELECT * FROM ".$g_TablePrefix."ConfigurationValues WHERE VariableName='RootPass'";
-
- $rs = $ado->Execute($sql);
- if($rs && !$rs->EOF)
- {
- $RootPass = $rs->fields["VariableValue"];
-
- if(strlen($RootPass)>0) {
- if (ConvertVersion($g_InPortal) >= ConvertVersion("1.3.0")) {
- $LoggedIn = ($RootPass==md5(md5($_POST["UserPass"]).'b38'));
- }
- else {
- $LoggedIn = ($RootPass==md5($_POST["UserPass"]));
- }
- }
- }
- else {
- $login_err_mesg = 'Invalid username or password';
- }
- }
- else
- {
- $act = '';
- if (ConvertVersion($g_InPortal) >= ConvertVersion("1.0.5")) {
- $act = 'check';
- }
- $rfile = @fopen(GET_LICENSE_URL."?login=".md5($_POST['UserName'])."&password=".md5($_POST['UserPass'])."&action=$act&license_code=".base64_encode($g_LicenseCode)."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".base64_encode($_SERVER['HTTP_HOST']), "r");
- if (!$rfile) {
- $login_err_mesg = "Unable to connect to the Intechnic server!";
- $LoggedIn = false;
- }
- else {
- $rcontents = '';
- while (!feof($rfile)) {
- $line = fgets($rfile, 10000);
- $rcontents .= $line;
- }
- @fclose($rfile);
-
- if (substr($rcontents, 0, 5) == 'Error') {
- $login_err_mesg = substr($rcontents, 6);
- $LoggedIn = false;
- }
- else {
- $LoggedIn = true;
- }
- }
- //$LoggedIn = ($i_User == $_POST["UserName"] && ($i_Pswd == $_POST["UserPass"]) && strlen($i_User)>0) || strlen($i_User)==0;
- }
-
- if($LoggedIn)
- {
- if (!(int)$_POST["inp_opt"]) {
- $state="reinstall";
- $inst_error = "Please select one of the options above!";
- }
- else {
- switch((int)$_POST["inp_opt"])
- {
- case 0:
- $inst_error = "Please select an option above";
- break;
- case 1:
- /* clean out all tables */
- $install_type = 4;
- $ado =& inst_GetADODBConnection();
- $filename = $pathtoroot.$admin."/install/inportal_remove.sql";
- RunSchemaFile($ado,$filename);
-
- // removing other tables
- $tables = $ado->MetaTables();
-
- foreach($tables as $tab_name) {
- if (stristr($tab_name, $g_TablePrefix."ses_")) {
- $sql = "DROP TABLE IF EXISTS $tab_name";
- $ado->Execute($sql);
- }
- }
-
- /* run install again */
- $state="license";
- break;
- case 2:
- $install_type = 3;
- $state="dbinfo";
- break;
- case 3:
- $install_type = 5;
- $state="license";
- break;
- case 4:
- $install_type = 6;
- /* clean out all tables */
- $ado =& inst_GetADODBConnection();
- //$filename = $pathtoroot.$admin."/install/inportal_remove.sql";
- //RunSchemaFile($ado,$filename);
- /* run install again */
- $state="restore_select";
- break;
- case 5:
- $install_type = 7;
- /* change DB config */
- $state="db_reconfig";
- break;
- case 6:
- $install_type = 8;
- $state = "upgrade";
- break;
- case 7:
- $install_type = 9;
- $state = "fix_paths";
- break;
- }
- }
- }
- else
- {
- $state="reinstall";
- $login_error = $login_err_mesg;//"Invalid Username or Password - Try Again";
- }
-}
-
-if ($state == "upgrade") {
- $ado =& inst_GetADODBConnection();
-
- $Modules = array();
- $Texts = array();
-
- if (ConvertVersion(GetMaxPortalVersion($pathtoroot.$admin)) >= ConvertVersion("1.0.5") && ($g_LicenseCode == '' && $g_License != '')) {
- $state = 'reinstall';
- $inst_error = "Your license must be updated before you can upgrade. Please don't use 'Existing License' option, instead either Download from Intechnic or Upload a new license file!";
- }
- else {
- $sql = "SELECT Name, Version, Path FROM ".$g_TablePrefix."Modules ORDER BY LoadOrder asc";
-
- $rs = $ado->Execute($sql);
-
- $i = 0;
- while ($rs && !$rs->EOF) {
- $p = $rs->fields['Path'];
-
- if ($rs->fields['Name'] == 'In-Portal') {
- $p = '';
- }
-
- $dir_name = $pathtoroot.$p."admin";///install/upgrades/";
-
- if($rs->fields['Version'] != $newver = GetMaxPortalVersion($dir_name))
- {
-
-////////////////////
-
- $mod_path = $rs->fields['Path'];
- $current_version = $rs->fields['Version'];
- if ($rs->fields['Name'] == 'In-Portal') $mod_path = '';
-
- $dir_name = $pathtoroot.$mod_path."/admin/install/upgrades/";
- $dir = @dir($dir_name);
-
- if (!$dir) {
- $rs->MoveNext();
- continue;
- }
-
- $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_path."/admin/install/upgrades/$file";
- if(file_exists($filename))
- {
- include($filename);
- if( $result & 2 ) break;
- }
- }
- }
-
-////////////////////
-
- $Modules[] = Array('module'=>$rs->fields['Name'],'curver'=>$rs->fields['Version'],'newver'=>$newver,'error'=>$result!='pass');
-// $Texts[] = $rs->fields['Name']." (".$rs->fields['Version']." ".prompt_language("la_to")." ".GetMaxPortalVersion($dir_name).")";
- }
-
- /*$dir = @dir($dir_name);
-
- while ($file = $dir->read()) {
- if ($file != "." && $file != ".." && !is_dir($dir_name.$file))
- {
- if (strstr($file, 'inportal_upgrade_v')) {
- $file = str_replace("inportal_upgrade_v", "", $file);
- $file = str_replace(".sql", "", $file);
-
- //$sql = "SELECT count(*) AS count FROM ".$g_TablePrefix."Modules WHERE Name = '".$rs->fields['Name']."' AND Version = '$file'";
- //$rs1 = $ado->Execute($sql);
-
- if ($rs1->fields['count'] == 0 && ConvertVersion($file) > ConvertVersion($rs->fields['Version'])) {
- if ($Modules[$i-1] == $rs->fields['Name']) {
- $Texts[$i-1] = $rs->fields['Name']." (".$rs->fields['Version']." ".prompt_language("la_to")." ".$file.")";
- $i--;
- }
- else {
- $Texts[$i] = $rs->fields['Name']." (".$rs->fields['Version']." ".prompt_language("la_to")." ".$file.")";
- $Modules[$i] = $rs->fields['Name'];
- }
-
- $i++;
- }
- }
- }
- }*/
-
- $rs->MoveNext();
- }
-
- $sql = 'DELETE FROM '.$g_TablePrefix.'Cache WHERE VarName IN ("config_files","configs_parsed","sections_parsed")';
- $ado->Execute($sql);
-
- $include_file = $pathtoroot.$admin."/install/upgrade.php";
- }
-}
-
-if ($state == "upgrade_process") {
- // K4 applition is now always available during upgrade process
- if (!defined('FULL_PATH')) {
- define('FULL_PATH', realpath(dirname(__FILE__).'/..'));
- }
-
- include_once(FULL_PATH.'/core/kernel/startup.php');
- $application =& kApplication::Instance();
- $application->Init();
-
- // force rereading of configs
- $unit_config_reader =& $application->recallObject('kUnitConfigReader');
- $unit_config_reader->scanModules(MODULES_PATH);
-
- $ado =& inst_GetADODBConnection();
- $mod_arr = $_POST['modules'];
-
- $mod_str = '';
- foreach ($mod_arr as $tmp_mod) {
- $mod_str .= "'$tmp_mod',";
- }
-
- $mod_str = substr($mod_str, 0, strlen($mod_str) - 1);
-
- $sql = "SELECT Name FROM ".$g_TablePrefix."Modules WHERE Name IN ($mod_str) ORDER BY LoadOrder";
- $rs = $ado->Execute($sql);
-
- $mod_arr = array();
- while ($rs && !$rs->EOF) {
- $mod_arr[] = $rs->fields['Name'];
- $rs->MoveNext();
- }
-
- foreach($mod_arr as $p)
- {
- $mod_name = strtolower($p);
-
- $sql = "SELECT Version, Path FROM ".$g_TablePrefix."Modules WHERE Name = '$p'";
- $rs = $ado->Execute($sql);
-
- $current_version = $rs->fields['Version'];
-
- if ($mod_name == 'in-portal') {
- $mod_path = '';
- }
- else {
- $mod_path = $rs->fields['Path'];
- }
-
- $dir_name = $pathtoroot.$mod_path."/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_upgrade_v')) {
- $upgrades_arr[] = $file;
- }
- }
- }
-
- usort($upgrades_arr, "VersionSort");
-
- foreach($upgrades_arr as $file)
- {
- preg_match('/inportal_upgrade_v(.*).(php|sql)$/', $file, $rets);
- $tmp_version = $rets[1];
- $tmp_extension = $rets[2];
-
- if (ConvertVersion($tmp_version) > ConvertVersion($current_version) )
- {
- $filename = $pathtoroot.$mod_path."/admin/install/upgrades/$file";
- //echo "Running: $filename<br>";
-
- // SQL is processed FIRST (before corresponding PHP according to the sorting order in VersionSort()
- if( file_exists($filename) )
- {
- if($tmp_extension == 'sql')
- {
- RunSQLFile($ado, $filename);
- }
- else
- {
- include_once $filename;
- }
- }
- }
- }
-
- set_ini_value("Module Versions", $p, GetMaxPortalVersion($pathtoroot.$mod_path."/admin/"));
- save_values();
- }
-
- // compile stylesheets: begin
- define('FULL_PATH', realpath(dirname(__FILE__).'/..'));
- include_once(FULL_PATH.'/core/kernel/startup.php');
- $application =& kApplication::Instance();
- $application->Init();
-
-// $objThemes->CreateMissingThemes(false);
- $application->HandleEvent($theme_event, 'adm:OnRebuildThemes');
-
- $css_hash = $application->Conn->GetCol('SELECT LOWER(Name) AS Name, StylesheetId FROM '.TABLE_PREFIX.'Stylesheets', 'StylesheetId');
-
- $css_table = $application->getUnitOption('css','TableName');
- $css_idfield = $application->getUnitOption('css','IDField');
-
- $theme_table = $application->getUnitOption('theme', 'TableName');
- $theme_idfield = $application->getUnitOption('theme', 'IDField');
-
- $theme_update_sql = 'UPDATE '.$theme_table.' SET '.$css_idfield.' = %s WHERE LOWER(Name) = %s';
- foreach($css_hash as $stylesheet_id => $theme_name)
- {
- $css_item =& $application->recallObject('css', null, Array('skip_autoload' => true));
- $css_item->Load($stylesheet_id);
- $css_item->Compile();
- $application->Conn->Query( sprintf($theme_update_sql, $stylesheet_id, $application->Conn->qstr( getArrayValue($css_hash,$stylesheet_id) ) ) );
- }
-
- // do redirect, because upgrade scripts can eat a lot or memory used for language pack upgrade operation
- $application->Redirect('install', Array('state' => 'languagepack_upgrade'), '', 'install.php');
- // compile stylesheets: end
-
- $state = 'languagepack_upgrade';
-}
-
-// upgrade language pack
-if($state=='languagepack_upgrade')
-{
- $state = 'lang_install_init';
- if( is_object($application) ) $application->SetVar('lang', Array('english.lang') );
- $force_finish = true;
-}
-
-if ($state == 'fix_paths') {
- $ado = inst_GetADODBConnection();
- $sql = "SELECT * FROM ".$g_TablePrefix."ConfigurationValues WHERE VariableName = 'Site_Name' OR VariableName LIKE '%Path%'";
- $path_rs = $ado->Execute($sql);
- $include_file = $pathtoroot.$admin."/install/fix_paths.php";
-}
-
-if ($state == 'fix_paths_process') {
- $ado = inst_GetADODBConnection();
- //$state = 'fix_paths';
- //$include_file = $pathtoroot.$admin."/install/fix_paths.php";
- foreach($_POST["values"] as $key => $value) {
- $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '".$value."' WHERE VariableName = '".$key."'";
- $ado->Execute($sql);
- }
-
- $state = "finish";
-}
-
-if($state=="db_reconfig_save")
-{
- $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;
- }
- }
- unset($ado);
- $ado = VerifyDB('db_reconfig', 'finish', 'SaveDBConfig', true);
-}
-
-
-if($state=="db_reconfig")
-{
- $include_file = $pathtoroot.$admin."/install/db_reconfig.php";
-}
-
-if($state=="restore_file")
-{
- if($_POST["submit"]=="Update")
- {
- $filepath = $_POST["backupdir"];
- $state="restore_select";
- }
- else
- {
- $filepath = stripslashes($_POST['backupdir']);
- $backupfile = $filepath.$path_char.str_replace('(.*)', $_POST['backupdate'], BACKUP_NAME);
-
- if(file_exists($backupfile) && is_readable($backupfile))
- {
- $ado =& inst_GetADODBConnection();
-
- $show_warning = false;
-
- if (!$_POST['warning_ok']) {
- // Here we comapre versions between backup and config
- $file_contents = file_get_contents($backupfile);
-
- $file_tmp_cont = explode("#------------------------------------------", $file_contents);
- $tmp_vers = $file_tmp_cont[0];
-
- $vers_arr = explode(";", $tmp_vers);
- $ini_values = inst_parse_portal_ini($ini_file);
-
- foreach ($ini_values as $key => $value) {
- foreach ($vers_arr as $k) {
- if (strstr($k, $key)) {
- if (!strstr($k, $value)) {
- $show_warning = true;
- }
- }
- }
- }
- //$show_warning = true;
- }
-
- if (!$show_warning) {
- $filename = $pathtoroot.$admin.$path_char.'install'.$path_char.'inportal_remove.sql';
- RunSchemaFile($ado,$filename);
- $state="restore_run";
- }
- else {
- $state = "warning";
- $include_file = $pathtoroot.$admin."/install/warning.php";
- }
- }
- else {
- if ($_POST['backupdate'] != '') {
- $include_file = $pathtoroot.$admin."/install/restore_select.php";
- $restore_error = "$backupfile not found or could not be read";
- }
- else {
- $include_file = $pathtoroot.$admin."/install/restore_select.php";
- $restore_error = "No backup selected!!!";
- }
- }
- }
- //echo $restore_error;
-}
-
-if($state=="restore_select")
-{
- if( isset($_POST['backupdir']) ) $filepath = stripslashes($_POST['backupdir']);
- $include_file = $pathtoroot.$admin."/install/restore_select.php";
-}
-
-if($state=="restore_run")
-{
- $ado =& inst_GetADODBConnection();
- $FileOffset = (int)$_GET["Offset"];
- if(!strlen($backupfile))
- $backupfile = SuperStrip($_GET['File'], true);
-
- $include_file = $pathtoroot.$admin."/install/restore_run.php";
-}
-
-if($state=="db_config_save")
-{
- set_ini_value("Database", "DBType",$_POST["ServerType"]);
- set_ini_value("Database", "DBHost",$_POST["ServerHost"]);
- set_ini_value("Database", "DBName",$_POST["ServerDB"]);
- set_ini_value("Database", "DBUser",$_POST["ServerUser"]);
- set_ini_value("Database", "DBUserPassword",$_POST["ServerPass"]);
- set_ini_value("Database","TablePrefix",$_POST["TablePrefix"]);
-
- save_values();
- $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;
- }
- }
- unset($ado);
- $ado = VerifyDB('dbinfo', 'license');
-}
-
-if($state=="dbinfo")
-{
- if ($install_type == '') {
- $install_type = 1;
- }
- $include_file = $pathtoroot.$admin."/install/dbinfo.php";
-}
-
-if ($state == "download_license") {
- $ValidLicense = FALSE;
-
- $lic_login = isset($_POST['login']) ? $_POST['login'] : '';
- $lic_password = isset($_POST['password']) ? $_POST['password'] : '';
-
- if ($lic_login != '' && $lic_password != '') {
- // Here we determine weather login is ok & check available licenses
-
- $rfile = @fopen(GET_LICENSE_URL."?login=".md5($_POST['login'])."&password=".md5($_POST['password'])."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".base64_encode($_SERVER['HTTP_HOST']), "r");
- if (!$rfile) {
- $get_license_error = "Unable to connect to the Intechnic server! Please try again later!";
- $state = "get_license";
- $include_file = $pathtoroot.$admin."/install/get_license.php";
- }
- else {
- $rcontents = '';
- while (!feof($rfile)) {
- $line = fgets($rfile, 10000);
- $rcontents .= $line;
- }
- @fclose($rfile);
-
- if (substr($rcontents, 0, 5) == 'Error') {
- $get_license_error = substr($rcontents, 6);
- $state = "get_license";
- $include_file = $pathtoroot.$admin."/install/get_license.php";
- }
- else {
- if (substr($rcontents, 0, 3) == "SEL") {
- $state = "download_license";
- $license_select = substr($rcontents, 4);
- $include_file = $pathtoroot.$admin."/install/download_license.php";
- }
- else {
- // Here we get one license
- $tmp_data = explode('Code==:', $rcontents);
-
- $data = base64_decode(str_replace("In-Portal License File - do not edit!\n", "", $tmp_data[0]));
- a83570933e44bc66b31dd7127cf3f23a($data);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- if($ValidLicense)
- {
- set_ini_value("Intechnic","License",base64_encode($data));
- set_ini_value("Intechnic","LicenseCode",$tmp_data[1]);
- save_values();
- $state="domain_select";
- $got_license = 1;
- }
- else {
- $license_error="Invalid License File";
- }
- if(!$ValidLicense)
- {
- $state="license";
- }
- }
- }
- }
-
- }
- else if ($_POST['licenses'] == '') {
- $state = "get_license";
- $get_license_error = "Username and / or password not specified!!!";
- $include_file = $pathtoroot.$admin."/install/get_license.php";
- }
- else {
- // Here we download license
- $rfile = @fopen(GET_LICENSE_URL."?license_id=".md5($_POST['licenses'])."&dlog=".md5($_POST['dlog'])."&dpass=".md5($_POST['dpass'])."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".base64_encode($_POST['domain']), "r");
- if (!$rfile) {
- $get_license_error = "Unable to connect to the Intechnic server! Please try again later!";
- $state = "get_license";
- $include_file = $pathtoroot.$admin."/install/get_license.php";
- }
- else {
- $rcontents = '';
- while (!feof($rfile)) {
- $line = fgets($rfile, 10000);
- $rcontents .= $line;
- }
- @fclose($rfile);
-
- if (substr($rcontents, 0, 5) == 'Error') {
- $download_license_error = substr($rcontents, 6);
- $state = "download_license";
- $include_file = $pathtoroot.$admin."/install/download_license.php";
- }
- else {
- $tmp_data = explode('Code==:', $rcontents);
-
- $data = base64_decode(str_replace("In-Portal License File - do not edit!\n", "", $tmp_data[0]));
- a83570933e44bc66b31dd7127cf3f23a($data);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- if($ValidLicense)
- {
- set_ini_value("Intechnic","License",base64_encode($data));
- // old licensing script doen't return 2nd parameter (licanse code)
- if( isset($tmp_data[1]) ) set_ini_value("Intechnic","LicenseCode",$tmp_data[1]);
- save_values();
- $state="domain_select";
- }
- else {
- $license_error="Invalid License File";
- }
- if(!$ValidLicense)
- {
- $state="license";
- }
- }
- }
- }
-}
-
-if($state=="license_process")
-{
- $ValidLicense = FALSE;
- $tmp_lic_opt = GetVar('lic_opt', true);
- switch($tmp_lic_opt)
- {
- case 1: /* download from intechnic */
- $include_file = $pathtoroot.$admin."/install/get_license.php";
- $state = "get_license";
- //if(!$ValidLicense)
- //{
- // $state="license";
- //}
- break;
- case 2: /* upload file */
- $file = $_FILES["licfile"];
- if(is_array($file))
- {
- move_uploaded_file($file["tmp_name"],$pathtoroot."themes/tmp.lic");
- @chmod($pathtoroot."themes/tmp.lic", 0666);
-
- $fp = @fopen($pathtoroot."themes/tmp.lic","rb");
- if($fp)
- {
- $lic = fread($fp,filesize($pathtoroot."themes/tmp.lic"));
- fclose($fp);
- }
-
- $tmp_data = ae666b1b8279502f4c4b570f133d513e(FALSE,$pathtoroot."themes/tmp.lic");
- $data = $tmp_data[0];
-
- @unlink($pathtoroot."themes/tmp.lic");
- a83570933e44bc66b31dd7127cf3f23a($data);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- if($ValidLicense)
- {
- set_ini_value("Intechnic","License",base64_encode($data));
- set_ini_value("Intechnic","LicenseCode",$tmp_data[1]);
- save_values();
- $state="domain_select";
- }
- else
- $license_error="Invalid License File";
- }
- if(!$ValidLicense)
- {
- $state="license";
- }
- break;
- case 3: /* existing */
- if(strlen($g_License))
- {
- $lic = base64_decode($g_License);
- a83570933e44bc66b31dd7127cf3f23a($lic);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- if($ValidLicense)
- {
- $state="domain_select";
- }
- else
- {
- $state="license";
- $license_error="Invalid or corrupt license detected";
- }
- }
- else
- {
- $state="license";
- $license_error="Missing License File";
- }
- if(!$ValidLicense)
- {
- $state="license";
- }
- break;
- case 4:
- //set_ini_value("Intechnic","License",base64_encode("local"));
- //set_ini_value("Intechnic","LicenseCode",base64_encode("local"));
- //save_values();
- $state="domain_select";
- break;
- }
- if($ValidLicense)
- $state="domain_select";
-}
-
-if($state=="license")
-{
- $include_file = $pathtoroot.$admin."/install/sel_license.php";
-
-}
-
-if($state=="reinstall")
-{
- $ado =& inst_GetADODBConnection();
-
- $show_upgrade = false;
-
- $sql = "SELECT Name FROM ".$g_TablePrefix."Modules";
- $rs = $ado->Execute($sql);
-
- $modules = '';
- while ($rs && !$rs->EOF) {
- $modules .= strtolower($rs->fields['Name']).',';
- $rs->MoveNext();
- }
-
- $mod_arr = explode(",", substr($modules, 0, strlen($modules) - 1));
-
- foreach($mod_arr as $p)
- {
- if ($p == 'in-portal') {
- $p = '';
- }
-
- $dir_name = $pathtoroot.$p."/admin/install/upgrades/";
-
- $dir = @dir($dir_name);
- //echo "<pre>"; print_r($dir); echo "</pre>";
-
- if ($dir === false) continue;
-
- while ($file = $dir->read()) {
- if ($file != "." && $file != ".." && !is_dir($dir_name.$file))
- {
- if( preg_match('/inportal_upgrade_v(.*).(php|sql)$/', $file, $rets) )
- {
- if($p == '') $p = 'in-portal';
-
- $sql = "SELECT Version FROM ".$g_TablePrefix."Modules WHERE Name = '".$p."'";
- $rs = $ado->Execute($sql);
-
- if( ConvertVersion($rs->fields['Version']) < ConvertVersion( $rets[1] ) )
- {
- $show_upgrade = true;
- }
- }
- }
- }
- }
-
- if ( !isset($install_type) || $install_type == '') {
- $install_type = 2;
- }
-
- $include_file = $pathtoroot.$admin."/install/reinstall.php";
-}
-
-if($state=="login")
-{
- $lic = base64_decode($g_License);
- if(strlen($lic))
- {
- a83570933e44bc66b31dd7127cf3f23a($lic);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- }
-
- if(!$ValidLicense)
- {
- $state="license";
- }
- else
- if($i_User == $_POST["UserName"] || $i_Pswd == $_POST["UserPass"])
- {
- $state = "domain_select";
- }
- else
- {
- $state="getuser";
- $login_error = "Invalid User Name or Password. If you don't know your username or password, contact Intechnic Support";
- }
-
- //die();
-}
-
-if($state=="getuser")
-{
- $include_file = $pathtoroot.$admin."/install/login.php";
-}
-
-if($state=="set_domain")
-{
- if( !is_array($i_Keys) || !count($i_Keys) )
- {
- $lic = base64_decode($g_License);
- if(strlen($lic))
- {
- a83570933e44bc66b31dd7127cf3f23a($lic);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- }
- }
-
- if($_POST["domain"]==1)
- {
- $domain = $_SERVER['HTTP_HOST'];
-
- if (strstr($domain, $i_Keys[0]['domain']) || de3ec1b7a142cccd0d51f03d24280744($domain)) {
- set_ini_value("Intechnic","Domain",$domain);
- save_values();
- $state="runsql";
- }
- else {
- $DomainError = 'Domain name selected does not match domain name in the license!';
- $state = "domain_select";
- }
- }
- else
- {
- $domain = str_replace(" ", "", $_POST["other"]);
- if ($domain != '') {
- if (strstr($domain, $i_Keys[0]['domain']) || de3ec1b7a142cccd0d51f03d24280744($domain)) {
- set_ini_value("Intechnic","Domain",$domain);
- save_values();
- $state="runsql";
- }
- else {
- $DomainError = 'Domain name entered does not match domain name in the license!';
- $state = "domain_select";
- }
- }
- else {
- $DomainError = 'Please enter valid domain!';
- $state = "domain_select";
- }
- }
-}
-
-if($state=="domain_select")
-{
- if(!is_array($i_Keys))
- {
- $lic = base64_decode($g_License);
- if(strlen($lic))
- {
- a83570933e44bc66b31dd7127cf3f23a($lic);
- $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
- }
- }
-
- $include_file = $pathtoroot.$admin."/install/domain.php";
-}
-
-
-if($state=="runsql")
-{
- $ado =& inst_GetADODBConnection();
- $installed = TableExists($ado,"ConfigurationAdmin,Category,Permissions");
- if(!$installed)
- {
- // run core install script
- K4_RunSQL('/core/install/install_schema.sql');
- K4_RunSQL('/core/install/install_data.sql');
- K4_SetModuleVersion('Core');
-
- // run in-portal install script
- $filename = $pathtoroot.$admin."/install/inportal_schema.sql";
- RunSchemaFile($ado,$filename);
- $filename = $pathtoroot.$admin."/install/inportal_data.sql";
- RunSQLFile($ado,$filename);
-
- $sql = 'UPDATE '.$g_TablePrefix.'ConfigurationValues SET VariableValue = %s WHERE VariableName = %s';
- $ado->Execute( sprintf($sql, $ado->qstr('portal@'.$ini_vars['Intechnic']['Domain']), $ado->qstr('Smtp_AdminMailFrom') ) );
-
- $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']);
- save_values();
-
- require_once $pathtoroot.'kernel/include/tag-class.php';
- if( !is_object($objTagList) ) $objTagList = new clsTagList();
-
- // install kernel specific tags
- $objTagList->DeleteTags(); // delete all existing tags in db
-
- // create 3 predifined tags (because there no functions with such names
- $t = new clsTagFunction();
- $t->Set("name","include");
- $t->Set("description","insert template output into the current template");
- $t->Create();
- $t->AddAttribute("_template","tpl","Template to insert","",TRUE);
- $t->AddAttribute("_supresserror","bool","Supress missing template errors","",FALSE);
- $t->AddAttribute("_dataexists","bool","Only include template output if content exists (content is defined by the tags in the template)","",FALSE);
- $t->AddAttribute("_nodatatemplate","tpl","Template to include if the nodataexists condition is true","",FALSE);
- unset($t);
-
- $t = new clsTagFunction();
- $t->Set("name","perm_include");
- $t->Set("description","insert template output into the current template if permissions are set");
- $t->Create();
- $t->AddAttribute("_template","tpl","Template to insert","",TRUE);
- $t->AddAttribute("_noaccess","tpl","Template to insert if access is denied","",FALSE);
- $t->AddAttribute("_permission","","Comma-separated list of permissions, any of which will grant access","",FALSE);
- $t->AddAttribute("_module","","Used in place of the _permission attribute, this attribute verifies the module listed is enabled","",FALSE);
- $t->AddAttribute("_system","bool","Must be set to true if any permissions in _permission list is a system permission","",FALSE);
- $t->AddAttribute("_supresserror","bool","Supress missing template errors","",FALSE);
- $t->AddAttribute("_dataexists","bool","Only include template output if content exists (content is defined by the tags in the template)","",FALSE);
- $t->AddAttribute("_nodatatemplate","tpl","Template to include if the nodataexists condition is true","",FALSE);
- unset($t);
-
- $t = new clsTagFunction();
- $t->Set("name","mod_include");
- $t->Set("description","insert templates from all enabled modules. No error occurs if the template does not exist.");
- $t->Create();
- $t->AddAttribute("_template","tpl","Template to insert. This template path should be relative to the module template root directory","",TRUE);
- $t->AddAttribute("_modules","","Comma-separated list of modules. Defaults to all enabled modules if not set","",FALSE);
- $t->AddAttribute("_supresserror","bool","Supress missing template errors","",FALSE);
- $t->AddAttribute("_dataexists","bool","Only include template output if content exists (content is defined by the tags in the template)","",FALSE);
- $t->AddAttribute("_nodatatemplate","tpl","Template to include if the nodataexists condition is true","",FALSE);
-
- $objTagList->ParseFile($pathtoroot.'kernel/parser.php'); // insert module tags
-
- if( is_array($ItemTagFiles) )
- foreach($ItemTagFiles as $file)
- $objTagList->ParseItemFile($pathtoroot.$file);
-
- $state="RootPass";
- }
- else {
- $include_file = $pathtoroot.$admin."/install/install_finish.php";
- $state="finish";
- }
-}
-
-if($state=="RootSetPass")
-{
- $pass = $_POST["RootPass"];
- if(strlen($pass)<4)
- {
- $PassError = "Root Password must be at least 4 characters";
- $state = "RootPass";
-
- }
- else if ($pass != $_POST["RootPassConfirm"]) {
- $PassError = "Passwords does not match";
- $state = "RootPass";
- }
- else
- {
- $pass = md5(md5($pass).'b38');
- $sql = ' UPDATE '.$g_TablePrefix.'ConfigurationValues
- SET VariableValue = '.$ado->qstr($pass).'
- WHERE VariableName = "RootPass";';
- $ado =& inst_GetADODBConnection();
- $ado->Execute($sql);
- $state="modselect";
- }
-}
-
-if($state=="RootPass")
-{
- $include_file = $pathtoroot.$admin."/install/rootpass.php";
-}
-
-if($state=="lang_install_init")
-{
-
- $ado =& inst_GetADODBConnection();
-
- if( TableExists($ado, 'Language,Phrase') )
- {
- // KERNEL 4 INIT: BEGIN
- define('FULL_PATH', realpath(dirname(__FILE__).'/..'));
- include_once(FULL_PATH.'/core/kernel/startup.php');
-
- $application =& kApplication::Instance();
- $application->Init();
- // KERNEL 4 INIT: END
-
- $lang_xml =& $application->recallObject('LangXML');
-
- if (defined('DBG_FAST_INSTALL') && DBG_FAST_INSTALL) {
- $lang_xml->tables['phrases'] = TABLE_PREFIX.'Phrase';
- $lang_xml->tables['emailmessages'] = TABLE_PREFIX.'EmailMessage';
- }
- else {
- $lang_xml->renameTable('phrases', TABLE_PREFIX.'ImportPhrases');
- $lang_xml->renameTable('emailmessages', TABLE_PREFIX.'ImportEvents');
- }
-
- $lang_xml->lang_object->TableName = $application->getUnitOption('lang','TableName');
-
- $languages = $application->GetVar('lang');
- if($languages)
- {
- $kernel_db =& $application->GetADODBConnection();
- $modules_table = $application->getUnitOption('mod','TableName');
-
- $modules = $kernel_db->GetCol('SELECT Path, Name FROM '.$modules_table, 'Name');
- $modules['In-Portal'] = '';
-
- foreach($languages as $lang_file)
- {
- foreach($modules as $module_name => $module_folder)
- {
- $lang_path = MODULES_PATH.'/'.$module_folder.'admin/install/langpacks';
- $lang_xml->Parse($lang_path.'/'.$lang_file, '|0|1|2|', '');
- if($force_finish) $lang_xml->lang_object->Update();
- }
- }
-
- if (defined('DBG_FAST_INSTALL') && DBG_FAST_INSTALL) {
- $state = 'lang_default';
- }
- else {
- $state = 'lang_install';
- }
- }
- else
- {
- $state = 'lang_select';
- }
-
- $application->Done();
- }
- else
- {
- $general_error = 'Database error! No language tables found!';
- }
-}
-
-if($state=="lang_install")
-{
- define('FORCE_CONFIG_CACHE', 1);
- /* do pack install */
- $Offset = (int)$_GET["Offset"];
- $Status = (int)$_GET["Status"];
-
- $PhraseTable = $g_TablePrefix."ImportPhrases";
- $EventTable = $g_TablePrefix."ImportEvents";
-
- $Total = TableCount($Status == 0 ? $PhraseTable : $EventTable, '', 0);
-
- if($Status == 0)
- {
- $Offset = $objLanguages->ReadImportTable($PhraseTable, 1,"0,1,2", $force_finish ? false : true, 200,$Offset);
- if($Offset >= $Total)
- {
- $Offset=0;
- $Status=1;
- }
-
- $next_step = GetVar('next_step', true);
-
- if($force_finish == true) $next_step = 3;
- $NextUrl = $_SERVER['PHP_SELF']."?Offset=$Offset&Status=$Status&state=lang_install&next_step=$next_step&install_type=$install_type";
- if($force_finish == true) $NextUrl .= '&ff=1';
- $include_file = $pathtoroot.$admin."/install/lang_run.php";
- }
- else
- {
- if(!is_object($objMessageList))
- $objMessageList = new clsEmailMessageList();
-
- $Offset = $objMessageList->ReadImportTable($EventTable, $force_finish ? false : true,300,$Offset);
-
- if($Offset > $Total)
- {
- $next_step = GetVar('next_step', true);
-
- if($force_finish == true) $next_step = 3;
- $NextUrl = $_SERVER['PHP_SELF']."?Offset=$Offset&Status=$Status&State=lang_install&next_step=$next_step&install_type=$install_type";
- if($force_finish == true) $NextUrl .= '&ff=1';
- $include_file = $pathtoroot.$admin."/install/lang_run.php";
- }
- else
- {
- $db =& GetADODBConnection();
- $prefix = $g_TablePrefix;
- $db->Execute('DROP TABLE IF EXISTS '.$PhraseTable);
- $db->Execute('DROP TABLE IF EXISTS '.$EventTable);
-
- if(!$force_finish)
- {
- $state = 'lang_default';
- }
- else
- {
- $_POST['next_step'] = 4;
- $state = 'finish';
- $include_file = $pathtoroot.$admin."/install/install_finish.php";
- }
- }
- }
-}
-
-if($state=="lang_default_set")
-{
-// phpinfo(INFO_VARIABLES);
- /*$ado =& inst_GetADODBConnection();
- $PhraseTable = GetTablePrefix()."ImportPhrases";
- $EventTable = GetTablePrefix()."ImportEvents";
- $ado->Execute("DROP TABLE IF EXISTS $PhraseTable");
- $ado->Execute("DROP TABLE IF EXISTS $EventTable");*/
-
- $Id = $_POST["lang"];
-
- $objLanguages->SetPrimary($Id);
- if (defined('DBG_FAST_INSTALL')) {
- $state = 'theme_sel';
- }
- else {
- $state="postconfig_1";
- }
-}
-
-if($state=="lang_default")
-{
- $Packs = Array();
- $objLanguages->Clear();
-
- $objLanguages->LoadAllLanguages();
- foreach($objLanguages->Items as $l)
- {
- $Packs[$l->Get("LanguageId")] = $l->Get("PackName");
- }
- $include_file = $pathtoroot.$admin."/install/lang_default.php";
-}
-
-
-
-if($state=="modinstall")
-{
- $doms = $_POST["domain"];
- if(is_array($doms))
- {
- $ado =& inst_GetADODBConnection();
- require_once $pathtoroot.'kernel/include/tag-class.php';
- if( !isset($objTagList) || !is_object($objTagList) ) $objTagList = new clsTagList();
-
- $ebay_key = array_search('ebay', $doms);
- if ($ebay_key !== false)
- {
- unset($doms[$ebay_key]);
- $doms[] = 'ebay';
- }
- foreach($doms as $p)
- {
- $filename = $pathtoroot.$p.'/admin/install.php';
- if(file_exists($filename) )
- {
- include($filename);
- }
- }
-
- }
-
-/* $sql = "SELECT Name FROM ".GetTablePrefix()."Modules";
- $rs = $ado->Execute($sql);
-
- while($rs && !$rs->EOF)
- {
- $p = $rs->fields['Name'];
- $mod_name = strtolower($p);
-
- if ($mod_name == 'in-portal') {
- $mod_name = '';
- }
-
- $dir_name = $pathtoroot.$mod_name."/admin/install/upgrades/";
- $dir = @dir($dir_name);
-
- $new_version = '';
- $tmp1 = 0;
- $tmp2 = 0;
- while ($file = $dir->read()) {
- if ($file != "." && $file != ".." && !is_dir($dir_name.$file))
- {
- $file = str_replace("inportal_upgrade_v", "", $file);
- $file = str_replace(".sql", "", $file);
-
- if ($file != '' && !strstr($file, 'changelog') && !strstr($file, 'readme')) {
- $tmp1 = str_replace(".", "", $file);
- if ($tmp1 > $tmp2) {
- $new_version = $file;
- }
- }
- }
- $tmp2 = $tmp1;
- }
-
-
- $version_nrs = explode(".", $new_version);
-
- for ($i = 0; $i < $version_nrs[0] + 1; $i++) {
- for ($j = 0; $j < $version_nrs[1] + 1; $j++) {
- for ($k = 0; $k < $version_nrs[2] + 1; $k++) {
- $try_version = "$i.$j.$k";
-
- $filename = $pathtoroot.$mod_name."/admin/install/upgrades/inportal_upgrade_v$try_version.sql";
-
- if(file_exists($filename))
- {
- RunSQLFile($ado, $filename);
- set_ini_value("Module Versions", $p, $try_version);
- save_values();
- }
- }
- }
- }
-
- $rs->MoveNext();
- }
-*/
- $state="lang_select";
-}
-
-if($state=="modselect")
-{
- /* /admin/install.php */
- $UrlLen = (strlen($admin) + 12)*-1;
- $pathguess =substr($_SERVER["SCRIPT_NAME"],0,$UrlLen);
- $sitepath = $pathguess;
- $esc_path = str_replace("\\","/",$pathtoroot);
- $esc_path = str_replace("/","\\",$esc_path);
- //set_ini_value("Site","DomainName",$_SERVER["HTTP_HOST"]);
- //$g_DomainName= $_SERVER["HTTP_HOST"];
- save_values();
-
- $ado =& inst_GetADODBConnection();
- if(substr($sitepath,0,1)!="/")
- $sitepath="/".$sitepath;
- if(substr($sitepath,-1)!="/")
- $sitepath .= "/";
-
- $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '$sitepath' WHERE VariableName='Site_Path'";
- $ado->Execute($sql);
- $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '$g_Domain' WHERE VariableName='Server_Name'";
- $ado->Execute($sql);
- $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '".$_SERVER['DOCUMENT_ROOT'].$sitepath."admin/backupdata' WHERE VariableName='Backup_Path'";
- $ado->Execute($sql);
- $Modules = a48d819089308a9aeb447e7248b2587f();
-
- if (count($Modules) > 0) {
- $include_file = $pathtoroot.$admin."/install/modselect.php";
- }
- else {
- $state = "lang_select";
- $skip_step = true;
- }
-}
-
-if($state=="lang_select")
-{
- $Packs = GetLanguageList();
- $include_file = $pathtoroot.$admin."/install/lang_select.php";
-}
-
-if(substr($state,0,10)=="postconfig")
-{
- $p = explode("_",$state);
- $step = $p[1];
-
- if ($_POST['Site_Path'] != '') {
- $sql = "SELECT Name, Version FROM ".$g_TablePrefix."Modules";
- $rs = $ado->Execute($sql);
-
- $modules_str = '';
- while ($rs && !$rs->EOF) {
- $modules_str .= $rs->fields['Name'].' ('.$rs->fields['Version'].'),';
- $rs->MoveNext();
- }
-
- $modules_str = substr($modules_str, 0, strlen($modules_str) - 1);
- $rfile = @fopen(GET_LICENSE_URL."?url=".base64_encode($_SERVER['HTTP_HOST'].$_POST['Site_Path'])."&modules=".base64_encode($modules_str)."&license_code=".base64_encode($g_LicenseCode)."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".md5($_SERVER['HTTP_HOST']), "r");
- if (!$rfile) {
- //$get_license_error = "Unable to connect to the Intechnic server! Please try again later!";
- //$state = "postconfig_1";
- //$include_file = $pathtoroot.$admin."/install/postconfig.php";
- }
- else {
- $rcontents = '';
- while (!feof($rfile)) {
- $line = fgets($rfile, 10000);
- $rcontents .= $line;
- }
- @fclose($rfile);
- }
-
- }
-
- if(strlen($_POST["oldstate"])>0)
- {
- $s = explode("_",$_POST["oldstate"]);
- $oldstep = $s[1];
- if($oldstep<count($configs))
- {
- $section = $configs[$oldstep];
- $module = $mods[$oldstep];
- $title = $titles[$oldstep];
- $objAdmin = new clsConfigAdmin($module,$section,TRUE);
- $objAdmin->SaveItems($_POST,TRUE);
- }
- }
- $section = $configs[$step];
- $module = $mods[$step];
- $title = $titles[$step];
-
- $step++;
-
- if($step <= count($configs)+1)
- {
- $include_file = $pathtoroot.$admin."/install/postconfig.php";
- }
- else
- $state = "theme_sel";
-}
-
-if($state=="theme_sel")
-{
- $objThemes->CreateMissingThemes(true);
- $include_file = $pathtoroot.$admin."/install/theme_select.php";
-}
-
-if($state=="theme_set")
-{
- ## get & define Non-Blocking & Blocking versions ##
- $blocking_sockets = minimum_php_version("4.3.0")? 0 : 1;
-
- $ado =& inst_GetADODBConnection();
- $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '$blocking_sockets' WHERE VariableName='SocketBlockingMode'";
- $ado->Execute($sql);
- ## get & define Non-Blocking & Blocking versions ##
-
-
- $theme_id = $_POST["theme"];
- $pathchar="/";
- //$objThemes->SetPrimaryTheme($theme_id);
- $t = $objThemes->GetItem($theme_id);
- $t->Set("Enabled",1);
- $t->Set("PrimaryTheme",1);
- $t->Update();
- $t->VerifyTemplates();
- $include_file = $pathtoroot.$admin."/install/install_finish.php";
- $state="finish";
-}
-
-if ($state == "adm_login") {
- $ado =& inst_GetADODBConnection();
- $sql = 'UPDATE '.TABLE_PREFIX.'UserSession
- SET LastAccessed = 0
- WHERE PortalUserId IN (0,-2)';
- $ado->Execute($sql);
-
- echo "<script>window.location='index.php';</script>";
-}
-
-if ($state == "finish") {
- $ado =& inst_GetADODBConnection();
- $PhraseTable = $g_TablePrefix."ImportPhrases";
- $EventTable = $g_TablePrefix."ImportEvents";
- $ado->Execute("DROP TABLE IF EXISTS $PhraseTable");
- $ado->Execute("DROP TABLE IF EXISTS $EventTable");
- $ado->Execute('INSERT INTO '.$g_TablePrefix.'Cache (VarName, Data) VALUES (\'ForcePermCacheUpdate\', \'1\')');
-
- $include_file = $pathtoroot.$admin."/install/install_finish.php";
-}
-
-// init variables
-$vars = Array('db_error','restore_error','PassError','DomainError','login_error','inst_error');
-foreach($vars as $var_name) ReSetVar($var_name);
-
-switch($state)
-{
-case "modselect":
- $title = "Select Modules";
- $help = "<p>Select the In-Portal modules you wish to install. The modules listed to the right ";
- $help .="are all modules included in this installation that are licensed to run on this server. </p>";
-break;
-case "reinstall":
- $title = "Installation Maintenance";
- $help = "<p>A Configuration file has been detected on your system and it appears In-Portal is correctly installed. ";
- $help .="In order to work with the maintenance functions provided to the left you must provide the Intechnic ";
- $help .="Username and Password you used when obtaining the license file residing on the server, or your admin Root password. ";
- $help .=" <i>(Use Username 'root' if using your root password)</i></p>";
- $help .= "<p>To removing your existing database and start with a fresh installation, select the first option ";
- $help .= "provided. Note that this operation cannot be undone and no backups are made! Use at your own risk.</p>";
- $help .="<p>If you wish to scrap your current installation and install to a new location, choose the second option. ";
- $help .="If this option is selected you will be prompted for new database configuration information.</p>";
- $help .="<p>The <i>Update License Information</i> option is used to update your In-Portal license data. Select this option if you have ";
- $help .="modified your licensing status with Intechnic, or you have received new license data via email</p>";
- $help .="<p>The <i>Fix Paths</i> option should be used when the location of the In-portal files has changed. For example, if you moved them from one folder to another. It will update all settings and ensure the program is operational at the new location.</p>";
-break;
-case "fix_paths":
- $title = "Fix Paths";
- $help = "<p>The <i>Fix Paths</i> option should be used when the location of the In-portal files has changed. For example, if you moved them from one folder to another. It will update all settings and ensure the program is operational at the new location.<p>";
-break;
-case "RootPass":
- $title = "Set Admin Root Password";
- $help = "<p>The Root Password is initially required to access the admin sections of In-Portal. ";
- $help .="The root user cannot be used to access the front-end of the system, so it is recommended that you ";
- $help .="create additional users with admin privlidges.</p>";
-break;
-case "finish":
- $title = "Thank You!";
- $help ="<P>Thanks for using In-Portal! Be sure to visit <A TARGET=\"_new\" HREF=\"http://www.in-portal.net\">www.in-portal.net</A> ";
- $help.=" for the latest news, module releases and support. </p>";
- $help.="<p>*Make sure to clean your browser' cache after upgrading In-portal version</p>";
-break;
-case "license":
- $title = "License Configuration";
- $help ="<p>A License is required to run In-Portal on a server connected to the Internet. You ";
- $help.="can run In-Portal on localhost, non-routable IP addresses, or other computers on your LAN. ";
- $help.="If Intechnic has provided you with a license file, upload it here. Otherwise select the first ";
- $help.="option to allow Install to download your license for you.</p>";
- $help.="<p>If a valid license has been detected on your server, you can choose the <i>Use Existing License</i> ";
- $help.="and continue the installation process</p>";
-break;
-case "domain_select":
- $title="Select Licensed Domain";
- $help ="<p>Select the domain you wish to configure In-Portal for. The <i>Other</i> option ";
- $help.=" can be used to configure In-Portal for use on a local domain.</p>";
- $help.="<p>For local domains, enter the hostname or LAN IP Address of the machine running In-Portal.</p>";
-break;
-case "db_reconfig":
-case "dbinfo":
- $title="Database Configuration";
- $help = "<p>In-Portal needs to connect to your Database Server. Please provide the database server type*, ";
- $help .="host name (<i>normally \"localhost\"</i>), Database user name, and database Password. ";
- $help .="These fields are required to connect to the database.</p><p>If you would like In-Portal ";
- $help .="to use a table prefix, enter it in the field provided. This prefix can be any ";
- $help .=" text which can be used in the names of tables on your system. The characters entered in this field ";
- $help .=" are placed <i>before</i> the names of the tables used by In-Portal. For example, if you enter \"inp_\"";
- $help .=" into the prefix field, the table named Category will be named inp_Category.</p>";
-break;
-case "lang_select":
- $title="Language Pack Installation";
- $help = "<p>Select the language packs you wish to install. Each language pack contains all the phrases ";
- $help .="used by the In-Portal administration and the default template set. Note that at least one ";
- $help .="pack <b>must</b> be installed.</p>";
-break;
-case "lang_default":
- $title="Select Default Language";
- $help = "<p>Select which language should be considered the \"default\" language. This is the language ";
- $help .="used by In-Portal when a language has not been selected by the user. This selection is applicable ";
- $help .="to both the administration and front-end.</p>";
-break;
-case "lang_install":
- $title="Installing Language Packs";
- $help = "<p>The language packs you have selected are being installed. You may install more languages at a ";
- $help.="later time from the Regional admin section.</p>";
-break;
-case "postconfig_1":
- $help = "<P>These options define the general operation of In-Portal. Items listed here are ";
- $help .="required for In-Portal's operation.</p><p>When you have finished, click <i>save</i> to continue.</p>";
-break;
-case "postconfig_2":
- $help = "<P>User Management configuration options determine how In-Portal manages your user base.</p>";
- $help .="<p>The groups listed to the right are pre-defined by the installation process and may be changed ";
- $help .="through the Groups section of admin.</p>";
-break;
-case "postconfig_3":
- $help = "<P>The options listed here are used to control the category list display functions of In-Portal. </p>";
-break;
-case "theme_sel":
- $title="Select Default Theme";
- $help = "<P>This theme will be used whenever a front-end session is started. ";
- $help .="If you intend to upload a new theme and use that as default, you can do so through the ";
- $help .="admin at a later date. A default theme is required for session management.</p>";
-break;
-case "get_license":
- $title="Download License from Intechnic";
- $help ="<p>A License is required to run In-Portal on a server connected to the Internet. You ";
- $help.="can run In-Portal on localhost, non-routable IP addresses, or other computers on your LAN.</p>";
- $help.="<p>Here as you have selected download license from Intechnic you have to input your username and ";
- $help.="password of your In-Business account in order to download all your available licenses.</p>";
-break;
-case "download_license":
- $title="Download License from Intechnic";
- $help ="<p>A License is required to run In-Portal on a server connected to the Internet. You ";
- $help.="can run In-Portal on localhost, non-routable IP addresses, or other computers on your LAN.</p>";
- $help.="<p>Please choose the license from the drop down for this site! </p> ";
-break;
-case "restore_select":
- $title="Select Restore File";
- $help = "<P>Select the restore file to use to reinstall In-Portal. If your backups are not performed ";
- $help .= "in the default location, you can enter the location of the backup directory and click the ";
- $help .="<i>Update</i> button.</p>";
-case "restore_run":
- $title= "Restore in Progress";
- $help = "<P>Restoration of your system is in progress. When the restore has completed, the installation ";
- $help .="will continue as normal. Hitting the <i>Cancel</i> button will restart the entire installation process. ";
-break;
-case "warning":
- $title = "Restore in Progress";
- $help = "<p>Please approve that you understand that you are restoring your In-Portal data base from other version of In-Portal.</p>";
-break;
-case "update":
- $title = "Update In-Portal";
- $help = "<p>Select modules from the list, you need to update to the last downloaded version of In-Portal</p>";
-break;
-}
-
-$tmp_step = GetVar('next_step', true);
-
-if (!$tmp_step) {
- $tmp_step = 1;
-}
-
-if ( isset($got_license) && $got_license == 1) {
- $tmp_step++;
-}
-
-$next_step = $tmp_step + 1;
-
-if ($general_error != '') {
- $state = '';
- $title = '';
- $help = '';
- $general_error = $general_error.'<br /><br />Installation cannot continue!';
-}
-
-if ($include_file == '' && $general_error == '' && $state == '') {
- $state = '';
- $title = '';
- $help = '';
- $filename = $pathtoroot.$admin."/install/inportal_remove.sql";
- RunSQLFile($ado,$filename);
- $general_error = 'Unexpected installation error! <br /><br />Installation has been stopped!';
-}
-
-if ($restore_error != '') {
- $next_step = 3;
- $tmp_step = 2;
-}
-
-if ($PassError != '') {
- $tmp_step = 4;
- $next_step = 5;
-}
-
-if ($DomainError != '') {
- $tmp_step--;
- $next_step = $tmp_step + 1;
-}
-
-if ($db_error != '') {
- $tmp_step--;
- $next_step = $tmp_step + 1;
-}
-
-if ($state == "warning") {
- $tmp_step--;
- $next_step = $tmp_step + 1;
-}
-
-if ($skip_step) {
- $tmp_step++;
- $next_step = $tmp_step + 1;
-}
-?>
-
- <tr height="100%">
- <td valign="top">
- <table cellpadding=10 cellspacing=0 border=0 width="100%" height="100%">
- <tr valign="top">
- <td style="width: 200px; background: #009ff0 url(images/bg_install_menu.gif) no-repeat bottom right; border-right: 1px solid #000">
- <img src="images/spacer.gif" width="180" height="1" border="0" title=""><br>
- <span class="admintitle-white">Installation</span>
- <!--<ol class="install">
- <li class="current">Licence Verification
- <li>Configuration
- <li>File Permissions
- <li>Security
- <li>Integrity Check
- </ol>
- </td>-->
- <?php
- $lic_opt = isset($_POST['lic_opt']) ? $_POST['lic_opt'] : false;
- if ($general_error == '') {
- ?>
- <?php if ($install_type == 1) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1) { ?>class="current"<?php } ?>>Database Configuration
- <li <?php if ($tmp_step == 2 || $lic_opt == 1) { ?>class="current"<?php } ?>>Select License
- <li <?php if ($tmp_step == 3 && $lic_opt != 1) { ?>class="current"<?php } ?>>Select Domain
- <li <?php if ($tmp_step == 4 ) { ?>class="current"<?php } ?>>Set Root Password
- <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Select Modules to Install
- <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Install Language Packs
- <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Post-Install Configuration
- <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 2) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <!--<li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $_POST['lic_opt'] == 1) { ?>class="current"<?php } ?>>Select License
- <li <?php if ($tmp_step == 3 && $_POST['lic_opt'] != 1) { ?>class="current"<?php } ?>>Select Domain
- <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Set Root Password
- <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Select Modules to Install
- <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Install Language Packs
- <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Post-Install Configuration
- <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Finish-->
- </ol>
- <?php } else if ($install_type == 3) { ?>
- <ol class="install">
- <li>License Verification
- <li <?php if ($tmp_step == 2) { ?>class="current"<?php } ?>>Database Configuration
- <li <?php if ($tmp_step == 3 || $_POST['lic_opt'] == 1) { ?>class="current"<?php } ?>>Select License
- <li <?php if ($tmp_step == 4 && $_POST['lic_opt'] != 1) { ?>class="current"<?php } ?>>Select Domain
- <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Set Root Password
- <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Select Modules to Install
- <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Install Language Packs
- <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Post-Install Configuration
- <li <?php if ($tmp_step == 9) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 4) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $lic_opt == 1) { ?>class="current"<?php } ?>>Select License
- <li <?php if ($tmp_step == 3 && $_POST['lic_opt'] != 1) { ?>class="current"<?php } ?>>Select Domain
- <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Set Root Password
- <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Select Modules to Install
- <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Install Language Packs
- <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Post-Install Configuration
- <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 5) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $lic_opt == 1) { ?>class="current"<?php } ?>>Select License
- <li <?php if ($tmp_step == 3 && $lic_opt != 1) { ?>class="current"<?php } ?>>Select Domain
- <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 6) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $_GET['show_prev'] == 1 || $_POST['backupdir']) { ?>class="current"<?php } ?>>Select Backup File
- <li <?php if ($tmp_step == 3 && $_POST['lic_opt'] != 1 && $_GET['show_prev'] != 1 && !$_POST['backupdir']) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 7) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <li <?php if ($tmp_step == 2 && $login_error == '' && $inst_error == '') { ?>class="current"<?php } ?>>Database Configuration
- <li <?php if ($tmp_step == 3) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 8) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <li <?php if ($tmp_step == 2 && $login_error == '' && $inst_error == '') { ?>class="current"<?php } ?>>Select Modules to Upgrade
- <li <?php if ($tmp_step == 3) { ?>class="current"<?php } ?>>Language Pack Upgrade
- <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } else if ($install_type == 9) { ?>
- <ol class="install">
- <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
- <li <?php if ($tmp_step == 2 && $login_error == '' && $inst_error == '') { ?>class="current"<?php } ?>>Fix Paths
- <li <?php if ($tmp_step == 3) { ?>class="current"<?php } ?>>Finish
- </ol>
- <?php } ?>
- <?php include($include_file); ?>
- <?php } else { ?>
- <?php include("install/general_error.php"); ?>
- <?php } ?>
- <td width="40%" style="border-left: 1px solid #000; background: #f0f0f0">
- <table width="100%" border="0" cellspacing="0" cellpadding="4">
- <tr>
- <td class="subsectiontitle" style="border-bottom: 1px solid #000000; background-color:#999"><?php if( isset($title) ) echo $title;?></td>
- </tr>
- <tr>
- <td class="text"><?php if( isset($help) ) echo $help;?></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <br>
- </td>
- </tr>
- </table>
- </td>
- </tr>
-
- <tr>
- <td id="footer">
- Powered by In-portal &copy; 1997-2007, Intechnic Corporation. All rights reserved.
- <br><img src="images/spacer.gif" width="1" height="10" title="">
- </td>
- </tr>
-</table>
-</form>
-
-</body>
+<?php
+
+error_reporting(E_ALL);
+set_time_limit(0);
+ini_set('memory_limit', -1);
+
+define('BACKUP_NAME', 'dump(.*).txt'); // how backup dump files are named
+$general_error = '';
+
+// new path detection without K4 init: begin
+define('FULL_PATH', realpath(dirname(__FILE__).'/..') );
+define('BASE_PATH', rtrim(preg_replace('#/admin$#', '', str_replace('\\', '/', dirname($_SERVER['PHP_SELF']))), '/'));
+$rootURL = 'http://'.$_SERVER['HTTP_HOST'].rtrim(BASE_PATH, '/').'/admin/';
+// new path detection without K4 init: end
+
+$pathtoroot = FULL_PATH.'/';
+$admin = 'admin';
+
+ini_set('include_path', '.');
+
+if (!defined('IS_INSTALL')) define('IS_INSTALL',1);
+if( file_exists($pathtoroot.'debug.php') && !(defined('DEBUG_MODE') && DEBUG_MODE) ) include_once($pathtoroot.'debug.php');
+
+$state = isset($_GET["state"]) ? $_GET["state"] : '';
+if(!strlen($state))
+{
+ $state = isset($_POST['state']) ? $_POST['state'] : '';
+}
+
+if (!defined("GET_LICENSE_URL")) {
+ define("GET_LICENSE_URL", "http://www.intechnic.com/myaccount/license.php");
+}
+
+require_once $pathtoroot.$admin.'/install/install_lib.php';
+
+$install_type = GetVar('install_type', true);
+$force_finish = isset($_REQUEST['ff']) ? true : false;
+
+$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;
+ }
+ }
+}
+else
+{
+ $state="";
+ $write_access = is_writable($pathtoroot);
+ if($write_access)
+ {
+ set_ini_value("Database", "DBType", "");
+ set_ini_value("Database", "DBHost", "");
+ set_ini_value("Database", "DBUser", "");
+ set_ini_value("Database", "DBUserPassword", "");
+ set_ini_value("Database", "DBName", "");
+ set_ini_value("Module Versions", "In-Portal", "");
+
+ save_values();
+ }
+}
+
+$titles[1] = "General Site Setup";
+$configs[1] = "in-portal:configure_general";
+$mods[1] = "In-Portal";
+
+$titles[2] = "User Setup";
+$configs[2] = "in-portal:configure_users";
+$mods[2] = "In-Portal:Users";
+
+$titles[3] = "Category Display Setup";
+$configs[3] = "in-portal:configure_categories";
+$mods[3] = "In-Portal";
+
+// simulate rootURL variable: begin
+ $rootURL = 'http://'.dirname($_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']);
+ $tmp = explode('/', $rootURL);
+ if( $tmp[ count($tmp) - 1 ] == $admin) unset( $tmp[ count($tmp) - 1 ] );
+ $rootURL = implode('/', $tmp).'/';
+ unset($tmp);
+ //echo "RU: $rootURL<br>";
+// simulate rootURL variable: end
+
+$db_savings = Array('dbinfo', 'db_config_save', 'db_reconfig_save'); //, 'reinstall_process'
+if( isset($g_DBType) && $g_DBType && strlen($state)>0 && !in_array($state, $db_savings) )
+{
+ define('REL_PATH', 'admin');
+ require_once($pathtoroot."kernel/startup.php");
+ $localURL=$rootURL."kernel/";
+ $adminURL = $rootURL.$admin;
+ $imagesURL = $adminURL."/images";
+
+//admin only util
+
+ $pathtolocal = $pathtoroot."kernel/";
+ require_once ($pathtoroot.$admin."/include/elements.php");
+ //require_once ($pathtoroot."kernel/admin/include/navmenu.php");
+ require_once ($pathtolocal."admin/include/navmenu.php");
+ require_once($pathtoroot.$admin."/toolbar.php");
+
+ set_cookie(SESSION_COOKIE_NAME, '', adodb_mktime() - 3600, rtrim(BASE_PATH, '/') );
+}
+
+function GetPathChar($path = null)
+{
+ if( !isset($path) ) $path = $GLOBALS['pathtoroot'];
+ $pos = strpos($path, ':');
+ return ($pos === false) ? "/" : "\\";
+}
+
+function SuperStrip($str, $inverse = false)
+{
+ $str = $inverse ? str_replace("%5C","\\",$str) : str_replace("\\","%5C",$str);
+ return stripslashes($str);
+}
+
+$skip_step = false;
+
+require_once($pathtoroot.$admin."/install/inst_ado.php");
+$helpURL = $rootURL.$admin.'/help/install_help.php?destform=popup&help_usage=install';
+?>
+<html>
+<head>
+<title>In-Portal Installation</title>
+ <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
+ <meta name="generator" content="Notepad">
+ <link rel="stylesheet" type="text/css" href="include/style.css">
+ <LINK REL="stylesheet" TYPE="text/css" href="install/2col.css">
+ <SCRIPT LANGUAGE="JavaScript1.2">
+ function MM_preloadImages() { //v3.0
+ var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
+ var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
+ if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
+ }
+
+ function swap(imgid, src){
+ var ob = document.getElementById(imgid);
+ ob.src = 'images/' + src;
+ }
+
+ function Continue() {
+ document.iform1.submit();
+ }
+
+ function CreatePopup(window_name, url, width, height)
+ {
+ // creates a popup window & returns it
+ if(url == null && typeof(url) == 'undefined' ) url = '';
+ if(width == null && typeof(width) == 'undefined' ) width = 750;
+ if(height == null && typeof(height) == 'undefined' ) height = 400;
+
+
+ return window.open(url,window_name,'width='+width+',height='+height+',status=yes,resizable=yes,menubar=no,scrollbars=yes,toolbar=no');
+ }
+
+ function ShowHelp(section)
+ {
+ var frm = document.getElementById('help_form');
+
+ frm.section.value = section;
+ frm.method = 'POST';
+ CreatePopup('HelpPopup','<?php echo $rootURL.$admin; ?>/help/blank.html'); // , null, 600);
+ frm.target = 'HelpPopup';
+ frm.submit();
+ }
+
+ </SCRIPT>
+</head>
+
+<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" style="height: 100%">
+<form name="help_form" id="help_form" action="<?php echo $helpURL; ?>" method="post"><input type="hidden" id="section" name="section" value=""></form>
+<form enctype="multipart/form-data" name="iform1" id="iform1" method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
+<table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%">
+ <tr>
+ <td height="90">
+ <table cellpadding="0" cellspacing="0" border="0" width="100%" height="90">
+ <tr>
+ <td rowspan="3" valign="top"><a href="http://www.in-portal.net" target="_top"><img title="In-portal" src="images/globe.gif" width="84" height="91" border="0"></a></td>
+ <td rowspan="3" valign="top"><a href="http://www.in-portal.net" target="_top"><img title="In-portal" src="images/logo.gif" width="150" height="91" border="0"></a></td>
+ <td rowspan="3" width="100000" align="right">&nbsp;</td>
+ <td width="400"><img title="" src="images/blocks.gif" width="400" height="73"></td>
+ </tr>
+ <tr><td align="right" background="images/version_bg.gif" class="head_version" valign="top"><img title="" src="images/spacer.gif" width="1" height="14">In-Portal Version <?php echo GetMaxPortalVersion($pathtoroot.$admin)?>: English US</td></tr>
+ <tr><td><img title="" src="images/blocks2.gif" width="400" height="2"><br></td></tr>
+ <tr><td bgcolor="black" colspan="4"><img title="" src="images/spacer.gif" width="1" height="1"><br></td></tr>
+ </table>
+ </td>
+ </tr>
+
+<?php
+require_once($pathtoroot."kernel/include/adodb/adodb.inc.php");
+
+if(!strlen($state))
+ $state = @$_POST["state"];
+//echo $state;
+
+if(strlen($state)==0)
+{
+ $ado =& inst_GetADODBConnection();
+ $installed = $ado ? TableExists($ado,"ConfigurationAdmin,Category,Permissions") : false;
+
+ if(!minimum_php_version("4.1.2"))
+ {
+ $general_error = "You have version ".phpversion()." - please upgrade!";
+ //die();
+ }
+
+ if(!$write_access)
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "Install cannot write to config.php in the root directory of your in-portal installation ($pathtoroot).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."themes/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's Theme directory must be writable (".$pathtoroot."themes/).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."kernel/images/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's Image Upload directory must be writable (".$pathtoroot."kernel/images/).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."kernel/images/pending"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's Pending Image Upload directory must be writable (".$pathtoroot."kernel/images/pending).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."admin/backupdata/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's Backup directory must be writable (".$pathtoroot."admin/backupdata/).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."admin/export/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's Export directory must be writable (".$pathtoroot."admin/export/).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."kernel/stylesheets/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's stylesheets directory must be writable (".$pathtoroot."kernel/stylesheets/).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."kernel/user_files/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's CMS images directory must be writable (".$pathtoroot."kernel/user_files/).";
+ //die();
+ }
+
+ if(!is_writable($pathtoroot."kernel/cache/"))
+ {
+ if ($general_error != '') {
+ $general_error .= '<br /><br />';
+ }
+ $general_error .= "In-portal's templates cache directory must be writable (".$pathtoroot."kernel/cache/).";
+ //die();
+ }
+
+ if($installed)
+ {
+ $state="reinstall";
+ }
+ else {
+ $state="dbinfo";
+ }
+
+}
+
+if($state=="reinstall_process")
+{
+ $login_err_mesg = ''; // always init vars before use
+ if( !isset($g_License) ) $g_License = '';
+ $lic = base64_decode($g_License);
+ if(strlen($lic))
+ {
+ a83570933e44bc66b31dd7127cf3f23a($lic);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ }
+
+ $LoggedIn = FALSE;
+ if($_POST["UserName"]=="root")
+ {
+ $ado =& inst_GetADODBConnection();
+ $sql = "SELECT * FROM ".$g_TablePrefix."ConfigurationValues WHERE VariableName='RootPass'";
+
+ $rs = $ado->Execute($sql);
+ if($rs && !$rs->EOF)
+ {
+ $RootPass = $rs->fields["VariableValue"];
+
+ if(strlen($RootPass)>0) {
+ if (ConvertVersion($g_InPortal) >= ConvertVersion("1.3.0")) {
+ $LoggedIn = ($RootPass==md5(md5($_POST["UserPass"]).'b38'));
+ }
+ else {
+ $LoggedIn = ($RootPass==md5($_POST["UserPass"]));
+ }
+ }
+ }
+ else {
+ $login_err_mesg = 'Invalid username or password';
+ }
+ }
+ else
+ {
+ $act = '';
+ if (ConvertVersion($g_InPortal) >= ConvertVersion("1.0.5")) {
+ $act = 'check';
+ }
+ $rfile = @fopen(GET_LICENSE_URL."?login=".md5($_POST['UserName'])."&password=".md5($_POST['UserPass'])."&action=$act&license_code=".base64_encode($g_LicenseCode)."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".base64_encode($_SERVER['HTTP_HOST']), "r");
+ if (!$rfile) {
+ $login_err_mesg = "Unable to connect to the Intechnic server!";
+ $LoggedIn = false;
+ }
+ else {
+ $rcontents = '';
+ while (!feof($rfile)) {
+ $line = fgets($rfile, 10000);
+ $rcontents .= $line;
+ }
+ @fclose($rfile);
+
+ if (substr($rcontents, 0, 5) == 'Error') {
+ $login_err_mesg = substr($rcontents, 6);
+ $LoggedIn = false;
+ }
+ else {
+ $LoggedIn = true;
+ }
+ }
+ //$LoggedIn = ($i_User == $_POST["UserName"] && ($i_Pswd == $_POST["UserPass"]) && strlen($i_User)>0) || strlen($i_User)==0;
+ }
+
+ if($LoggedIn)
+ {
+ if (!(int)$_POST["inp_opt"]) {
+ $state="reinstall";
+ $inst_error = "Please select one of the options above!";
+ }
+ else {
+ switch((int)$_POST["inp_opt"])
+ {
+ case 0:
+ $inst_error = "Please select an option above";
+ break;
+ case 1:
+ /* clean out all tables */
+ $install_type = 4;
+ $ado =& inst_GetADODBConnection();
+ $filename = $pathtoroot.$admin."/install/inportal_remove.sql";
+ RunSchemaFile($ado,$filename);
+
+ // removing other tables
+ $tables = $ado->MetaTables();
+
+ foreach($tables as $tab_name) {
+ if (stristr($tab_name, $g_TablePrefix."ses_")) {
+ $sql = "DROP TABLE IF EXISTS $tab_name";
+ $ado->Execute($sql);
+ }
+ }
+
+ /* run install again */
+ $state="license";
+ break;
+ case 2:
+ $install_type = 3;
+ $state="dbinfo";
+ break;
+ case 3:
+ $install_type = 5;
+ $state="license";
+ break;
+ case 4:
+ $install_type = 6;
+ /* clean out all tables */
+ $ado =& inst_GetADODBConnection();
+ //$filename = $pathtoroot.$admin."/install/inportal_remove.sql";
+ //RunSchemaFile($ado,$filename);
+ /* run install again */
+ $state="restore_select";
+ break;
+ case 5:
+ $install_type = 7;
+ /* change DB config */
+ $state="db_reconfig";
+ break;
+ case 6:
+ $install_type = 8;
+ $state = "upgrade";
+ break;
+ case 7:
+ $install_type = 9;
+ $state = "fix_paths";
+ break;
+ }
+ }
+ }
+ else
+ {
+ $state="reinstall";
+ $login_error = $login_err_mesg;//"Invalid Username or Password - Try Again";
+ }
+}
+
+if ($state == "upgrade") {
+ $ado =& inst_GetADODBConnection();
+
+ $Modules = array();
+ $Texts = array();
+
+ if (ConvertVersion(GetMaxPortalVersion($pathtoroot.$admin)) >= ConvertVersion("1.0.5") && ($g_LicenseCode == '' && $g_License != '')) {
+ $state = 'reinstall';
+ $inst_error = "Your license must be updated before you can upgrade. Please don't use 'Existing License' option, instead either Download from Intechnic or Upload a new license file!";
+ }
+ else {
+ $sql = "SELECT Name, Version, Path FROM ".$g_TablePrefix."Modules ORDER BY LoadOrder asc";
+
+ $rs = $ado->Execute($sql);
+
+ $i = 0;
+ while ($rs && !$rs->EOF) {
+ $p = $rs->fields['Path'];
+
+ if ($rs->fields['Name'] == 'In-Portal') {
+ $p = '';
+ }
+
+ $dir_name = $pathtoroot.$p."admin";///install/upgrades/";
+
+ if($rs->fields['Version'] != $newver = GetMaxPortalVersion($dir_name))
+ {
+
+////////////////////
+
+ $mod_path = $rs->fields['Path'];
+ $current_version = $rs->fields['Version'];
+ if ($rs->fields['Name'] == 'In-Portal') $mod_path = '';
+
+ $dir_name = $pathtoroot.$mod_path."/admin/install/upgrades/";
+ $dir = @dir($dir_name);
+
+ if (!$dir) {
+ $rs->MoveNext();
+ continue;
+ }
+
+ $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_path."/admin/install/upgrades/$file";
+ if(file_exists($filename))
+ {
+ include($filename);
+ if( $result & 2 ) break;
+ }
+ }
+ }
+
+////////////////////
+
+ $Modules[] = Array('module'=>$rs->fields['Name'],'curver'=>$rs->fields['Version'],'newver'=>$newver,'error'=>$result!='pass');
+// $Texts[] = $rs->fields['Name']." (".$rs->fields['Version']." ".prompt_language("la_to")." ".GetMaxPortalVersion($dir_name).")";
+ }
+
+ /*$dir = @dir($dir_name);
+
+ while ($file = $dir->read()) {
+ if ($file != "." && $file != ".." && !is_dir($dir_name.$file))
+ {
+ if (strstr($file, 'inportal_upgrade_v')) {
+ $file = str_replace("inportal_upgrade_v", "", $file);
+ $file = str_replace(".sql", "", $file);
+
+ //$sql = "SELECT count(*) AS count FROM ".$g_TablePrefix."Modules WHERE Name = '".$rs->fields['Name']."' AND Version = '$file'";
+ //$rs1 = $ado->Execute($sql);
+
+ if ($rs1->fields['count'] == 0 && ConvertVersion($file) > ConvertVersion($rs->fields['Version'])) {
+ if ($Modules[$i-1] == $rs->fields['Name']) {
+ $Texts[$i-1] = $rs->fields['Name']." (".$rs->fields['Version']." ".prompt_language("la_to")." ".$file.")";
+ $i--;
+ }
+ else {
+ $Texts[$i] = $rs->fields['Name']." (".$rs->fields['Version']." ".prompt_language("la_to")." ".$file.")";
+ $Modules[$i] = $rs->fields['Name'];
+ }
+
+ $i++;
+ }
+ }
+ }
+ }*/
+
+ $rs->MoveNext();
+ }
+
+ $sql = 'DELETE FROM '.$g_TablePrefix.'Cache WHERE VarName IN ("config_files","configs_parsed","sections_parsed")';
+ $ado->Execute($sql);
+
+ $include_file = $pathtoroot.$admin."/install/upgrade.php";
+ }
+}
+
+if ($state == "upgrade_process") {
+ // K4 applition is now always available during upgrade process
+ if (!defined('FULL_PATH')) {
+ define('FULL_PATH', realpath(dirname(__FILE__).'/..'));
+ }
+
+ include_once(FULL_PATH.'/core/kernel/startup.php');
+ $application =& kApplication::Instance();
+ $application->Init();
+
+ // force rereading of configs
+ $unit_config_reader =& $application->recallObject('kUnitConfigReader');
+ $unit_config_reader->scanModules(MODULES_PATH);
+
+ $ado =& inst_GetADODBConnection();
+ $mod_arr = $_POST['modules'];
+
+ $mod_str = '';
+ foreach ($mod_arr as $tmp_mod) {
+ $mod_str .= "'$tmp_mod',";
+ }
+
+ $mod_str = substr($mod_str, 0, strlen($mod_str) - 1);
+
+ $sql = "SELECT Name FROM ".$g_TablePrefix."Modules WHERE Name IN ($mod_str) ORDER BY LoadOrder";
+ $rs = $ado->Execute($sql);
+
+ $mod_arr = array();
+ while ($rs && !$rs->EOF) {
+ $mod_arr[] = $rs->fields['Name'];
+ $rs->MoveNext();
+ }
+
+ foreach($mod_arr as $p)
+ {
+ $mod_name = strtolower($p);
+
+ $sql = "SELECT Version, Path FROM ".$g_TablePrefix."Modules WHERE Name = '$p'";
+ $rs = $ado->Execute($sql);
+
+ $current_version = $rs->fields['Version'];
+
+ if ($mod_name == 'in-portal') {
+ $mod_path = '';
+ }
+ else {
+ $mod_path = $rs->fields['Path'];
+ }
+
+ $dir_name = $pathtoroot.$mod_path."/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_upgrade_v')) {
+ $upgrades_arr[] = $file;
+ }
+ }
+ }
+
+ usort($upgrades_arr, "VersionSort");
+
+ foreach($upgrades_arr as $file)
+ {
+ preg_match('/inportal_upgrade_v(.*).(php|sql)$/', $file, $rets);
+ $tmp_version = $rets[1];
+ $tmp_extension = $rets[2];
+
+ if (ConvertVersion($tmp_version) > ConvertVersion($current_version) )
+ {
+ $filename = $pathtoroot.$mod_path."/admin/install/upgrades/$file";
+ //echo "Running: $filename<br>";
+
+ // SQL is processed FIRST (before corresponding PHP according to the sorting order in VersionSort()
+ if( file_exists($filename) )
+ {
+ if($tmp_extension == 'sql')
+ {
+ RunSQLFile($ado, $filename);
+ }
+ else
+ {
+ include_once $filename;
+ }
+ }
+ }
+ }
+
+ set_ini_value("Module Versions", $p, GetMaxPortalVersion($pathtoroot.$mod_path."/admin/"));
+ save_values();
+ }
+
+ // compile stylesheets: begin
+ define('FULL_PATH', realpath(dirname(__FILE__).'/..'));
+ include_once(FULL_PATH.'/core/kernel/startup.php');
+ $application =& kApplication::Instance();
+ $application->Init();
+
+// $objThemes->CreateMissingThemes(false);
+ $application->HandleEvent($theme_event, 'adm:OnRebuildThemes');
+
+ $css_hash = $application->Conn->GetCol('SELECT LOWER(Name) AS Name, StylesheetId FROM '.TABLE_PREFIX.'Stylesheets', 'StylesheetId');
+
+ $css_table = $application->getUnitOption('css','TableName');
+ $css_idfield = $application->getUnitOption('css','IDField');
+
+ $theme_table = $application->getUnitOption('theme', 'TableName');
+ $theme_idfield = $application->getUnitOption('theme', 'IDField');
+
+ $theme_update_sql = 'UPDATE '.$theme_table.' SET '.$css_idfield.' = %s WHERE LOWER(Name) = %s';
+ foreach($css_hash as $stylesheet_id => $theme_name)
+ {
+ $css_item =& $application->recallObject('css', null, Array('skip_autoload' => true));
+ $css_item->Load($stylesheet_id);
+ $css_item->Compile();
+ $application->Conn->Query( sprintf($theme_update_sql, $stylesheet_id, $application->Conn->qstr( getArrayValue($css_hash,$stylesheet_id) ) ) );
+ }
+
+ // do redirect, because upgrade scripts can eat a lot or memory used for language pack upgrade operation
+ $application->Redirect('install', Array('state' => 'languagepack_upgrade'), '', 'install.php');
+ // compile stylesheets: end
+
+ $state = 'languagepack_upgrade';
+}
+
+// upgrade language pack
+if($state=='languagepack_upgrade')
+{
+ $state = 'lang_install_init';
+ if( is_object($application) ) $application->SetVar('lang', Array('english.lang') );
+ $force_finish = true;
+}
+
+if ($state == 'fix_paths') {
+ $ado = inst_GetADODBConnection();
+ $sql = "SELECT * FROM ".$g_TablePrefix."ConfigurationValues WHERE VariableName = 'Site_Name' OR VariableName LIKE '%Path%'";
+ $path_rs = $ado->Execute($sql);
+ $include_file = $pathtoroot.$admin."/install/fix_paths.php";
+}
+
+if ($state == 'fix_paths_process') {
+ $ado = inst_GetADODBConnection();
+ //$state = 'fix_paths';
+ //$include_file = $pathtoroot.$admin."/install/fix_paths.php";
+ foreach($_POST["values"] as $key => $value) {
+ $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '".$value."' WHERE VariableName = '".$key."'";
+ $ado->Execute($sql);
+ }
+
+ $state = "finish";
+}
+
+if($state=="db_reconfig_save")
+{
+ $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;
+ }
+ }
+ unset($ado);
+ $ado = VerifyDB('db_reconfig', 'finish', 'SaveDBConfig', true);
+}
+
+
+if($state=="db_reconfig")
+{
+ $include_file = $pathtoroot.$admin."/install/db_reconfig.php";
+}
+
+if($state=="restore_file")
+{
+ if($_POST["submit"]=="Update")
+ {
+ $filepath = $_POST["backupdir"];
+ $state="restore_select";
+ }
+ else
+ {
+ $filepath = stripslashes($_POST['backupdir']);
+ $backupfile = $filepath.$path_char.str_replace('(.*)', $_POST['backupdate'], BACKUP_NAME);
+
+ if(file_exists($backupfile) && is_readable($backupfile))
+ {
+ $ado =& inst_GetADODBConnection();
+
+ $show_warning = false;
+
+ if (!$_POST['warning_ok']) {
+ // Here we comapre versions between backup and config
+ $file_contents = file_get_contents($backupfile);
+
+ $file_tmp_cont = explode("#------------------------------------------", $file_contents);
+ $tmp_vers = $file_tmp_cont[0];
+
+ $vers_arr = explode(";", $tmp_vers);
+ $ini_values = inst_parse_portal_ini($ini_file);
+
+ foreach ($ini_values as $key => $value) {
+ foreach ($vers_arr as $k) {
+ if (strstr($k, $key)) {
+ if (!strstr($k, $value)) {
+ $show_warning = true;
+ }
+ }
+ }
+ }
+ //$show_warning = true;
+ }
+
+ if (!$show_warning) {
+ $filename = $pathtoroot.$admin.$path_char.'install'.$path_char.'inportal_remove.sql';
+ RunSchemaFile($ado,$filename);
+ $state="restore_run";
+ }
+ else {
+ $state = "warning";
+ $include_file = $pathtoroot.$admin."/install/warning.php";
+ }
+ }
+ else {
+ if ($_POST['backupdate'] != '') {
+ $include_file = $pathtoroot.$admin."/install/restore_select.php";
+ $restore_error = "$backupfile not found or could not be read";
+ }
+ else {
+ $include_file = $pathtoroot.$admin."/install/restore_select.php";
+ $restore_error = "No backup selected!!!";
+ }
+ }
+ }
+ //echo $restore_error;
+}
+
+if($state=="restore_select")
+{
+ if( isset($_POST['backupdir']) ) $filepath = stripslashes($_POST['backupdir']);
+ $include_file = $pathtoroot.$admin."/install/restore_select.php";
+}
+
+if($state=="restore_run")
+{
+ $ado =& inst_GetADODBConnection();
+ $FileOffset = (int)$_GET["Offset"];
+ if(!strlen($backupfile))
+ $backupfile = SuperStrip($_GET['File'], true);
+
+ $include_file = $pathtoroot.$admin."/install/restore_run.php";
+}
+
+if($state=="db_config_save")
+{
+ set_ini_value("Database", "DBType",$_POST["ServerType"]);
+ set_ini_value("Database", "DBHost",$_POST["ServerHost"]);
+ set_ini_value("Database", "DBName",$_POST["ServerDB"]);
+ set_ini_value("Database", "DBUser",$_POST["ServerUser"]);
+ set_ini_value("Database", "DBUserPassword",$_POST["ServerPass"]);
+ set_ini_value("Database","TablePrefix",$_POST["TablePrefix"]);
+
+ save_values();
+ $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;
+ }
+ }
+ unset($ado);
+ $ado = VerifyDB('dbinfo', 'license');
+}
+
+if($state=="dbinfo")
+{
+ if ($install_type == '') {
+ $install_type = 1;
+ }
+ $include_file = $pathtoroot.$admin."/install/dbinfo.php";
+}
+
+if ($state == "download_license") {
+ $ValidLicense = FALSE;
+
+ $lic_login = isset($_POST['login']) ? $_POST['login'] : '';
+ $lic_password = isset($_POST['password']) ? $_POST['password'] : '';
+
+ if ($lic_login != '' && $lic_password != '') {
+ // Here we determine weather login is ok & check available licenses
+
+ $rfile = @fopen(GET_LICENSE_URL."?login=".md5($_POST['login'])."&password=".md5($_POST['password'])."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".base64_encode($_SERVER['HTTP_HOST']), "r");
+ if (!$rfile) {
+ $get_license_error = "Unable to connect to the Intechnic server! Please try again later!";
+ $state = "get_license";
+ $include_file = $pathtoroot.$admin."/install/get_license.php";
+ }
+ else {
+ $rcontents = '';
+ while (!feof($rfile)) {
+ $line = fgets($rfile, 10000);
+ $rcontents .= $line;
+ }
+ @fclose($rfile);
+
+ if (substr($rcontents, 0, 5) == 'Error') {
+ $get_license_error = substr($rcontents, 6);
+ $state = "get_license";
+ $include_file = $pathtoroot.$admin."/install/get_license.php";
+ }
+ else {
+ if (substr($rcontents, 0, 3) == "SEL") {
+ $state = "download_license";
+ $license_select = substr($rcontents, 4);
+ $include_file = $pathtoroot.$admin."/install/download_license.php";
+ }
+ else {
+ // Here we get one license
+ $tmp_data = explode('Code==:', $rcontents);
+
+ $data = base64_decode(str_replace("In-Portal License File - do not edit!\n", "", $tmp_data[0]));
+ a83570933e44bc66b31dd7127cf3f23a($data);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ if($ValidLicense)
+ {
+ set_ini_value("Intechnic","License",base64_encode($data));
+ set_ini_value("Intechnic","LicenseCode",$tmp_data[1]);
+ save_values();
+ $state="domain_select";
+ $got_license = 1;
+ }
+ else {
+ $license_error="Invalid License File";
+ }
+ if(!$ValidLicense)
+ {
+ $state="license";
+ }
+ }
+ }
+ }
+
+ }
+ else if ($_POST['licenses'] == '') {
+ $state = "get_license";
+ $get_license_error = "Username and / or password not specified!!!";
+ $include_file = $pathtoroot.$admin."/install/get_license.php";
+ }
+ else {
+ // Here we download license
+ $rfile = @fopen(GET_LICENSE_URL."?license_id=".md5($_POST['licenses'])."&dlog=".md5($_POST['dlog'])."&dpass=".md5($_POST['dpass'])."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".base64_encode($_POST['domain']), "r");
+ if (!$rfile) {
+ $get_license_error = "Unable to connect to the Intechnic server! Please try again later!";
+ $state = "get_license";
+ $include_file = $pathtoroot.$admin."/install/get_license.php";
+ }
+ else {
+ $rcontents = '';
+ while (!feof($rfile)) {
+ $line = fgets($rfile, 10000);
+ $rcontents .= $line;
+ }
+ @fclose($rfile);
+
+ if (substr($rcontents, 0, 5) == 'Error') {
+ $download_license_error = substr($rcontents, 6);
+ $state = "download_license";
+ $include_file = $pathtoroot.$admin."/install/download_license.php";
+ }
+ else {
+ $tmp_data = explode('Code==:', $rcontents);
+
+ $data = base64_decode(str_replace("In-Portal License File - do not edit!\n", "", $tmp_data[0]));
+ a83570933e44bc66b31dd7127cf3f23a($data);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ if($ValidLicense)
+ {
+ set_ini_value("Intechnic","License",base64_encode($data));
+ // old licensing script doen't return 2nd parameter (licanse code)
+ if( isset($tmp_data[1]) ) set_ini_value("Intechnic","LicenseCode",$tmp_data[1]);
+ save_values();
+ $state="domain_select";
+ }
+ else {
+ $license_error="Invalid License File";
+ }
+ if(!$ValidLicense)
+ {
+ $state="license";
+ }
+ }
+ }
+ }
+}
+
+if($state=="license_process")
+{
+ $ValidLicense = FALSE;
+ $tmp_lic_opt = GetVar('lic_opt', true);
+ switch($tmp_lic_opt)
+ {
+ case 1: /* download from intechnic */
+ $include_file = $pathtoroot.$admin."/install/get_license.php";
+ $state = "get_license";
+ //if(!$ValidLicense)
+ //{
+ // $state="license";
+ //}
+ break;
+ case 2: /* upload file */
+ $file = $_FILES["licfile"];
+ if(is_array($file))
+ {
+ move_uploaded_file($file["tmp_name"],$pathtoroot."themes/tmp.lic");
+ @chmod($pathtoroot."themes/tmp.lic", 0666);
+
+ $fp = @fopen($pathtoroot."themes/tmp.lic","rb");
+ if($fp)
+ {
+ $lic = fread($fp,filesize($pathtoroot."themes/tmp.lic"));
+ fclose($fp);
+ }
+
+ $tmp_data = ae666b1b8279502f4c4b570f133d513e(FALSE,$pathtoroot."themes/tmp.lic");
+ $data = $tmp_data[0];
+
+ @unlink($pathtoroot."themes/tmp.lic");
+ a83570933e44bc66b31dd7127cf3f23a($data);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ if($ValidLicense)
+ {
+ set_ini_value("Intechnic","License",base64_encode($data));
+ set_ini_value("Intechnic","LicenseCode",$tmp_data[1]);
+ save_values();
+ $state="domain_select";
+ }
+ else
+ $license_error="Invalid License File";
+ }
+ if(!$ValidLicense)
+ {
+ $state="license";
+ }
+ break;
+ case 3: /* existing */
+ if(strlen($g_License))
+ {
+ $lic = base64_decode($g_License);
+ a83570933e44bc66b31dd7127cf3f23a($lic);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ if($ValidLicense)
+ {
+ $state="domain_select";
+ }
+ else
+ {
+ $state="license";
+ $license_error="Invalid or corrupt license detected";
+ }
+ }
+ else
+ {
+ $state="license";
+ $license_error="Missing License File";
+ }
+ if(!$ValidLicense)
+ {
+ $state="license";
+ }
+ break;
+ case 4:
+ //set_ini_value("Intechnic","License",base64_encode("local"));
+ //set_ini_value("Intechnic","LicenseCode",base64_encode("local"));
+ //save_values();
+ $state="domain_select";
+ break;
+ }
+ if($ValidLicense)
+ $state="domain_select";
+}
+
+if($state=="license")
+{
+ $include_file = $pathtoroot.$admin."/install/sel_license.php";
+
+}
+
+if($state=="reinstall")
+{
+ $ado =& inst_GetADODBConnection();
+
+ $show_upgrade = false;
+
+ $sql = "SELECT Name FROM ".$g_TablePrefix."Modules";
+ $rs = $ado->Execute($sql);
+
+ $modules = '';
+ while ($rs && !$rs->EOF) {
+ $modules .= strtolower($rs->fields['Name']).',';
+ $rs->MoveNext();
+ }
+
+ $mod_arr = explode(",", substr($modules, 0, strlen($modules) - 1));
+
+ foreach($mod_arr as $p)
+ {
+ if ($p == 'in-portal') {
+ $p = '';
+ }
+
+ $dir_name = $pathtoroot.$p."/admin/install/upgrades/";
+
+ $dir = @dir($dir_name);
+ //echo "<pre>"; print_r($dir); echo "</pre>";
+
+ if ($dir === false) continue;
+
+ while ($file = $dir->read()) {
+ if ($file != "." && $file != ".." && !is_dir($dir_name.$file))
+ {
+ if( preg_match('/inportal_upgrade_v(.*).(php|sql)$/', $file, $rets) )
+ {
+ if($p == '') $p = 'in-portal';
+
+ $sql = "SELECT Version FROM ".$g_TablePrefix."Modules WHERE Name = '".$p."'";
+ $rs = $ado->Execute($sql);
+
+ if( ConvertVersion($rs->fields['Version']) < ConvertVersion( $rets[1] ) )
+ {
+ $show_upgrade = true;
+ }
+ }
+ }
+ }
+ }
+
+ if ( !isset($install_type) || $install_type == '') {
+ $install_type = 2;
+ }
+
+ $include_file = $pathtoroot.$admin."/install/reinstall.php";
+}
+
+if($state=="login")
+{
+ $lic = base64_decode($g_License);
+ if(strlen($lic))
+ {
+ a83570933e44bc66b31dd7127cf3f23a($lic);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ }
+
+ if(!$ValidLicense)
+ {
+ $state="license";
+ }
+ else
+ if($i_User == $_POST["UserName"] || $i_Pswd == $_POST["UserPass"])
+ {
+ $state = "domain_select";
+ }
+ else
+ {
+ $state="getuser";
+ $login_error = "Invalid User Name or Password. If you don't know your username or password, contact Intechnic Support";
+ }
+
+ //die();
+}
+
+if($state=="getuser")
+{
+ $include_file = $pathtoroot.$admin."/install/login.php";
+}
+
+if($state=="set_domain")
+{
+ if( !is_array($i_Keys) || !count($i_Keys) )
+ {
+ $lic = base64_decode($g_License);
+ if(strlen($lic))
+ {
+ a83570933e44bc66b31dd7127cf3f23a($lic);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ }
+ }
+
+ if($_POST["domain"]==1)
+ {
+ $domain = $_SERVER['HTTP_HOST'];
+
+ if (strstr($domain, $i_Keys[0]['domain']) || de3ec1b7a142cccd0d51f03d24280744($domain)) {
+ set_ini_value("Intechnic","Domain",$domain);
+ save_values();
+ $state="runsql";
+ }
+ else {
+ $DomainError = 'Domain name selected does not match domain name in the license!';
+ $state = "domain_select";
+ }
+ }
+ else
+ {
+ $domain = str_replace(" ", "", $_POST["other"]);
+ if ($domain != '') {
+ if (strstr($domain, $i_Keys[0]['domain']) || de3ec1b7a142cccd0d51f03d24280744($domain)) {
+ set_ini_value("Intechnic","Domain",$domain);
+ save_values();
+ $state="runsql";
+ }
+ else {
+ $DomainError = 'Domain name entered does not match domain name in the license!';
+ $state = "domain_select";
+ }
+ }
+ else {
+ $DomainError = 'Please enter valid domain!';
+ $state = "domain_select";
+ }
+ }
+}
+
+if($state=="domain_select")
+{
+ if(!is_array($i_Keys))
+ {
+ $lic = base64_decode($g_License);
+ if(strlen($lic))
+ {
+ a83570933e44bc66b31dd7127cf3f23a($lic);
+ $ValidLicense = ((strlen($i_User)>0) && (strlen($i_Pswd)>0));
+ }
+ }
+
+ $include_file = $pathtoroot.$admin."/install/domain.php";
+}
+
+
+if($state=="runsql")
+{
+ $ado =& inst_GetADODBConnection();
+ $installed = TableExists($ado,"ConfigurationAdmin,Category,Permissions");
+ if(!$installed)
+ {
+ // run core install script
+ K4_RunSQL('/core/install/install_schema.sql');
+ K4_RunSQL('/core/install/install_data.sql');
+ K4_SetModuleVersion('Core');
+
+ // run in-portal install script
+ $filename = $pathtoroot.$admin."/install/inportal_schema.sql";
+ RunSchemaFile($ado,$filename);
+ $filename = $pathtoroot.$admin."/install/inportal_data.sql";
+ RunSQLFile($ado,$filename);
+
+ $sql = 'UPDATE '.$g_TablePrefix.'ConfigurationValues SET VariableValue = %s WHERE VariableName = %s';
+ $ado->Execute( sprintf($sql, $ado->qstr('portal@'.$ini_vars['Intechnic']['Domain']), $ado->qstr('Smtp_AdminMailFrom') ) );
+
+ $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']);
+ save_values();
+
+ require_once $pathtoroot.'kernel/include/tag-class.php';
+ if( !is_object($objTagList) ) $objTagList = new clsTagList();
+
+ // install kernel specific tags
+ $objTagList->DeleteTags(); // delete all existing tags in db
+
+ // create 3 predifined tags (because there no functions with such names
+ $t = new clsTagFunction();
+ $t->Set("name","include");
+ $t->Set("description","insert template output into the current template");
+ $t->Create();
+ $t->AddAttribute("_template","tpl","Template to insert","",TRUE);
+ $t->AddAttribute("_supresserror","bool","Supress missing template errors","",FALSE);
+ $t->AddAttribute("_dataexists","bool","Only include template output if content exists (content is defined by the tags in the template)","",FALSE);
+ $t->AddAttribute("_nodatatemplate","tpl","Template to include if the nodataexists condition is true","",FALSE);
+ unset($t);
+
+ $t = new clsTagFunction();
+ $t->Set("name","perm_include");
+ $t->Set("description","insert template output into the current template if permissions are set");
+ $t->Create();
+ $t->AddAttribute("_template","tpl","Template to insert","",TRUE);
+ $t->AddAttribute("_noaccess","tpl","Template to insert if access is denied","",FALSE);
+ $t->AddAttribute("_permission","","Comma-separated list of permissions, any of which will grant access","",FALSE);
+ $t->AddAttribute("_module","","Used in place of the _permission attribute, this attribute verifies the module listed is enabled","",FALSE);
+ $t->AddAttribute("_system","bool","Must be set to true if any permissions in _permission list is a system permission","",FALSE);
+ $t->AddAttribute("_supresserror","bool","Supress missing template errors","",FALSE);
+ $t->AddAttribute("_dataexists","bool","Only include template output if content exists (content is defined by the tags in the template)","",FALSE);
+ $t->AddAttribute("_nodatatemplate","tpl","Template to include if the nodataexists condition is true","",FALSE);
+ unset($t);
+
+ $t = new clsTagFunction();
+ $t->Set("name","mod_include");
+ $t->Set("description","insert templates from all enabled modules. No error occurs if the template does not exist.");
+ $t->Create();
+ $t->AddAttribute("_template","tpl","Template to insert. This template path should be relative to the module template root directory","",TRUE);
+ $t->AddAttribute("_modules","","Comma-separated list of modules. Defaults to all enabled modules if not set","",FALSE);
+ $t->AddAttribute("_supresserror","bool","Supress missing template errors","",FALSE);
+ $t->AddAttribute("_dataexists","bool","Only include template output if content exists (content is defined by the tags in the template)","",FALSE);
+ $t->AddAttribute("_nodatatemplate","tpl","Template to include if the nodataexists condition is true","",FALSE);
+
+ $objTagList->ParseFile($pathtoroot.'kernel/parser.php'); // insert module tags
+
+ if( is_array($ItemTagFiles) )
+ foreach($ItemTagFiles as $file)
+ $objTagList->ParseItemFile($pathtoroot.$file);
+
+ $state="RootPass";
+ }
+ else {
+ $include_file = $pathtoroot.$admin."/install/install_finish.php";
+ $state="finish";
+ }
+}
+
+if($state=="RootSetPass")
+{
+ $pass = $_POST["RootPass"];
+ if(strlen($pass)<4)
+ {
+ $PassError = "Root Password must be at least 4 characters";
+ $state = "RootPass";
+
+ }
+ else if ($pass != $_POST["RootPassConfirm"]) {
+ $PassError = "Passwords does not match";
+ $state = "RootPass";
+ }
+ else
+ {
+ $pass = md5(md5($pass).'b38');
+ $sql = ' UPDATE '.$g_TablePrefix.'ConfigurationValues
+ SET VariableValue = '.$ado->qstr($pass).'
+ WHERE VariableName = "RootPass";';
+ $ado =& inst_GetADODBConnection();
+ $ado->Execute($sql);
+ $state="modselect";
+ }
+}
+
+if($state=="RootPass")
+{
+ $include_file = $pathtoroot.$admin."/install/rootpass.php";
+}
+
+if($state=="lang_install_init")
+{
+
+ $ado =& inst_GetADODBConnection();
+
+ if( TableExists($ado, 'Language,Phrase') )
+ {
+ // KERNEL 4 INIT: BEGIN
+ define('FULL_PATH', realpath(dirname(__FILE__).'/..'));
+ include_once(FULL_PATH.'/core/kernel/startup.php');
+
+ $application =& kApplication::Instance();
+ $application->Init();
+ // KERNEL 4 INIT: END
+
+ $lang_xml =& $application->recallObject('LangXML');
+
+ if (defined('DBG_FAST_INSTALL') && DBG_FAST_INSTALL) {
+ $lang_xml->tables['phrases'] = TABLE_PREFIX.'Phrase';
+ $lang_xml->tables['emailmessages'] = TABLE_PREFIX.'EmailMessage';
+ }
+ else {
+ $lang_xml->renameTable('phrases', TABLE_PREFIX.'ImportPhrases');
+ $lang_xml->renameTable('emailmessages', TABLE_PREFIX.'ImportEvents');
+ }
+
+ $lang_xml->lang_object->TableName = $application->getUnitOption('lang','TableName');
+
+ $languages = $application->GetVar('lang');
+ if($languages)
+ {
+ $kernel_db =& $application->GetADODBConnection();
+ $modules_table = $application->getUnitOption('mod','TableName');
+
+ $modules = $kernel_db->GetCol('SELECT Path, Name FROM '.$modules_table, 'Name');
+ $modules['In-Portal'] = '';
+
+ foreach($languages as $lang_file)
+ {
+ foreach($modules as $module_name => $module_folder)
+ {
+ $lang_path = MODULES_PATH.'/'.$module_folder.'admin/install/langpacks';
+ $lang_xml->Parse($lang_path.'/'.$lang_file, '|0|1|2|', '');
+ if($force_finish) $lang_xml->lang_object->Update();
+ }
+ }
+
+ if (defined('DBG_FAST_INSTALL') && DBG_FAST_INSTALL) {
+ $state = 'lang_default';
+ }
+ else {
+ $state = 'lang_install';
+ }
+ }
+ else
+ {
+ $state = 'lang_select';
+ }
+
+ $application->Done();
+ }
+ else
+ {
+ $general_error = 'Database error! No language tables found!';
+ }
+}
+
+if($state=="lang_install")
+{
+ define('FORCE_CONFIG_CACHE', 1);
+ /* do pack install */
+ $Offset = (int)$_GET["Offset"];
+ $Status = (int)$_GET["Status"];
+
+ $PhraseTable = $g_TablePrefix."ImportPhrases";
+ $EventTable = $g_TablePrefix."ImportEvents";
+
+ $Total = TableCount($Status == 0 ? $PhraseTable : $EventTable, '', 0);
+
+ if($Status == 0)
+ {
+ $Offset = $objLanguages->ReadImportTable($PhraseTable, 1,"0,1,2", $force_finish ? false : true, 200,$Offset);
+ if($Offset >= $Total)
+ {
+ $Offset=0;
+ $Status=1;
+ }
+
+ $next_step = GetVar('next_step', true);
+
+ if($force_finish == true) $next_step = 3;
+ $NextUrl = $_SERVER['PHP_SELF']."?Offset=$Offset&Status=$Status&state=lang_install&next_step=$next_step&install_type=$install_type";
+ if($force_finish == true) $NextUrl .= '&ff=1';
+ $include_file = $pathtoroot.$admin."/install/lang_run.php";
+ }
+ else
+ {
+ if(!is_object($objMessageList))
+ $objMessageList = new clsEmailMessageList();
+
+ $Offset = $objMessageList->ReadImportTable($EventTable, $force_finish ? false : true,300,$Offset);
+
+ if($Offset > $Total)
+ {
+ $next_step = GetVar('next_step', true);
+
+ if($force_finish == true) $next_step = 3;
+ $NextUrl = $_SERVER['PHP_SELF']."?Offset=$Offset&Status=$Status&State=lang_install&next_step=$next_step&install_type=$install_type";
+ if($force_finish == true) $NextUrl .= '&ff=1';
+ $include_file = $pathtoroot.$admin."/install/lang_run.php";
+ }
+ else
+ {
+ $db =& GetADODBConnection();
+ $prefix = $g_TablePrefix;
+ $db->Execute('DROP TABLE IF EXISTS '.$PhraseTable);
+ $db->Execute('DROP TABLE IF EXISTS '.$EventTable);
+
+ if(!$force_finish)
+ {
+ $state = 'lang_default';
+ }
+ else
+ {
+ $_POST['next_step'] = 4;
+ $state = 'finish';
+ $include_file = $pathtoroot.$admin."/install/install_finish.php";
+ }
+ }
+ }
+}
+
+if($state=="lang_default_set")
+{
+// phpinfo(INFO_VARIABLES);
+ /*$ado =& inst_GetADODBConnection();
+ $PhraseTable = GetTablePrefix()."ImportPhrases";
+ $EventTable = GetTablePrefix()."ImportEvents";
+ $ado->Execute("DROP TABLE IF EXISTS $PhraseTable");
+ $ado->Execute("DROP TABLE IF EXISTS $EventTable");*/
+
+ $Id = $_POST["lang"];
+
+ $objLanguages->SetPrimary($Id);
+ if (defined('DBG_FAST_INSTALL')) {
+ $state = 'theme_sel';
+ }
+ else {
+ $state="postconfig_1";
+ }
+}
+
+if($state=="lang_default")
+{
+ $Packs = Array();
+ $objLanguages->Clear();
+
+ $objLanguages->LoadAllLanguages();
+ foreach($objLanguages->Items as $l)
+ {
+ $Packs[$l->Get("LanguageId")] = $l->Get("PackName");
+ }
+ $include_file = $pathtoroot.$admin."/install/lang_default.php";
+}
+
+
+
+if($state=="modinstall")
+{
+ $doms = $_POST["domain"];
+ if(is_array($doms))
+ {
+ $ado =& inst_GetADODBConnection();
+ require_once $pathtoroot.'kernel/include/tag-class.php';
+ if( !isset($objTagList) || !is_object($objTagList) ) $objTagList = new clsTagList();
+
+ $ebay_key = array_search('in-auction', $doms);
+ if ($ebay_key !== false)
+ {
+ unset($doms[$ebay_key]);
+ $doms[] = 'in-auction';
+ }
+ foreach($doms as $p)
+ {
+ $filename = $pathtoroot.$p.'/admin/install.php';
+ if(file_exists($filename) )
+ {
+ include($filename);
+ }
+ }
+
+ }
+
+/* $sql = "SELECT Name FROM ".GetTablePrefix()."Modules";
+ $rs = $ado->Execute($sql);
+
+ while($rs && !$rs->EOF)
+ {
+ $p = $rs->fields['Name'];
+ $mod_name = strtolower($p);
+
+ if ($mod_name == 'in-portal') {
+ $mod_name = '';
+ }
+
+ $dir_name = $pathtoroot.$mod_name."/admin/install/upgrades/";
+ $dir = @dir($dir_name);
+
+ $new_version = '';
+ $tmp1 = 0;
+ $tmp2 = 0;
+ while ($file = $dir->read()) {
+ if ($file != "." && $file != ".." && !is_dir($dir_name.$file))
+ {
+ $file = str_replace("inportal_upgrade_v", "", $file);
+ $file = str_replace(".sql", "", $file);
+
+ if ($file != '' && !strstr($file, 'changelog') && !strstr($file, 'readme')) {
+ $tmp1 = str_replace(".", "", $file);
+ if ($tmp1 > $tmp2) {
+ $new_version = $file;
+ }
+ }
+ }
+ $tmp2 = $tmp1;
+ }
+
+
+ $version_nrs = explode(".", $new_version);
+
+ for ($i = 0; $i < $version_nrs[0] + 1; $i++) {
+ for ($j = 0; $j < $version_nrs[1] + 1; $j++) {
+ for ($k = 0; $k < $version_nrs[2] + 1; $k++) {
+ $try_version = "$i.$j.$k";
+
+ $filename = $pathtoroot.$mod_name."/admin/install/upgrades/inportal_upgrade_v$try_version.sql";
+
+ if(file_exists($filename))
+ {
+ RunSQLFile($ado, $filename);
+ set_ini_value("Module Versions", $p, $try_version);
+ save_values();
+ }
+ }
+ }
+ }
+
+ $rs->MoveNext();
+ }
+*/
+ $state="lang_select";
+}
+
+if($state=="modselect")
+{
+ /* /admin/install.php */
+ $UrlLen = (strlen($admin) + 12)*-1;
+ $pathguess =substr($_SERVER["SCRIPT_NAME"],0,$UrlLen);
+ $sitepath = $pathguess;
+ $esc_path = str_replace("\\","/",$pathtoroot);
+ $esc_path = str_replace("/","\\",$esc_path);
+ //set_ini_value("Site","DomainName",$_SERVER["HTTP_HOST"]);
+ //$g_DomainName= $_SERVER["HTTP_HOST"];
+ save_values();
+
+ $ado =& inst_GetADODBConnection();
+ if(substr($sitepath,0,1)!="/")
+ $sitepath="/".$sitepath;
+ if(substr($sitepath,-1)!="/")
+ $sitepath .= "/";
+
+ $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '$sitepath' WHERE VariableName='Site_Path'";
+ $ado->Execute($sql);
+ $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '$g_Domain' WHERE VariableName='Server_Name'";
+ $ado->Execute($sql);
+ $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '".$_SERVER['DOCUMENT_ROOT'].$sitepath."admin/backupdata' WHERE VariableName='Backup_Path'";
+ $ado->Execute($sql);
+ $Modules = a48d819089308a9aeb447e7248b2587f();
+
+ if (count($Modules) > 0) {
+ $include_file = $pathtoroot.$admin."/install/modselect.php";
+ }
+ else {
+ $state = "lang_select";
+ $skip_step = true;
+ }
+}
+
+if($state=="lang_select")
+{
+ $Packs = GetLanguageList();
+ $include_file = $pathtoroot.$admin."/install/lang_select.php";
+}
+
+if(substr($state,0,10)=="postconfig")
+{
+ $p = explode("_",$state);
+ $step = $p[1];
+
+ if ($_POST['Site_Path'] != '') {
+ $sql = "SELECT Name, Version FROM ".$g_TablePrefix."Modules";
+ $rs = $ado->Execute($sql);
+
+ $modules_str = '';
+ while ($rs && !$rs->EOF) {
+ $modules_str .= $rs->fields['Name'].' ('.$rs->fields['Version'].'),';
+ $rs->MoveNext();
+ }
+
+ $modules_str = substr($modules_str, 0, strlen($modules_str) - 1);
+ $rfile = @fopen(GET_LICENSE_URL."?url=".base64_encode($_SERVER['HTTP_HOST'].$_POST['Site_Path'])."&modules=".base64_encode($modules_str)."&license_code=".base64_encode($g_LicenseCode)."&version=".GetMaxPortalVersion($pathtoroot.$admin)."&domain=".md5($_SERVER['HTTP_HOST']), "r");
+ if (!$rfile) {
+ //$get_license_error = "Unable to connect to the Intechnic server! Please try again later!";
+ //$state = "postconfig_1";
+ //$include_file = $pathtoroot.$admin."/install/postconfig.php";
+ }
+ else {
+ $rcontents = '';
+ while (!feof($rfile)) {
+ $line = fgets($rfile, 10000);
+ $rcontents .= $line;
+ }
+ @fclose($rfile);
+ }
+
+ }
+
+ if(strlen($_POST["oldstate"])>0)
+ {
+ $s = explode("_",$_POST["oldstate"]);
+ $oldstep = $s[1];
+ if($oldstep<count($configs))
+ {
+ $section = $configs[$oldstep];
+ $module = $mods[$oldstep];
+ $title = $titles[$oldstep];
+ $objAdmin = new clsConfigAdmin($module,$section,TRUE);
+ $objAdmin->SaveItems($_POST,TRUE);
+ }
+ }
+ $section = $configs[$step];
+ $module = $mods[$step];
+ $title = $titles[$step];
+
+ $step++;
+
+ if($step <= count($configs)+1)
+ {
+ $include_file = $pathtoroot.$admin."/install/postconfig.php";
+ }
+ else
+ $state = "theme_sel";
+}
+
+if($state=="theme_sel")
+{
+ $objThemes->CreateMissingThemes(true);
+ $include_file = $pathtoroot.$admin."/install/theme_select.php";
+}
+
+if($state=="theme_set")
+{
+ ## get & define Non-Blocking & Blocking versions ##
+ $blocking_sockets = minimum_php_version("4.3.0")? 0 : 1;
+
+ $ado =& inst_GetADODBConnection();
+ $sql = "UPDATE ".$g_TablePrefix."ConfigurationValues SET VariableValue = '$blocking_sockets' WHERE VariableName='SocketBlockingMode'";
+ $ado->Execute($sql);
+ ## get & define Non-Blocking & Blocking versions ##
+
+
+ $theme_id = $_POST["theme"];
+ $pathchar="/";
+ //$objThemes->SetPrimaryTheme($theme_id);
+ $t = $objThemes->GetItem($theme_id);
+ $t->Set("Enabled",1);
+ $t->Set("PrimaryTheme",1);
+ $t->Update();
+ $t->VerifyTemplates();
+ $include_file = $pathtoroot.$admin."/install/install_finish.php";
+ $state="finish";
+}
+
+if ($state == "adm_login") {
+ $ado =& inst_GetADODBConnection();
+ $sql = 'UPDATE '.TABLE_PREFIX.'UserSession
+ SET LastAccessed = 0
+ WHERE PortalUserId IN (0,-2)';
+ $ado->Execute($sql);
+
+ echo "<script>window.location='index.php';</script>";
+}
+
+if ($state == "finish") {
+ $ado =& inst_GetADODBConnection();
+ $PhraseTable = $g_TablePrefix."ImportPhrases";
+ $EventTable = $g_TablePrefix."ImportEvents";
+ $ado->Execute("DROP TABLE IF EXISTS $PhraseTable");
+ $ado->Execute("DROP TABLE IF EXISTS $EventTable");
+ $ado->Execute('INSERT INTO '.$g_TablePrefix.'Cache (VarName, Data) VALUES (\'ForcePermCacheUpdate\', \'1\')');
+
+ $include_file = $pathtoroot.$admin."/install/install_finish.php";
+}
+
+// init variables
+$vars = Array('db_error','restore_error','PassError','DomainError','login_error','inst_error');
+foreach($vars as $var_name) ReSetVar($var_name);
+
+switch($state)
+{
+case "modselect":
+ $title = "Select Modules";
+ $help = "<p>Select the In-Portal modules you wish to install. The modules listed to the right ";
+ $help .="are all modules included in this installation that are licensed to run on this server. </p>";
+break;
+case "reinstall":
+ $title = "Installation Maintenance";
+ $help = "<p>A Configuration file has been detected on your system and it appears In-Portal is correctly installed. ";
+ $help .="In order to work with the maintenance functions provided to the left you must provide the Intechnic ";
+ $help .="Username and Password you used when obtaining the license file residing on the server, or your admin Root password. ";
+ $help .=" <i>(Use Username 'root' if using your root password)</i></p>";
+ $help .= "<p>To removing your existing database and start with a fresh installation, select the first option ";
+ $help .= "provided. Note that this operation cannot be undone and no backups are made! Use at your own risk.</p>";
+ $help .="<p>If you wish to scrap your current installation and install to a new location, choose the second option. ";
+ $help .="If this option is selected you will be prompted for new database configuration information.</p>";
+ $help .="<p>The <i>Update License Information</i> option is used to update your In-Portal license data. Select this option if you have ";
+ $help .="modified your licensing status with Intechnic, or you have received new license data via email</p>";
+ $help .="<p>The <i>Fix Paths</i> option should be used when the location of the In-portal files has changed. For example, if you moved them from one folder to another. It will update all settings and ensure the program is operational at the new location.</p>";
+break;
+case "fix_paths":
+ $title = "Fix Paths";
+ $help = "<p>The <i>Fix Paths</i> option should be used when the location of the In-portal files has changed. For example, if you moved them from one folder to another. It will update all settings and ensure the program is operational at the new location.<p>";
+break;
+case "RootPass":
+ $title = "Set Admin Root Password";
+ $help = "<p>The Root Password is initially required to access the admin sections of In-Portal. ";
+ $help .="The root user cannot be used to access the front-end of the system, so it is recommended that you ";
+ $help .="create additional users with admin privlidges.</p>";
+break;
+case "finish":
+ $title = "Thank You!";
+ $help ="<P>Thanks for using In-Portal! Be sure to visit <A TARGET=\"_new\" HREF=\"http://www.in-portal.net\">www.in-portal.net</A> ";
+ $help.=" for the latest news, module releases and support. </p>";
+ $help.="<p>*Make sure to clean your browser' cache after upgrading In-portal version</p>";
+break;
+case "license":
+ $title = "License Configuration";
+ $help ="<p>A License is required to run In-Portal on a server connected to the Internet. You ";
+ $help.="can run In-Portal on localhost, non-routable IP addresses, or other computers on your LAN. ";
+ $help.="If Intechnic has provided you with a license file, upload it here. Otherwise select the first ";
+ $help.="option to allow Install to download your license for you.</p>";
+ $help.="<p>If a valid license has been detected on your server, you can choose the <i>Use Existing License</i> ";
+ $help.="and continue the installation process</p>";
+break;
+case "domain_select":
+ $title="Select Licensed Domain";
+ $help ="<p>Select the domain you wish to configure In-Portal for. The <i>Other</i> option ";
+ $help.=" can be used to configure In-Portal for use on a local domain.</p>";
+ $help.="<p>For local domains, enter the hostname or LAN IP Address of the machine running In-Portal.</p>";
+break;
+case "db_reconfig":
+case "dbinfo":
+ $title="Database Configuration";
+ $help = "<p>In-Portal needs to connect to your Database Server. Please provide the database server type*, ";
+ $help .="host name (<i>normally \"localhost\"</i>), Database user name, and database Password. ";
+ $help .="These fields are required to connect to the database.</p><p>If you would like In-Portal ";
+ $help .="to use a table prefix, enter it in the field provided. This prefix can be any ";
+ $help .=" text which can be used in the names of tables on your system. The characters entered in this field ";
+ $help .=" are placed <i>before</i> the names of the tables used by In-Portal. For example, if you enter \"inp_\"";
+ $help .=" into the prefix field, the table named Category will be named inp_Category.</p>";
+break;
+case "lang_select":
+ $title="Language Pack Installation";
+ $help = "<p>Select the language packs you wish to install. Each language pack contains all the phrases ";
+ $help .="used by the In-Portal administration and the default template set. Note that at least one ";
+ $help .="pack <b>must</b> be installed.</p>";
+break;
+case "lang_default":
+ $title="Select Default Language";
+ $help = "<p>Select which language should be considered the \"default\" language. This is the language ";
+ $help .="used by In-Portal when a language has not been selected by the user. This selection is applicable ";
+ $help .="to both the administration and front-end.</p>";
+break;
+case "lang_install":
+ $title="Installing Language Packs";
+ $help = "<p>The language packs you have selected are being installed. You may install more languages at a ";
+ $help.="later time from the Regional admin section.</p>";
+break;
+case "postconfig_1":
+ $help = "<P>These options define the general operation of In-Portal. Items listed here are ";
+ $help .="required for In-Portal's operation.</p><p>When you have finished, click <i>save</i> to continue.</p>";
+break;
+case "postconfig_2":
+ $help = "<P>User Management configuration options determine how In-Portal manages your user base.</p>";
+ $help .="<p>The groups listed to the right are pre-defined by the installation process and may be changed ";
+ $help .="through the Groups section of admin.</p>";
+break;
+case "postconfig_3":
+ $help = "<P>The options listed here are used to control the category list display functions of In-Portal. </p>";
+break;
+case "theme_sel":
+ $title="Select Default Theme";
+ $help = "<P>This theme will be used whenever a front-end session is started. ";
+ $help .="If you intend to upload a new theme and use that as default, you can do so through the ";
+ $help .="admin at a later date. A default theme is required for session management.</p>";
+break;
+case "get_license":
+ $title="Download License from Intechnic";
+ $help ="<p>A License is required to run In-Portal on a server connected to the Internet. You ";
+ $help.="can run In-Portal on localhost, non-routable IP addresses, or other computers on your LAN.</p>";
+ $help.="<p>Here as you have selected download license from Intechnic you have to input your username and ";
+ $help.="password of your In-Business account in order to download all your available licenses.</p>";
+break;
+case "download_license":
+ $title="Download License from Intechnic";
+ $help ="<p>A License is required to run In-Portal on a server connected to the Internet. You ";
+ $help.="can run In-Portal on localhost, non-routable IP addresses, or other computers on your LAN.</p>";
+ $help.="<p>Please choose the license from the drop down for this site! </p> ";
+break;
+case "restore_select":
+ $title="Select Restore File";
+ $help = "<P>Select the restore file to use to reinstall In-Portal. If your backups are not performed ";
+ $help .= "in the default location, you can enter the location of the backup directory and click the ";
+ $help .="<i>Update</i> button.</p>";
+case "restore_run":
+ $title= "Restore in Progress";
+ $help = "<P>Restoration of your system is in progress. When the restore has completed, the installation ";
+ $help .="will continue as normal. Hitting the <i>Cancel</i> button will restart the entire installation process. ";
+break;
+case "warning":
+ $title = "Restore in Progress";
+ $help = "<p>Please approve that you understand that you are restoring your In-Portal data base from other version of In-Portal.</p>";
+break;
+case "update":
+ $title = "Update In-Portal";
+ $help = "<p>Select modules from the list, you need to update to the last downloaded version of In-Portal</p>";
+break;
+}
+
+$tmp_step = GetVar('next_step', true);
+
+if (!$tmp_step) {
+ $tmp_step = 1;
+}
+
+if ( isset($got_license) && $got_license == 1) {
+ $tmp_step++;
+}
+
+$next_step = $tmp_step + 1;
+
+if ($general_error != '') {
+ $state = '';
+ $title = '';
+ $help = '';
+ $general_error = $general_error.'<br /><br />Installation cannot continue!';
+}
+
+if ($include_file == '' && $general_error == '' && $state == '') {
+ $state = '';
+ $title = '';
+ $help = '';
+ $filename = $pathtoroot.$admin."/install/inportal_remove.sql";
+ RunSQLFile($ado,$filename);
+ $general_error = 'Unexpected installation error! <br /><br />Installation has been stopped!';
+}
+
+if ($restore_error != '') {
+ $next_step = 3;
+ $tmp_step = 2;
+}
+
+if ($PassError != '') {
+ $tmp_step = 4;
+ $next_step = 5;
+}
+
+if ($DomainError != '') {
+ $tmp_step--;
+ $next_step = $tmp_step + 1;
+}
+
+if ($db_error != '') {
+ $tmp_step--;
+ $next_step = $tmp_step + 1;
+}
+
+if ($state == "warning") {
+ $tmp_step--;
+ $next_step = $tmp_step + 1;
+}
+
+if ($skip_step) {
+ $tmp_step++;
+ $next_step = $tmp_step + 1;
+}
+?>
+
+ <tr height="100%">
+ <td valign="top">
+ <table cellpadding=10 cellspacing=0 border=0 width="100%" height="100%">
+ <tr valign="top">
+ <td style="width: 200px; background: #009ff0 url(images/bg_install_menu.gif) no-repeat bottom right; border-right: 1px solid #000">
+ <img src="images/spacer.gif" width="180" height="1" border="0" title=""><br>
+ <span class="admintitle-white">Installation</span>
+ <!--<ol class="install">
+ <li class="current">Licence Verification
+ <li>Configuration
+ <li>File Permissions
+ <li>Security
+ <li>Integrity Check
+ </ol>
+ </td>-->
+ <?php
+ $lic_opt = isset($_POST['lic_opt']) ? $_POST['lic_opt'] : false;
+ if ($general_error == '') {
+ ?>
+ <?php if ($install_type == 1) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1) { ?>class="current"<?php } ?>>Database Configuration
+ <li <?php if ($tmp_step == 2 || $lic_opt == 1) { ?>class="current"<?php } ?>>Select License
+ <li <?php if ($tmp_step == 3 && $lic_opt != 1) { ?>class="current"<?php } ?>>Select Domain
+ <li <?php if ($tmp_step == 4 ) { ?>class="current"<?php } ?>>Set Root Password
+ <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Select Modules to Install
+ <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Install Language Packs
+ <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Post-Install Configuration
+ <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 2) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <!--<li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $_POST['lic_opt'] == 1) { ?>class="current"<?php } ?>>Select License
+ <li <?php if ($tmp_step == 3 && $_POST['lic_opt'] != 1) { ?>class="current"<?php } ?>>Select Domain
+ <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Set Root Password
+ <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Select Modules to Install
+ <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Install Language Packs
+ <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Post-Install Configuration
+ <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Finish-->
+ </ol>
+ <?php } else if ($install_type == 3) { ?>
+ <ol class="install">
+ <li>License Verification
+ <li <?php if ($tmp_step == 2) { ?>class="current"<?php } ?>>Database Configuration
+ <li <?php if ($tmp_step == 3 || $_POST['lic_opt'] == 1) { ?>class="current"<?php } ?>>Select License
+ <li <?php if ($tmp_step == 4 && $_POST['lic_opt'] != 1) { ?>class="current"<?php } ?>>Select Domain
+ <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Set Root Password
+ <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Select Modules to Install
+ <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Install Language Packs
+ <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Post-Install Configuration
+ <li <?php if ($tmp_step == 9) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 4) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $lic_opt == 1) { ?>class="current"<?php } ?>>Select License
+ <li <?php if ($tmp_step == 3 && $_POST['lic_opt'] != 1) { ?>class="current"<?php } ?>>Select Domain
+ <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Set Root Password
+ <li <?php if ($tmp_step == 5) { ?>class="current"<?php } ?>>Select Modules to Install
+ <li <?php if ($tmp_step == 6) { ?>class="current"<?php } ?>>Install Language Packs
+ <li <?php if ($tmp_step == 7) { ?>class="current"<?php } ?>>Post-Install Configuration
+ <li <?php if ($tmp_step == 8) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 5) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $lic_opt == 1) { ?>class="current"<?php } ?>>Select License
+ <li <?php if ($tmp_step == 3 && $lic_opt != 1) { ?>class="current"<?php } ?>>Select Domain
+ <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 6) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <li <?php if (($tmp_step == 2 && $login_error == '' && $inst_error == '') || $_GET['show_prev'] == 1 || $_POST['backupdir']) { ?>class="current"<?php } ?>>Select Backup File
+ <li <?php if ($tmp_step == 3 && $_POST['lic_opt'] != 1 && $_GET['show_prev'] != 1 && !$_POST['backupdir']) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 7) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <li <?php if ($tmp_step == 2 && $login_error == '' && $inst_error == '') { ?>class="current"<?php } ?>>Database Configuration
+ <li <?php if ($tmp_step == 3) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 8) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <li <?php if ($tmp_step == 2 && $login_error == '' && $inst_error == '') { ?>class="current"<?php } ?>>Select Modules to Upgrade
+ <li <?php if ($tmp_step == 3) { ?>class="current"<?php } ?>>Language Pack Upgrade
+ <li <?php if ($tmp_step == 4) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } else if ($install_type == 9) { ?>
+ <ol class="install">
+ <li <?php if ($tmp_step == 1 || $login_error != '' || $inst_error != '') { ?>class="current"<?php } ?>>License Verification
+ <li <?php if ($tmp_step == 2 && $login_error == '' && $inst_error == '') { ?>class="current"<?php } ?>>Fix Paths
+ <li <?php if ($tmp_step == 3) { ?>class="current"<?php } ?>>Finish
+ </ol>
+ <?php } ?>
+ <?php include($include_file); ?>
+ <?php } else { ?>
+ <?php include("install/general_error.php"); ?>
+ <?php } ?>
+ <td width="40%" style="border-left: 1px solid #000; background: #f0f0f0">
+ <table width="100%" border="0" cellspacing="0" cellpadding="4">
+ <tr>
+ <td class="subsectiontitle" style="border-bottom: 1px solid #000000; background-color:#999"><?php if( isset($title) ) echo $title;?></td>
+ </tr>
+ <tr>
+ <td class="text"><?php if( isset($help) ) echo $help;?></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+ <br>
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+
+ <tr>
+ <td id="footer">
+ Powered by In-portal &copy; 1997-2007, Intechnic Corporation. All rights reserved.
+ <br><img src="images/spacer.gif" width="1" height="10" title="">
+ </td>
+ </tr>
+</table>
+</form>
+
+</body>
</html>
\ No newline at end of file
Property changes on: tags/RC_mar08_2/admin/install.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.115.26.1
\ No newline at end of property
+1.115.26.2
\ No newline at end of property

Event Timeline