<?php function set_upload_service($path){ $config = array(); $config['upload_path'] = $path; $config['allowed_types'] = '*'; $config['overwrite'] = FALSE; return $config; } function remove_html(&$item, $key){ $item = strip_tags($item); } function set_log($class,$method,$postdata,$auth){ $CI = & get_instance(); $url = $class.'/'.$method; $data = array('url'=>$url, 'parameter'=>$postdata, 'auth'=>$auth, 'time'=>date('Y-m-d h:i:s')); $CI->db->insert('service_log',$data); return $CI->db->insert_id(); } function getSettings(){ $CI = & get_instance(); $settings = $CI->db->get('setting'); return (!empty($settings))?$settings->row_array():''; } function pr($val){ echo (is_array($val))?'<pre>':''; print_r($val); echo (is_array($val))?'</pre>':''; exit; } function pre($val){ echo (is_array($val))?'<pre>':''; print_r($val); echo (is_array($val))?'</pre>':''; echo '<br>'; } function encode_param($param = ''){ if(empty($param)){ return; } $encode = base64_encode('{*}'.$param.'{*}'); $encode = base64_encode('a%a'.$encode.'a%a'); $encode = base64_encode('b'.$encode.'b'); $encode = base64_encode('Ta7K'.$encode.'eyRq'); return urlencode($encode); } function decode_param($param = ''){ if(empty($param)){ return; } $decode = urldecode(trim($param)); $decode = trim(base64_decode(urldecode($decode)),'Ta7K'); $decode = trim($decode,'eyRq'); $decode = trim(base64_decode(urldecode($decode)),'b'); $decode = trim(base64_decode(urldecode($decode)),'a%a'); $decode = trim(base64_decode(urldecode($decode)),'{*}'); return $decode; } function getLocationLatLng($location = ''){ $settings = getSettings(); if(empty($location) || empty($settings) || !isset($settings['google_api_key']) || empty($gKey = $settings['google_api_key'])){ return 0; } $thisObj = & get_instance(); $locData = file_get_contents("https://maps.google.com/maps/api/geocode/json?address=". urlencode($location)."&sensor=false&key=".$gKey); if(empty($locData)) return 0; $loc_data = json_decode($locData); if(empty($loc_data) || !isset($loc_data->status) || $loc_data->status != 'OK') return 0; $locArr['lat'] = $loc_data->{'results'}[0]->{'geometry'}->{'location'}->{'lat'}; $locArr['lng'] = $loc_data->{'results'}[0]->{'geometry'}->{'location'}->{'lng'}; if(empty($locArr['lat']) || empty($locArr['lng'])) return 0; return $locArr; } function generate_unique() { $unique = md5(uniqid(time().mt_rand(), true)); return $unique; } function genQRcode($qr_id='',$url='',$custmLogo=''){ if(empty($qr_id)){ return ''; } include 'qr_code/autoload.php'; $qr_id = urlencode($qr_id); $logo = (!empty($custmLogo))?$custmLogo:'assets/images/qr-cod-icon.png'; $savePath = (!empty($url))?$url:"assets/uploads/qrcode/bookCode_".time().".png"; $QR = imagecreatefrompng('https://chart.googleapis.com/chart?cht=qr&chld=H|1&chs=500x500&chl='.$qr_id); $logo = imagecreatefromstring(file_get_contents($logo)); $qrWidth = imagesx($QR)/2.5; $qrHeight = imagesy($QR)/2.5; $logoWidth = imagesx($logo); $logoHeight = imagesy($logo); $scale = $logoWidth/$qrWidth; $imgWidth = $qrWidth; $imgHeight = $logoHeight/$scale; imagecopyresampled($QR,$logo,155,150,0,0,$imgWidth,$imgHeight,$logoWidth,$logoHeight); imagepng($QR, $savePath); return $savePath; } // function BayanPayPayment(){ // include 'BayanPayPaymentLibrary.php'; // } function getCurrency($userId=''){ $CI = & get_instance(); $join = (!empty($userId))?"INNER JOIN customer AS CUST (CUST.country_id=CON.country_id AND CUST.customer_id=$userId)":''; $countryData = $CI->db->query("SELECT * FROM country AS CON $join WHERE CON.status='1'"); if(empty($countryData)){ return 0; } return (empty($userId))?$countryData->result_array():$countryData->row_array(); } function getNotifTemplate(){ $CI = & get_instance(); $settings = $CI->db->get('notification_templates'); return (!empty($settings))?$settings->row_array():''; } function roleManagement(){ $CI = & get_instance(); $menus = array(); $userType = $CI->session->userdata['user_type']; switch($userType){ /* ADD => 1 EDIT => 2 DELETE => 3 CHANGE_STATUS => 4 */ case 1: $menus = array('Dashboard'=>array(1,2,3,4),'Tag'=>array(1,2,3,4),'Host'=>array(1,2,3,4), 'CMS'=>array(1,2,3,4),'Event'=>array(1,2,3,4),'Organizer'=>array(1,2,3,4), 'Checker'=>array(1,2,3,4),'Category'=>array(1,2,3,4),'Staff'=>array(1,2,3,4), 'Venue'=>array(1,2,3,4),'City'=>array(1,2,3,4),'Commission'=>array(1,2,3,4), 'Customer'=>array(1,2,3,4),'Booking'=>array(1,2,3,4),'Settings'=>array(1,2,3,4), 'Notification'=>array(1,2,3,4),'Promocode'=>array(1,2,3,4), 'Country'=>array(1,2,3,4),'HotelCity'=>array(1,2,3,4)); break; case 2: $menus = array('Dashboard'=>array(1,2,3,4),'Tag'=>array(),'Host'=>array(1), 'City'=>array(),'Category'=>array(),'Promocode'=>array(1,2,3,4), 'Event'=>array(1,2,3,4),'Checker'=>array(1,2,3,4),'Customer'=>array(), 'Booking'=>array(1,2,3,4),'Venue'=>array(1,2,3,4),'HotelCity'=>array(1,2,3,4)); break; case 4: $menus = array('Dashboard'=>array(1,2,3,4),'Tag'=>array(1,2,3,4),'Host'=>array(1,2,3,4), 'City'=>array(1,2,3,4),'Category'=>array(1,2,3,4),'Venue'=>array(1,2,3,4), 'Event'=>array(1,2,3,4),'Checker'=>array(1,2,3,4),'Customer'=>array(1,2,3,4), 'Organizer'=>array(1,2,3,4),'Booking'=>array(1,2,3,4), 'Notification'=>array(1,2,3,4),'HotelCity'=>array(1,2,3,4)); break; case 5: $menus = array('Customer'=>array(),'Customer_Booking'=>array()); break; } return $menus; } function langTranslator($id='',$module='',$lngCode=''){ $thisObj = & get_instance(); if (empty($id) && empty($module)){ return false; } $cond = ''; $langArr = array(); $orderBy = " ORDER BY CASE WHEN language_code LIKE 'EN' THEN 0 ELSE 1 END, language_code ASC "; if(!empty($lngCode)){ $cond = "(language_code='$lngCode' OR language_code='EN') AND "; } switch($module) { case 'EVT': $cond .= "event_id='$id'"; $sql = "SELECT * FROM translator_event WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $evtName = $evtDesc = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['event_name_'.$lang] = $langArr['event_description_'.$lang] = ''; } } else { $langArr['event_name'] = $langArr['event_description'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $evtName = ($code=='en')?$data['event_name']:''; $evtDesc = ($code=='en')?$data['event_description']:''; $name = (!empty($data['event_name']))?$data['event_name']:$evtName; $desc = (!empty($data['event_description']))?$data['event_description']:$evtDesc; $langArr['event_name'.$code] = $name; $langArr['event_description'.$code] = $desc; } break; case 'VEN': $cond .= "venue_id='$id'"; $sql = "SELECT * FROM translator_venue WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $venName = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['venue_name_'.$lang] = ''; } } else { $langArr['venue_name'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $venName = ($code=='en')?$data['venue_name']:''; $name = (!empty($data['venue_name']))?$data['venue_name']:$venName; $langArr['venue_name'.$code] = $name; } break; case 'CAT': $cond .= "category_id='$id'"; $sql = "SELECT * FROM translator_category WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $catName = $catImage = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['category_name_'.$lang] = $langArr['category_image_'.$lang] = ''; } } else { $langArr['category_name'] = $langArr['category_image'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $catName = ($code=='en')?$data['category_name']:''; $catImage= ($code=='en')?$data['category_image']:''; $name = (!empty($data['category_name']))?$data['category_name']:$catName; $image = (!empty($data['category_image']))?$data['category_image']:$catImage; $langArr['category_name'.$code] = $name; $langArr['category_image'.$code] = $image; } break; case 'LOC': $cond .= "locality_id='$id'"; $sql = "SELECT * FROM translator_locality WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $locName = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['locality_name_'.$lang] = ''; } } else { $langArr['locality_name'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $locName = ($code=='en')?$data['locality_name']:''; $name = (!empty($data['locality_name']))?$data['locality_name']:$locName; $langArr['locality_name'.$code] = $name; } break; case 'REG': $cond .= "region_id='$id'"; $sql = "SELECT * FROM translator_region WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $regName = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['region_name_'.$lang] = ''; } } else { $langArr['region_name'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $regName = ($code=='en')?$data['region_name']:''; $name = (!empty($data['region_name']))?$data['region_name']:$regName; $langArr['region_name'.$code] = $name; } break; case 'HCTY': $cond .= "hotel_city_id='$id'"; $sql = "SELECT * FROM translator_hotel_city WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $regName = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['hotel_city_name_'.$lang] = ''; } } else { $langArr['hotel_city_name'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $regName = ($code=='en')?$data['hotel_city_name']:''; $name = (!empty($data['hotel_city_name']))?$data['hotel_city_name']:$regName; $langArr['hotel_city_name'.$code] = $name; } break; case 'TAG': $cond .= "tag_id='$id'"; $sql = "SELECT * FROM translator_tag WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $regName = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['tag_'.$lang] = ''; } } else { $langArr['tag'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $regName = ($code=='en')?$data['tag']:''; $name = (!empty($data['tag']))?$data['tag']:$regName; $langArr['tag'.$code] = $name; } break; case 'PROMO': $cond .= "promocode_id='$id'"; $sql = "SELECT * FROM translator_promocode WHERE $cond $orderBy"; $resp = $thisObj->db->query($sql)->result_array(); $promoDesc = $promoTc = ''; if(empty($lngCode)){ $languages = getLanguages(); foreach ($languages AS $lang) { $langArr['promocode_tc_'.$lang] = $langArr['promocode_desc_'.$lang] = ''; } } else { $langArr['promocode_tc'] = $langArr['promocode_desc'] = ''; } foreach ($resp AS $data) { $code = (empty($lngCode))?'_'.$data['language_code']:''; $promoDesc = $promoTc = ''; if($code=='en'){ $promoTc = $data['promocode_tc']; $promoDesc = $data['promocode_desc']; } $tc = (!empty($data['promocode_tc']))?$data['promocode_tc']:$promoTc; $desc = (!empty($data['promocode_desc']))?$data['promocode_desc']:$promoDesc; $langArr['promocode_tc'.$code] = $tc; $langArr['promocode_desc'.$code] = $desc; } break; } return $langArr; } function getLanguages(){ $thisObj = & get_instance(); $sql = "SELECT language_code FROM country WHERE status='1' GROUP BY language_code ORDER BY CASE WHEN language_code LIKE 'EN' THEN 0 ELSE 1 END, language_code ASC"; $langData = $thisObj->db->query($sql); if(empty($langData) || empty($langData = $langData->result_array())){ return array('EN'); } $langArr = array(); foreach ($langData AS $lang) { $langArr[] = $lang['language_code']; } return $langArr; } ?>