Blame | Last modification | View Log | RSS feed
<?php
/***************************************************************************
* Copyright (C) 2009-2011 by Geo Varghese(www.seopanel.in) *
* sendtogeo@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* 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, write to the *
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
# class defines all validations functions
class Validation{
var $flagErr;
function __construct(){
$this->Filters['email'] = "/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i" ;
$this->Filters['number'] = "/^[0-9]+$/";
$this->Filters['floatnumber'] = "/^\d+$|^\d+\.\d+$|^\.\d+$|^\-\d+$/";
$this->Filters['phone'] = "/^[0-9\-\(\)\s\+]+$/";
$this->Filters['startPhone'] = "/^[0-9\+\(]$/";
$this->Filters['alpha']= "/^[a-zA-Z]+$/";
$this->Filters['name']= "/^[a-zA-Z\'\-\s]+$/";
$this->Filters['startName'] = "/^[a-zA-Z]$/";
$this->Filters['nameGen'] = "/^[0-9a-zA-Z\-\s\'\!\@\#\$\%\^\&\*\(\)\-\_\+\?\.\:\;\[\]\/\,\"\=]+$/";
$this->Filters['startGenName'] = $this->Filters['nameGen'];
$this->Filters['uname'] = "/^[0-9a-zA-Z\-\_\.]+$/";
}
function getUniqueChars($entry){
$arrVar = preg_split("//", $entry);
return array_unique($arrVar);
}
function checkBlank($entry){
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkAlpha($entry){
$entry = stripslashes(trim($entry));
if (!preg_match($this->Filters['alpha'], $entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
return $msg;
}
function checkUname($user_name){
$user_name = stripslashes(trim($user_name));
if(count($this->getUniqueChars($user_name)) <= 2){
$msg = $_SESSION['text']['common']['entrynotvalid'];
$this->flagErr = true;
}
if(!preg_match($this->Filters['uname'],$user_name)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(strlen($user_name) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkName($entry){
$entry = stripslashes(trim($entry));
if(!preg_match($this->Filters['name'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(!preg_match($this->Filters['startName'],$entry{0})){
$msg = $_SESSION['text']['common']['Invalid value'];
$this->flagErr = true;
}
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkLastName($entry){
$entry = stripslashes(trim($entry));
if(!preg_match($this->Filters['name'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(!preg_match($this->Filters['startName'],$entry{0})){
exit;
$msg = $_SESSION['text']['common']['Invalid value'];
$this->flagErr = true;
}
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkEmail($entry){
// check email using php function
$entry = stripslashes(trim($entry));
if (filter_var($entry, FILTER_VALIDATE_EMAIL) === false) {
$msg = $_SESSION['text']['common']["Invalid email address entered"];
$this->flagErr = true;
}
return $msg;
}
function checkPasswords($pass1, $pass2){
if(strlen($pass1) < 6 || strlen($pass1) > 32){
$msg = $_SESSION['text']['common']['password632'];
$this->flagErr = true;
}
if($pass1!= $pass2){
$msg = $_SESSION['text']['common']['passwordnotmatch'];
$this->flagErr = true;
}
return $msg;
}
function checkGenName($entry){
$entry = stripslashes(trim($entry));
if(count($this->getUniqueChars($entry)) <= 2){
$msg = "The value doesnt seem to be valid";
$this->flagErr = true;
}
if(!preg_match($this->Filters['nameGen'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(!preg_match($this->Filters['startGenName'],$entry{0})){
$msg = $_SESSION['text']['common']['Invalid value'];
$this->flagErr = true;
}
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
if(strval(floatval($entry)) == $entry){
$msg = "The entry cant be a number.";
$this->flagErr = true;
}
if(!preg_match($this->Filters['alpha'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
return $msg;
}
function checkPhone($entry){
if(count($this->getUniqueChars($entry)) <= 2){
$msg = "The entry doesnt seem to be valid";
$this->flagErr = true;
}
if(!preg_match($this->Filters['phone'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(!preg_match($this->Filters['startPhone'],$entry{0})){
$msg = $_SESSION['text']['common']['Invalid value'];
$this->flagErr = true;
}
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkZip($entry){
$entry = stripslashes(trim($entry));
if(!preg_match($this->Filters['number'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkNumber($entry){
$entry = stripslashes(trim($entry));
if(!preg_match($this->Filters['floatnumber'],$entry)){
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
}
if(strlen($entry) == 0){
$msg = $_SESSION['text']['common']['Entry cannot be blank'];
$this->flagErr = true;
}
return $msg;
}
function checkUnameLength($name){
if(strlen($name) < 6){
$msg = "The username string should have a length atleast of 6";
$this->flagErr = true;
}elseif(!preg_match('/\d+/',$name)){
$msg = "The username string should have a atleast a number";
$this->flagErr = true;
}elseif(!preg_match('/[a-zA-Z]+/',$name)){
$msg = "The username string should have a atleast a letter";
$this->flagErr = true;
}
return $msg;
}
# func to check captcha
function checkCaptcha($code) {
$msg = '';
if(!PhpCaptcha::Validate($_POST['code'])){
$msg = $_SESSION['text']['common']["Invalid code entered"];
$this->flagErr = true;
}
return $msg;
}
# func to check date
function checkDate($date, $delimiter = '-') {
$msg = '';
$dateElements = explode($delimiter, $date);
// explode and check the number of elements
if (count($dateElements) == 3) {
if (checkdate($dateElements[1], $dateElements[2], $dateElements[0])) {
return $msg;
}
}
$msg = $_SESSION['text']['common']['Invalid characters'];
$this->flagErr = true;
return $msg;
}
}
?>