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

class CreateProcess extends DataValidator
{

	protected function isValidPostData()
	{
		$ret_val = true;

		if (!$this->chkMandatory('users_id')) $ret_val = false;
		if (!$this->chkMandatory('fullname'))  $ret_val = false;
		if (!$this->chkMandatory('password1')) $ret_val = false;
		if (!$this->chkMandatory('password2')) $ret_val = false;
		if (!$this->chkMandatory('joindate')) $ret_val = false;
		if (!$this->chkDate('joindate')) $ret_val = false;
		if (!$this->chkMandatory('status')) $ret_val = false;
		if (!$this->chkMandatory('reportto')) $ret_val = false;
		if (!$this->chkMandatory('dateformat')) $ret_val = false;
		if (!$this->chkMandatory('language')) $ret_val = false;
		if (trim($_POST['password1']) != trim($_POST['password2']))
		{
			$this->issueError('password1', 'er0010');
			$ret_val = false;
		}

		return $ret_val;
	}

	protected function processIncomingFormData()
	{
		global $goOnSuccess;
		$dateFormat = getUserDateFormat();

		try
		{
			$id = trim($_POST['users_id']);
			$fn = trim($_POST['fullname']);
			$pw = trim($_POST['password1']);
			$em = trim($_POST['email']);
			$jd = convertdate(trim($_POST['joindate']), $dateFormat, 'ymd');
			$ti = trim($_POST['title']);
			$us = trim($_POST['status']);
			$rt = trim($_POST['reportto']);
			$ug = trim($_POST['usergroup']);
			$at = trim($_POST['authorizations_id']);
			$df = trim($_POST['dateformat']);
			$lan = trim($_POST['language']);
			$Row = new UserData();
			$uid = $Row->createRow($id, $fn, $pw, $em, $jd, $ti, $us, $rt, $ug, $at, $df, $lan);

			$goOnSuccess .= $uid;

			return true;
		}

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

		catch (iIDInUseException $e)
		{
			$this->issueError('users_id', 'er0004');
		}

		catch (iDataTooLongException $e)
		{
			$this->issueError('nocategory', "er9998", "$e");  // TODO Needs to be changed after researching on error handler in detail. - Kallol.
		}

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

}

if (!isset($_POST['uid']))
	$_POST['uid'] = '';

$goOnSuccess = "../index.php?module={$_SESSION['module']}&action=Browse&uid=";
$goOnError = "../index.php?module={$_SESSION['module']}&action=Create&uid={$_POST['uid']}&load=No";

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


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