File: //var/www/html/qcr24/app/application/controllers/admin/Accommodation.php
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Accommodation extends MY_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model('admin/maccommodation');
$this->load->model('admin/mproperty');
$this->load->model('admin/muser');
}
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see https://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$data = array('menu_id'=> 13);
if($this->admin_session_data['role_id'] == ROLE_SUPERADMIN){
$data['accommodations'] = $this->maccommodation->get_accommodation_list();
}else{
$data['accommodations'] = array();
if(check_user_permission($data['menu_id'], 'delete_flag')){
$parent_properties = $this->mproperty->get_user_property_details($this->admin_session_data['user_id']);
$parent_properties = !empty($parent_properties) ? array_column($parent_properties, 'property_id') : array();
if(!empty($parent_properties)){
$data['accommodations'] = $this->maccommodation->get_accommodation_list_property_id($parent_properties);
}
}
}
// echo '<pre>',print_r($data['accommodation']);die;
$data['content'] = 'admin/accommodation/list';
$this->load->view('admin/layouts/index', $data);
}
public function addaccommodation()
{
//echo $this->session_data['role_id'];
$data = array();
// $data['property_details'] = $this->maccommodation->get_property_details();
$data['property_details'] = $this->admin_session_data['role_id'] == ROLE_SUPERADMIN ? $this->mproperty->get_property() : $this->mproperty->get_user_property_details($this->admin_session_data['user_id']);
// echo '<pre>';print_r($data); die;
$data['accomm_class'] = $this->maccommodation->get_accomm_class();
$data['accomm_type'] = $this->maccommodation->get_accomm_type();
$data['content'] = 'admin/accommodation/add';
$data['slug'] = 'accommodation';
$data['facilities'] = $this->maccommodation->get_property_facility(array('facility_master.status' => 1, 'facility_master.facility_type' => 'R'));
// $data['facility_dropdown'] = $this->maccommodation->get_facilities();
if (isset($_POST['submit'])) {
$accommodation_name = $this->input->post('accommodation_name');
$property_id = $this->input->post('property_id');
$accomm_class_id = $this->input->post('accomm_class_id');
$accomm_type_id = $this->input->post('accomm_type_id');
$no_of_accomm = $this->input->post('no_of_accomm');
$accommodation_information = $this->input->post('accommodation_information');
$extra_bed = $this->input->post('extra_bed');
$adult = $this->input->post('adult');
$max_adult = $this->input->post('max_adult');
$child = $this->input->post('child');
$status = $this->input->post('is_active');
$property_facilities = $this->input->post('property_facilities');
$facilityIds = implode(',', $property_facilities);
// $facilities = $this->mproperty->get_property_facility(array("facility_id IN($facilityIds)" => NULL));
// $facilityNames = implode(' ', array_column($facilities, 'facility_name'));
$img1_res = $img2_res = $img3_res = $img4_res = NULL;
if (!empty($_FILES['image1']['name'])) {
$img1_res = $this->uploadImages('image1');
}
if (!empty($_FILES['image2']['name'])) {
$img2_res = $this->uploadImages('image2');
}
if (!empty($_FILES['image3']['name'])) {
$img3_res = $this->uploadImages('image3');
}
if (!empty($_FILES['image4']['name'])) {
$img4_res = $this->uploadImages('image4');
}
$data = array(
'accommodation_name' => $accommodation_name,
'property_id' => $property_id,
'accomm_class_id' => $accomm_class_id,
'accomm_type_id' => $accomm_type_id,
'no_of_accomm' => $no_of_accomm,
'accommodation_information' => $accommodation_information,
'extra_bed' => $extra_bed,
'adult' => $adult,
'max_adult' => $max_adult,
'child' => !empty($child) ? $child : 0,
'is_active' => $status,
'created_by' => $this->admin_session_data['user_id'],
'created_ts' => date('Y-m-d H:i:s'),
'image1' => !is_null($img1_res) && $img1_res['status'] ? $img1_res['img_path'] : NULL,
'image2' => !is_null($img2_res) && $img2_res['status'] ? $img2_res['img_path'] : NULL,
'image3' => !is_null($img3_res) && $img3_res['status'] ? $img3_res['img_path'] : NULL,
'image4' => !is_null($img4_res) && $img4_res['status'] ? $img4_res['img_path'] : NULL,
'facilities' => $facilityIds
);
// echo '<pre>';print_r($data);die;
$result = $this->maccommodation->submit_accommodation($data);
if ($result) {
$this->session->set_flashdata('success_msg', 'Accommodation Details Added Successfully');
redirect("admin/accommodation");
}
}
$this->load->view('admin/layouts/index', $data);
}
public function editaccommodation($accommodation_id)
{
// $data['property_details'] = $this->maccommodation->get_property_details();
$data['property_details'] = $this->admin_session_data['role_id'] == ROLE_SUPERADMIN ? $this->mproperty->get_property() : $this->mproperty->get_user_property_details($this->admin_session_data['user_id']);
$data['accomm_class'] = $this->maccommodation->get_accomm_class();
$data['accomm_type'] = $this->maccommodation->get_accomm_type();
$data['facilities'] = $this->maccommodation->get_property_facility(array('facility_master.status' => 1, 'facility_master.facility_type' => 'R'));
$data['accommodation'] = $this->maccommodation->edit_accommodation($accommodation_id);
$data['content'] = 'admin/accommodation/edit';
$data['slug'] = 'accommodation';
$this->load->view('admin/layouts/index', $data);
}
public function updateaccommodation()
{
$accommodation_id = $this->input->post('accommodation_id');
$accommodation_name = $this->input->post('accommodation_name');
$property_id = $this->input->post('property_id');
$accomm_class_id = $this->input->post('accomm_class_id');
$accomm_type_id = $this->input->post('accomm_type_id');
$no_of_accomm = $this->input->post('no_of_accomm');
$accommodation_information = $this->input->post('accommodation_information');
$extra_bed = $this->input->post('extra_bed');
$adult = $this->input->post('adult');
$max_adult = $this->input->post('max_adult');
$child = $this->input->post('child');
$status = $this->input->post('is_active');
$property_facilities = $this->input->post('property_facilities');
$facilityIds = implode(',', $property_facilities);
// $facilities = $this->mproperty->get_property_facility(array("facility_id IN($facilityIds)" => NULL));
// $facilityNames = implode(' ', array_column($facilities, 'facility_name'));
$data = array(
'accommodation_name' => $accommodation_name,
'property_id' => $property_id,
'accomm_class_id' => $accomm_class_id,
'accomm_type_id' => $accomm_type_id,
'no_of_accomm' => $no_of_accomm,
'accommodation_information' => $accommodation_information,
'extra_bed' => $extra_bed,
'adult' => $adult,
'max_adult' => $max_adult,
'child' => !empty($child) ? $child : 0,
'is_active' => $status,
'updated_by' => $this->admin_session_data['user_id'],
'updated_ts' => date('Y-m-d H:i:s'),
'facilities' => $facilityIds
);
$img1_res = $img2_res = $img3_res = $img4_res = NULL;
if (!empty($_FILES['image1']['name'])) {
$img1_res = $this->uploadImages('image1');
if (!is_null($img1_res) && $img1_res['status'] && isset($img1_res['img_path']))
$data['image1'] = $img1_res['img_path'];
}
if (!empty($_FILES['image2']['name'])) {
$img2_res = $this->uploadImages('image2');
if (!is_null($img2_res) && $img2_res['status'] && isset($img2_res['img_path']))
$data['image2'] = $img2_res['img_path'];
}
if (!empty($_FILES['image3']['name'])) {
$img3_res = $this->uploadImages('image3');
if (!is_null($img3_res) && $img3_res['status'] && isset($img3_res['img_path']))
$data['image3'] = $img3_res['img_path'];
}
if (!empty($_FILES['image4']['name'])) {
$img4_res = $this->uploadImages('image4');
if (!is_null($img4_res) && $img4_res['status'] && isset($img4_res['img_path']))
$data['image4'] = $img4_res['img_path'];
}
$condition = array('accommodation_id' => $accommodation_id);
// echo '<pre>';print_r($data);die;
$result = $this->maccommodation->update_accommodation($condition,$data);
if ($result) {
$this->session->set_flashdata('success_msg', 'Accommodation Details Updated Successfully');
redirect("admin/accommodation");
}
}
function uploadImages($fieldName)
{
$dir = 'room_images';
$config['upload_path'] = './public/admin_images/' . $dir;
$config['allowed_types'] = 'jpg|jpeg|png';
$config['max_size'] = 5000;
$config['encrypt_name'] = TRUE;
//$config['max_width'] = 1024;
//$config['max_height'] = 768;
$this->load->library('upload', $config);
$img_ret = array();
if ($this->upload->do_upload($fieldName)) {
$upload_data = $this->upload->data();
$image_path = $dir . '/' . $upload_data['file_name'];
$img_ret = array('status' => true, 'img_path' => $image_path);
} else {
$img_ret = array('status' => false, 'error' => $this->upload->display_errors());
}
return $img_ret;
}
public function getAccommodationByProperty()
{
$data_list = $this->maccommodation->get_accommodation_list_property_id($this->input->get('property_id'));
$response = array("status"=> true, "list"=>$data_list);
echo json_encode($response);
exit;
}
}