Commit 6a8bd742 by Tobin

Merge branch 'jansa' into 'master'

Jansa See merge request !124
parents 53492239 d9adc9ce
......@@ -28,7 +28,7 @@ class OrganizerServices extends CI_Controller {
$this->load->model('Validation_organizer_model');
$method = $this->router->fetch_method();
$data = (array) json_decode(file_get_contents('php://input'));
if($method == 'profile') {
if($method == 'addEvent') {
$data = $_POST;
}
if (isset(apache_request_headers()['Auth'])) {
......@@ -223,7 +223,7 @@ class OrganizerServices extends CI_Controller {
}
public function addEvent(){
$data = (array) json_decode(file_get_contents('php://input'));
$data = $_POST;
$res = $this->Organizer_model->addEvent($data);
if($res['status'] != 0){
$this->response($res['data']);
......@@ -301,6 +301,17 @@ class OrganizerServices extends CI_Controller {
$this->errorResponse($res['code'],$res['message']);
}
}
public function getCheckerList(){
$data = (array) json_decode(file_get_contents('php://input'));
$res = $this->Organizer_model->getCheckerList($data);
if($res['status'] != 0){
$this->response($res['data']);
}else{
$this->errorResponse($res['code'],$res['message']);
}
}
/*================ END : Organizer API ================*/
}
?>
......@@ -276,15 +276,15 @@ class Organizer_model extends CI_Model {
public function getBookingDetails($data){
try{
$this->db->query("SET SESSION group_concat_max_len = 20000");
$sql = "SELECT BUK.ticket_details,CASE WHEN BUK.reserved_by='1' THEN 'Admin' WHEN BUK.reserved_by='2' THEN 'Provider' ELSE 'Customer' END AS reserved_by,TSEVT.event_name,TSEVT.event_description,BUK.bookId,TSCAT.category_name,CUST.name AS customer_name,CUST.email,CUST.phone AS customer_phone_no,PDR.name AS provider_name,PDR.email AS provider_email,PDR.phone AS provider_phone_no,VNE.location AS venue_address,TSVNE.venue_name,BUK.no_of_ticket,BUK.amount,CASE WHEN BUK.status ='0' THEN 'Cancelled' WHEN BUK.status='1' THEN 'Booked' WHEN BUK.status='2' THEN 'Completed' WHEN BUK.status='3' THEN 'Pending' WHEN BUK.status='4' THEN 'Deleted' ELSE 'Payment Failed' END AS booking_status,GROUP_CONCAT(DISTINCT CONCAT_WS('#',EVDT.id,EVDT.date,EVDT.time)) AS date_time
$sql = "SELECT BUK.ticket_details,CASE WHEN BUK.reserved_by='1' THEN 'Admin' WHEN BUK.reserved_by='2' THEN 'Provider' ELSE 'Customer' END AS reserved_by,TSEVT.event_name,TSEVT.event_description,BUK.bookId,TSCAT.category_name,CUST.name AS customer_name,CUST.email,CUST.phone AS customer_phone_no,PDR.name AS provider_name,PDR.email AS provider_email,PDR.phone AS provider_phone_no,VNE.location AS venue_address,TSVNE.venue_name,BUK.no_of_ticket,BUK.amount,CASE WHEN BUK.status ='0' THEN 'Cancelled' WHEN BUK.status='1' THEN 'Booked' WHEN BUK.status='2' THEN 'Completed' WHEN BUK.status='3' THEN 'Pending' WHEN BUK.status='4' THEN 'Deleted' ELSE 'Payment Failed' END AS booking_status,EVDT.date AS scheduled_date,EVDT.time AS scheduled_time
FROM booking AS BUK
INNER JOIN customer AS CUST ON (CUST.customer_id = BUK.customer_id)
INNER JOIN events AS EVT ON (EVT.event_id = BUK.event_id)
INNER JOIN translator_event AS TSEVT ON (TSEVT.event_id = BUK.event_id)
INNER JOIN translator_category AS TSCAT ON (TSCAT.category_id = EVT.category_id)
INNER JOIN provider AS PDR ON (PDR.provider_id = EVT.provider_id)
LEFT JOIN provider AS PDR ON (PDR.provider_id = EVT.provider_id)
INNER JOIN translator_venue AS TSVNE ON (TSVNE.venue_id = EVT.venue_id)
INNER JOIN event_date_time AS EVDT ON (EVT.event_id = EVDT.event_id)
INNER JOIN event_date_time AS EVDT ON (BUK.event_date_id = EVDT.id)
INNER JOIN venue AS VNE ON (VNE.id = EVT.venue_id)
WHERE BUK.bookId='".$data['booking_id']."'";
$query = $this->db->query($sql);
......@@ -292,22 +292,6 @@ class Organizer_model extends CI_Model {
$res= array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER06');
return $res; exit;
}
$query['show_time'] = '';
if(!empty($query['date_time'])){
$tmarr = explode(',', $query['date_time']);
foreach ($tmarr as $value) {
$timeArray = explode('#', $value);
$sTime = $timeArray[1].' '.$timeArray[2];
$cTime = date("Y-m-d H:i", strtotime('+15 minutes'));
if($cTime < $sTime){
$time_spec[$timeArray[1]][] = array("id"=>$timeArray[0],"time"=>$timeArray[2]);
}
}
$query['show_time'] = $time_spec;
unset($query['date_time']);
}
$res = array('status'=>1,'data'=>$query);
} catch (Exception $e){
......@@ -425,33 +409,31 @@ class Organizer_model extends CI_Model {
set_time_limit(0);
$language = getLanguages();
$err = 0;
$postData['seat_pricing'] = $postData['custom_seat_layout'] = '';
if(isset($postData['fare_type']) && $postData['fare_type'] == 1){
$cstmSeatLayout = array();
for($i = 0 ; $i < count($postData['seat_block']) ; $i++){
if(!isset($_POST['custom_price'][$i]) || empty($_POST['custom_price'][$i])){
$_POST['custom_price'][$i] = $_POST['seat_price'][$i];
}
$cstmSeatLayout[] = array('color'=>$postData['seat_block'][$i]['block_name'],
'price'=>$postData['seat_block'][$i]['seat_price'],
'capacity'=>$postData['seat_block'][$i]['capacity'],
'weekend_price'=>$postData['seat_block'][$i]['custom_price']);
}
$postData['custom_seat_layout'] = json_encode($cstmSeatLayout);
if(isset($postData['layout_type']) && $postData['layout_type'] == 1){
//$cstmSeatLayout = array();
// for($i = 0 ; $i < count($postData['seat_block']) ; $i++){
// if(!isset($_POST['custom_price'][$i]) || empty($_POST['custom_price'][$i])){
// $_POST['custom_price'][$i] = $_POST['seat_price'][$i];
// }
// $cstmSeatLayout[] = array('color'=>$postData['seat_block'][$i]['block_name'],
// 'price'=>$postData['seat_block'][$i]['seat_price'],
// 'capacity'=>$postData['seat_block'][$i]['capacity'],
// 'weekend_price'=>$postData['seat_block'][$i]['custom_price']);
// }
$postData['custom_seat_layout'] = $postData['layout'];
} else {
$seatPriceArr = array('price'=>$postData['price'],'capacity'=>$postData['capacity']);
foreach($language AS $lang) {
$details = $postData['price_details_EN'];
if(isset($postData['price_details_'.$lang]) && !empty($postData['price_details_'.$lang])){
$details = $postData['price_details_'.$lang];
}
$seatPriceArr['price_details_'.$lang] = $details;
}
$postData['seat_pricing'] = json_encode($seatPriceArr);
// $seatPriceArr = array('price'=>$postData['price'],'capacity'=>$postData['capacity']);
// foreach($language AS $lang) {
// $details = $postData['price_details_EN'];
// if(isset($postData['price_details_'.$lang]) && !empty($postData['price_details_'.$lang])){
// $details = $postData['price_details_'.$lang];
// }
// $seatPriceArr['price_details_'.$lang] = $details;
// }
$postData['seat_pricing'] = $postData['layout'];
}
$provider = ($this->session->userdata['user_type']==1)?'1':$this->session->userdata['id'];
$eventData = array('venue_id'=>$postData['venue_id'],
'category_id'=>$postData['category_id'],
'provider_id'=>$postData['organiser_id'],
......@@ -462,19 +444,16 @@ class Organizer_model extends CI_Model {
'status'=>3);
$languageArr = array();
foreach($postData['event_name'] AS $key => $value) {
$languageArr[$value['lang']]['event_name'] = $value['name'];
foreach($postData['event_desc'] AS $eve_key => $eve_value) {
if($value['lang'] == $eve_value['lang']){
$languageArr[$value['lang']]['event_desc'] = $eve_value['desc'];
}
}
}
$eventData['status'] = '3';
$languages = getLanguages();
$evtName = json_decode($postData['event_name'],true);
$evtDesc = json_decode($postData['event_desc'],true);
foreach ($languages AS $lang) {
$languageArr[$lang]['event_name'] = !empty($evtName[$lang])?$evtName[$lang]:'';
$languageArr[$lang]['event_desc'] = !empty($evtDesc[$lang])?$evtDesc[$lang]:'';
}
$status = $this->db->insert('events',$eventData);
if($status){
$event_id = $this->db->insert_id();
$languages = getLanguages();
if(!empty($languages)){
$insertArr = array();
foreach ($languages AS $lang) {
......@@ -515,7 +494,7 @@ class Organizer_model extends CI_Model {
foreach ($postData['tags'] AS $tag) {
$insertTag[] = array('event_id'=>$event_id,'tag_id'=>$tag);
}
$this->db->insert_batch('event_tags',$insertTag);
$status = $this->db->insert_batch('event_tags',$insertTag);
if(isset($_FILES) && isset($_FILES['images']) &&
isset($_FILES['images']['name']) && count($_FILES['images']['name'])>1){
......@@ -523,7 +502,7 @@ class Organizer_model extends CI_Model {
$evtMediaData = (isset($resp['evtMediaData']))?$resp['evtMediaData']:array();
$errorMediaFiles = (isset($resp['errorMediaFiles']))?$resp['errorMediaFiles']:array();
$this->db->insert_batch('event_gallery',$evtMediaData);
$status = $this->db->insert_batch('event_gallery',$evtMediaData);
}
}
}
......@@ -580,9 +559,73 @@ class Organizer_model extends CI_Model {
return array('evtMediaData'=>$evtMediaData,'errorMediaFiles'=>$errorMediaFiles);
}
function imageResize($newImage,$size,$path){
$this->load->library('image_lib');
$config['width'] = $size['width'];
$config['height'] = $size['height'];
$config['new_image'] = $newImage;
$config['source_image'] = $path;
$config['create_thumb'] = FALSE;
$config['image_library'] = 'gd2';
$config['maintain_ratio'] = TRUE;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();
$res = array('status'=>'1');
if(!$this->image_lib->resize()){
$res['status'] = '0';
$res['error'] = $this->image_lib->display_errors();
}
return $res;
}
function googleVisionApi($img='', $typ='SAFE_SEARCH_DETECTION'){
if(empty($img)){
return 0;
}
$settings = getSettings();
$api = $settings['google_api_key'];
$url = "https://vision.googleapis.com/v1/images:annotate?key=".$api;
$req = "{'requests':[{'image':{'source':{'imageUri':'$img'}},'features':[{'type':'$typ'}]}]}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$req);
curl_setopt($ch, CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$resp = curl_exec($ch);
curl_close ($ch);
$safe = 1;
if(!empty($resp) && !empty($resp = json_decode($resp,true)) && isset($resp['responses']) &&
isset($resp['responses'][0]) && isset($resp['responses'][0]['safeSearchAnnotation'])){
$resp = $resp['responses'][0]['safeSearchAnnotation'];
if($resp['adult']=='Very Likely'||$resp['adult']=='Likely'||$resp['adult']=='Possible'){
$safe = 2;
}
if($resp['spoof']=='Very Likely'||$resp['spoof']=='Likely'){
$safe = 2;
}
if($resp['medical']=='Very Likely'||$resp['medical']=='Likely'){
$safe = 2;
}
if($resp['violence']=='Very Likely'||$resp['violence']=='Likely'){
$safe = 2;
}
if($resp['racy']=='Very Likely'||$resp['racy']=='Likely'||$resp['racy']=='Possible'){
$safe = 2;
}
}
return $safe;
}
function getLanguages(){
try{
$sql = "SELECT country_id AS lang_id,language_code AS lang FROM country WHERE status='1' ORDER BY language_code ASC";
$sql = "SELECT country_id AS lang_id,language_code AS lang,language FROM country WHERE status='1' ORDER BY language_code ASC";
$lang = $this->db->query($sql);
if(empty($lang) || empty($lang = $lang->result_array())){
$res = array('status'=>0,'message'=>'No Data Found','code'=>'ER05');
......@@ -709,6 +752,29 @@ class Organizer_model extends CI_Model {
return $res;
}
function getCheckerList($data){
try{
$count = $this->db->query("SELECT id FROM checker AS CHKR WHERE CHKR.status=1 AND CHKR.provider_id = '".$data['organiser_id']."'")->num_rows();
if($count > 0) {
$perPage = 10;
$page = (isset($data['page']))?$data['page']:1;
$limit = ($page - 1) * $perPage;
$meta = array('total_pages'=>ceil($count/$perPage),'total'=>$count,
'current_page'=>$page,'per_page'=>$perPage);
$sql = "SELECT CHKR.username AS checker_name,CHKR.id AS checker_id,PDR.name AS provider,CHKR.status FROM checker AS CHKR INNER JOIN provider AS PDR ON (PDR.provider_id = CHKR.provider_id) WHERE CHKR.status = '1' AND CHKR.provider_id ='".$data['organiser_id']."' LIMIT $limit,$perPage";
$chkrData = $this->db->query($sql);
if(empty($chkrData) || empty($chkrData = $chkrData->result_array())){
$res = array('status'=>0,'message'=>'No Data Found','code'=>'ER06');
return $res;
}
$res = array('status'=>1,'message'=>'Checkers Listed Successfully','data'=>array('data'=>$chkrData,'meta'=>$meta));
}
} catch (Exception $e){
$res = array('status'=>0,'message'=>'Ohh No!! Something Went South','code'=>'ER08');
}
return $res;
}
}
?>
......@@ -304,16 +304,10 @@ class Validation_organizer_model extends CI_Model {
'message' => 'Venue Id is null or empty'
)
),
'fare_type' => array(
'layout_type' => array(
'required' => array(
'code' => 'ER18',
'message' => 'Fare Type is null or empty'
)
),
'fare_amount' => array(
'required' => array(
'code' => 'ER18',
'message' => 'Fare Amount is null or empty'
'message' => 'Layout Type is null or empty'
)
),
'event_name' => array(
......@@ -322,10 +316,10 @@ class Validation_organizer_model extends CI_Model {
'message' => 'Event name is null or empty'
)
),
'category' => array(
'category_id' => array(
'required' => array(
'code' => 'ER18',
'message' => 'Category is null or empty'
'message' => 'Category Id is null or empty'
)
),
'maximum_seat_booking' => array(
......@@ -358,12 +352,6 @@ class Validation_organizer_model extends CI_Model {
'message' => 'Start Date is null or empty'
)
),
'end_date' => array(
'required' => array(
'code' => 'ER18',
'message' => 'End Date is null or empty'
)
),
'show_timing' => array(
'required' => array(
'code' => 'ER18',
......@@ -376,6 +364,12 @@ class Validation_organizer_model extends CI_Model {
'message' => 'Tag is null or empty'
)
),
'layout' => array(
'required' => array(
'code' => 'ER18',
'message' => 'Layout is null or empty'
)
),
),
'getLanguages'=>array(),
'getCategories'=>array(),
......@@ -437,6 +431,14 @@ class Validation_organizer_model extends CI_Model {
),
),
'getCountryCode'=>array(),
'getCheckerList'=>array(
'organiser_id'=>array(
'required'=>array(
'code'=>'ER30',
'message'=>'Organizer Id is null or empty'
)
),
),
);
public function _consruct(){
......
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