Location: PHPKode > projects > TEMS -Time and Expense Management System > tems/systemadmin/RestoreData.php
<?php

/*********************************************************************************
 * TES is a Time and Expense Management program developed by
 * Initechs, LLC. Copyright (C) 2009 - 2010 Initechs LLC.
 *
 * 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 INITECHS, INITECHS 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 Initechs headquarters at 1841 Piedmont Road, Suite 301,
 * Marietta, GA, USA. or at email address hide@address.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 od the "Initechs" logo.
 * If the display of the logo is not reasonably feasible for technical reasons,
 * the Appropriate Legal Notices must display the words "Powered by Initechs".

 ********************************************************************************/

$basedir = dirname(__FILE__) . '/..';

require_once("$basedir/initialize.php");
require_once("$basedir/baseclass/DataValidator.php");

class RestoreData extends DataValidator
{

	protected function isValidPostData()
	{
		$ret_val = true;
			
		if (!$this->chkMandatory('fromFile')) $ret_val = false;
		if (!$this->chkMandatory('DB_Admin_id')) $ret_val = false;
		if (!$this->chkMandatory('DB_Admin_Password')) $ret_val = false;

		if (!is_file($_POST['fromFile']))
		{
			$this->issueError('fromFile', 'er0068');
			$ret_val = false;
		}


		return $ret_val;
	}

	protected function processIncomingFormData()
	{
		global $ini_array;

		$db_server = $ini_array['database']['db_server'];
		$db_database = $ini_array['database']['db_database'];

		$filename = trim($_POST['fromFile']);
		$adminId = trim($_POST['DB_Admin_id']);
		$adminPwd = trim($_POST['DB_Admin_Password']);

		$command= "mysql -u $adminId --password=$adminPwd $db_database < $filename ";

		try
		{
			exec($command, $dump, $status);		/*checking the status of the command after runing */
			if($status!=0)
			{
				$this->issueError('nocategory', "er0081");
				return false;
			}
			$this->issueMessage('info0002', $filename);
			return true;
		}

		catch (Exception $e)
		{
			$this->issueError('nocategory', "er9998", "$e");
		}

	}
}

$goOnSuccess = "../index.php?module={$_SESSION['module']}&action=RestoreData";
$goOnError =  "../index.php?module={$_SESSION['module']}&action=RestoreData";


$page = new RestoreData();
$page->processRequest();


?>
Return current item: TEMS -Time and Expense Management System