<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
/*********************************************************************************
 * SugarCRM is a customer relationship management program developed by
 * SugarCRM, Inc. Copyright (C) 2004 - 2009 SugarCRM Inc.
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 3 as published by the
 * Free Software Foundation with the addition of the following permission added
 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; if not, see http://www.gnu.org/licenses or write to the Free
 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 * 02110-1301 USA.
 * 
 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
 * 
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU General Public License version 3.
 * 
 * In accordance with Section 7(b) of the GNU General Public License version 3,
 * these Appropriate Legal Notices must retain the display of the "Powered by
 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
 * technical reasons, the Appropriate Legal Notices must display the words
 * "Powered by SugarCRM".
 ********************************************************************************/
/*********************************************************************************

 * Description:
 * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc. All Rights
 * Reserved. Contributor(s): ______________________________________..
 * *******************************************************************************/
logThis('-----------------------------------------------------------------------------');
logThis('Upgrade started. At start.php');

if(substr($sugar_version,0,1) < 5){
	//also delete the package
	//also look if the session[install_file] exists.
	//unset($_SESSION['install_file']);
	//echo 'first '.$_SESSION['install_file'].'</br>';
	$tempDir = clean_path(getcwd().'/'.$sugar_config['upload_dir'].'/upgrades/temp');
	if(!isset($_SESSION['install_file']) || empty($_SESSION['install_file']) || !is_file($_SESSION['install_file'])) {
		if (file_exists(clean_path($tempDir)) && $handle = opendir(clean_path($tempDir))) {

			while (false !== ($file = readdir($handle))) {
		    		if($file !="." && $file !="..")	{
					 //echo $base_tmp_upgrade_dir."/".$file.'</br>';

					 if(is_file($tempDir."/".$file."/manifest.php")){
					 	require_once($tempDir."/".$file."/manifest.php");
					 	$package_name= $manifest['copy_files']['from_dir'];
					 	//echo file_exists($base_tmp_upgrade_dir."/".$file."/".$package_name).'</br>';
					 	if(file_exists($tempDir."/".$file."/".$package_name) && file_exists($tempDir."/".$file."/scripts") && file_exists($tempDir."/".$file."/manifest.php")){

					 		//echo 'Yeah this the directory '. $base_tmp_upgrade_dir."/".$file;
					 		$_SESSION['install_file'] = $sugar_config['upload_dir'].'/upgrades/patch/'.$package_name.'.zip';
					 		$manifestFile = $sugar_config['upload_dir'].'/upgrades/patch/'.$package_name.'-manifest.php';
					 		if(file_exists($_SESSION['install_file'])){
					 			//$_SESSION['install_file'] = $sugar_config['upload_dir'].'/upgrades/patch/'.$package_name.'.zip';
					 			unlink($_SESSION['install_file']);
					 			unset($_SESSION['install_file']);
						 		if(file_exists($manifestFile)){
					 				unlink($manifestFile);
		  				 		}

					 			break;
					 		}

						}
					  }
		    		}
		    	}
		}
	}
	else{
		unlink($_SESSION['install_file']);
     }

    if(file_exists($tempDir)){
	    $files = findAllFiles($tempDir, array(),true);
		foreach($files as $dir) {
			if(is_dir($dir)){
	        	 $dirPath = explode('/', $dir);
	        	 $dirName = $dirPath[(count($dirPath) - 1)];
	        	 if($dirName == 'original451files'){
		             if(file_exists($dir)){
		             	//also delete the package
		             	//copy files from 451original as well
		             	copyRecursiveBetweenDirectories($dir,clean_path(getcwd()));
		             }
		             break;
	        	}
			}
		 }
   }
}
else{
	//set the upgrade progress status.
    set_upgrade_progress('start','in_progress');

}
unlinkTempFiles();
unlinkUploadFiles();
resetUwSession();

if(isset($_REQUEST['showUpdateWizardMessage']) && $_REQUEST['showUpdateWizardMessage'] == true) {
	// set a flag to skip the upload screen
	$_SESSION['skip_zip_upload'] = true;

	$newUWMsg =<<<eoq
	<table cellspacing="0" cellpadding="3" border="0">
		<tr>
			<th>
				{$mod_strings['LBL_UW_START_UPGRADED_UW_TITLE']}
			</th>
		</tr>
		<tr>
			<td>
				{$mod_strings['LBL_UW_START_UPGRADED_UW_DESC']}
			</td>
		</tr>
	</table>
eoq;
	echo $newUWMsg;
}


$uwMain =<<<eoq
<table cellpadding="3" cellspacing="0" border="0">
	<tr>
		<th align="left">
			{$mod_strings['LBL_UW_TITLE_START']}
		</th>
	</tr>
	<tr>
		<td align="left">
			<p>
			{$mod_strings['LBL_UW_START_DESC']}
			</p>
			<p>
			<span class="error">
			{$mod_strings['LBL_UW_START_DESC2']}
			</span>
			</p>
		</td>
	</tr>
</table>
<div id="upgradeDiv" style="display:none">
    <table cellspacing="0" cellpadding="0" border="0">
        <tr><td>
           <p><img src='modules/UpgradeWizard/processing.gif'> <br>{$mod_strings['LBL_UPGRADE_TAKES_TIME_HAVE_PATIENCE']}</p>
        </td></tr>
     </table>
 </div>
eoq;

$showBack		= false;
$showCancel		= false;
$showRecheck	= false;
$showNext		= true;

$stepBack		= 0;
$stepNext		= 1;
$stepCancel	= 0;
$stepRecheck	= 0;

?>
