<?php
class Venue_model extends CI_Model {
public function _consruct(){
parent::_construct();
}
public function getVenueData($venue_id='',$view='',$provider_id=''){
$cond = (!empty($view))?" VNE.status IN ($view) ":" VNE.status != '2' ";
$cond .= (!empty($venue_id))?" AND VNE.id='$venue_id' ":"";
$cond .= (!empty($provider_id))?" AND VNE.provider_id='$provider_id' ":"";
$sql = "SELECT VNE.id AS venue_id,VNE.*,HST.host_category,HST.show_layout
FROM venue AS VNE
INNER JOIN region AS REG ON (VNE.region_id=REG.id)
INNER JOIN host_categories AS HST ON (HST.host_cat_id=VNE.host_cat_id)
WHERE $cond";
$venueData = $this->db->query($sql);
if(empty($venueData)){
return 0;
}
if(empty($venue_id)){
$venueData = $venueData->result_array();
foreach ($venueData AS $key => $data) {
$rtlData = langTranslator($data['venue_id'],'VEN');
$venueData[$key] = array_merge($venueData[$key],$rtlData);
$rtlData = langTranslator($data['region_id'],'REG');
$venueData[$key] = array_merge($venueData[$key],$rtlData);
}
} else {
$venueData = $venueData->row_array();
$rtlData = langTranslator($venue_id,'VEN');
$venueData = array_merge($venueData,$rtlData);
$rtlData = langTranslator($venueData['region_id'],'REG');
$venueData = array_merge($venueData,$rtlData);
}
return json_decode(json_encode($venueData));
}
public function createVenue($venueData = array()){
if(empty($venueData)){
return 0;
}
$status = $this->db->insert('venue',array('layout'=>$venueData['layout'],
'location'=>$venueData['location'],
'region_id'=>$venueData['region_id'],
'host_cat_id'=>$venueData['host_cat_id'],
'locality_id'=>$venueData['locality_id'],
'provider_id'=>$venueData['provider_id'],
'location_lat'=>$venueData['location_lat'],
'location_lng'=>$venueData['location_lng'],
'layout_details'=>$venueData['layout_details']));
if($status){
$venue_id = $this->db->insert_id();
$languages = getLanguages();
if(!empty($languages)){
$insertArr = array();
foreach ($languages AS $lang) {
if(!isset($venueData['venue_name_'.$lang]) || empty($venueData['venue_name_'.$lang])){
continue;
}
$insertArr[] = array('venue_id'=>$venue_id,
'venue_name'=>$venueData['venue_name_'.$lang],
'language_code'=>$lang);
}
if(!empty($insertArr)){
$this->db->insert_batch('translator_venue',$insertArr);
}
}
}
return $status;
}
public function updateVenues($venue_id = '', $venueData = array()){
if(empty($venue_id) || empty($venueData)){
return 0;
}
$insertArr = array();
$languages = getLanguages();
if(!empty($languages)){
foreach ($languages AS $lang) {
if(!isset($venueData['venue_name_'.$lang])){
continue;
}
$vName = $venueData['venue_name_'.$lang];
unset($venueData['venue_name_'.$lang]);
unset($venueData['lolocality_name_'.$lang]);
if(empty($vName)){
continue;
}
$insertArr[] = array('venue_id'=>$venue_id,'venue_name'=>$vName,'language_code'=>$lang);
}
}
$status = $this->db->update('venue',$venueData,array('id'=>$venue_id));
$this->db->delete('translator_venue',array('venue_id'=>$venue_id));
if($status && !empty($insertArr)){
$this->db->insert_batch('translator_venue',$insertArr);
}
return $status;
}
public function changeStatus($venue_id = '', $status = '0'){
if(empty($venue_id)){
return 0;
}
$status = $this->db->update('venue',array('status'=>$status),array('id'=>$venue_id));
return $status;
}
public function createLocality($language,$data){
if(empty($data) || empty($language) || !isset($data['locality_name_EN']) ||
empty($data['locality_name_EN'])){
return;
}
$status = $this->db->insert('locality',array('locality'=>$data['locality_name_EN'],
'region_id'=>$data['region_id']));
if(!$status || empty($locality_id = $this->db->insert_id())) {
return;
}
$insertArr = array();
foreach($language AS $lang) {
if(isset($data['locality_name_'.$lang]) && !empty($data['locality_name_'.$lang])){
$insertArr[] = array('language_code'=>$lang,
'locality_id'=>$locality_id,
'locality_name'=>$data['locality_name_'.$lang]);
}
}
if(!empty($insertArr)){
$this->db->insert_batch('translator_locality',$insertArr);
}
return $locality_id;
}
}
?>