Commit 6b6e6556 by Adarsh K

Nixon

parent de20132d
......@@ -75,10 +75,10 @@ $query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'hostname' => '192.168.140.123',
'username' => 'root',
'password' => '',
'database' => 'access',
'password' => 'Golden_123',
'database' => 'adarsh_access',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
......
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Handlerequest extends CI_Controller {
private $cipher = "aes-256-cbc";
private $key = "af3a2a1f8947ec7fd087f76a7ab3107f";
private $iv= "9A55F9FE7CDB4C21";
private $secret_key = "my_key";
private $headers;
private $jsonRequest;
public function __construct() {
parent::__construct();
$this->headers = apache_request_headers();
$this->load->model('Handle_model','handle_model');
$this->load->model('Validation_model', 'validation_model');
}
public function index()
{
if($this->validate_headers() == true){
$request = json_decode(file_get_contents('php://input'));
$this->jsonRequest = json_decode($this->decrypt($request->jsonRequest));
if($this->jsonRequest) {
$method = $this->jsonRequest->request->method;
$data = (array) $this->jsonRequest->requestDetails;
if($method !=''){
$res = $this->validation_model->check($method, $data);
if($res['state'] == 1) {
$this->errorResponse($res['response']['code'], $res['response']['message']);
} else {
$data = $this->handle_model->{$method}($data);
if($data['status'] == 1){
$data = $this->encrypted(json_encode($data['data']));
$this->response($data);
} else {
$this->errorResponse($data['code'],$data['message']);
}
}
} else {
$this->errorResponse('003','Invalid request URL');
}
} else {
$this->errorResponse('002','Invalid request');
}
} else {
$this->errorResponse('001','Authentication failed');
}
}
public function validate_headers() {
if($this->headers['x-api-key'] == $this->secret_key) {
return true;
} else {
return false;
}
}
public function encrypted($plaintext) {
if (in_array($this->cipher, openssl_get_cipher_methods())) {
$ciphertext = openssl_encrypt($plaintext, $this->cipher, $this->key, $options=0, $this->iv);
$ciphertext = str_replace('=','',$ciphertext);
return $ciphertext;
}
}
public function decrypt($decrypt) {
if (in_array($this->cipher, openssl_get_cipher_methods()))
{
$original_plaintext = openssl_decrypt($decrypt, $this->cipher, $this->key, $options=0, $this->iv);
return $original_plaintext;
}
}
public function response($data = null) {
$result = array(
'responseCode' => 0,
'status'=>'SUCCESS',
'message' => 'SUCCESS',
'jsonResponse' =>$data
);
print json_encode($result);
}
public function errorResponse($code, $errorDesc) {
$result = array(
'responseCode' => $code,
'status'=>'FAILED',
'message'=> $errorDesc
);
print json_encode($result);
}
}
<?php
class Handle_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
function login($data) {
$query = $this->db->where('username',$data['email_id'])->where('password',md5($data['password']))->where('status',1)->get('users');
if($query->num_rows() > 0) {
$response = $query->row();
if($response->user_type == 1) {
$data = $this->db->where('id',$response->user_id)->get('customer')->row();
$res = array('status'=>1,'message'=>"Login successfully done",'data'=>$data);
} else if($response->user_type == 2) {
$data = $this->db->where('id',$response->user_id)->get('shopper')->row();
$res = array('status'=>1,'message'=>"Login successfully done",'data'=>$data);
} else {
$res = array('status'=>0,'message'=>'Invalid credentials','code'=>'008');
}
} else {
$res = array('status'=>0,'message'=>'Invalid credentials','code'=>'008');
}
return $res;
}
function registration($data) {
$dup = $this->db->query("SELECT customer.email_id, customer.phone_no FROM `users` LEFT JOIN customer ON users.user_type = customer.user_type WHERE (users.username = '".$data['email_id']."' OR customer.phone_no = '".$data['phone_no']."')");
if($dup->num_rows() > 0) {
if($dup->num_rows() > 1) {
$res = array('status'=> 0,'message'=>'Email and Phone are already exists','code'=>'009');
} else {
$dup_res = $dup->row();
if($dup_res->email_id == $data['email_id'] && $dup_res->phone_no == $data['phone_no']) {
$res = array('status'=>0,'message'=>'Email and Phone no are already exists','code'=>'009');
} else if($dup_res->email_id == $data['email_id']) {
$res = array('status'=>0,'message'=>'Email already exists','code'=>'010');
} else {
$res = array('status'=>0,'message'=>'Phone no already exists','code'=>'011');
}
}
} else {
$userData = array(
'name'=>$data['name'],
'email_id'=>$data['email_id'],
'phone_no'=>$data['phone_no'],
'dob'=>$data['dob'],
'address'=>$data['address'],
'assist_name'=>$data['assist_name'],
'assist_phone_no'=>$data['assist_phone_no'],
'assist_email_id'=>$data['assist_email_id']
);
$rs = $this->db->insert('customer', $userData);
if($rs) {
$insert_id = $this->db->insert_id();
$this->db->where('user_id',$insert_id)->where('user_type',1)->update('users',array('pin'=>md5($data['pin']), 'status'=>1));
$user = $this->db->where('id', $insert_id)->get('customer')->row();
$res = array('status'=>1, 'message'=>'Registration Successfully', 'data'=>$user);
} else {
$res = array('status'=>0,'message'=>'Something Went Wrong! Registration Failed','code'=>'012');
}
}
return $res;
}
function categories($data) {
if($data['cat_id']) {
$this->db->where('id',$data['cat_id']);
}
$data_rs = $this->db->select('id,cat_name,cat_image')->where('status', 1)->get('category');
if($data_rs->num_rows() > 0){
if($data_rs->num_rows() > 1){
$data = $data_rs->result();
} else {
$data = $data_rs->row();
}
$res = array('status'=>1, 'message'=>'Category List', 'data'=>$data);
} else {
$res = array('status'=>0,'message'=>'No categories found!','code'=>'021');
}
return $res;
}
function sub_categories($data) {
if($data['cat_id']) {
$this->db->where('cat_id',$data['cat_id']);
}
if($data['id']) {
$this->db->where('id',$data['id']);
}
$data_rs = $this->db->select('id,sub_cat_name,sub_cat_image')->where('status', 1)->get('sub_category');
if($data_rs->num_rows() > 0){
if($data_rs->num_rows() > 1){
$data = $data_rs->result();
} else {
$data = $data_rs->row();
}
$res = array('status'=>1, 'message'=>'Sub Category List', 'data'=>$data);
} else {
$res = array('status'=>0,'message'=>'No sub categories found!','code'=>'022');
}
return $res;
}
}
\ No newline at end of file
<?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);
}
}
?>
\ No newline at end of file
......@@ -73,7 +73,8 @@ switch (ENVIRONMENT)
case 'testing':
case 'production':
ini_set('display_errors', 0);
error_reporting(-1);
ini_set('display_errors', 1);
if (version_compare(PHP_VERSION, '5.3', '>='))
{
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment