Location: PHPKode > projects > TEMS -Time and Expense Management System > tems/install/Install.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/install/CreateDatabase.php");
require_once("$basedir/baseclass/DataValidator.php");


class CreateProcess extends DataValidator
{

	protected function issueError($field, $msgid, $msgdta='')
	{
		global $goOnError;
		if ($msgid == 'er0011')
			$msg = 'Cannot be blank';
		if (($msgid == '')
		or ($msgid == 'er9998'))
			$msg = '';
		$_SESSION['error'][$field] = "$msg $msgdta";
		$this->redirectToPage($goOnError);
	}


	protected function isValidPostData()
	{
		$ret_val = true;

		if (!$this->chkMandatory('Server')) $ret_val = false;
		if (!$this->chkMandatory('DatabaseName')) $ret_val = false;
		if (!$this->chkMandatory('DB_Admin_id')) $ret_val = false;
		if (!$this->chkMandatory('DB_Admin_Password')) $ret_val = false;

		return $ret_val;
	}

	protected function processIncomingFormData()
	{
		global $basedir;

		try
		{
			$db_server = trim($_POST['Server']);
			$db_database = trim($_POST['DatabaseName']);
			$db_admin_user = trim($_POST['DB_Admin_id']);
			$db_admin_password = trim($_POST['DB_Admin_Password']);
			$db_user = trim($_POST['DB_User_id']);
			$db_password = trim($_POST['DB_User_Password']);

			$DB = new InstallDatabase();
			$DB->CreateNewDatabase($db_server, $db_database, $db_admin_user, $db_admin_password, $db_user, $db_password);

			// Write the database.ini file in auth folder.
				
			$filename = "$basedir/config/Database.ini";

			$fhandle = fopen($filename, "w");
			
			if ($fhandle <> null)
			{
				isset($_SERVER['WINDIR']) ? $crlf = "\n" : $crlf = "\n\r";
				fwrite($fhandle, "[database]$crlf");
				fwrite($fhandle, "db_server = $db_server$crlf");
				fwrite($fhandle, "db_database = $db_database$crlf");
				fwrite($fhandle, "db_user = $db_user$crlf");
				fwrite($fhandle, "db_password = $db_password$crlf");
				fclose($fhandle);
			}

			return true;
		}

		catch (iBLError $e)
		{
			$this->issueError("$e->errField", "$e->msgid", "$e->msgdta");
		}


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


}


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

$DB = new CreateProcess();
$DB->processRequest();


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