Commit 7809dacd by Tobin

daily commit

parent 2acbd7bc
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Category extends CI_Controller {
public function __construct() {
parent::__construct();
date_default_timezone_set("Asia/Kolkata");
$this->load->model('Category_model');
$this->load->model('Dashboard_model');
if(!$this->session->userdata('logged_in')) {
redirect(base_url('Login'));
}
}
function listCategory(){
$template['page'] = 'Category/viewCategoryList';
$template['menu'] = 'Category Management';
$template['smenu'] = 'View Category List';
$template['pTitle'] = "Category Management";
$template['pDescription'] = "View Category List";
$template['categoryData'] = $this->Category_model->getCategoryData();
$this->load->view('template',$template);
}
function addCategory(){
$this->load->model('Category_model');
$template['categoryData'] = $this->Category_model->getCategoryData();
$template['page'] = 'Category/categoryAddForm';
$template['menu'] = 'Category Management';
$template['smenu'] = 'Add Category';
$template['pTitle'] = "Add Category";
$template['pDescription'] = "Create New Category";
$this->load->view('template',$template);
}
function createCategory(){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_POST) || empty($_POST)){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/addCategory'));
}
$err = 0;
$errMsg = '';
if($err == 0 && (!isset($_POST['category']) || empty($_POST['category']))){
$err = 1;
$errMsg = 'Provide a Category Name';
} else if($err == 0 && (!isset($_POST['category_description']) || empty($_POST['category_description']))){
$err = 1;
$errMsg = 'Provide a Category Description';
} else if($err == 0 && (!isset($_FILES) || empty($_FILES) ||
!isset($_FILES['category_image']) || empty($_FILES['category_image']))){
$err = 1;
$errMsg = 'Provide a Category Icon';
}
if($err == 0){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['category_image']['name'];
$this->upload->initialize($config);
if(!$this->upload->do_upload('category_image')){
$err = 1;
$errMsg = $this->upload->display_errors();
}else{
$upload_data = $this->upload->data();
$_POST['category_image'] = $config['upload_path']."/".$upload_data['file_name'];
}
}
if($err == 1){
$flashMsg['message'] = $errMsg;
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/addCategory'));
}
$status = $this->Category_model->createCategory($_POST);
if($status == 1){
$flashMsg['class'] = 'success';
$flashMsg['message'] = 'Category Created';
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/listCategory'));
}
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/addCategory'));
}
function editCategory($category_id=''){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($category_id) || empty(decode_param($category_id))){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/listCategory'));
}
$template['page'] = 'Category/categoryAddForm';
$template['menu'] = 'Category Management';
$template['smenu'] = 'Edit Category';
$template['pTitle'] = "Edit Category";
$template['pDescription'] = "Update Category Data";
$template['category_id'] = $category_id;
$template['categoryData'] = $this->Category_model->getCategoryData(decode_param($category_id));
$this->load->view('template',$template);
}
function updateCategory($category_id=''){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_POST) || empty($_POST) || empty($category_id)){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/listCategory'));
}
$err = 0;
$errMsg = '';
if($err == 0 && (!isset($_POST['category']) || empty($_POST['category']))){
$err = 1;
$errMsg = 'Provide a Category Name';
} else if($err == 0 && (!isset($_POST['category_description']) || empty($_POST['category_description']))){
$err = 1;
$errMsg = 'Provide a Category Description';
} else if($err == 0 && (!isset($_FILES) || empty($_FILES) ||
!isset($_FILES['category_image']) || empty($_FILES['category_image']))){
$err = 1;
$errMsg = 'Provide a Category Icon';
}
if($err == 0){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['category_image']['name'];
$this->upload->initialize($config);
if($this->upload->do_upload('category_image')){
$upload_data = $this->upload->data();
$_POST['category_image'] = $config['upload_path']."/".$upload_data['file_name'];
}
}
if($err == 1){
$flashMsg['message'] = $errMsg;
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/editCategory/'.$category_id));
}
$status = $this->Category_model->updateCategory(decode_param($category_id),$_POST);
if($status == 1){
$flashMsg['class'] = 'success';
$flashMsg['message'] = 'Category Created';
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/listCategory'));
}
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/editCategory/'.$category_id));
}
function changeStatus($category_id = '',$status = '1'){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($category_id)){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Category/listCategory'));
}
$category_id = decode_param($category_id);
$status = $this->Category_model->changeStatus($category_id,$status);
if(!$status){
$this->session->set_flashdata('message',$flashMsg);
}
redirect(base_url('Category/listCategory'));
}
}
?>
\ No newline at end of file
...@@ -30,6 +30,11 @@ class Event extends CI_Controller { ...@@ -30,6 +30,11 @@ class Event extends CI_Controller {
$template['venue_id'] = ''; $template['venue_id'] = '';
if(isset($_POST['venue_id']) && !empty($_POST['venue_id'])){ if(isset($_POST['venue_id']) && !empty($_POST['venue_id'])){
$this->load->model('Tag_model');
$this->load->model('Category_model');
$template['tag_data'] = $this->Tag_model->getTagData('','1');
$template['category_data'] = $this->Category_model->getCategoryData('','1');
$template['venue_id'] = $_POST['venue_id']; $template['venue_id'] = $_POST['venue_id'];
$template['venueData'] = $this->Venue_model->getVenueData($template['venue_id']); $template['venueData'] = $this->Venue_model->getVenueData($template['venue_id']);
} }
...@@ -55,88 +60,124 @@ class Event extends CI_Controller { ...@@ -55,88 +60,124 @@ class Event extends CI_Controller {
$err = 0; $err = 0;
$errMsg = ''; $errMsg = '';
if($err == 0 && (!isset($_POST['region_id']) || empty($_POST['region_id']))){ if($err == 0 && (!isset($_POST['event_name']) || empty($_POST['event_name']))){
$err = 1;
$errMsg = 'Provide Event Name';
} else if ($err == 0 && (!isset($_POST['event_discription']) || $_POST['event_discription']=='')){
$err = 1; $err = 1;
$errMsg = 'Select a region'; $errMsg = 'Provide Event Discription';
} else if ($err == 0 && (!isset($_POST['event_name']) || $_POST['event_name'] == '' )){ } else if ($err == 0 && (!isset($_POST['event_start_date']) || $_POST['event_start_date'] == '')){
$err = 1; $err = 1;
$errMsg = 'Provide a Event Name'; $errMsg = 'Provide Event Start Date';
} else if ($err == 0 && (!isset($_POST['location']) || $_POST['location'] == '' )){ } else if ($err == 0 && (!isset($_POST['event_time']) || count($_POST['event_time']) <= 0)){
$err = 1; $err = 1;
$errMsg = 'Provide a Location'; $errMsg = 'Provide Event Timing';
} else if ($err == 0 && (!isset($_POST['host_cat_id']) || $_POST['host_cat_id'] == '' )){ } else if ($err == 0 && (!isset($_POST['category_id']) || $_POST['category_id'] == '')){
$err = 1; $err = 1;
$errMsg = 'Select a Host'; $errMsg = 'Provide Event Category';
} else if ($err == 0 && (!isset($_POST['event_details']) || $_POST['event_details'] == '' )){ } else if ($err == 0 && (!isset($_POST['tags']) || count($_POST['tags']) <= 0)){
$err = 1; $err = 1;
$errMsg = 'Provide Proper Event Details'; $errMsg = 'Provide Proper Event Details';
} else if ($err == 0 && isset($_POST['has_layout']) && $_POST['has_layout'] == 1 && } else if ($err == 0 && isset($_POST['fare_type']) && $_POST['fare_type'] == 1 &&
(!isset($_POST['seat_color']) || empty($_POST['seat_color']) || !isset($_FILES) || !isset($_POST['seat_color']) || empty($_POST['seat_color']) ||
!isset($_POST['seat_price']) || empty($_POST['seat_price']) || empty($_FILES) || !isset($_POST['seat_price']) || empty($_POST['seat_price']) ||
count($_POST['seat_price']) != count($_POST['seat_color'])) || !isset($_FILES['layout_image'])|| count($_POST['seat_price']) != count($_POST['seat_color'])){
empty($_FILES['layout_image'])){
$err = 1; $err = 1;
$errMsg = 'Provide Proper Layout details'; $errMsg = 'Provide Proper Layout details';
} }
if(isset($_POST['has_layout']) && $_POST['has_layout'] == 1){ $_POST['seat_pricing'] = $_POST['custom_seat_layout'] = '';
$config = set_upload_service("assets/uploads/services"); if(isset($_POST['fare_type']) && $_POST['fare_type'] == 1){
$this->load->library('upload'); $cstmSeatLayout = array();
$config['file_name'] = time()."_".$_FILES['layout_image']['name']; for($i = 0 ; $i < count($_POST['seat_color']) ; $i++){
$this->upload->initialize($config); $cstmSeatLayout[] = array('color'=>$_POST['seat_color'][$i],
if(!$this->upload->do_upload('layout_image')){ 'price'=>$_POST['seat_price'][$i]);
$err = 1; }
$errMsg = $this->upload->display_errors(); $_POST['custom_seat_layout'] = json_encode($cstmSeatLayout);
}else{ } else {
$upload_data = $this->upload->data(); $_POST['seat_pricing'] = json_encode(
$_POST['layout'] = $config['upload_path']."/".$upload_data['file_name']; array('price'=>$_POST['price'],
'price_details'=>$_POST['price_details']
)
);
} }
$seatLayoutDetails = array(); $provider = ($this->session->userdata['user_type']==1)?'1':$this->session->userdata['id'];
foreach($_POST['seat_color'] AS $index => $value){ $eventData = array('venue_id'=>$_POST['venue_id'],
$seatLayoutDetails[] = array('color'=>$value,'price'=>$_POST['seat_price'][$index]); 'event_name'=>$_POST['event_name'],
'category_id'=>$_POST['category_id'],
'provider_id'=>$provider,
'seat_pricing'=>$_POST['seat_pricing'],
'event_discription'=>$_POST['event_discription'],
'custom_seat_layout'=>$_POST['custom_seat_layout']);
$event_id = $this->Event_model->createEvent($eventData);
if(!empty($event_id)){
$insertEventDate = array();
if(isset($_POST['schedule_type']) && $_POST['schedule_type'] == 0){
$date = strtotime($_POST['event_start_date']);
$date = date('Y-m-d',$date);
foreach ($_POST['event_time'] AS $time) {
$insertEventDate[] = array('event_id'=>$event_id,'date'=>$date,'time'=>$time);
} }
$_POST['layout_details'] = json_encode($seatLayoutDetails);
} else { } else {
$_POST['layout'] = $_POST['layout_details'] = ''; $cdate = strtotime($_POST['event_start_date']);
while ($cdate <= strtotime($_POST['event_end_date'])) {
$cdate = date('Y-m-d',$cdate);
foreach ($_POST['event_time'] AS $time) {
$insertEventDate[] = array('event_id'=>$event_id,'date'=>$cdate,'time'=>$time);
} }
$cdate = strtotime($cdate . ' +1 day');
$locData = getLocationLatLng($_POST['location']);
if(empty($locData)){
$err = 1;
$errMsg = 'Provide a valid Location';
} }
if($err == 1){
$flashMsg['message'] = $errMsg;
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/addEvent'));
} }
$status = $this->Event_model->createEventDateTime($insertEventDate);
$_POST['location_lat'] = $locData['lat']; $insertTag = array();
$_POST['location_lng'] = $locData['lng']; foreach ($_POST['tags'] AS $tag) {
$insertTag[] = array('event_id'=>$event_id,'tag_id'=>$tag);
unset($_POST['has_layout'],$_POST['seat_color'],$_POST['seat_price']); }
$status = $this->Event_model->createTags($insertTag);
$evtMediaData = array();
if(!empty($files = $_FILES)){
$images = array();
$this->load->library('upload',set_upload_service("assets/uploads/services"));
for ($typ = 0; $typ < count($files); $typ++) {
$_FILES['file']['name'] = $files['event_image']['name'][$typ];
$_FILES['file']['type'] = $files['event_image']['type'][$typ];
$_FILES['file']['size'] = $files['event_image']['size'][$typ];
$_FILES['file']['error'] = $files['event_image']['error'][$typ];
$_FILES['file']['tmp_name'] = $files['event_image']['tmp_name'][$typ];
if($this->upload->do_upload('file')){
$imgData = $this->upload->data();
$evtMediaData[] = array(
'event_id'=>$event_id,
'media_type'=>'1',
'media_url'=>"assets/uploads/services/".$imgData['file_name']);
}
}
$status = $this->Event_model->createEventMedia($evtMediaData);
}
$status = $this->Event_model->createEvent($_POST);
if($status == 1){
$flashMsg['class'] = 'success'; $flashMsg['class'] = 'success';
$flashMsg['message'] = 'Event Created'; $flashMsg['message'] = 'Event Created';
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/listEvent')); redirect(base_url('Event/listEvents'));
} }
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/addEvent')); redirect(base_url('Event/addEvent'));
} }
function editEvent($event_id=''){ function editEvents($event_id=''){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($event_id) || empty(decode_param($event_id))){ if(empty($event_id) || empty(decode_param($event_id))){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/listEvent')); redirect(base_url('Event/listEvents'));
} }
$template['page'] = 'Event/eventAddForm'; $template['page'] = 'Event/eventEditForm';
$template['menu'] = 'Event Management'; $template['menu'] = 'Event Management';
$template['smenu'] = 'Edit Event'; $template['smenu'] = 'Edit Event';
$template['pTitle'] = "Edit Event"; $template['pTitle'] = "Edit Event";
...@@ -145,10 +186,10 @@ class Event extends CI_Controller { ...@@ -145,10 +186,10 @@ class Event extends CI_Controller {
$template['event_id'] = $event_id; $template['event_id'] = $event_id;
$template['event_data'] = $this->Event_model->getEventData(decode_param($event_id)); $template['event_data'] = $this->Event_model->getEventData(decode_param($event_id));
$this->load->model('Host_model'); $this->load->model('Tag_model');
$this->load->model('Region_model'); $this->load->model('Category_model');
$template['host_data'] = $this->Host_model->getHostCategories(); $template['tag_data'] = $this->Tag_model->getTagData('','1');
$template['regionData'] = $this->Region_model->getRegionData(); $template['category_data'] = $this->Category_model->getCategoryData('','1');
$this->load->view('template',$template); $this->load->view('template',$template);
} }
...@@ -156,96 +197,143 @@ class Event extends CI_Controller { ...@@ -156,96 +197,143 @@ class Event extends CI_Controller {
function updateEvent($event_id=''){ function updateEvent($event_id=''){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_POST) || empty($_POST) || empty($event_id)){ if(empty($event_id) || empty($event_id = decode_param($event_id)) ||
!isset($_POST) || empty($_POST)){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/listEvent')); redirect(base_url('Event/listEvents'));
} }
$err = 0; $err = 0;
$errMsg = ''; $errMsg = '';
if($err == 0 && (!isset($_POST['region_id']) || empty($_POST['region_id']))){ if($err == 0 && (!isset($_POST['event_name']) || empty($_POST['event_name']))){
$err = 1; $err = 1;
$errMsg = 'Select a region'; $errMsg = 'Provide Event Name';
} else if ($err == 0 && (!isset($_POST['event_name']) || $_POST['event_name'] == '' )){ } else if ($err == 0 && (!isset($_POST['event_discription']) || $_POST['event_discription']=='')){
$err = 1; $err = 1;
$errMsg = 'Provide a Event Name'; $errMsg = 'Provide Event Discription';
} else if ($err == 0 && (!isset($_POST['location']) || $_POST['location'] == '' )){ } else if ($err == 0 && (!isset($_POST['event_start_date']) || $_POST['event_start_date'] == '')){
$err = 1; $err = 1;
$errMsg = 'Provide a Location'; $errMsg = 'Provide Event Start Date';
} else if ($err == 0 && (!isset($_POST['host_cat_id']) || $_POST['host_cat_id'] == '' )){ } else if ($err == 0 && (!isset($_POST['event_time']) || count($_POST['event_time']) <= 0)){
$err = 1; $err = 1;
$errMsg = 'Select a Host'; $errMsg = 'Provide Event Timing';
} else if ($err == 0 && (!isset($_POST['event_details']) || $_POST['event_details'] == '' )){ } else if ($err == 0 && (!isset($_POST['category_id']) || $_POST['category_id'] == '')){
$err = 1;
$errMsg = 'Provide Event Category';
} else if ($err == 0 && (!isset($_POST['tags']) || count($_POST['tags']) <= 0)){
$err = 1; $err = 1;
$errMsg = 'Provide Proper Event Details'; $errMsg = 'Provide Proper Event Details';
} else if ($err == 0 && isset($_POST['has_layout']) && $_POST['has_layout'] == 1 && } else if ($err == 0 && isset($_POST['fare_type']) && $_POST['fare_type'] == 1 &&
(!isset($_FILES,$_POST['seat_price'],$_POST['seat_color'],$_FILES['layout_image']) || !isset($_POST['seat_color']) || empty($_POST['seat_color']) ||
empty($_POST['seat_color']) || empty($_POST['seat_price']) || empty($_FILES) || !isset($_POST['seat_price']) || empty($_POST['seat_price']) ||
count($_POST['seat_price']) != count($_POST['seat_color']) || empty($_FILES['layout_image']))){ count($_POST['seat_price']) != count($_POST['seat_color'])){
$err = 1; $err = 1;
$errMsg = 'Provide Proper Layout details'; $errMsg = 'Provide Proper Layout details';
} }
if(isset($_POST['has_layout']) && $_POST['has_layout'] == 1){ $_POST['seat_pricing'] = $_POST['custom_seat_layout'] = '';
$config = set_upload_service("assets/uploads/services"); if(isset($_POST['fare_type']) && $_POST['fare_type'] == 1){
$this->load->library('upload'); $cstmSeatLayout = array();
$config['file_name'] = time()."_".$_FILES['layout_image']['name']; for($i = 0 ; $i < count($_POST['seat_color']) ; $i++){
$this->upload->initialize($config); $cstmSeatLayout[] = array('color'=>$_POST['seat_color'][$i],
if($this->upload->do_upload('layout_image')){ 'price'=>$_POST['seat_price'][$i]);
$upload_data = $this->upload->data(); }
$_POST['layout'] = $config['upload_path']."/".$upload_data['file_name']; $_POST['custom_seat_layout'] = json_encode($cstmSeatLayout);
} else {
$_POST['seat_pricing'] = json_encode(
array('price'=>$_POST['price'],
'price_details'=>$_POST['price_details']
)
);
} }
$seatLayoutDetails = array(); $provider = ($this->session->userdata['user_type']==1)?'1':$this->session->userdata['id'];
foreach($_POST['seat_color'] AS $index => $value){ $eventData = array('venue_id'=>$_POST['venue_id'],
$seatLayoutDetails[] = array('color'=>$value,'price'=>$_POST['seat_price'][$index]); 'event_name'=>$_POST['event_name'],
'category_id'=>$_POST['category_id'],
'provider_id'=>$provider,
'seat_pricing'=>$_POST['seat_pricing'],
'event_discription'=>$_POST['event_discription'],
'custom_seat_layout'=>$_POST['custom_seat_layout']);
$status = $this->Event_model->updateEvent($event_id, $eventData);
if($status){
$insertEventDate = array();
if(isset($_POST['schedule_type']) && $_POST['schedule_type'] == 0){
$date = strtotime($_POST['event_start_date']);
$date = date('Y-m-d',$date);
foreach ($_POST['event_time'] AS $time) {
$insertEventDate[] = array('event_id'=>$event_id,'date'=>$date,'time'=>$time);
} }
$_POST['layout_details'] = json_encode($seatLayoutDetails);
} else { } else {
$_POST['layout'] = $_POST['layout_details'] = ''; $cdate = strtotime($_POST['event_start_date']);
while ($cdate <= strtotime($_POST['event_end_date'])) {
$cdate = date('Y-m-d',$cdate);
foreach ($_POST['event_time'] AS $time) {
$insertEventDate[] = array('event_id'=>$event_id,'date'=>$cdate,'time'=>$time);
} }
$cdate = strtotime($cdate . ' +1 day');
$locData = getLocationLatLng($_POST['location']);
if(empty($locData)){
$err = 1;
$errMsg = 'Provide a valid Location';
} }
if($err == 1){
$flashMsg['message'] = $errMsg;
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/addEvent'));
} }
$status = $this->Event_model->updateEventDateTime($event_id,$insertEventDate);
$_POST['location_lat'] = $locData['lat']; $insertTag = array();
$_POST['location_lng'] = $locData['lng']; foreach ($_POST['tags'] AS $tag) {
$insertTag[] = array('event_id'=>$event_id,'tag_id'=>$tag);
}
$status = $this->Event_model->updateTags($event_id,$insertTag);
$evtMediaData = array();
if(isset($_FILES) && isset($_FILES['event_image']) && isset($_FILES['event_image']['name']) &&
count($_FILES['event_image']['name']) > 1){
$files = $_FILES;
$images = array();
$this->load->library('upload',set_upload_service("assets/uploads/services"));
for ($typ = 0; $typ < count($files['event_image']['name']); $typ++) {
$_FILES['file']['name'] = $files['event_image']['name'][$typ];
$_FILES['file']['type'] = $files['event_image']['type'][$typ];
$_FILES['file']['size'] = $files['event_image']['size'][$typ];
$_FILES['file']['error'] = $files['event_image']['error'][$typ];
$_FILES['file']['tmp_name'] = $files['event_image']['tmp_name'][$typ];
if($this->upload->do_upload('file')){
$imgData = $this->upload->data();
$evtMediaData[] = array(
'event_id'=>$event_id,
'media_type'=>'1',
'media_url'=>"assets/uploads/services/".$imgData['file_name']);
}
}
}
unset($_POST['has_layout'],$_POST['seat_color'],$_POST['seat_price']); $existingImages = (isset($_POST['existingImages']) && !empty($_POST['existingImages']))?
$_POST['existingImages']:'';
$status = $this->Event_model->updateEventMedia($event_id,$evtMediaData,$existingImages);
$status = $this->Event_model->updateEvent(decode_param($event_id),$_POST);
if($status == 1){
$flashMsg['class'] = 'success'; $flashMsg['class'] = 'success';
$flashMsg['message'] = 'Event Created'; $flashMsg['message'] = 'Event Created';
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/listEvent')); redirect(base_url('Event/listEvents'));
} }
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/editEvent/'.$event_id)); redirect(base_url('Event/listEvents'));
} }
function changeStatus($event_id = '',$status = '1'){ function changeStatus($event_id = '',$status = '1'){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error'); $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($event_id)){ if(empty($event_id)){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Event/listEvent')); redirect(base_url('Event/listEvents'));
} }
$event_id = decode_param($event_id); $event_id = decode_param($event_id);
$status = $this->Event_model->changeStatus($event_id,$status); $status = $this->Event_model->changeStatus($event_id,$status);
if(!$status){ if(!$status){
$this->session->set_flashdata('message',$flashMsg); $this->session->set_flashdata('message',$flashMsg);
} }
redirect(base_url('Event/listEvent')); redirect(base_url('Event/listEvents'));
} }
function getEventData(){ function getEventData(){
...@@ -254,12 +342,13 @@ class Event extends CI_Controller { ...@@ -254,12 +342,13 @@ class Event extends CI_Controller {
empty($event_id = decode_param($_POST['event_id']))){ empty($event_id = decode_param($_POST['event_id']))){
echo json_encode($resArr);exit; echo json_encode($resArr);exit;
} }
$eventData = $this->Event_model->getEventData($event_id); $this->load->model('Tag_model');
if(!empty($eventData)){
$resArr['status'] = 1; $data['event'] = $this->Event_model->getEventData($event_id);
$resArr['data'] = $eventData; $data['tag_data'] = $this->Tag_model->getTagData('','1');
} $viewPage = $this->load->view('Event/viewEventDetails',$data,true);
echo json_encode($resArr);exit;
echo $viewPage;exit;
} }
} }
?> ?>
\ No newline at end of file
...@@ -7,10 +7,218 @@ class Provider extends CI_Controller { ...@@ -7,10 +7,218 @@ class Provider extends CI_Controller {
parent::__construct(); parent::__construct();
date_default_timezone_set("Asia/Kolkata"); date_default_timezone_set("Asia/Kolkata");
$this->load->model('Provider_model'); $this->load->model('Provider_model');
$this->load->model('Dashboard_model');
if(!$this->session->userdata('logged_in')) { if(!$this->session->userdata('logged_in')) {
redirect(base_url('Login')); redirect(base_url());
}
}
public function addProvider(){
$template['page'] = 'Provider/providerForm';
$template['menu'] = 'Provider Management';
$template['smenu'] = 'Add Provider';
$template['pTitle'] = "Add Provider";
$template['pDescription'] = "Create New Provider";
$this->load->view('template',$template);
}
public function viewProviders(){
$template['page'] = 'Provider/viewProvider';
$template['menu'] = 'Provider Management';
$template['smenu'] = 'View Providers';
$template['pTitle'] = "View Providers";
$template['pDescription'] = "View and Manage Providers";
$template['page_head'] = "Provider Management";
$template['provider_data'] = $this->Provider_model->getProviderData('','0,1');
$this->load->view('template',$template);
}
public function getProviderData(){
$resArr = array('status'=>0);
if(!isset($_POST)||empty($_POST)||!isset($_POST['provider_id'])||empty($_POST['provider_id']) ||
!is_numeric($provider_id = decode_param($_POST['provider_id']))){
echo json_encode($resArr);exit;
}
$view_all = (isset($_POST['view_all']) && $_POST['view_all'] == 1)?1:0;
$mechData = $this->Provider_model->getProviderData($provider_id,$view_all);
if(empty($mechData)){
echo json_encode($resArr);exit;
}
$resArr['status'] = 1;
$resArr['data'] = $mechData;
echo json_encode($resArr);exit;
}
function changeStatus($provider_id = '',$status = '1'){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($provider_id) || !is_numeric($provider_id = decode_param($provider_id))){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Provider/viewProviders'));
}
$status = $this->Provider_model->changeStatus($provider_id,$status);
if(!$status){
$this->session->set_flashdata('message',$flashMsg);
}
redirect(base_url('Provider/viewProviders'));
}
public function createProvider(){
$err = 0;
$errMsg = '';
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_POST) || empty($_POST) || !isset($_FILES) || empty($_FILES)){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Provider/addProvider'));
}
if($err == 0 && (!isset($_POST['display_name']) || empty($_POST['display_name']))){
$err = 1;
$errMsg = 'Provide a Display Name';
}else if($err == 0 && (!isset($_POST['username']) || empty($_POST['username']))){
$err = 1;
$errMsg = 'Provide a User Name';
}else if($err == 0 && (!isset($_POST['password']) || empty($_POST['password']) ||
empty($_POST['password'] = md5($_POST['password'])))){
$err = 1;
$errMsg = 'Provide a Password';
}else if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){
$err = 1;
$errMsg = 'Provide a Name';
}else if($err == 0 && (!isset($_POST['email']) || empty($_POST['email']))){
$err = 1;
$errMsg = 'Provide an Email ID';
}else if($err == 0 && (!isset($_POST['phone']) || empty($_POST['phone']))){
$err = 1;
$errMsg = 'Provide a Phone Number';
}
if($err == 0){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['profile_image']['name'];
$this->upload->initialize($config);
if(!$this->upload->do_upload('profile_image')){
$err = 1;
$errMsg = $this->upload->display_errors();
}else{
$upload_data = $this->upload->data();
$_POST['profile_image'] = $config['upload_path']."/".$upload_data['file_name'];
}
}
if($err == 1){
$flashMsg['message'] = $errMsg;
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Provider/addProvider'));
}
$status = $this->Provider_model->addProvider($_POST);
if($status == 1){
$flashMsg =array('message'=>'Successfully Updated User Details..!','class'=>'success');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/viewProviders'));
} else if($status == 2){
$flashMsg = array('message'=>'Email ID alrady exist..!','class'=>'error');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/addProvider'));
} else if($status == 3){
$flashMsg = array('message'=>'Phone Number alrady exist..!','class'=>'error');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/addProvider'));
} else if($status == 4){
$flashMsg = array('message'=>'User Name alrady exist..!','class'=>'error');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/addProvider'));
} else {
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/addProvider'));
}
}
public function editProviders($provider_id){
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(empty($provider_id) || !is_numeric($provider_id = decode_param($provider_id))){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Provider/viewProviders'));
}
$template['page'] = 'Provider/providerForm';
$template['menu'] = 'Provider Management';
$template['smenu'] = 'Edit Provider';
$template['pTitle'] = "Edit Providers";
$template['pDescription'] = "Update Provider Data";
$template['provider_data'] = $this->Provider_model->getProviderData($provider_id,1);
$template['provider_id'] = encode_param($provider_id);
$this->load->view('template',$template);
}
public function updateProvider($provider_id = ''){
$err = 0;
$errMsg = '';
$flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'error');
if(!isset($_POST) || empty($_POST) || !isset($_FILES) || empty($_FILES)){
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Provider/addProvider'));
}
if($err == 0 && (!isset($_POST['display_name']) || empty($_POST['display_name']))){
$err = 1;
$errMsg = 'Provide a Display Name';
}else if($err == 0 && (!isset($_POST['username']) || empty($_POST['username']))){
$err = 1;
$errMsg = 'Provide a User Name';
}else if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){
$err = 1;
$errMsg = 'Provide a Name';
}else if($err == 0 && (!isset($_POST['email']) || empty($_POST['email']))){
$err = 1;
$errMsg = 'Provide an Email ID';
}else if($err == 0 && (!isset($_POST['phone']) || empty($_POST['phone']))){
$err = 1;
$errMsg = 'Provide a Phone Number';
}
if($err == 0){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['profile_image']['name'];
$this->upload->initialize($config);
if($this->upload->do_upload('profile_image')){
$upload_data = $this->upload->data();
$_POST['profile_image'] = $config['upload_path']."/".$upload_data['file_name'];
}
}
if($err == 1){
$flashMsg['message'] = $errMsg;
$this->session->set_flashdata('message',$flashMsg);
redirect(base_url('Provider/editProviders/'.$provider_id));
}
$status = $this->Provider_model->updateProvider(decode_param($provider_id),$_POST);
if($status == 1){
$flashMsg =array('message'=>'Successfully Updated User Details..!','class'=>'success');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/viewProviders'));
} else if($status == 2){
$flashMsg = array('message'=>'Email ID alrady exist..!','class'=>'error');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/editProviders/'.$provider_id));
} else if($status == 3){
$flashMsg = array('message'=>'Phone Number alrady exist..!','class'=>'error');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/editProviders/'.$provider_id));
} else if($status == 4){
$flashMsg = array('message'=>'User Name alrady exist..!','class'=>'error');
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/editProviders/'.$provider_id));
} else {
$this->session->set_flashdata('message', $flashMsg);
redirect(base_url('Provider/editProviders/'.$provider_id));
} }
} }
} }
......
...@@ -51,6 +51,24 @@ class Region extends CI_Controller { ...@@ -51,6 +51,24 @@ class Region extends CI_Controller {
if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){ if($err == 0 && (!isset($_POST['name']) || empty($_POST['name']))){
$err = 1; $err = 1;
$errMsg = 'Provide a Region Name'; $errMsg = 'Provide a Region Name';
} else if($err == 0 && (!isset($_FILES) || !isset($_FILES['region_icon']) ||
empty($_FILES['region_icon']))){
$err = 1;
$errMsg = 'Provide a Region Icon';
}
if($err == 0){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['region_icon']['name'];
$this->upload->initialize($config);
if(!$this->upload->do_upload('region_icon')){
$err = 1;
$errMsg = $this->upload->display_errors();
}else{
$upload_data = $this->upload->data();
$_POST['region_icon'] = $config['upload_path']."/".$upload_data['file_name'];
}
} }
if($err == 1){ if($err == 1){
...@@ -109,6 +127,31 @@ class Region extends CI_Controller { ...@@ -109,6 +127,31 @@ class Region extends CI_Controller {
redirect(base_url('Region/editRegion/'.$region_id)); redirect(base_url('Region/editRegion/'.$region_id));
} }
if(isset($_FILES) && isset($_FILES['region_icon']) && !empty($_FILES['region_icon'])){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['region_icon']['name'];
$this->upload->initialize($config);
if($this->upload->do_upload('region_icon')){
$upload_data = $this->upload->data();
$_POST['region_icon'] = $config['upload_path']."/".$upload_data['file_name'];
}
}
if($err == 0){
$config = set_upload_service("assets/uploads/services");
$this->load->library('upload');
$config['file_name'] = time()."_".$_FILES['region_icon']['name'];
$this->upload->initialize($config);
if(!$this->upload->do_upload('region_icon')){
$err = 1;
$errMsg = $this->upload->display_errors();
}else{
$upload_data = $this->upload->data();
$_POST['region_icon'] = $config['upload_path']."/".$upload_data['file_name'];
}
}
$status = $this->Region_model->updateRegion(decode_param($region_id),$_POST); $status = $this->Region_model->updateRegion(decode_param($region_id),$_POST);
if($status == 1){ if($status == 1){
$flashMsg['class'] = 'success'; $flashMsg['class'] = 'success';
......
<?php
class Category_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
public function getCategoryData($category_id='',$view=''){
$cond = (!empty($view))?" status IN ($view) ":" status != '2' ";
$cond .= (!empty($category_id))?" AND cat_id='$category_id' ":"";
$categoryData = $this->db->query("SELECT * FROM event_category WHERE $cond");
if(!empty($categoryData)){
return (empty($category_id))?$categoryData->result():$categoryData->row();
}
return 0;
}
public function createCategory($categoryData = array()){
if(empty($categoryData)){
return 0;
}
$status = $this->db->insert('event_category',$categoryData);
return $status;
}
public function updateCategory($category_id = '', $categoryData = array()){
if(empty($category_id) || empty($categoryData)){
return 0;
}
$status = $this->db->update('event_category',$categoryData,array('cat_id'=>$category_id));
return $status;
}
public function changeStatus($category_id = '', $status = '0'){
if(empty($category_id)){
return 0;
}
$status = $this->db->update('event_category',array('status'=>$status),array('cat_id'=>$category_id));
return $status;
}
}
?>
\ No newline at end of file
...@@ -5,36 +5,192 @@ class Event_model extends CI_Model { ...@@ -5,36 +5,192 @@ class Event_model extends CI_Model {
} }
public function getEventData($event_id='',$view=''){ public function getEventData($event_id='',$view=''){
$cond = (!empty($view))?" VNE.status IN ($view) ":" VNE.status != '2' "; $cond = (!empty($view))?" EVT.status IN ($view) ":" EVT.status != '2' ";
$cond .= (!empty($event_id))?" AND VNE.id='$event_id' ":""; $cond .= (!empty($event_id))?" AND EVT.event_id='$event_id' ":"";
$sql = "SELECT VNE.id AS event_id,VNE.*,REG.name AS region_name,HST.host_category,HST.show_layout $sql = "SELECT EVT.*,EVT.status AS event_status,VEN.*,REG.name AS region_name,CAT.*,PRV.*,HST.*
FROM venue AS VNE FROM events AS EVT
INNER JOIN region AS REG ON (VNE.region_id=REG.id) INNER JOIN venue AS VEN ON (EVT.venue_id=VEN.id)
INNER JOIN host_categories AS HST ON (HST.host_cat_id=VNE.host_cat_id) INNER JOIN region AS REG ON (REG.id=VEN.region_id)
LEFT JOIN provider AS PRV ON (PRV.provider_id=EVT.provider_id)
INNER JOIN event_category AS CAT ON (CAT.cat_id=EVT.category_id)
INNER JOIN host_categories AS HST ON (HST.host_cat_id=VEN.host_cat_id)
WHERE $cond"; WHERE $cond";
$venueData = $this->db->query($sql); $eventData = $this->db->query($sql);
if(!empty($venueData)){ if(empty($eventData)){
return (empty($event_id))?$venueData->result():$venueData->row(); return 0;
}
if(empty($event_id)){
$eventData = $eventData->result();
foreach ($eventData AS $index => $event) {
$respData = $this->getEventDetails($event->event_id);
$eventData[$index]->eventTags = $respData['eventTags'];
$eventData[$index]->eventMedia = $respData['eventMedia'];
$eventData[$index]->eventSchedule = $respData['eventSchedule'];
}
} else {
$eventData = $eventData->row();
$respData = $this->getEventDetails($eventData->event_id);
$eventData->eventTags = $respData['eventTags'];
$eventData->eventMedia = $respData['eventMedia'];
$eventData->eventSchedule = $respData['eventSchedule'];
}
return $eventData;
}
function getEventDetails($event_id = ''){
if(empty($event_id)){
return 0;
}
$respArr = array('eventMedia'=>'','eventSchedule'=>'','eventTags'=>'');
$sql = "SELECT DISTINCT `date` FROM event_date_time WHERE event_id='$event_id' AND status='1'";
$scheduleData = $this->db->query($sql);
if(!empty($scheduleData)){
$evtDate = array();
foreach ($scheduleData->result() AS $date) {
$evtDate[] = $date->date;
}
$respArr['eventSchedule']['date'] = $evtDate;
}
$sql = "SELECT DISTINCT `tag_id` FROM event_tags WHERE event_id='$event_id' AND status='1'";
$tagData = $this->db->query($sql);
if(!empty($tagData)){
$evtTags = array();
foreach ($tagData->result() AS $tag) {
$evtTags[] = $tag->tag_id;
}
$respArr['eventTags'] = $evtTags;
}
$sql = "SELECT DISTINCT `time` FROM event_date_time WHERE event_id='$event_id' AND status='1'";
$scheduleData = $this->db->query($sql);
if(!empty($scheduleData)){
$evtTime = array();
foreach ($scheduleData->result() AS $time) {
$evtTime[] = $time->time;
}
$respArr['eventSchedule']['time'] = $evtTime;
}
$sql = "SELECT id,media_type,media_url
FROM event_gallery
WHERE event_id='$event_id' AND status='1'";
$evtMediaData = $this->db->query($sql);
if(!empty($evtMediaData)){
$mediaData = array();
foreach ($evtMediaData->result() AS $media) {
$tempMedia = array('id'=>$media->id,
'media_url'=>$media->media_url,
'media_type'=>$media->media_type);
$mediaData[$media->media_type][] = $tempMedia;
}
$respArr['eventMedia'] = $mediaData;
}
return $respArr;
}
public function createEvent($eventData = array()){
if(empty($eventData)){
return 0;
}
$status = $this->db->insert('events',$eventData);
if($status){
return $this->db->insert_id();
} }
return 0; return 0;
} }
public function createEvent($venueData = array()){ public function updateEvent($event_id = '',$eventData = array()){
if(empty($venueData)){ if(empty($event_id) || empty($eventData)){
return 0; return 0;
} }
$status = $this->db->insert('venue',$venueData); $status = $this->db->update('events',$eventData,array('event_id'=>$event_id));
return ($status)?1:0;
}
public function createTags($eventData = array()){
if(empty($eventData)){
return 0;
}
$status = $this->db->insert_batch('event_tags',$eventData);
return $status;
}
public function updateTags($event_id = '', $eventData = array()){
if(empty($event_id) || empty($eventData)){
return 0;
}
$this->db->delete('event_tags',array('event_id'=>$event_id));
$status = $this->db->insert_batch('event_tags',$eventData);
return $status;
}
public function createEventDateTime($eventData = array()){
if(empty($eventData)){
return 0;
}
$status = $this->db->insert_batch('event_date_time',$eventData);
return $status;
}
public function updateEventDateTime($event_id = '', $eventData = array()){
if(empty($event_id) || empty($eventData)){
return 0;
}
$this->db->delete('event_date_time',array('event_id'=>$event_id));
$status = $this->db->insert_batch('event_date_time',$eventData);
return $status;
}
public function createEventMedia($eventData = array()){
if(empty($eventData)){
return 0;
}
$status = $this->db->insert_batch('event_gallery',$eventData);
return $status;
}
public function updateEventMedia($event_id = '', $eventData = array(), $existingImages = array()){
if(empty($event_id)){
return 0;
}
if(!empty($existingImages)){
$this->db->query("DELETE FROM event_gallery
WHERE id NOT IN (".implode(",",$existingImages).") AND event_id=$event_id");
} else {
$this->db->query("DELETE FROM event_gallery WHERE event_id='$event_id'");
}
if(!empty($eventData)){
$status = $this->db->insert_batch('event_gallery',$eventData);
}
return $status; return $status;
} }
public function updateEvents($event_id = '', $venueData = array()){ public function updateEvents($event_id = '', $eventData = array()){
if(empty($event_id) || empty($venueData)){ if(empty($event_id) || empty($eventData)){
return 0; return 0;
} }
$status = $this->db->update('venue',$venueData,array('id'=>$event_id)); $status = $this->db->update('events',$eventData,array('id'=>$event_id));
return $status; return $status;
} }
...@@ -42,7 +198,7 @@ class Event_model extends CI_Model { ...@@ -42,7 +198,7 @@ class Event_model extends CI_Model {
if(empty($event_id)){ if(empty($event_id)){
return 0; return 0;
} }
$status = $this->db->update('venue',array('status'=>$status),array('id'=>$event_id)); $status = $this->db->update('events',array('status'=>$status),array('event_id'=>$event_id));
return $status; return $status;
} }
} }
......
<?php <?php
class Provider_model extends CI_Model { class Provider_model extends CI_Model {
public function _consruct(){ public function _consruct(){
parent::_construct(); parent::_construct();
} }
public function getProviderData($provider_id='',$view=''){ public function addProvider($provider_data = array()){
if(empty($provider_data))
return 0;
$userNameChk = $this->db->query("SELECT * FROM users
WHERE status!='2' AND username='".$provider_data['username']."'");
if(!empty($userNameChk) && $userNameChk->num_rows() > 0) return 4;
$emailChk = $this->db->query("SELECT * FROM provider AS PRV
INNER JOIN users AS USR ON (USR.id=PRV.provider_id)
WHERE USR.status!='2' AND PRV.email='".$provider_data['email']."'");
if(!empty($emailChk) && $emailChk->num_rows() > 0) return 2;
$phoneChk = $this->db->query("SELECT * FROM provider AS PRV
INNER JOIN users AS USR ON (USR.id=PRV.provider_id)
WHERE USR.status!='2' AND PRV.phone='".$provider_data['phone']."'");
if(!empty($phoneChk) && $phoneChk->num_rows() > 0) return 3;
$status = $this->db->insert('users',
array('username'=>$provider_data['username'],
'password'=>$provider_data['password'],
'display_name'=>$provider_data['display_name'],
'profile_image'=>$provider_data['profile_image'],
'user_type'=>'2','status'=>'1'));
if(!$status){
return 0;
}
$provider_id = $this->db->insert_id();
$status = $this->db->insert('provider',
array('provider_id'=>$provider_id,
'name'=>$provider_data['name'],
'email'=>$provider_data['email'],
'phone'=>$provider_data['phone'],
'profile_image'=>$provider_data['profile_image']));
return $status;
}
public function getProviderData($provider_id='',$view='1'){
$cond = (!empty($view))?" USR.status IN ($view) ":" USR.status != '2' "; $cond = (!empty($view))?" USR.status IN ($view) ":" USR.status != '2' ";
$cond .= (!empty($provider_id))?" AND PRV.provider_id='$provider_id' ":""; $cond .= (!empty($provider_id))?" AND PRV.provider_id='$provider_id' ":"";
...@@ -17,9 +55,136 @@ class Provider_model extends CI_Model { ...@@ -17,9 +55,136 @@ class Provider_model extends CI_Model {
$providerData = $this->db->query($sql); $providerData = $this->db->query($sql);
if(!empty($providerData)){ if(!empty($providerData)){
return (!empty($provider_id))?$providerData->result():$providerData->row(); return (empty($provider_id))?$providerData->result():$providerData->row();
}
return 0;
}
function updateProvider($provider_id = '', $provider_data = array()){
if(empty($provider_id) || empty($provider_data))
return 0;
$userIdChk = $this->db->query("SELECT * FROM provider AS PRV
INNER JOIN users AS USR ON (USR.id = PRV.provider_id)
WHERE USR.status!='2' AND USR.id!='".$provider_id."' AND
USR.username='".$provider_data['username']."'");
if(!empty($userIdChk) && $userIdChk->num_rows() > 0) { return 4; }
$emailChk = $this->db->query("SELECT * FROM provider AS PRV
INNER JOIN users AS USR ON (USR.id = PRV.provider_id)
WHERE USR.status!='2' AND USR.id!='".$provider_id."' AND
PRV.email='".$provider_data['email']."'");
if(!empty($emailChk) && $emailChk->num_rows() > 0) { return 2; }
$phoneChk = $this->db->query("SELECT * FROM provider AS PRV
INNER JOIN users AS USR ON (USR.id = PRV.provider_id)
WHERE USR.status!='2' AND USR.id!='".$provider_id."' AND
PRV.phone='".$provider_data['phone']."'");
if(!empty($phoneChk) && $phoneChk->num_rows() > 0) { return 3; }
$upMecArr = array('name'=>$provider_data['name'],
'email'=>$provider_data['email'],
'phone'=>$provider_data['phone']);
$admUpdateArr = array('username'=>$provider_data['username'],
'display_name'=>$provider_data['display_name']);
if(isset($provider_data['profile_image']) && !empty($provider_data['profile_image'])){
$upMecArr['profile_image'] = $provider_data['profile_image'];
$admUpdateArr['profile_image'] = $provider_data['profile_image'];
}
$status = $this->db->update('users',$admUpdateArr,array('id'=>$provider_id));
if(!$status) { return 0; }
if(isset($provider_data['licence']) && !empty($provider_data['licence']))
$upMecArr['licence'] = $provider_data['licence'];
$status = $this->db->update('provider',$upMecArr,array('provider_id'=>$provider_id));
return $status;
}
function changeStatus($provider_id = '', $status = '0'){
if(empty($provider_id)){
return 0;
} }
$status = $this->db->update('users',array('status'=>$status),array('id'=>$provider_id));
return $status;
}
function getNearByProviders($location_data = array(),$sub_issues = array()){
if(empty($location_data) || empty($sub_issues)){
return 0; return 0;
} }
$current_lat = $location_data['pickup_lat'];
$current_lng = $location_data['pickup_lng'];
$issue_cat_id = implode(',',$sub_issues);
$sql = "SELECT USR.display_name,USR.profile_image,ME.*,MS.shop_name,MS.address AS shop_address,
MS.phone AS shop_phone,MS.email_id AS shop_email_id,
3956*2*ASIN(SQRT(POWER(SIN(($current_lat-ME.location_lat)*pi()/180/2),2)+
COS($current_lat*pi()/180 )*COS(ME.location_lat*pi()/180)*
POWER(SIN(($current_lng-ME.location_lng)*pi()/180/2),2) )) AS distance
FROM provider AS ME
INNER JOIN users AS USR ON (USR.id=ME.provider_id)
LEFT JOIN provider_shop AS MS ON (MS.shop_id=ME.shop_id AND MS.status='1')
WHERE USR.status='1'
-- HAVING distance<30";
$mechData = $this->db->query($sql);
if(empty($mechData) || empty($mechData = $mechData->result_array())){
return 0;
}
$estimate = 0;
$mechDataArr = array();
foreach($mechData AS $index => $data){
if(empty($data['start_time']) || empty($data['end_time'])){
$scheduleTiming = array('09:00 AM','10:00 AM','11:00 AM','12:00 PM','01:00 PM',
'02:00 PM','03:00 PM','04:00 PM','05:00 PM','06:00 PM');
} else {
$endTime = strtotime($data['end_time']);
$schTime = strtotime($data['start_time']);
$scheduleTiming = array();
for( ; $schTime <= ($endTime-3600) ; $schTime += 3600){
$scheduleTiming[] = date('h:i A',$schTime);
}
}
$provider_id = $data['provider_id'];
$sql = "SELECT ISS.*, IC.*, MI.*
FROM issues_category AS IC
INNER JOIN issues AS ISS ON (IC.issue_id=ISS.issue_id)
LEFT JOIN provider_issues AS MI ON (MI.issue_cat_id=IC.issue_cat_id AND
MI.provider_id='$provider_id' AND MI.status='1')
WHERE ISS.status='1' AND IC.status='1' AND IC.issue_cat_id IN ($issue_cat_id)";
$subIssData = $this->db->query($sql);
$sIssueData = array();
if(!empty($subIssData) && !empty($subIssData = $subIssData->result_array())){
$sIssueData = $subIssData;
}
$estimate = 0;
foreach($sIssueData AS $sIndex => $sIssue){
if(!empty($sIssue['custom_service_fee'])){
$estimate += $sIssue['custom_service_fee'];
$sIssueData[$sIndex]['service_fee'] = $sIssue['custom_service_fee'];
} else {
$estimate += $sIssue['default_service_fee'];
$sIssueData[$sIndex]['service_fee'] = $sIssue['default_service_fee'];
}
}
$mechData[$index]['estimate'] = $estimate;
$mechData[$index]['sub_issues'] = $sIssueData;
$mechData[$index]['scheduleTiming'] = $scheduleTiming;
}
return $mechData;
}
} }
?> ?>
\ No newline at end of file
<div class="content-wrapper">
<section class="content-header">
<h1>
<?= $pTitle ?>
<small><?= $pDescription ?></small>
</h1>
<ol class="breadcrumb">
<li><a href="<?= base_url() ?>"><i class="fa fa-star-o" aria-hidden="true"></i>Home</a></li>
<li><?= $menu ?></li>
<li class="active"><?= $smenu ?></li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-md-12">
<?php
$url = (!isset($category_id)||empty($category_id))
?'Category/createCategory':'Category/updateCategory/'.$category_id;
if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
<button class="close" data-dismiss="alert" type="button">×</button>
<?= $flashdata['message'] ?>
</div>
<?php } ?>
</div>
<div class="col-md-12">
<div class="box box-warning">
<div class="box-body">
<form role="form" action="<?= base_url($url) ?>" method="post"
class="validate" data-parsley-validate="" enctype="multipart/form-data">
<div class="col-md-6">
<div class="form-group">
<label>Category Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$"
name="category" required="" value="<?= (isset($categoryData->category))?$categoryData->category:'' ?>"placeholder="Category Name">
<span class="glyphicon form-control-feedback"></span>
</div>
<div class="form-group">
<label>Category Description</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$"
name="category_description" required placeholder="Category Description"
value="<?= (isset($categoryData->category_description))?$categoryData->category_description:'' ?>" >
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Category Icon</label>
<div class="col-md-12" style="padding-bottom:10px;">
<div class="col-md-3">
<img id="image_id" src="<?= (isset($categoryData->category_image))?base_url($categoryData->category_image):'' ?>" onerror="this.src='<?=base_url("assets/images/user_avatar.jpg")?>';" height="75" width="75" />
</div>
<div class="col-md-9" style="padding-top: 25px;">
<input name="category_image" type="file" accept="image/*" onchange="setImg(this,'image_id');" />
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="box-footer textCenterAlign">
<button type="submit" class="btn btn-primary">Submit</button>
<a href="<?= base_url('Category/listCategory') ?>" class="btn btn-primary">Cancel</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
</div>
\ No newline at end of file
<div class="content-wrapper" >
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
<?= $pTitle ?>
<small><?= $pDescription ?></small>
</h1>
<ol class="breadcrumb">
<li><a href="<?= base_url() ?>"><i class="fa fa-star-o" aria-hidden="true"></i>Home</a></li>
<li><?= $menu ?></li>
<li class="active"><?= $smenu ?></li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-12">
<?php if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
<button class="close" data-dismiss="alert" type="button">×</button>
<?= $flashdata['message'] ?>
</div>
<?php } ?>
</div>
<div class="col-xs-12">
<div class="box box-warning">
<div class="box-header with-border">
<div class="col-md-6"><h3 class="box-title">Category List</h3></div>
<div class="col-md-6" align="right">
<a class="btn btn-sm btn-primary" href="<?= base_url('Category/addCategory') ?>">
Add New Category
</a>
<a class="btn btn-sm btn-primary" href="<?= base_url() ?>">Back</a>
</div>
</div>
<div class="box-body">
<table id="mechanicUsers" class="table table-bordered table-striped datatable ">
<thead>
<tr>
<th class="hidden">ID</th>
<th width="50px;">Icon</th>
<th width="150px;">Category</th>
<th width="250px;">Category Description</th>
<th width="70px;">Status</th>
<th width="200px;">Action</th>
</tr>
</thead>
<tbody>
<?php
if(!empty($categoryData)){
foreach($categoryData as $category) { ?>
<tr>
<th class="hidden"><?= $category->cat_id ?></th>
<th class="center textCenterAlign">
<img id="image_id" src="<?= base_url($category->category_image) ?>"
onerror="this.src='<?=base_url("assets/images/no_image_text.png")?>';"
height="50" width="50" />
</th>
<th class="center"><?= $category->category ?></th>
<th class="center"><?= $category->category_description ?></th>
<th class="center"><?= ($category->status == 1)?'Active':'De-activate' ?></th>
<td class="center">
<a class="btn btn-sm btn-primary"
href="<?= base_url('Category/editCategory/'.encode_param($category->cat_id))?>">
<i class="fa fa-fw fa-edit"></i>Edit
</a>
<a class="btn btn-sm btn-danger"
href="<?= base_url("Category/changeStatus/".encode_param($category->cat_id))."/2" ?>"
onClick="return doconfirm()">
<i class="fa fa-fw fa-trash"></i>Delete
</a>
<?php if($category->status == 1){ ?>
<a class="btn btn-sm btn-success" style="background-color:#ac2925" href="<?= base_url("Category/changeStatus/".encode_param($category->cat_id))."/0" ?>">
<i class="fa fa-cog"></i> De-activate
</a>
<?php } else { ?>
<a class="btn btn-sm btn-success" href="<?= base_url("Category/changeStatus/".encode_param($category->cat_id))."/1" ?>">
<i class="fa fa-cog"></i> Activate
</a>
<?php } ?>
</td>
</tr>
<?php } } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</div>
\ No newline at end of file
<?php
$layoutDtls = '';
?>
<div class="content-wrapper"> <div class="content-wrapper">
<section class="content-header"> <section class="content-header">
<h1> <h1>
...@@ -21,8 +24,9 @@ ...@@ -21,8 +24,9 @@
</div> </div>
<?php } ?> <?php } ?>
</div> </div>
<div class="col-md-12"> <div class="col-md-12">
<div class="box box-warning"> <div class="box box-warning marginBottom-10">
<div class="box-body"> <div class="box-body">
<form role="form" name="venueForm" action="<?= base_url('Event/addEvent')?>" method="post" <form role="form" name="venueForm" action="<?= base_url('Event/addEvent')?>" method="post"
class="validate" data-parsley-validate="" enctype="multipart/form-data"> class="validate" data-parsley-validate="" enctype="multipart/form-data">
...@@ -48,7 +52,275 @@ ...@@ -48,7 +52,275 @@
</form> </form>
</div> </div>
</div> </div>
<?php if(!empty($venueData)){ ?>
<div class="box">
<form role="form" name="eventAddForm" action="<?= base_url('Event/createEvent')?>" method="post" class="validate" data-parsley-validate="" enctype="multipart/form-data">
<input type="hidden" name="venue_id" value="<?= $venue_id ?>">
<div class="box-header with-border">
<h3 class="box-title padLeft10 padTop5">Venue Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-6">
<div class="col-sm-4">Venue Name</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $venueData->venue_name ?></strong></div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">Venue Region</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $venueData->region_name ?></strong></div>
</div>
</div>
<div class="col-sm-12">
<div class="col-sm-6">
<div class="col-sm-4">Venue Location</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $venueData->location ?></strong></div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">About Venue</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $venueData->venue_details ?></strong></div>
</div>
</div>
<?php if($venueData->show_layout == 1 && !empty($venueData->layout_details) &&
!empty($layoutDtls = json_decode($venueData->layout_details,true))){ ?>
<div class="box-header with-border padTop0">
<h3 class="box-title padLeft10 ">Layout Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12 padBottom15">
<div class="col-sm-3 dropZoneContainer viewLayout">
<img class="dropZoneOverlay" id="image_id" src="<?= base_url($venueData->layout) ?>"
onerror="this.src='<?=base_url("assets/images/no_image_text.png")?>';"
height="75" width="75" />
</div>
<div class="col-md-9 padLeft40">
<div class="marginTop23" id="mapTypeCntr">
<input type="radio" name="fare_type" value="0" checked>
<label class="padAll-10">Use Default Fare</label>
<input class="marginLeft15" type="radio" name="fare_type" value="1">
<label class="padAll-10">Create Custome Fare</label>
</div>
<div class="col-sm-12" id="defaultFareSystem">
<?php foreach($layoutDtls AS $lyDtls){ ?>
<div class="col-sm-12 marginTop-8">
<div class="col-sm-3">
<strong><?= $lyDtls['color'] ?></strong> block
</div>
<div class="col-sm-9">
<strong><?= $lyDtls['price'] ?></strong> / Seat
</div>
</div>
<?php } ?>
</div>
<div class="col-sm-12 hide" id="customFareSystem">
<?php foreach($layoutDtls AS $lyDtls){ ?>
<div class="col-sm-12">
<div class="col-sm-3 padTop15">
<strong><?= $lyDtls['color'] ?></strong> block
</div>
<div class="col-sm-9">
<input type="hidden" name="seat_color[]" value="<?= $lyDtls['color'] ?>">
<input id="custFareInput_<?= $lyDtls['color'] ?>" type="text"
class="form-control marginTop-8 width200" disabled
data-parsley-trigger="change" data-parsley-minlength="1" name="seat_price[]" data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Custom Fare / Seat">
</div>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
<?php } ?>
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Event Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-6">
<div class="form-group">
<label>Event Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" name="event_name" required=""
placeholder="Enter Venue Title" value="<?= (isset($venue_data->venue_name))?$venue_data->venue_name:'' ?>">
</div>
<?php if(!empty($category_data)){ ?>
<div class="form-group">
<label>Category</label>
<select name="category_id" class="form-control required"
placeholder="Select Event Category" required>
<option selected disabled>Choose Event Category</option>
<?php
foreach ($category_data as $category) {
echo '<option value="'.$category->cat_id.'">'.
$category->category.
'</option>';
}
?>
</select>
</div>
<?php } ?>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Event Description</label>
<textarea type="text" class="ip_reg_form_input form-control reset-form-custom required" placeholder="Venue Description" name="event_discription" required
style="height:108px;" data-parsley-trigger="change" data-parsley-minlength="2"></textarea>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label>Event Images</label>
<div id="multipleImageInputCntr">
<div class="dropZoneContainer" id="multiImageCntr_1">
<div id="multiImageClose_1" class="close_custom hide" onclick="removeImage('1');">&times;</div>
<input type="file" name="event_image[]" class="multiFileUpload" accept="image/*" onchange="setMultiImg(this,jQuery(this));" count="1" />
<img class="multiDropZoneOverlay" id="multiImageImg_1" src="<?=base_url("assets/images/add-image.png")?>" />
</div>
</div>
</div>
</div> </div>
</div> </div>
</div>
<?php if($venueData->show_layout != 1){ ?>
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Pricing Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-2">
<div class="form-group">
<label>Price</label>
<input type="text" class="form-control required" placeholder="Price"
data-parsley-trigger="change" data-parsley-minlength="2" data-parsley-pattern="^[0-9\ . \/]+$" name="price"
required>
</div>
</div>
<div class="col-sm-10">
<div class="form-group">
<label>About Price Division</label>
<textarea type="text" class="ip_reg_form_input form-control reset-form-custom required" placeholder="Price Division" name="price_details" required
style="height:35px;" data-parsley-trigger="change" data-parsley-minlength="2"></textarea>
</div>
</div>
</div>
</div>
<?php } ?>
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Scheduler and Tags</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-6">
<div id="scheduleTypeCntr">
<input type="radio" name="schedule_type" value="0" checked>
<label class="padAll-10">For Single Show</label>
<input class="marginLeft15" type="radio" name="schedule_type" value="1">
<label class="padAll-10">For Multiple Show</label>
</div>
<div class="col-sm-6">
<div class="input-group date" data-provide="datepicker">
<input id="date" type="text" class="form-control required" required
data-parsley-trigger="change" data-parsley-minlength="5"
name="event_start_date" placeholder="Event Start Date" autocomplete="off">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
</div>
<div class="input-group date padTop10 hide" data-provide="datepicker"
id="eventEndDate">
<input id="date" type="text" class="form-control" disabled
data-parsley-trigger="change" data-parsley-minlength="5"
name="event_end_date" placeholder="Event End Date" autocomplete="off">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
</div>
</div>
<div class="col-sm-4" style="padding-left: initial;">
<div class="col-sm-10 clockpicker" data-autoclose="true">
<input type="text" class="form-control required" data-parsley-minlength="2"
data-parsley-trigger="change" required name="event_time[]" autocomplete="off"
placeholder="Show Time" id="start_time">
</div>
<div class="col-sm-2" style="padding-left: initial;">
<i class="fa fa-plus-circle cpoint fav-add-icon" onclick="addTimePicker(jQuery(this))" count="1"></i>
</div>
<div id="scheduleTimerCntr"></div>
</div>
</div>
<?php if(!empty($tag_data)){ ?>
<div class="col-sm-6">
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Tags</h3>
</div>
<div type="parent" class="header-tag-box marginTop10">
<?php foreach($tag_data AS $tag){ ?>
<div id="tag_<?= $tag->tag_id ?>" class="header-tag cpoint" tag_id="<?= $tag->tag_id ?>" select="0" onclick="manageTags(jQuery(this))">
<?= $tag->tag_name ?>
</div>
<?php } ?>
</div>
<div id="selected_tags" class="hide"></div>
</div>
<?php } ?>
</div>
</div>
<div class="col-md-12 padTop10">
<div class="box-footer textCenterAlign">
<button type="submit" class="btn btn-primary" id="addEventButton">Submit</button>
<a href="<?= base_url('Event/listEvents') ?>" class="btn btn-primary">Cancel</a>
</div>
</div>
</div>
</form>
</div>
</div>
<?php } ?>
</div>
</section> </section>
</div> </div>
<div class="hide" id="scheduleTimerHtml">
<div style="padding-left: initial;" id="timePicker_{:count}">
<div class="col-sm-10 padTop10 clockpicker" data-autoclose="true" id="timePickerEnable_{:count}">
<input type="text" class="form-control required" data-parsley-minlength="2"
data-parsley-trigger="change" required name="event_time[]" autocomplete="off"
placeholder="Show Time" id="start_time">
</div>
<div class="col-sm-2" style="padding-left: initial;">
<i class="padTop12 fa fa-times-circle-o cpoint fav-rem-icon" onclick="remTimePicker({:count})"></i>
</div>
</div>
</div>
<div id="multipleImageInput" class="hide">
<div class="dropZoneContainer" id="multiImageCntr_{:count}">
<div id="multiImageClose_{:count}" class="close_custom hide" onclick="removeImage('{:count}');">&times;</div>
<input type="file" name="event_image[]" class="multiFileUpload" accept="image/*"
onchange="setMultiImg(this,jQuery(this));" count="{:count}" />
<img class="multiDropZoneOverlay" id="multiImageImg_{:count}" src=""
onerror="this.src='<?=base_url("assets/images/add-image.png")?>';" />
</div>
</div>
\ No newline at end of file
<?php
$layoutDtls = '';
?>
<div class="content-wrapper">
<section class="content-header">
<h1>
<?= $pTitle ?>
<small><?= $pDescription ?></small>
</h1>
<ol class="breadcrumb">
<li><a href="<?= base_url() ?>"><i class="fa fa-star-o" aria-hidden="true"></i>Home</a></li>
<li><?= $menu ?></li>
<li class="active"><?= $smenu ?></li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-md-12">
<?php if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
<button class="close" data-dismiss="alert" type="button">×</button>
<?= $flashdata['message'] ?>
</div>
<?php }
?>
</div>
<div class="col-md-12">
<div class="box">
<form role="form" name="eventAddForm" action="<?= base_url('Event/updateEvent/'.encode_param($event_data->event_id))?>" method="post" class="validate" data-parsley-validate="" enctype="multipart/form-data">
<input type="hidden" name="venue_id" value="<?= $event_data->venue_id ?>">
<div class="box-header with-border">
<h3 class="box-title padLeft10 padTop5">Venue Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-6">
<div class="col-sm-4">Venue Name</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $event_data->venue_name ?></strong></div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">Venue Region</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $event_data->region_name ?></strong></div>
</div>
</div>
<div class="col-sm-12">
<div class="col-sm-6">
<div class="col-sm-4">Venue Location</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $event_data->location ?></strong></div>
</div>
<div class="col-sm-6">
<div class="col-sm-4">About Venue</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-7"><strong><?= $event_data->venue_details ?></strong></div>
</div>
</div>
<?php if($event_data->show_layout == 1){ ?>
<div class="box-header with-border padTop0">
<h3 class="box-title padLeft10 ">Layout Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12 padBottom15">
<div class="col-sm-3 dropZoneContainer viewLayout">
<img class="dropZoneOverlay" id="image_id" src="<?= base_url($event_data->layout) ?>"
onerror="this.src='<?=base_url("assets/images/no_image_text.png")?>';"
height="75" width="75" />
</div>
<div class="col-md-9 padLeft40">
<div class="marginTop23" id="mapTypeCntr">
<input type="radio" name="fare_type" value="0" <?= (empty($event_data->custom_seat_layout))?'checked':'' ?>>
<label class="padAll-10">Use Default Fare</label>
<input class="marginLeft15" type="radio" name="fare_type" value="1"
<?= (empty($event_data->custom_seat_layout))?'':'checked' ?>>
<label class="padAll-10">Create Custome Fare</label>
</div>
<?php $layoutDtls = json_decode($event_data->layout_details,true); ?>
<div class="col-sm-12 <?= (empty($event_data->custom_seat_layout))?'':'hide' ?>"
id="defaultFareSystem">
<?php foreach($layoutDtls AS $lyDtls){ ?>
<div class="col-sm-12 marginTop-8">
<div class="col-sm-3">
<strong><?= $lyDtls['color'] ?></strong> block
</div>
<div class="col-sm-9">
<strong><?= $lyDtls['price'] ?></strong> / Seat
</div>
</div>
<?php } ?>
</div>
<div class="col-sm-12 <?= (empty($event_data->custom_seat_layout))?'hide':'' ?>"
id="customFareSystem">
<?php foreach($layoutDtls AS $lyDtls){ ?>
<div class="col-sm-12">
<div class="col-sm-3 padTop15">
<strong><?= $lyDtls['color'] ?></strong> block
</div>
<div class="col-sm-9">
<input type="hidden" name="seat_color[]" value="<?= $lyDtls['color'] ?>">
<?php if(empty($event_data->custom_seat_layout)){ ?>
<input id="custFareInput_<?= $lyDtls['color'] ?>" type="text" disabled
class="form-control marginTop-8 width200" data-parsley-trigger="change"
data-parsley-minlength="1" name="seat_price[]" data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Custom Fare / Seat"
value="">
<?php } else {
$custlayoutDtls = json_decode($event_data->custom_seat_layout,true);
foreach ($custlayoutDtls AS $cLayout) {
if($cLayout['color'] != $lyDtls['color']){
continue;
}
echo '<input id="custFareInput_'.$lyDtls['color'].'" type="text"
class="form-control marginTop-8 width200" data-parsley-trigger="change"
data-parsley-minlength="1" name="seat_price[]" data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Custom Fare / Seat"
value="'.$cLayout['price'].'">';
}
?>
<?php } ?>
</div>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
<?php } ?>
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Event Details</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-6">
<div class="form-group">
<label>Event Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" name="event_name" required=""
placeholder="Enter Venue Title" value="<?= $event_data->event_name ?>">
</div>
<?php if(!empty($category_data)){ ?>
<div class="form-group">
<label>Category</label>
<select name="category_id" class="form-control required"
placeholder="Select Event Category" required>
<option selected disabled>Choose Event Category</option>
<?php
foreach ($category_data as $category) {
$selected = ($category->cat_id == $event_data->cat_id)?'selected':'';
echo '<option '.$selected.' value="'.$category->cat_id.'">'.
$category->category.
'</option>';
}
?>
</select>
</div>
<?php } ?>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Event Description</label>
<textarea type="text" class="ip_reg_form_input form-control reset-form-custom required" placeholder="Venue Description" name="event_discription" required
style="height:108px;" data-parsley-trigger="change" data-parsley-minlength="2"><?= $event_data->event_discription ?></textarea>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label>Event Images</label>
<div id="multipleImageInputCntr">
<?php
$count = 1;
if(isset($event_data->eventMedia[1]) && !empty($event_data->eventMedia[1])){
foreach($event_data->eventMedia[1] AS $photos){ ?>
<div class="dropZoneContainer" id="multiImageCntr_<?= $count ?>">
<input type="hidden" name="existingImages[]" value="<?= $photos['id'] ?>">
<div id="multiImageClose_<?= $count ?>" class="close_custom cpoint"
onclick="removeImage('<?= $count ?>');">&times;</div>
<input disabled type="file" name="event_image[]" class="multiFileUpload"
accept="image/*" onchange="setMultiImg(this,jQuery(this));"
count="<?= $count ?>" />
<img class="multiDropZoneOverlay" id="multiImageImg_<?= $count ?>"
src="<?= base_url($photos['media_url']) ?>" onerror="this.src='<?=base_url("assets/images/add-image.png")?>';" />
</div>
<?php
$count += 1;
}
}
?>
<div class="dropZoneContainer" id="multiImageCntr_<?= $count ?>">
<div id="multiImageClose_<?= $count ?>" class="close_custom cpoint hide"
onclick="removeImage('<?= $count ?>');">&times;</div>
<input type="file" name="event_image[]" class="multiFileUpload" accept="image/*"
onchange="setMultiImg(this,jQuery(this));" count="<?= $count ?>" />
<img class="multiDropZoneOverlay" id="multiImageImg_<?= $count ?>"
src="<?=base_url("assets/images/add-image.png")?>" />
</div>
</div>
</div>
</div>
</div>
</div>
<?php if($event_data->show_layout != 1 && !empty($event_data->seat_pricing) &&
!empty($seat_pricing = json_decode($event_data->seat_pricing,true))){ ?>
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Ticket Pricing</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-2">
<div class="form-group">
<label>Price</label>
<input type="text" class="form-control required" placeholder="Price"
data-parsley-trigger="change" data-parsley-minlength="2" data-parsley-pattern="^[0-9\ . \/]+$" name="price"
value="<?= $seat_pricing['price'] ?>"
required>
</div>
</div>
<div class="col-sm-10">
<div class="form-group">
<label>About Price Division</label>
<textarea type="text" class="ip_reg_form_input form-control reset-form-custom required" placeholder="Price Division" name="price_details" required
style="height:35px;" data-parsley-trigger="change" data-parsley-minlength="2"><?= $seat_pricing['price_details'] ?></textarea>
</div>
</div>
</div>
</div>
<?php } ?>
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Scheduler and Tags</h3>
</div>
<div class="box-body">
<div class="col-sm-12">
<div class="col-sm-6">
<?php
$sType = (isset($event_data->eventSchedule) && !empty($event_data->eventSchedule['date']))?count($event_data->eventSchedule['date']):1; ?>
<div id="scheduleTypeCntr">
<input type="radio" name="schedule_type" value="0" <?= ($sType==1)?'checked':'' ?>>
<label class="padAll-10">For Single Show</label>
<input class="marginLeft15" type="radio" name="schedule_type" value="1" <?= ($sType==1)?'':'checked' ?>>
<label class="padAll-10">For Multiple Show</label>
</div>
<div class="col-sm-6">
<?php
$start_date = '';
if(isset($event_data->eventSchedule['date']) &&
isset($event_data->eventSchedule['date'][0])){
$start_date = strtotime($event_data->eventSchedule['date'][0]);
$start_date = date('m/d/Y',$start_date);
}
$end_date = '';
$lstIndex = count($event_data->eventSchedule['date'])-1;
if(isset($event_data->eventSchedule['date']) &&
isset($event_data->eventSchedule['date'][$lstIndex])){
$end_date = strtotime($event_data->eventSchedule['date'][$lstIndex]);
$end_date = date('m/d/Y',$end_date);
}
?>
<div class="input-group date" data-provide="datepicker">
<input id="date" type="text" class="form-control required" required
data-parsley-trigger="change" data-parsley-minlength="5"
name="event_start_date" value="<?= $start_date ?>"
placeholder="Event Start Date" autocomplete="off">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
</div>
<div class="input-group date padTop10 <?= ($sType==1)?'hide':'' ?>" data-provide="datepicker"
id="eventEndDate">
<input id="date" type="text" class="form-control"
<?= ($sType != 1)?'required':'disabled' ?>
data-parsley-trigger="change" data-parsley-minlength="5" name="event_end_date"
placeholder="Event End Date" autocomplete="off" value="<?= $end_date ?>">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
</div>
</div>
<div class="col-sm-4" style="padding-left: initial;">
<div class="col-sm-10 clockpicker" data-autoclose="true">
<input type="text" class="form-control required" data-parsley-minlength="2"
data-parsley-trigger="change" required name="event_time[]" autocomplete="off"
placeholder="Show Time" id="start_time"
value="<?= $event_data->eventSchedule['time'][0] ?>">
</div>
<div class="col-sm-2" style="padding-left: initial;">
<i class="fa fa-plus-circle cpoint fav-add-icon"
onclick="addTimePicker(jQuery(this))"
count="<?= count($event_data->eventSchedule['time']) ?>"></i>
</div>
<div id="scheduleTimerCntr">
<?php $tCount = 2;
unset($event_data->eventSchedule['time'][0]);
if(!empty($event_data->eventSchedule['time'])){
foreach ($event_data->eventSchedule['time'] AS $time) { ?>
<div style="padding-left: initial;" id="timePicker_<?= $tCount ?>">
<div class="col-sm-10 padTop10 clockpicker" data-autoclose="true"
id="timePickerEnable_<?= $tCount ?>">
<input type="text" class="form-control required" data-parsley-minlength="2"
data-parsley-trigger="change" required name="event_time[]"
autocomplete="off" placeholder="Show Time" id="start_time"
value="<?= $time ?>">
</div>
<div class="col-sm-2" style="padding-left: initial;">
<i class="padTop12 fa fa-times-circle-o cpoint fav-rem-icon" onclick="remTimePicker(<?= $tCount ?>)"></i>
</div>
</div>
<?php $tCount +=1;
}
} ?>
</div>
</div>
</div>
<?php if(!empty($tag_data)){ ?>
<div class="col-sm-6">
<div class="box-header with-border">
<h3 class="box-title padLeft10 ">Tags</h3>
</div>
<div type="parent" class="header-tag-box marginTop10">
<?php foreach($tag_data AS $tag){
$select = '0';
$cstmClass = '';
if(in_array($tag->tag_id, $event_data->eventTags)){
$select = '1';
$cstmClass = 'tagSelected';
} ?>
<div id="tag_<?= $tag->tag_id ?>" class="header-tag cpoint <?= $cstmClass ?>" tag_id="<?= $tag->tag_id ?>" select="<?= $select ?>" onclick="manageTags(jQuery(this))">
<?= $tag->tag_name ?>
</div>
<?php } ?>
</div>
<div id="selected_tags" class="hide">
<?php
foreach($event_data->eventTags AS $tag_id) {
echo '<input id="selTag_'.$tag_id.'" type="hidden" name="tags[]"
value="'.$tag_id.'">';
}
?>
</div>
</div>
<?php } ?>
</div>
</div>
<div class="col-md-12 padTop10">
<div class="box-footer textCenterAlign">
<button type="submit" class="btn btn-primary" id="addEventButton">Submit</button>
<a href="<?= base_url('Event/listEvents') ?>" class="btn btn-primary">Cancel</a>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
</div>
<div class="hide" id="scheduleTimerHtml">
<div style="padding-left: initial;" id="timePicker_{:count}">
<div class="col-sm-10 padTop10 clockpicker" data-autoclose="true" id="timePickerEnable_{:count}">
<input type="text" class="form-control required" data-parsley-minlength="2"
data-parsley-trigger="change" required name="event_time[]" autocomplete="off"
placeholder="Show Time" id="start_time">
</div>
<div class="col-sm-2" style="padding-left: initial;">
<i class="padTop12 fa fa-times-circle-o cpoint fav-rem-icon" onclick="remTimePicker({:count})"></i>
</div>
</div>
</div>
<div id="multipleImageInput" class="hide">
<div class="dropZoneContainer" id="multiImageCntr_{:count}">
<div id="multiImageClose_{:count}" class="close_custom hide" onclick="removeImage('{:count}');">&times;</div>
<input type="file" name="event_image[]" class="multiFileUpload" accept="image/*"
onchange="setMultiImg(this,jQuery(this));" count="{:count}" />
<img class="multiDropZoneOverlay" id="multiImageImg_{:count}" src=""
onerror="this.src='<?=base_url("assets/images/add-image.png")?>';" />
</div>
</div>
\ No newline at end of file
<div class="box-body">
<div class="col-sm-6">
<div class="box-header with-border padHead">
<h3 class="box-title"><strong>Event Details</strong></h3>
</div>
<div class="box-header">
<div class="row">
<div class="col-sm-5">Event Name</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><strong><?= $event->event_name ?></strong></div>
</div>
<div class="row">
<div class="col-sm-5">Event Description</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><p class="truncateText"><?= $event->event_discription ?></p></div>
</div>
<?php
if($event->show_layout != 1 && !empty($event->seat_pricing) &&
!empty($seat_pricing = json_decode($event->seat_pricing,true))){ ?>
<div class="row">
<div class="col-sm-5">Ticket Price</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><strong><?= $seat_pricing['price'] ?></strong></div>
</div>
<div class="row">
<div class="col-sm-5">About Ticket</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><p class="truncateText"><?= $seat_pricing['price_details'] ?></p></div>
</div>
<?php } ?>
</div>
</div>
<div class="col-sm-6">
<div class="box-header with-border padHead">
<h3 class="box-title"><strong>Venue Details</strong></h3>
</div>
<div class="box-header">
<div class="row">
<div class="col-sm-5">Venue Name</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><strong><?= $event->venue_name ?></strong></div>
</div>
<div class="row">
<div class="col-sm-5">Venue Region</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><strong><?= $event->region_name ?></strong></div>
</div>
<div class="row">
<div class="col-sm-5">Venue Location</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><?= $event->location ?></div>
</div>
<div class="row">
<div class="col-sm-5">About Venue</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6"><p class="truncateText"><?= $event->venue_details ?></p></div>
</div>
</div>
</div>
<?php
$start_date = '';
if(isset($event->eventSchedule['date']) &&
isset($event->eventSchedule['date'][0])){
$start_date = strtotime($event->eventSchedule['date'][0]);
$start_date = date('m/d/Y',$start_date);
}
$end_date = '';
$lstIndex = count($event->eventSchedule['date'])-1;
if(isset($event->eventSchedule['date']) &&
isset($event->eventSchedule['date'][$lstIndex])){
$end_date = strtotime($event->eventSchedule['date'][$lstIndex]);
$end_date = date('m/d/Y',$end_date);
}
?>
<div class="col-sm-6">
<div class="box-header with-border padHead">
<h3 class="box-title padLeft10"><strong>Event Schedule</strong></h3>
</div>
<div class="box-header">
<div class="row">
<div class="col-sm-5">Scheduled For</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6">
<strong><?= $start_date ?></strong> <?= ($end_date!='')?'<strong> - '.$end_date.'</strong>':'' ?>
</div>
</div>
<div class="row">
<div class="col-sm-5">Show Timing</div>
<div class="col-sm-1"><span>:</span></div>
<div class="col-sm-6">
<?php foreach($event->eventSchedule['time'] AS $time){ ?>
<div class="header-tag"><?= $time ?></div>
<?php } ?>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="box-header with-border padHead marginBottom-10">
<h3 class="box-title"><strong>Tag Details</strong></h3>
</div>
<?php foreach($tag_data AS $tag){
if(in_array($tag->tag_id, $event->eventTags)){ ?>
<div class="header-tag">
<?= $tag->tag_name ?>
</div>
<?php } } ?>
</div>
<?php if($event->show_layout == 1){ ?>
<div class="col-sm-12">
<div class="box-header with-border padHead marginBottom-10">
<h3 class="box-title"><strong>Layout Details</strong></h3>
</div>
<div class="col-sm-4 dropZoneContainer viewLayout">
<img class="dropZoneOverlay" id="image_id" src="<?= base_url($event->layout) ?>"
onerror="this.src='<?=base_url("assets/images/no_image_text.png")?>';"
height="75" width="75" />
</div>
<div class="col-sm-8 padTop30">
<?php
if($event->show_layout == 1){
if(!empty($event->custom_seat_layout) &&
!empty($custlayoutDtls = json_decode($event->custom_seat_layout,true))){ ?>
<div class="col-sm-12">
<?php foreach($custlayoutDtls AS $lyDtls){ ?>
<div class="col-sm-12 marginTop-8">
<div class="col-sm-4">
<strong><?= $lyDtls['color'] ?></strong> block
</div>
<div class="col-sm-8">
<strong><?= $lyDtls['price'] ?></strong> / Seat
</div>
</div>
<?php } ?>
</div>
<?php } else {
$layoutDtls = json_decode($event->layout_details,true); ?>
<div class="col-sm-12">
<?php foreach($layoutDtls AS $lyDtls){ ?>
<div class="col-sm-12 marginTop-8">
<div class="col-sm-4">
<strong><?= $lyDtls['color'] ?></strong> block
</div>
<div class="col-sm-8">
<strong><?= $lyDtls['price'] ?></strong> / Seat
</div>
</div>
<?php } ?>
</div>
<?php } ?>
<?php } ?>
</div>
</div>
<?php } ?>
</div>
\ No newline at end of file
...@@ -26,10 +26,10 @@ ...@@ -26,10 +26,10 @@
<div class="col-xs-12"> <div class="col-xs-12">
<div class="box box-warning"> <div class="box box-warning">
<div class="box-header with-border"> <div class="box-header with-border">
<div class="col-md-6"><h3 class="box-title">Venue List</h3></div> <div class="col-md-6"><h3 class="box-title">Event List</h3></div>
<div class="col-md-6" align="right"> <div class="col-md-6" align="right">
<a class="btn btn-sm btn-primary" href="<?= base_url('Venue/addVenues') ?>"> <a class="btn btn-sm btn-primary" href="<?= base_url('Event/addEvent') ?>">
Add New Venue Add New Event
</a> </a>
<a class="btn btn-sm btn-primary" href="<?= base_url() ?>">Back</a> <a class="btn btn-sm btn-primary" href="<?= base_url() ?>">Back</a>
</div> </div>
...@@ -39,45 +39,45 @@ ...@@ -39,45 +39,45 @@
<thead> <thead>
<tr> <tr>
<th class="hidden">ID</th> <th class="hidden">ID</th>
<th width="100px;">Venue Name</th> <th width="100px;">Event Name</th>
<th width="100px;">Venue</th>
<th width="100px;">Region</th> <th width="100px;">Region</th>
<th width="100px;">Host Type</th> <th width="100px;">Location</th>
<th width="120px;">Location</th>
<th width="50px;">Status</th> <th width="50px;">Status</th>
<th width="250px;">Action</th> <th width="250px;">Action</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
if(!empty($venue_data)){ if(!empty($event_data)){
foreach($venue_data as $venue) { ?> foreach($event_data as $event) { ?>
<tr> <tr>
<th class="hidden"><?= $venue->venue_id ?></th> <th class="hidden"><?= $event->event_id ?></th>
<th class="center"><?= $venue->venue_name ?></th> <th class="center"><?= $event->event_name ?></th>
<th class="center"><?= $venue->region_name ?></th> <th class="center"><?= $event->venue_name ?></th>
<th class="center"><?= $venue->host_category ?></th> <th class="center"><?= $event->region_name ?></th>
<th class="center"><?= $venue->location ?></th> <th class="center"><?= $event->location ?></th>
<th class="center"><?= ($venue->status == 1)?'Active':'De-activate' ?></th> <th class="center"><?= ($event->event_status == 1)?'Active':'De-activate' ?></th>
<td class="center"> <td class="center">
<button class="btn btn-sm btn-info" id="viewVenueDetails" <button class="btn btn-sm btn-info" id="viewEventDetails"
venue_id="<?= encode_param($venue->venue_id) ?>"> event_id="<?= encode_param($event->event_id) ?>">
<i class="fa fa-fw fa-eye"></i>View <i class="fa fa-fw fa-eye"></i>View
</button> </button>
<a class="btn btn-sm btn-primary" <a class="btn btn-sm btn-primary"
href="<?= base_url('Venue/editVenues/'.encode_param($venue->venue_id))?>"> href="<?= base_url('Event/editEvents/'.encode_param($event->event_id))?>">
<i class="fa fa-fw fa-edit"></i>Edit <i class="fa fa-fw fa-edit"></i>Edit
</a> </a>
<a class="btn btn-sm btn-danger" <a class="btn btn-sm btn-danger"
href="<?= base_url("Venue/changeStatus/".encode_param($venue->venue_id))."/2" ?>" href="<?= base_url("Event/changeStatus/".encode_param($event->event_id))."/2" ?>"
onClick="return doconfirm()"> onClick="return doconfirm()">
<i class="fa fa-fw fa-trash"></i>Delete <i class="fa fa-fw fa-trash"></i>Delete
</a> </a>
<?php if($venue->status == 1){ ?> <?php if($event->event_status == 1){ ?>
<a class="btn btn-sm btn-success" style="background-color:#ac2925" href="<?= base_url("Venue/changeStatus/".encode_param($venue->venue_id))."/0" ?>"> <a class="btn btn-sm btn-success" style="background-color:#ac2925" href="<?= base_url("Event/changeStatus/".encode_param($event->event_id))."/0" ?>">
<i class="fa fa-cog"></i> De-activate <i class="fa fa-cog"></i> De-activate
</a> </a>
<?php } else { ?> <?php } else { ?>
<a class="btn btn-sm btn-success" href="<?= base_url("Venue/changeStatus/".encode_param($venue->venue_id))."/1" ?>"> <a class="btn btn-sm btn-success" href="<?= base_url("Event/changeStatus/".encode_param($event->event_id))."/1" ?>">
<i class="fa fa-cog"></i> Activate <i class="fa fa-cog"></i> Activate
</a> </a>
<?php } ?> <?php } ?>
......
<div class="content-wrapper">
<section class="content-header">
<h1>
<?= $pTitle ?>
<small><?= $pDescription ?></small>
</h1>
<ol class="breadcrumb">
<li><a href="<?= base_url() ?>"><i class="fa fa-star-o" aria-hidden="true"></i>Home</a></li>
<li><?= $menu ?></li>
<li class="active"><?= $smenu ?></li>
</ol>
</section>
<section class="content">
<div class="row">
<div class="col-md-12">
<?php
$url = (!isset($provider_id) || empty($provider_id))?'Provider/createProvider':'Provider/updateProvider/'.$provider_id;
if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
<button class="close" data-dismiss="alert" type="button">×</button>
<?= $flashdata['message'] ?>
</div>
<?php } ?>
</div>
<div class="col-md-12">
<div class="box box-warning">
<div class="box-body">
<form role="form" action="<?= base_url($url) ?>" method="post"
class="validate" data-parsley-validate="" enctype="multipart/form-data">
<!-- Basic Details -->
<div class="col-md-12">
<div class="box-header with-border padUnset">
<h3 class="box-title">Admin User Details</h3>
</div><br>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Display Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" name="display_name" required=""
placeholder="Enter Display Name" value="<?= (isset($provider_data->display_name))?$provider_data->display_name:'' ?>">
<span class="glyphicon form-control-feedback"></span>
</div>
<div class="form-group">
<label>User Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" name="username" required="" value="<?= (isset($provider_data->username))?$provider_data->username:'' ?>"
data-parsley-pattern="^[a-zA-Z0-9\ . _ @ \/]+$" placeholder="Enter User Name">
<span class="glyphicon form-control-feedback"></span>
</div>
<?php if(!isset($provider_id)){ ?>
<div class="form-group">
<label>Password</label>
<input type="password" class="form-control required" name="password" placeholder="Password" required="">
<span class="glyphicon form-control-feedback"></span>
</div>
<?php } ?>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Profile Picture</label>
<div class="col-md-12" style="padding-bottom:10px;">
<div class="col-md-3">
<img id="image_id" src="<?= (isset($provider_data->profile_image))?base_url($provider_data->profile_image):'' ?>" onerror="this.src='<?=base_url("assets/images/user_avatar.jpg")?>';" height="75" width="75" />
</div>
<div class="col-md-9" style="padding-top: 25px;">
<input name="profile_image" type="file" accept="image/*" onchange="setImg(this,'image_id');" />
</div>
</div>
</div>
</div>
<!-- Provider Data -->
<div class="col-md-12">
<div class="box-header with-border padUnset">
<h3 class="box-title">Personal Details</h3>
</div><br>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Provider Name</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" data-parsley-pattern="^[a-zA-Z0-9\ . _ - ' \/]+$"
name="name" required="" value="<?= (isset($provider_data->name))?$provider_data->name:'' ?>"placeholder="Enter Provider Name">
<span class="glyphicon form-control-feedback"></span>
</div>
<div class="form-group">
<label>Email</label>
<input type="email" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" required="" name="email" placeholder="Enter email ID" value="<?= (isset($provider_data->email))?$provider_data->email:'' ?>">
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label>Phone</label>
<input type="text" class="form-control required" data-parsley-trigger="change"
data-parsley-minlength="2" data-parsley-pattern="^[0-9\ , - + \/]+$" required=""
value="<?= (isset($provider_data->phone))?$provider_data->phone:'' ?>" name="phone" placeholder="Enter Phone Number" >
<span class="glyphicon form-control-feedback"></span>
</div>
</div>
<div class="col-md-12">
<div class="box-footer textCenterAlign">
<button type="submit" class="btn btn-primary">Submit</button>
<a href="<?= base_url('Provider/viewProviders') ?>" class="btn btn-primary">Cancel</a>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</section>
</div>
\ No newline at end of file
<div class="content-wrapper" >
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
<?= $pTitle ?>
<small><?= $pDescription ?></small>
</h1>
<ol class="breadcrumb">
<li><a href="<?= base_url() ?>"><i class="fa fa-star-o" aria-hidden="true"></i>Home</a></li>
<li><?= $menu ?></li>
<li class="active"><?= $smenu ?></li>
</ol>
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<div class="col-md-12">
<?php if($this->session->flashdata('message')) {
$flashdata = $this->session->flashdata('message'); ?>
<div class="alert alert-<?= $flashdata['class'] ?>">
<button class="close" data-dismiss="alert" type="button">×</button>
<?= $flashdata['message'] ?>
</div>
<?php } ?>
</div>
<div class="col-xs-12">
<div class="box box-warning">
<div class="box-header with-border">
<div class="col-md-6"><h3 class="box-title">Provider List</h3></div>
<div class="col-md-6" align="right">
<a class="btn btn-sm btn-primary" href="<?= base_url('Provider/addProvider')?>">
Add New Provider
</a>
<a class="btn btn-sm btn-primary" href="<?= base_url() ?>">Back</a>
</div>
</div>
<div class="box-body">
<table id="mechanicUsers" class="table table-bordered table-striped datatable ">
<thead>
<tr>
<th class="hidden">ID</th>
<th width="150px;">Provider Name</th>
<th width="150px;">User Name</th>
<th width="150px;">Email_id</th>
<th width="100px;">Phone</th>
<th width="100px;">Status</th>
<th width="500px;">Action</th>
</tr>
</thead>
<tbody>
<?php
if(!empty($provider_data)){
foreach($provider_data as $provider) { ?>
<tr>
<th class="hidden"><?= $provider->provider_id ?></th>
<th class="center"><?= $provider->name ?></th>
<th class="center"><?= $provider->username ?></th>
<th class="center"><?= $provider->email ?></th>
<th class="center"><?= $provider->phone ?></th>
<th class="center"><?= ($provider->status == 1)?'Active':'De-activate' ?></th>
<td class="center">
<a class="btn btn-sm btn-info" id="viewProvider" provider_id="<?= encode_param($provider->provider_id) ?>">
<i class="fa fa-fw fa-eye"></i>View
</a>
<a class="btn btn-sm btn-primary"
href="<?= base_url('Provider/editProviders/'.encode_param($provider->provider_id)) ?>">
<i class="fa fa-fw fa-edit"></i>Edit
</a>
<a class="btn btn-sm btn-danger"
href="<?= base_url("Provider/changeStatus/".encode_param($provider->provider_id))."/2" ?>"
onClick="return doconfirm()">
<i class="fa fa-fw fa-trash"></i>Delete
</a>
<?php if($provider->status == 1){ ?>
<a class="btn btn-sm btn-success" style="background-color:#ac2925" href="<?= base_url("Provider/changeStatus/".encode_param($provider->provider_id))."/0" ?>">
<i class="fa fa-cog"></i> De-activate
</a>
<?php } else { ?>
<a class="btn btn-sm btn-success" href="<?= base_url("Provider/changeStatus/".encode_param($provider->provider_id))."/1" ?>">
<i class="fa fa-cog"></i> Activate
</a>
<?php } ?>
</td>
</tr>
<?php } } ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>
</div>
\ No newline at end of file
...@@ -39,6 +39,19 @@ ...@@ -39,6 +39,19 @@
<span class="glyphicon form-control-feedback"></span> <span class="glyphicon form-control-feedback"></span>
</div> </div>
</div> </div>
<div class="col-md-6">
<div class="form-group">
<label>Region Icon</label>
<div class="col-md-12" style="padding-bottom:10px;">
<div class="col-md-3">
<img id="image_id" src="<?= (isset($regionData->region_icon))?base_url($regionData->region_icon):'' ?>" onerror="this.src='<?=base_url("assets/images/no_image_text.png")?>';" height="75" width="75" />
</div>
<div class="col-md-9" style="padding-top: 25px;">
<input name="region_icon" type="file" accept="image/*" onchange="setImg(this,'image_id');" />
</div>
</div>
</div>
</div>
<div class="col-md-12"> <div class="col-md-12">
<div class="box-footer textCenterAlign"> <div class="box-footer textCenterAlign">
<button type="submit" class="btn btn-primary">Submit</button> <button type="submit" class="btn btn-primary">Submit</button>
......
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
<thead> <thead>
<tr> <tr>
<th class="hidden">ID</th> <th class="hidden">ID</th>
<th width="50px;">Icon</th>
<th width="250px;">Region</th> <th width="250px;">Region</th>
<th width="100px;">Status</th> <th width="100px;">Status</th>
<th width="200px;">Action</th> <th width="200px;">Action</th>
...@@ -50,6 +51,11 @@ ...@@ -50,6 +51,11 @@
foreach($regionData as $region) { ?> foreach($regionData as $region) { ?>
<tr> <tr>
<th class="hidden"><?= $region->id ?></th> <th class="hidden"><?= $region->id ?></th>
<th class="center textCenterAlign">
<img id="image_id" src="<?= base_url($region->region_icon) ?>"
onerror="this.src='<?=base_url("assets/images/no_image_text.png")?>';"
height="50" width="50" />
</th>
<th class="center"><?= $region->name ?></th> <th class="center"><?= $region->name ?></th>
<th class="center"><?= ($region->status == 1)?'Active':'De-activate' ?></th> <th class="center"><?= ($region->status == 1)?'Active':'De-activate' ?></th>
<td class="center"> <td class="center">
......
...@@ -40,6 +40,9 @@ ...@@ -40,6 +40,9 @@
<li><a href="<?= base_url('Region/listRegion') ?>"><i class="fa fa-bars" aria-hidden="true"> <li><a href="<?= base_url('Region/listRegion') ?>"><i class="fa fa-bars" aria-hidden="true">
</i><span>Region Management</span></a> </i><span>Region Management</span></a>
</li> </li>
<li><a href="<?= base_url('Category/listCategory') ?>"><i class="fa fa-bars" aria-hidden="true">
</i><span>Category Management</span></a>
</li>
<li class="treeview"> <li class="treeview">
<a href="#"> <a href="#">
<i class="fa fa-bars" aria-hidden="true"></i> <i class="fa fa-bars" aria-hidden="true"></i>
...@@ -83,7 +86,31 @@ ...@@ -83,7 +86,31 @@
</ul> </ul>
</li> </li>
<?php if($this->session->userdata['user_type'] == 1){ ?> <?php if($this->session->userdata['user_type'] == 1){ ?>
<!-- super admin user menu --> <li class="treeview">
<a href="#">
<i class="fa fa-bars" aria-hidden="true"></i>
<span>Provider Management</span>
<i class="fa fa-angle-left pull-right"></i>
</a>
<ul class="treeview-menu">
<li>
<a href="<?= base_url('Provider/addProvider') ?>">
<i class="fa fa-circle-o text-aqua"></i>
Add Provider
</a>
</li>
<li>
<a href="<?= base_url('Provider/viewProviders') ?>">
<i class="fa fa-circle-o text-aqua"></i>
View Provider
</a>
</li>
</ul>
</li>
<li><a href="<?= base_url('Settings') ?>">
<i class="fa fa-wrench" aria-hidden="true">
</i><span>Settings</span></a>
</li>
<?php } ?> <?php } ?>
</ul> </ul>
</section> </section>
......
...@@ -144,7 +144,7 @@ ...@@ -144,7 +144,7 @@
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<input type="text" class="form-control required marginTop-8" required <input type="text" class="form-control required marginTop-8" required
data-parsley-trigger="change" data-parsley-minlength="2" name="seat_price[]" data-parsley-trigger="change" data-parsley-minlength="1" name="seat_price[]"
value="<?= $value->price ?>" data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Default Seat Price"> value="<?= $value->price ?>" data-parsley-pattern="^[0-9\ . \/]+$" placeholder="Default Seat Price">
</div> </div>
</div> </div>
......
...@@ -75,7 +75,6 @@ ...@@ -75,7 +75,6 @@
.box_sizes{width: 100% !important;} .box_sizes{width: 100% !important;}
.sleeper{ .sleeper{
background-image: url(./images/1.png);background-repeat: no-repeat;height: 23px; background-image: url(./images/1.png);background-repeat: no-repeat;height: 23px;
width: 34px; width: 34px;
...@@ -280,14 +279,20 @@ ...@@ -280,14 +279,20 @@
padding: 0px 10px; padding: 0px 10px;
display: inline-block; display: inline-block;
margin: 2px; margin: 2px;
background: #c2ccd6; background: #f5f5f573;
} }
.header-tag-box { .header-tag-box {
width:100%; width:100%;
min-height:400px; min-height:32px;
max-height:96px;
border: 1px solid #dfdbdb; border: 1px solid #dfdbdb;
padding: 2px; padding: 2px;
overflow-y: scroll;
}
.tagSelected {
background-color: #69d41873;
} }
.clear { .clear {
...@@ -308,32 +313,52 @@ ...@@ -308,32 +313,52 @@
opacity: 0.5; opacity: 0.5;
} }
.padTop20 { .padBottom10 {
padding-top:20px !important; padding-bottom:10px !important;
}
.padBottom15 {
padding-bottom:15px !important;
} }
.padBottom20 { .padBottom20 {
padding-bottom:20px !important; padding-bottom:20px !important;
} }
.padBottom10 { .padTop0 {
padding-bottom:10px !important; padding-top:0px !important;
}
.padTop5 {
padding-top:5px !important;
} }
.padTop10 { .padTop10 {
padding-top:10px !important; padding-top:10px !important;
} }
.marginTop10 { .padTop12 {
margin-top: 10px !important; padding-top:12px !important;
} }
.padRight20 { .padTop15 {
padding-right:20px !important; padding-top:15px !important;
} }
.padRight10 { .padTop20 {
padding-right:10px !important; padding-top:20px !important;
}
.padTop30{
padding-top: 30px;
}
.padTop300{
padding-top: 300px;
}
.marginTop10 {
margin-top: 10px !important;
} }
.padRight-5p { .padRight-5p {
...@@ -344,18 +369,30 @@ ...@@ -344,18 +369,30 @@
padding-right:8% !important; padding-right:8% !important;
} }
.padLeft20 { .padRight10 {
padding-left:20px !important; padding-right:10px !important;
} }
.padLeft40 { .padRight20 {
padding-left: 40px !important; padding-right:20px !important;
}
.padLeft10 {
padding-left:10px !important;
}
.padLeft20 {
padding-left:20px !important;
} }
.padLeft30 { .padLeft30 {
padding-left: 30px !important; padding-left: 30px !important;
} }
.padLeft40 {
padding-left: 40px !important;
}
.padLeft50 { .padLeft50 {
padding-left: 50px !important; padding-left: 50px !important;
} }
...@@ -427,6 +464,10 @@ ...@@ -427,6 +464,10 @@
margin-top: 23px; margin-top: 23px;
} }
.marginLeft15 {
margin-left: 15px !important;
}
.noSubTypeMsg { .noSubTypeMsg {
color: #338419; color: #338419;
margin-top: 32px; margin-top: 32px;
...@@ -498,6 +539,21 @@ ...@@ -498,6 +539,21 @@
.dropZoneContainer{ .dropZoneContainer{
position: relative; position: relative;
display: inline-block;
}
.close_custom{
position: absolute;
width: 17px;
height: 17px;
text-align: center;
background: #000;
font-size: 13px;
top: -5px;
right: -1px;
color: #fff;
border-radius: 50%;
z-index: 99;
} }
.dropZoneOverlay, .FileUpload { .dropZoneOverlay, .FileUpload {
...@@ -505,6 +561,11 @@ ...@@ -505,6 +561,11 @@
height: 250px; height: 250px;
} }
.multiDropZoneOverlay, .multiFileUpload {
width: 50px;
height: 50px;
}
.dropZoneOverlay { .dropZoneOverlay {
border: dotted 1px; border: dotted 1px;
font-family: cursive; font-family: cursive;
...@@ -516,12 +577,64 @@ ...@@ -516,12 +577,64 @@
right:0px; right:0px;
} }
.multiDropZoneOverlay {
border: dotted 1px;
font-family: cursive;
color: #040404;
text-align: center;
position: absolute;
top:0px;
left:0px;
right:0px;
}
.FileUpload { .FileUpload {
opacity: 0; opacity: 0;
position: relative; position: relative;
z-index: 1; z-index: 1;
} }
.padTop30{ .multiFileUpload {
padding-top: 30px; opacity: 0;
position: relative;
z-index: 1;
}
.viewLayout {
padding-bottom: 260px;
margin-top: 20px;
}
.width200{
width: 200px !important;
}
.padAll5{
padding: 5px;
}
.padHead{
padding-left: 0px;
padding-top: 0px;
}
.truncateText{
text-overflow: ellipsis;
cursor: pointer;
word-break: break-all;
overflow:hidden;
white-space: nowrap;
}
.truncateText:hover{
overflow: visible;
white-space: normal;
height:auto; /* just added this line */
}
.lineBreak{
width: 250px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
\ No newline at end of file
...@@ -200,7 +200,7 @@ jQuery('[id="viewVenueDetails"]').on('click',function() { ...@@ -200,7 +200,7 @@ jQuery('[id="viewVenueDetails"]').on('click',function() {
'<div class="row">'+ '<div class="row">'+
'<div class="col-md-4">Venue Details</div>'+ '<div class="col-md-4">Venue Details</div>'+
'<div class="col-md-1">:</div>'+ '<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+ venue_data['venue_details']+'</label></div>'+ '<div class="col-md-6"><p class="truncateText">'+ venue_data['venue_details']+'</p></div>'+
'</div> '+ '</div> '+
'</div> '+ '</div> '+
''+ ''+
...@@ -251,3 +251,226 @@ jQuery('[id="viewVenueDetails"]').on('click',function() { ...@@ -251,3 +251,226 @@ jQuery('[id="viewVenueDetails"]').on('click',function() {
function venueSubmitForm(){ function venueSubmitForm(){
jQuery('[name="venueForm"]').submit(); jQuery('[name="venueForm"]').submit();
} }
jQuery('[name="fare_type"]').on('click',function() {
var issue_id = '',
fare_type = jQuery(this).val();
if(fare_type == 1){
jQuery('[id^="custFareInput_"]').addClass('required');
jQuery('[id^="custFareInput_"]').prop("disabled",false);
jQuery('[id="defaultFareSystem"]').addClass('hide');
jQuery('[id="customFareSystem"]').removeClass('hide');
} else if(fare_type == 0){
jQuery('[id^="custFareInput_"]').prop("disabled",true);
jQuery('[id^="custFareInput_"]').removeClass('required');
jQuery('[id="customFareSystem"]').addClass('hide');
jQuery('[id="defaultFareSystem"]').removeClass('hide');
}
});
function manageTags(thisObj){
var tagId = thisObj.attr('tag_id'),
inHtm = '<input id="selTag_{:tag_id}" type="hidden" name="tags[]" value="{:tag_id}">';
if(thisObj.attr('select') == 0){
thisObj.attr('select','1');
thisObj.addClass('tagSelected');
jQuery('[id="selected_tags"]').append(inHtm.replace(/{:tag_id}/g,tagId));
} else {
thisObj.attr('select','0');
thisObj.removeClass('tagSelected');
jQuery('[id="selTag_'+tagId+'"]').remove();
}
if (jQuery('[id="selected_tags"]').children().length <= 0) {
jQuery('[type="parent"]').css("background-color",'#F2DEDE');
} else {
jQuery('[type="parent"]').css("background-color",'#ffffff');
}
}
function addTimePicker(thisObj){
var count = thisObj.attr('count')+1,
inputHtml = jQuery('[id="scheduleTimerHtml"]').html();
thisObj.attr('count',count);
jQuery('[id="scheduleTimerCntr"]').append(inputHtml.replace(/{:count}/g,count));
jQuery('[id="timePickerEnable_'+count+'"]').clockpicker();
}
function remTimePicker(count){
jQuery('[id="timePicker_'+count+'"]').remove();
}
jQuery('[name="schedule_type"]').on('click',function() {
var issue_id = '',
schedule_type = jQuery(this).val();
if(schedule_type == 1){
jQuery('[name="event_end_date"]').addClass('required');
jQuery('[name="event_end_date"]').prop("disabled",false);
jQuery('[id="eventEndDate"]').removeClass('hide');
} else if(schedule_type == 0){
jQuery('[name="event_end_date"]').prop("disabled",true);
jQuery('[name="event_end_date"]').removeClass('required');
jQuery('[id="eventEndDate"]').addClass('hide');
}
});
function setMultiImg(input,thisObj){
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var count = thisObj.attr('count');
thisObj.attr('count',count+1);
jQuery('[id="multipleImageInputCntr"]').append(jQuery('[id="multipleImageInput"]').html().replace(/{:count}/g,count+1));
thisObj.addClass('prevent-click');
jQuery('[id="multiImageClose_'+count+'"]').removeClass('hide');
jQuery('[id="multiImageImg_'+count+'"]').attr('src', e.target.result);
};
reader.readAsDataURL(input.files[0]);
}
}
function removeImage(count){
jQuery('[id="multiImageCntr_'+count+'"]').remove();
}
jQuery('[id="addEventButton"]').on('click',function(event) {
event.preventDefault();
var validation = jQuery('[name="eventAddForm"]').parsley().validate();
if (jQuery('[id="selected_tags"]').children().length <= 0) {
jQuery('[type="parent"]').css("background-color",'#F2DEDE');
return false;
}
if(validation){
jQuery('[name="eventAddForm"]').submit();
}
});
jQuery('[id="viewProvider"]').on('click',function() {
var provider_id = jQuery(this).attr('provider_id');
if(provider_id=='' || provider_id==undefined || provider_id=='undefined' || provider_id==null || provider_id=='null'){
return true;
}
modalTrigger('Provider Details','');
addModalLoader();
jQuery.ajax({
url : base_url+"Provider/getProviderData",
type : 'POST',
data : {'provider_id':provider_id,'view_all':'1'},
success: function(resp){
if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var resp_data = jQuery.parseJSON(resp);
if(resp_data['status'] == '0'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
var provider_data = resp_data['data'];
jQuery.each(provider_data, function (index, value) {
if(value == '' || value == null || value == undefined || value == 'null' || value == 'undefined'){
provider_data[index] = ' -- ';
}
});
var html = '<div class="col-xs-12">'+
'<div class="col-md-2">'+
'<div class="row">'+
'<img id="providerProfileImg" src="'+base_url+provider_data['profile_image']+'" height="100" width="100" />'+
'</div>'+
'</div> '+
'<div class="col-md-10">'+
'<div class="row"><label>Admin Panel Details</label></div>'+
'<div class="row">'+
'<div class="col-md-3">Display Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+ provider_data['display_name']+'</label></div>'+
'</div> '+
'<div class="row">'+
'<div class="col-md-3">Provider Name</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+provider_data['name']+'</label></div>'+
'</div> '+
'<br><div class="row"><label>User Details</label></div>'+
'<div class="row">'+
'<div class="col-md-3">Email ID</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+ provider_data['email']+'</label></div>'+
'</div> '+
'<div class="row">'+
'<div class="col-md-3">Phone</div>'+
'<div class="col-md-1">:</div>'+
'<div class="col-md-6"><label>'+provider_data['phone']+'</label></div>'+
'</div> '+
'</div> '+
'</div>';
remModalLoader();
jQuery('[id="modal_content"]').html(html);
jQuery('[id="providerProfileImg"]').error(function() {
jQuery('[id="providerProfileImg"]').attr('src',base_url+'assets/images/no_image.png');
});
},
fail: function(xhr, textStatus, errorThrown){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
},
error: function (ajaxContext) {
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
}
});
});
jQuery('[id="viewEventDetails"]').on('click',function(event) {
var event_id = jQuery(this).attr('event_id');
if(event_id=='' || event_id==undefined || event_id=='undefined' || event_id==null || event_id=='null'){
return true;
}
modalTrigger('Event Details','');
addModalLoader();
jQuery.ajax({
url : base_url+"Event/getEventData",
type : 'POST',
data : {'event_id':event_id},
success: function(resp){
if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
return false;
}
jQuery('[id="modal_content"]').html(resp);
remModalLoader();
},
fail: function(xhr, textStatus, errorThrown){
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
},
error: function (ajaxContext) {
remModalLoader();
jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!');
}
});
});
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