<?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/baseclass/RequestHandler.php");
require_once("$basedir/baseclass/DBCommonFunctions.php");
class dbObj extends DBCommonFunctions {}
abstract class DataValidator extends RequestHandler {
protected function chkMandatory($var) {
if (!isset($_POST[$var])
or trim($_POST[$var]) == '') {
$this->issueError($var, 'er0011');
return false;
}
return true;
}
protected function chkDate($var) {
if (!$this->chkMandatory($var))
return false;
$dateFormat = getUserDateFormat();
// TODO Check date should not change the value of the post data - Kallol
$date = convertdate($_SESSION['postdata'][$var], $dateFormat, 'ymd');
if ($date <> null)
$_SESSION['postdata'][$var] = $date;
if (!isValidDate(trim($_POST[$var]), $dateFormat)) {
$this->issueError($var, 'er0009');
return false;
}
return true;
}
protected function chkValidEntry($var, $table, $whereclause, $errorid ='er0013') {
$dbConn = new dbObj();
$RowData = $dbConn->fetchRowbyWhereClause($table, $whereclause);
If ($RowData == Null) {
$this->issueError($var, $errorid);
return false;
}
return true;
}
protected function chkNumeric($var, $decimal) {
if ($_POST[$var] == '')
return true;
if (!is_numeric($_POST[$var])) {
$this->issueError($var, 'er0083');
return false;
}
//Validate for decimals
$num1 = trim(($_POST[$var]));
$decpos = strpos($num1, '.');
if ($decpos == false)
return true;
$decipart = substr($num1, $decpos + 1);
$decilen = strlen($decipart);
if ($decilen > $decimal) {
$this->issueError($var, 'er0083');
return false;
}
return true;
}
protected function chkWeekendDate($var, $weekendday) {
if (!$this->chkMandatory($var))
return false;
if (!chkWeekendDate($_POST[$var], $weekendday)) { // This calls the function resides in teseban/DateFunction.php
$this->issueError($var, 'er0021');
return false;
}
return true;
}
}
?>