<?php 

class Validation_model extends CI_Model {

	public $validation_array = array(
			'login'=> array('email_id'=>array('required'=>array('code'=>'004', 'message'=>'Email id is null or empty'),
											  'email'=>array('code'=>'005', 'message'=>'Invalid Email id')
										),
							'password'=>array('required'=>array('code'=>'006', 'message'=>'Password is null or empty'),
											  'min_4'=>array('code'=>'007', 'message'=>'Password length is minimum 6')
								        )
						),
			'registration'=> array('email_id'=>array('required'=>array('code'=>'004', 'message'=>'Email id is null or empty'),
											  'email'=>array('code'=>'005', 'message'=>'Invalid Email id')
										),
							'phone_no'=>array('required'=>array('code'=>'014', 'message'=>'Phone no is null or empty'),
										   'phone'=>array('code'=>'015', 'message'=>'Invalid Phone no'),
								        ),
							'pin'=>array('required'=>array('code'=>'006', 'message'=>'Password is null or empty'),
										'min_4'=>array('code'=>'007', 'message'=>'Password length is minimum 6')
									),
							'name'=>array('event_id'=>array('required'=>array('code'=>'016', 'message'=>'Name is null or empty')
										)
									),
							'dob'=>array('event_id'=>array('required'=>array('code'=>'017', 'message'=>'DOB is required')
									)
								),
							'address'=>array('event_id'=>array('required'=>array('code'=>'018', 'message'=>'Address is null or empty')
									)
								),
							'assist_name'=>array('event_id'=>array('required'=>array('code'=>'019', 'message'=>'Assist name is required')
									)
								),
							'assist_phone_no'=>array('event_id'=>array('required'=>array('code'=>'020', 'message'=>'Assist phone no is required')
								)
							),
						),
			'categories'=>array(),
			'sub_categories'=>array(),
			'forgot'=> array('email_id'=>array('required'=>array('code'=>'ER02', 'message'=>'Email id is null or empty'),
											  'email'=>array('code'=>'ER03', 'message'=>'Invalid Email id')
										)
						),
			'popular'=>array(),
			'category'=>array(),
			'locality'=>array(),
			'favourite'=>array('event_id'=>array('required'=>array('code'=>'ER16', 'message'=>'Event id is null or empty')
										),
							'auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
							'status'=>array('required'=>array('code'=>'ER18', 'message'=>'Favourite status is missing'),
								        ),
						),
			'favouritelist'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'bookedlist'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'bookingdetails'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
									'bookingCode'=>array('required'=>array('code'=>'ER23', 'message'=>'Booking code is null or empty'),
								        ),
						),
			'cancel'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
									'bookingCode'=>array('required'=>array('code'=>'ER23', 'message'=>'Booking code is null or empty'),
								        ),
						),
			'confirm'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
									'bookingCode'=>array('required'=>array('code'=>'ER23', 'message'=>'Booking code is null or empty'),
								        ),
						),
			'userinfo'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'profile'=>array('name'=>array('required'=>array('code'=>'ER27', 'message'=>'Name is null or empty')
										),
							'gender'=>array('required'=>array('code'=>'ER28', 'message'=>'Gender is null or empty')
								        ),
							'dob'=>array('required'=>array('code'=>'ER29', 'message'=>'Date of birth is null or empty')
								        ),
							'city'=>array('required'=>array('code'=>'ER30', 'message'=>'City no is null or empty')
								        ),
							'auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'tempbooking'=>array('event_id'=>array('required'=>array('code'=>'ER16', 'message'=>'Event id is null or empty')
										),
							'event_date_id'=>array('required'=>array('code'=>'ER33', 'message'=>'Event date and time is null or empty')
								        ),
							'ticket_details'=>array('required'=>array('code'=>'ER34', 'message'=>'Ticket information is null or empty')
								        ),
							'amount'=>array('required'=>array('code'=>'ER35', 'message'=>'Amount is null or empty')
								        ),
							'no_of_ticket'=>array('required'=>array('code'=>'ER36', 'message'=>'no of ticket is null or empty')
								        ),							
							'auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'recommend'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'search'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
						),
			'discover'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
							'cat_id'=>array('required'=>array('code'=>'ER38', 'message'=>'Category id null or empty')
								        ),
						),
			'event'=>array('auth_token'=>array('required'=>array('code'=>'ER17', 'message'=>'User Id is null or empty'),
								        ),
							'event_id'=>array('required'=>array('code'=>'ER16', 'message'=>'Event id is null or empty')
								        ),
						),
				);
			
	
	public function _consruct(){
		parent::_construct();			
 	}

 	public function check($method_name, $parms) {
 		$state = 0;
		$rules = $this->validation_array[$method_name];
		if($rules == ''){
			return array('state'=> 1,'response'=>array('code'=>'013', 'message'=>'Invalid API'));
		} 		
 		$error_key = '';
 		foreach ($rules as $key => $value) {
 			foreach ($value as $keys => $values) {
 				switch ($keys) {
 						case 'required':
 							if(!isset($parms[$key]) || $parms[$key]=='' || $parms[$key]== null){
 								$state = 1;
 								$error_key = $values;
 							} 
 							break;
 						case 'email':
 							if (isset($parms[$key]) && !filter_var($parms[$key], FILTER_VALIDATE_EMAIL)) {
	  							$state = 1;
 								$error_key = $values; 
							} 
 							break;
 						case 'phone':
 							if(isset($parms[$key])){
 							$phone = preg_replace('/[^0-9]/', '', $parms[$key]);
	 							if (strlen($phone) !== 10) {
		  							$state = 1;
	 								$error_key = $values; 
								}
							} 
							break;
						case 'min_4':
 							if(isset($parms[$key])){
	 							if (strlen($parms[$key]) < 4) {
		  							$state = 1;
	 								$error_key = $values; 
								}
							} 
 							break;


 						
 						default:
 							# code...
 							break;
 					}
 					if($state==1){
 						break;
 					}
 			}
 			if($state==1){
 				break;
 			}
 		}
 		return array('state'=>$state,'response'=>$error_key);
 	} 	
}

?>