Current File : /home/giriqfky/public_html/Barga/application/modules/services/controllers//Services.php
<?php
class Services extends Basecontroller
{
public function __construct()
{
parent::__construct();
$this->load->model('Services_model', 'Services');
$this->controller_name = "services";
$this->folder = "services";
$this->per_page = PER_PAGE;
if(!$this->session->userdata('is_login')) { redirect('sessions','refresh'); } //Checked is logined in or not
}
public function index()
{
redirect($this->controller_name.'/serviceList/1');
}
/*** Home Service List start ***/
public function serviceList($service_type = 0, $service_type_level_first = 0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 19, "module_view") == 0){ redirect('errors/noPermission');} // Check user access permission
$data = array();
$params = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
$total_record = count($this->Services->getServiceList($params, $service_type));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxServiceList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
$data['sl_no'] = $page;
$data['services'] = $this->Services->getServiceList(array('limit'=>$this->per_page),$service_type);
$data['title'] = getServiceNameById($service_type);
$data['total_record'] = $total_record;
$data['service_type'] = $service_type;
$data['service_type_level_first'] = $service_type_level_first;
//load the view
$data['service_lists_html'] = $this->load->view('ajax_service_lists', $data, true);
$data['modal_image_zoom'] = $this->load->view('includes/modal_image_zoom', array(), true);
$this->template->admin('service_lists', $data);
}
public function ajaxServiceList()
{
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//set conditions for search
$service_id = $this->input->post('service_id');
$service_type = $this->input->post('service_type');
$service_type_level_first = $this->input->post('service_type_level_first');
$service_name = $this->input->post('service_name');
if(!empty($service_id)){
$conditions['search']['service_id'] = $service_id;
}
if(!empty($service_name)){
$conditions['search']['service_name'] = $service_name;
}
//total rows count
$total_record = count($this->Services->getServiceList($conditions, $service_type));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxServiceList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//set start and limit
$conditions['start'] = $offset;
$conditions['limit'] = $this->per_page;
//get posts data
$data['services'] = $this->Services->getServiceList($conditions, $service_type);
$data['title'] = getServiceNameById($service_type);
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
$data['service_type'] = $service_type;
$data['service_type_level_first'] = $service_type_level_first;
$service_lists_html = $this->load->view('ajax_service_lists', $data, true);
echo $service_lists_html;exit;
}
/*** Home Service list end ***/
public function serviceForm($service_id = 0, $service_type = 0, $service_type_level_first = 0)
{
//if(checkModuleAccessByUser(userInfo('user_role_id'), 20, "module_edit") == 0){ redirect('errors/noPermission');} // Check user access permission
$data['title'] = "Service Form";
$data['service_id'] = $service_id;
$data['service_type_level_first'] = $service_type_level_first;
if($service_id > 0) {
$data['service_data'] = $this->Services->getServiceDataById($service_id);
$data['modal_image_zoom'] = $this->load->view('includes/modal_image_zoom', array(), true);
}
if($this->input->post()) {
if($service_id > 0 && $this->input->post('radio_view') != '') {
$arr = $this->Services->getChildServices($this->input->post('service_id'));
$arr[] = $service_id;
$this->Services->updateServiceCats(array('radio_view' => $this->input->post('radio_view')), $arr);
} else {
$data_array['radio_view'] = $this->input->post('radio_view');
}
$this->form_validation->set_rules('service_id', 'Module Name', 'trim|required');
if($service_id == 0) $this->form_validation->set_rules('service_name', 'Service Name', 'trim|required|is_unique['.TABLE_SERVICES.'.service_name]');
else $this->form_validation->set_rules('service_name', 'Service Name', 'trim|required');
if($service_type_level_first == 1) {
$this->form_validation->set_rules('visiting_charge', 'Visiting Charge', 'trim|numeric');
$this->form_validation->set_rules('commission_charge', 'Commission Charge', 'trim|numeric');
}
if ($this->form_validation->run() === TRUE) {
$parent_id = $this->input->post('service_id');
$service_name = $this->input->post('service_name');
$service_description = $this->input->post('service_description');
$visiting_charge = (float)$this->input->post('visiting_charge');
$commission_charge = (float)$this->input->post('commission_charge');
$is_visible = $this->input->post('is_visible');
if($service_id == 0) {
$data_array['parent_id'] = $parent_id;
}
$data_array['service_name'] = $service_name;
$data_array['service_description'] = $service_description;
// if($service_type_level_first == 1) {
$data_array['visiting_charge'] = $visiting_charge;
$data_array['commission_charge'] = $commission_charge;
// }
if($service_id == 0) {
$data_array['display_order'] = getNextRankValue(TABLE_SERVICES, 'parent_id', $parent_id);
}
$data_array['is_visible'] = $is_visible;
/*** upload service image start ***/
if(isset($_FILES['service_img_path']) && ($_FILES['service_img_path']['name']) != '') {
/*$service_image = $this->Services->getServiceImage($service_id);
if(!empty($service_image) && file_exists(SERVICE_IMAGE_PATH.$service_image)) {
unlink(SERVICE_IMAGE_PATH.$service_image);
}*/
$file_data = uploadFileCustom(SERVICE_IMAGE_PATH,"service_img_path",array("jpeg", "jpg", "png"), "service_img");
if($file_data['upload_status'] == 1 && $file_data['res_msg'] == 'Success') {
$data_array['service_img_path'] = $file_data['new_file_name'];
} else {
$this->session->set_flashdata('msg_error', getMessage("file_type_not_allowed", 3));
redirect($this->controller_name.'/serviceForm/'.$service_id.'/'.$service_type);
}
}
/*** upload service image end ***/
if($service_id == 0) { $data_array['doc'] = date('Y-m-d H:i:s');}
if($service_id > 0) { $data_array['dom'] = date('Y-m-d H:i:s');}
/*if(!in_array($parent_id, array(0,1,2,3)) && $service_id == 0) {
$this->session->set_flashdata('msg_error', getMessage("not_allowed_fourth_level_service", 3));
redirect($this->controller_name.'/serviceForm/'.$service_id.'/'.$service_type);
} else {
$sid = $this->Services->serviceSave($data_array, $service_id);
if($service_id == 0) {
$this->session->set_flashdata('msg_success', getMessage("record_saved", 3));
redirect($this->controller_name.'/serviceList/'.$service_type);
} else {
$this->session->set_flashdata('msg_success', getMessage("record_updated", 3));
redirect($this->controller_name.'/serviceList/'.$service_type);
}
}*/
$sid = $this->Services->serviceSave($data_array, $service_id);
$cat_type_id = chkCategoryTypeRecursively($sid);
$this->Services->updateService($sid, $cat_type_id);
if($service_id == 0) {
$this->session->set_flashdata('msg_success', getMessage("record_saved", 3));
redirect($this->controller_name.'/serviceList/'.$service_type_level_first);
} else {
$this->session->set_flashdata('msg_success', getMessage("record_updated", 3));
redirect($this->controller_name.'/serviceList/'.$service_type);
}
}
}
$this->template->admin('service_form', $data);
}
public function serviceChildForm($service_id = 0, $service_type = 0)
{
//if(checkModuleAccessByUser(userInfo('user_role_id'), 19, "module_edit") == 0){ redirect('errors/noPermission');} // Check user access permission
$data['title'] = "Service Child Form";
$data['service_id'] = $service_id;
if($service_id > 0) {
$data['service_data'] = $this->Services->getServiceDataById($service_id);
$data['modal_image_zoom'] = $this->load->view('includes/modal_image_zoom', array(), true);
}
if($this->input->post()) {
$this->form_validation->set_rules('service_id', 'Module Name', 'trim|required');
if($service_id == 0) $this->form_validation->set_rules('service_name', 'Service Name', 'trim|required|is_unique['.TABLE_SERVICES.'.service_name]');
else $this->form_validation->set_rules('service_name', 'Service Name', 'trim|required');
if($service_type == 1) {
$this->form_validation->set_rules('visiting_charge', 'Visiting Charge', 'trim|numeric');
$this->form_validation->set_rules('commission_charge', 'Commission Charge', 'trim|numeric');
}
if ($this->form_validation->run() === TRUE) {
$parent_id = $this->input->post('service_id');
$service_name = $this->input->post('service_name');
$service_description = $this->input->post('service_description');
if($service_type == 1) {
$visiting_charge = $this->input->post('visiting_charge');
$commission_charge = $this->input->post('commission_charge');
}
$is_visible = $this->input->post('is_visible');
$data_array['parent_id'] = $parent_id;
$data_array['service_name'] = $service_name;
$data_array['service_description'] = $service_description;
if($service_type == 1) {
$data_array['visiting_charge'] = $visiting_charge;
$data_array['commission_charge'] = $commission_charge;
}
$data_array['display_order'] = getNextRankValue(TABLE_SERVICES, 'parent_id', $parent_id);
$data_array['is_visible'] = $is_visible;
/*** upload service image start ***/
if(isset($_FILES['service_img_path']) && ($_FILES['service_img_path']['name']) != '') {
/*$service_image = $this->Services->getServiceImage($service_id);
if(!empty($service_image) && file_exists(SERVICE_IMAGE_PATH.$service_image)) {
unlink(SERVICE_IMAGE_PATH.$service_image);
}*/
$file_data = uploadFileCustom(SERVICE_IMAGE_PATH,"service_img_path",array("jpeg", "jpg", "png"), "service_img");
if($file_data['upload_status'] == 1 && $file_data['res_msg'] == 'Success') {
$data_array['service_img_path'] = $file_data['new_file_name'];
} else {
$this->session->set_flashdata('msg_error', getMessage("file_type_not_allowed", 3));
redirect($this->controller_name.'/serviceForm/'.$service_id.'/'.$service_type);
}
}
/*** upload service image end ***/
$data_array['doc'] = date('Y-m-d H:i:s');
$data_array['dom'] = date('Y-m-d H:i:s');
$sid = $this->Services->serviceSave($data_array);
$cat_type_id = chkCategoryTypeRecursively($sid);
$this->Services->updateService($sid, $cat_type_id);
$this->session->set_flashdata('msg_success', getMessage("record_saved", 3));
redirect($this->controller_name.'/serviceList/'.$service_type);
}
}
$this->template->admin('service_child_form', $data);
}
/*** Questionnaire List start ***/
public function questionnaireList($dashboard_p = 0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 19, "module_view") == 0){ redirect('errors/noPermission');} // Check user access permission
$data = array();
$params = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
$total_record = count($this->Services->getQuestionnaireList($params, $dashboard_p));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxQuestionnaireList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
$data['sl_no'] = $page;
$data['questionnaires'] = $this->Services->getQuestionnaireList(array('limit'=>$this->per_page),$dashboard_p);
$data['title'] = "Questionnaire List";
$data['total_record'] = $total_record;
$data['dashboard_p'] = $dashboard_p;
//load the view
$data['questionnaire_lists_html'] = $this->load->view('questionnaires/ajax_questionnaire_lists', $data, true);
$data['modal_image_zoom'] = $this->load->view('includes/modal_image_zoom', array(), true);
$this->template->admin('questionnaires/questionnaire_lists', $data);
}
public function ajaxQuestionnaireList()
{
$conditions = array();
//calc offset number
$page = $this->input->post('page');
if(!$page) $offset = 0;
else $offset = $page;
//set conditions for search
$service_id = $this->input->post('service_id');
$dashboard_p = $this->input->post('dashboard_p');
$question = $this->input->post('question');
if(!empty($service_id)){
$conditions['search']['service_id'] = $service_id;
}
if(!empty($question)){
$conditions['search']['question'] = $question;
}
//total rows count
$total_record = count($this->Services->getQuestionnaireList($conditions, $dashboard_p));
//pagination configuration
$config['target'] = '#data_list';
$config['base_url'] = base_url().$this->controller_name.'/ajaxServiceList';
$config['total_rows'] = $total_record;
$config['per_page'] = $this->per_page;
$config['link_func'] = 'searchFilter';
$this->ajax_pagination->initialize($config);
//set start and limit
$conditions['start'] = $offset;
$conditions['limit'] = $this->per_page;
//get posts data
$data['questionnaires'] = $this->Services->getQuestionnaireList($conditions, $dashboard_p);
$data['title'] = "Questionnaire List";
$data['total_record'] = $total_record;
$data['sl_no'] = $page;
$questionnaire_lists_html = $this->load->view('questionnaires/ajax_questionnaire_lists', $data, true);
echo $questionnaire_lists_html;exit;
}
/*** Questionnaire list end ***/
public function questionnaireForm($questionnaire_id = 0)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 22, "module_edit") == 0){ redirect('errors/noPermission');} // Check user access permission
$data['title'] = "Questionnaire Form";
$data['questionnaire_id'] = $questionnaire_id;
if($questionnaire_id > 0) {
$data['questionnaire_data'] = $this->Services->getQuestionnaireDataById($questionnaire_id);
$data['modal_image_zoom'] = $this->load->view('includes/modal_image_zoom', array(), true);
}
if($this->input->post()) {
$this->form_validation->set_rules('service_id', 'Module Name', 'trim|required');
$this->form_validation->set_rules('type_of_question', 'Type of Question', 'trim|required|numeric');
$this->form_validation->set_rules('question', 'Question', 'trim|required');
if($this->input->post('type_of_question') == 2)
$this->form_validation->set_rules('question_option_values', 'Question Option Value', 'trim');
if ($this->form_validation->run() === TRUE) {
$service_id = $this->input->post('service_id');
$type_of_question = $this->input->post('type_of_question');
$question = $this->input->post('question');
$question_option_values = $this->input->post('question_option_values');
$question_option_values_exploded = explode(PHP_EOL, $question_option_values);
$is_visible = $this->input->post('is_visible');
$data_array['service_id'] = $service_id;
$data_array['type_of_question'] = $type_of_question;
$data_array['question'] = $question;
if($type_of_question == 2) $data_array['question_option_values'] = serialize($question_option_values_exploded);
$data_array['display_order'] = $this->input->post('qsort_order');//getNextRankValue(TABLE_QUESTIONNAIRES, 'service_id', $service_id);
$data_array['is_visible'] = $is_visible;
if($questionnaire_id == 0) { $data_array['doc'] = date('Y-m-d H:i:s');}
if($questionnaire_id > 0) { $data_array['dom'] = date('Y-m-d H:i:s');}
$qid = $this->Services->questionnaireSave($data_array, $questionnaire_id);
if($service_id == 0) {
$this->session->set_flashdata('msg_success', getMessage("record_saved", 3));
redirect($this->controller_name.'/questionnaireList/0');
} else {
$this->session->set_flashdata('msg_success', getMessage("record_updated", 3));
redirect($this->controller_name.'/questionnaireList/0');
}
}
}
$this->template->admin('questionnaires/questionnaire_form', $data);
}
public function deleteQuestionnaire($questionnaire_id)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 19, "module_delete") == 0){ redirect('errors/noPermission');}
if($questionnaire_id > 0) {
$status = $this->Services->deleteQuestionnaire($questionnaire_id);
if($status) $this->session->set_flashdata('msg_success', getMessage("record_delete", 3));
else $this->session->set_flashdata('msg_success', getMessage("record_saved", 3));
redirect($this->controller_name.'/questionnaireList/0');
} else {
redirect($this->controller_name.'/questionnaireList/0');
}
}
public function deleteService($service_id, $service_type, $service_type_level_first)
{
if(checkModuleAccessByUser(userInfo('user_role_id'), 19, "module_delete") == 0){ redirect('errors/noPermission');}
redirect($this->controller_name.'/serviceList/'.$service_type);
/*if($service_id > 0) {
$response_code = $this->Services->deleteService($service_id);
if($response_code == 1) $this->session->set_flashdata('msg_success', getMessage("record_delete", 3));
elseif($response_code == 2) $this->session->set_flashdata('msg_error', getMessage("questionnaire_exist", 3));
elseif($response_code == 3) $this->session->set_flashdata('msg_error', getMessage("child_entry_exist", 3));
redirect($this->controller_name.'/serviceList/'.$service_type);
} else {
redirect($this->controller_name.'/serviceList/'.$service_type);
}*/
}
/*** asynchronous request start ***/
public function changeServiceOrder()
{
$service_id = $this->input->post('service_id');
$display_order = $this->input->post('display_order');
if($service_id > 0 && $display_order > 0) {
$data_array['display_order'] = $display_order;
$this->Services->serviceSave($data_array, $service_id);
echo "";exit;
} else {
echo "Input Error !";exit;
}
}
public function changeQuestionnaireOrder()
{
$questionnaire_id = $this->input->post('questionnaire_id');
$display_order = $this->input->post('display_order');
if($questionnaire_id > 0 && $display_order > 0) {
$data_array['display_order'] = $display_order;
$this->Services->questionnaireSave($data_array, $questionnaire_id);
echo "";exit;
} else {
echo "Input Error !";exit;
}
}
public function showInAppStatus()
{
$service_id = $this->input->post('service_id');
$shown_in_app_val = $this->input->post('shown_in_app_val');
if($service_id > 0 && $shown_in_app_val > 0) {
$data_array['is_shown_in_app'] = $shown_in_app_val;
$this->Services->serviceSave($data_array, $service_id);
echo "";exit;
} else {
echo "Input Error !";exit;
}
}
public function setFeaturedStatCategories()
{
$service_id = $this->input->post('service_id');
$shown_in_app_val = $this->input->post('is_featured');
if($service_id > 0) {
$data_array['is_featured_service'] = $shown_in_app_val;
$this->Services->serviceSave($data_array, $service_id);
//echo $this->db->last_query();
echo "Success";exit;
} else {
echo "Input Error !";exit;
}
}
/*** asynchronous request end ***/
}