diff --git a/src/Controller/TYPProfileController.php b/src/Controller/TYPProfileController.php --- a/src/Controller/TYPProfileController.php +++ b/src/Controller/TYPProfileController.php @@ -1,241 +1,240 @@ redirect(""); }*/ public function __construct(){ \Drupal::service('page_cache_kill_switch')->trigger(); } public static function FormatPhoneNumber($r){ $p = str_replace('-','',$r); - $num_com = null; + $num_com = ''; $codeTelephone = array('032','034','035','036','037','038','039','042','043','044','045','053','054','055','056','073','074','075','076','077'); if(strlen($p) == 9){ $num_com = substr($p,0,1).'-'.substr($p,1,4).'-'.substr($p,5,4); }elseif(strlen($p) == 10 ) { if(in_array(substr($p,0,3), $codeTelephone) || substr($p,0,2) == '02'){ $num_com = substr($p,0,1).'-'.substr($p,1,4).'-'.substr($p,5,4).'-'.substr($p,9); }else{ $num_com = substr($p,0,2).'-'.substr($p,2,4).'-'.substr($p,6,4); } - }else{ + }else if($p != ''){ if(in_array(substr($p,0,3), $codeTelephone) || substr($p,0,2) == '02'){ if(strlen($p) == 9){ $num_com = substr($p,0,1).'-'.substr($p,1,4).'-'.substr($p,5,4); }elseif(strlen($p)>9){ $num_com = substr($p,0,1).'-'.substr($p,1,4).'-'.substr($p,5,4).'-'.substr($p,9); } }else{ $num_com = substr($p,0,2).'-'.substr($p,2,4).'-'.substr($p,6,4); } } - $ps[] = $num_com; - return implode(", ", $ps); + return $num_com; } public function formatWorkingHour($s) { foreach( explode(",", $s) as $p) { $ps[] = $p; } return implode(", ", $ps); } protected $data; protected static function insertVisit($bizid, $customerid){ // DO NOT DO THIS! THIS IS NOT PROPER PLACE.. AND TOO BIG DATA! // VORAPOAP 1/10/2558 /*db_set_active("typ_data"); $data['businessid'] = trim($bizid); $data['customerid'] = trim($customerid); $data['goodsid'] = ""; db_insert('last_visit_product')->fields($data)->execute(); db_set_active();*/ } public function profileTitle($bizid) { $this->data = \Drupal::service("typ.search")->getProfile($bizid ,AUTO); if (!$this->data) return ''; else return $this->data['humanname']; } public function profilePage($bizid){ $this->data = \Drupal::service("typ.search")->getProfile($bizid ,AUTO); $address_id = ""; $language = \Drupal::languageManager()->getCurrentLanguage()->getId(); $data = $this->data; if (!$data) { return $this->redirect(""); } //Insesrt visit page self::insertVisit($data['businessid'], $data['customerid']); /*if($data['landingpage'] == ""){ $address_id = $data['addressid']; } if(is_numeric($address_id)){ $result = \Drupal::service('typ.unvservice')->loadListing($data['customerid']); $rs_details = (!empty($result['address'][$data['headingcod']][$address_id]['frontviews']))?$result['address'][$headingcode][$data['headingcod']]['frontviews']:array(); } else { $result = \Drupal::service('typ.unvservice')->loadService($data['customerid']); }*/ // PLEASE COMMENT?? WHY WE LOAD PROFILE AND THEN LOAD SERVICE? $address_id = $data['addressid']; $result = \Drupal::service('typ.unvservice')->loadListing($data['customerid']); //(!empty($result['landingpages'][$data['headingcode']]))?$result['landingpages'][$data['headingcode']]:array(); //$type = ''; if($result['customertype'] == 'FL' || $result['customertype'] == ''){ $type = 'FL'; }else{ $result_olc = \Drupal::service('typ.catalog')->listData($data['customerid']); } $pos = strpos(html_entity_decode($data['proddesc']),"

"); if($pos !== false && $data['proddesc']){ $tempdesc = substr(html_entity_decode($data['proddesc']),3); }else{ $tempdesc = html_entity_decode(html_entity_decode($data['proddesc'])) ; //$tempdesc = $data['proddesc']; } if(strlen($tempdesc) != 0) { $temp = '

'; $tempdesc = $temp . $tempdesc; $type = $data['customertype']; } if($type == "FL") { $dataproddesct = iconv_substr($tempdesc,0,123,"UTF-8"); $dataproddesct .= '...'; }else{ $dataproddesct = $tempdesc; } $dataproddesct = str_replace("

","

",$dataproddesct); if($type != "FL" && !empty($result_olc)){ $olcdata = $result_olc[0]; } if (!empty($data['telno'])) { foreach ($data['telno'] as $t) { $data['_format']['telno'][] = $this->formatPhoneNumber($t); } } if (!empty($data['fax'])) { foreach ($data['fax'] as $t) { $data['_format']['fax'][] = $this->formatPhoneNumber($t); } } if($type == "FL"){ /*unset($data['_format']['telno']); $data['_format']['telno'][] = $data['_format']['telno'][0]; unset($data['fax']); $data['fax'][] = $data['fax'][0]; $exp = explode(",", $data['email']); unset($data['email']); $data['email'][] = $exp[0];*/ }else{ /*$exp = explode(",", $data['email']); $data['email'] = $exp;*/ } $thai_month_arr = array('01'=>'ม.ค.','02'=>'ก.พ.','03'=>'มี.ค.','04'=>'เม.ษ.','05'=>'พ.ค.','06'=>'มิ.ย.','07'=>'ก.ค.','08'=>'ส.ค.','09'=>'ก.ย.','10'=>'ต.ค.','11'=>'พ.ย.','12'=>'ธ.ค.'); list($year, $month,$day) = explode('-', $result['address'][$data['headingcode']][$data['addressid']]['promotion']['enddate']); $date_e = $day." ".$thai_month_arr[$month]." ".($year+543); $end_date_promotion = $result['address'][$data['headingcode']][$data['addressid']]['promotion']['enddate']; list($year, $month,$day) = explode('-', $result['address'][$data['headingcode']][$data['addressid']]['promotion']['startdate']); $date_s = $day." ".$thai_month_arr[$month]." ".($year+543); $result['address'][$data['headingcode']][$data['addressid']]['promotion']['startdate'] = $date_s; $result['address'][$data['headingcode']][$data['addressid']]['promotion']['enddate'] = $date_e; $result['address'][$data['headingcode']][$data['addressid']]['promotion']['subject'] = preg_replace('/]*?>/','',html_entity_decode($result['address'][$data['headingcode']][$data['addressid']]['promotion']['subject'])); if(date("Y-m-d") > $end_date_promotion){ $promotion_data = ''; }else{ $promotion_data = $result['address'][$data['headingcode']][$data['addressid']]['promotion']; } if(!empty($data['profile'])){ $data['profile'] = preg_replace('/]*?>/','',html_entity_decode($data['profile'])); } if (!empty($data['workinghours'])) { $data['_format']['workinghours'] = $this->formatWorkingHour($data['workinghours']); $data['customertyp'] = $data['customertype']; } if(!empty($data['cityname'])){ $bangkok = array('กทม','กทม.','ก.ท.ม.','กรุงเทพ','กรุงเทพฯ','กรุงเทพมหานคร'); if(!in_array($data['cityname'],$bangkok)){ $data['cityname'] = t('province') . $data['cityname']; } } if($result['customertype'] == 'FL'){ $data['profile'] = strip_tags($data['profile']); } $data['profile'] = str_replace("

","

",$data['profile']); // echo "

";var_export($data);exit;
         $display[] = array(
             '#theme' => 'typ_profile',
             '#profile' => $data,
             '#prodescription' => $dataproddesct,
             '#catalog' => $olcdata,
             '#type' => $type,
             '#promotion' => $promotion_data,
         );
         if ($type != 'FL')
             $display['#attached']['drupalSettings']['disableAds'] = TRUE;
 
         $display['#attached']['library'] = array(
             'typ_profile/profile.popup',
         );
         return $display;
     }
 
     public function getTitlePromotion(){
         return t('How to get promotion');
     }
 
     public function getPromotion(){
 
         $mobileDetector = \Drupal::service('krs.mobile_detect');
         if($mobileDetector->isAndroidOS() == 1 ){
             header('location: https://play.google.com/store/apps/details?id=com.initialive.yellowpages.act&hl=th');
             exit;
         }if($mobileDetector->isIOS() == 1){
             header('location: https://itunes.apple.com/th/app/thailand-yellowpages/id387848017?mt=8');
             exit;
         }else{
             header('location: http://m.yellowpages.co.th/mobile/typliveplus/user/');
             exit;
         }
 
         $display[] = array(
             '#theme' => 'typ_promotion',
         );
         $display['#attached']['library'] = array(
             'typ_profile/profile.popup',
         );
 
         return $display;
     }
 }