Commit 6b91a11c by Tobin

Merge branch 'master' into 'dev_production'

Master See merge request !26
parents 57b81eb9 1b452604
/application/config/database.php
/.htaccess
/application/config/config.php
/index.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
| -------------------------------------------------------------------
| DATABASE CONNECTIVITY SETTINGS
| -------------------------------------------------------------------
| This file will contain the settings needed to access your database.
|
| For complete instructions please consult the 'Database Connection'
| page of the User Guide.
|
| -------------------------------------------------------------------
| EXPLANATION OF VARIABLES
| -------------------------------------------------------------------
|
| ['dsn'] The full DSN string describe a connection to the database.
| ['hostname'] The hostname of your database server.
| ['username'] The username used to connect to the database
| ['password'] The password used to connect to the database
| ['database'] The name of the database you want to connect to
| ['dbdriver'] The database driver. e.g.: mysqli.
| Currently supported:
| cubrid, ibase, mssql, mysql, mysqli, oci8,
| odbc, pdo, postgre, sqlite, sqlite3, sqlsrv
| ['dbprefix'] You can add an optional prefix, which will be added
| to the table name when using the Query Builder class
| ['pconnect'] TRUE/FALSE - Whether to use a persistent connection
| ['db_debug'] TRUE/FALSE - Whether database errors should be displayed.
| ['cache_on'] TRUE/FALSE - Enables/disables query caching
| ['cachedir'] The path to the folder where cache files should be stored
| ['char_set'] The character set used in communicating with the database
| ['dbcollat'] The character collation used in communicating with the database
| NOTE: For MySQL and MySQLi databases, this setting is only used
| as a backup if your server is running PHP < 5.2.3 or MySQL < 5.0.7
| (and in table creation queries made with DB Forge).
| There is an incompatibility in PHP with mysql_real_escape_string() which
| can make your site vulnerable to SQL injection if you are using a
| multi-byte character set and are running versions lower than these.
| Sites using Latin-1 or UTF-8 database character set and collation are unaffected.
| ['swap_pre'] A default table prefix that should be swapped with the dbprefix
| ['encrypt'] Whether or not to use an encrypted connection.
|
| 'mysql' (deprecated), 'sqlsrv' and 'pdo/sqlsrv' drivers accept TRUE/FALSE
| 'mysqli' and 'pdo/mysql' drivers accept an array with the following options:
|
| 'ssl_key' - Path to the private key file
| 'ssl_cert' - Path to the public key certificate file
| 'ssl_ca' - Path to the certificate authority file
| 'ssl_capath' - Path to a directory containing trusted CA certificats in PEM format
| 'ssl_cipher' - List of *allowed* ciphers to be used for the encryption, separated by colons (':')
| 'ssl_verify' - TRUE/FALSE; Whether verify the server certificate or not ('mysqli' only)
|
| ['compress'] Whether or not to use client compression (MySQL only)
| ['stricton'] TRUE/FALSE - forces 'Strict Mode' connections
| - good for ensuring strict SQL while developing
| ['ssl_options'] Used to set various SSL options that can be used when making SSL connections.
| ['failover'] array - A array with 0 or more data for connections if the main should fail.
| ['save_queries'] TRUE/FALSE - Whether to "save" all executed queries.
| NOTE: Disabling this will also effectively disable both
| $this->db->last_query() and profiling of DB queries.
| When you run a query, with this setting set to TRUE (default),
| CodeIgniter will store the SQL statement for debugging purposes.
| However, this may cause high memory usage, especially if you run
| a lot of SQL queries ... disable this to avoid that problem.
|
| The $active_group variable lets you choose which connection group to
| make active. By default there is only one group (the 'default' group).
|
| The $query_builder variables lets you determine whether or not to load
| the query builder class.
*/
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'nuvento_timeout',
'password' => 'Golden_123',
'database' => 'nuvento_timeout',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
...@@ -520,5 +520,16 @@ class Api extends CI_Controller { ...@@ -520,5 +520,16 @@ class Api extends CI_Controller {
$this->errorResponse($res['code'],$res['message']); $this->errorResponse($res['code'],$res['message']);
} }
} }
public function reset_password(){
$data = (array) json_decode(file_get_contents('php://input'));
$res = $this->Api_model->reset_password($data);
if($res['status']!=0){
$this->response($res['data']);
}
else{
$this->errorResponse($res['code'],$res['message']);
}
}
} }
?> ?>
\ No newline at end of file
...@@ -390,4 +390,4 @@ class Event extends CI_Controller { ...@@ -390,4 +390,4 @@ class Event extends CI_Controller {
echo $viewPage;exit; echo $viewPage;exit;
} }
} }
?> ?>
\ No newline at end of file
...@@ -130,7 +130,9 @@ class Api_model extends CI_Model { ...@@ -130,7 +130,9 @@ class Api_model extends CI_Model {
$unique_id = uniqid().time(); $unique_id = uniqid().time();
$this->db->where('email',$data['email_id'])->update('customer',array('reset_key'=>$unique_id)); $this->db->where('email',$data['email_id'])->update('customer',array('reset_key'=>$unique_id));
$subject = "TimeOut: Forgot Password"; $subject = "TimeOut: Forgot Password";
$url = 'http://techlabz.in/client/timeout/changepassword/'.$unique_id; // $baseUrl = "http://localhost:4200/";
$baseUrl = "https://projects.nuvento.com/";
$url = $baseUrl.'forgot/?reset_key='.$unique_id;
$message = "Please use mentioned link for reset your password: ".$url; $message = "Please use mentioned link for reset your password: ".$url;
$email = $data['email_id']; $email = $data['email_id'];
$result = $this->send_mail($subject,$email,$message); $result = $this->send_mail($subject,$email,$message);
...@@ -1011,5 +1013,26 @@ class Api_model extends CI_Model { ...@@ -1011,5 +1013,26 @@ class Api_model extends CI_Model {
} }
return $res; return $res;
} }
public function reset_password($data){
try{
$cust = $this->db->get_where('customer',array('reset_key'=>$data['reset_key']))->row_array();
if(!empty($cust)){
if($this->db->update('users',array('password'=>md5($data['password'])),array('id'=>$cust['customer_id']))){
$this->db->update('customer',
array('reset_key'=>''),
array('customer_id'=>$cust['customer_id']));
$res= array('status'=>1,'data'=>'Success');
}else{
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER24');
}
} else {
$res = array('status'=>0,'message'=>'User Doesn\'t Exist','code'=>'ER25');
}
}catch(Exception $e){
$res = array('status'=>0,'message'=>'Ohh No!! Something went South!!','code'=>'ER06');
}
return $res;
}
} }
?> ?>
\ No newline at end of file
...@@ -310,6 +310,20 @@ class Validation_model extends CI_Model { ...@@ -310,6 +310,20 @@ class Validation_model extends CI_Model {
) , ) ,
) )
) , ) ,
'reset_password' => array(
'reset_key' => array(
'required' => array(
'code' => 'ER16',
'message' => 'Reset Key is null or empty'
)
) ,
'password' => array(
'required' => array(
'code' => 'ER18',
'message' => 'Password is null or empty'
) ,
)
) ,
'checker_login' => array( 'checker_login' => array(
'email' => array( 'email' => array(
'required' => array( 'required' => array(
...@@ -357,7 +371,7 @@ class Validation_model extends CI_Model { ...@@ -357,7 +371,7 @@ class Validation_model extends CI_Model {
case 'phone': case 'phone':
if(isset($parms[$key])){ if(isset($parms[$key])){
$phone = preg_replace('/[^0-9]/', '', $parms[$key]); $phone = preg_replace('/[^0-9]/', '', $parms[$key]);
if (strlen($phone) !== 10) { if (strlen($phone) <= 9 && strlen($phone) >= 13) {
$state = 1; $state = 1;
$error_key = $values; $error_key = $values;
} }
......
...@@ -376,7 +376,7 @@ class Webservice_model extends CI_Model { ...@@ -376,7 +376,7 @@ class Webservice_model extends CI_Model {
if($user_id > 0) { if($user_id > 0) {
$event_id = $data['event_id']; $event_id = $data['event_id'];
$this->db->query("SET SESSION group_concat_max_len = 20000"); $this->db->query("SET SESSION group_concat_max_len = 20000");
$rs = $this->db->query("SELECT favourite.is_favorite,events.event_id, AVG(review.rate) AS rate, MAX(booking.id) AS attendees, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,venue.venue_name,venue.venue_details,venue.location,venue.location_lat AS lat,venue.location_lng AS lng,venue.venue_name AS address_name,venue.location AS address, GROUP_CONCAT(DISTINCT `event_gallery`.`media_url`) AS media_url,IF(favourite.status = 1,'true','false') AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name) AS tag, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time, events.max_booking FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id INNER JOIN venue ON venue.id = events.venue_id LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`status` != 0 LEFT JOIN booking on booking.event_id = events.event_id LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 LEFT JOIN event_tags ON events.event_id = event_tags.event_id LEFT JOIN tags on tags.tag_id = event_tags.tag_id LEFT JOIN review ON events.event_id = review.event_id WHERE events.event_id = ".$event_id." GROUP BY events.event_id, event_date_time.event_id")->row(); $rs = $this->db->query("SELECT IF(favourite.is_favorite = 0,'false','true') AS is_favorite,events.event_id, AVG(review.rate) AS rate, MAX(booking.id) AS attendees, events.event_name,events.event_discription AS event_description,events.seat_pricing, events.custom_seat_layout, venue.layout, venue.layout_details,venue.venue_name,venue.venue_details,venue.location,venue.location_lat AS lat,venue.location_lng AS lng,venue.venue_name AS address_name,venue.location AS address, GROUP_CONCAT(DISTINCT `event_gallery`.`media_url`) AS media_url,IF(favourite.status = 1,'true','false') AS fav_status, GROUP_CONCAT(DISTINCT tags.tag_name) AS tag, GROUP_CONCAT(DISTINCT CONCAT_WS('#',event_date_time.id,event_date_time.date,event_date_time.time)) AS date_time, events.max_booking FROM events INNER JOIN event_date_time ON events.event_id = event_date_time.event_id INNER JOIN venue ON venue.id = events.venue_id LEFT JOIN `event_gallery` ON `events`.`event_id` = `event_gallery`.`event_id` AND `event_gallery`.`status` != 0 LEFT JOIN booking on booking.event_id = events.event_id LEFT JOIN favourite ON favourite.event_id = events.event_id AND favourite.user_id = ".$user_id." AND favourite.status = 1 LEFT JOIN event_tags ON events.event_id = event_tags.event_id LEFT JOIN tags on tags.tag_id = event_tags.tag_id LEFT JOIN review ON events.event_id = review.event_id WHERE events.event_id = ".$event_id." GROUP BY events.event_id, event_date_time.event_id")->row();
if(count($rs)>0){ if(count($rs)>0){
$resultData = array(); $resultData = array();
$event_layout = ''; $event_layout = '';
...@@ -806,8 +806,7 @@ class Webservice_model extends CI_Model { ...@@ -806,8 +806,7 @@ class Webservice_model extends CI_Model {
} }
function booking($data) {
function booking($data) {
try{ try{
$user_id = $this->auth_token_get($data['auth_token']); $user_id = $this->auth_token_get($data['auth_token']);
if($user_id > 0) { if($user_id > 0) {
...@@ -838,7 +837,7 @@ class Webservice_model extends CI_Model { ...@@ -838,7 +837,7 @@ class Webservice_model extends CI_Model {
} }
return $res; return $res;
} }
function generateQR($data) { function generateQR($data) {
......
This diff is collapsed. Click to expand it.
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