diff --git a/src/Controller/TYPProfileController.php b/src/Controller/TYPProfileController.php --- a/src/Controller/TYPProfileController.php +++ b/src/Controller/TYPProfileController.php @@ -1,408 +1,408 @@ trigger(); } 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 checkLPRedirect($options = array()){ $data = \Drupal::service('typ.api')->getLandingpage($options); $customer = array(); if($data){ $info = $data['_info']; $res = $data['_res']; $sub = $res['subdomains'][$info['headingcode']]; $datenow = date('Y-m-d'); $status = 0; if($datenow <= date('Y-m-d', strtotime($sub['enddate']))){ if($datenow >= date('Y-m-d', strtotime($sub['startdate'])) && $datenow <= date('Y-m-d', strtotime($sub['enddate']))){ $status = 1; }else{ $status = 2; } } $lp = $res['landingpages'][$info['headingcode']]; if(intval($lp['hide']) == '1' || intval($lp['accounting_status']) == 1){ $status = 0; } $customer['busid'] = $info['customerid'].$info['headingcode'].$lp['addressid']; $customer['custid'] = $info['customerid']; $customer['subdomain'] = $sub['subdomain']; $customer['headingcode'] = $info['headingcode']; $customer['URL'] = $sub['url']; $customer['title'] = $sub['title']; $customer['keyword'] = $sub['keyword']; $customer['desc'] = $sub['desc']; $customer['theme'] = $lp['theme']; $customer['siteid'] = $sub['siteclick']; $customer['status'] = $status; } return $customer; } 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){ // $bizid filler $input = str_replace(".html","",$bizid); $input = explode("_", $input); - $input = end($input); - list($bizid , $addressId) = explode('-', $input); + $bizid = end($input); + //list($bizid , $addressId) = explode('-', $input); // $this->data = \Drupal::service("typ.search")->getProfile($bizid ,AUTO); $result = \Drupal::service('typ.unvservice')->loadListing($this->data['customerid']); $address_id = ""; $language = \Drupal::languageManager()->getCurrentLanguage()->getId(); if(isset($_COOKIE['breadcrumbs'])) { $breadcrumbs_data = $_COOKIE['breadcrumbs']; $breadcrumbs_ex= explode(",", $breadcrumbs_data); $breadcrumbs[$breadcrumbs_ex[0]] = $breadcrumbs_ex[0]; $breadcrumbs['data'] = $breadcrumbs_ex[1]; $breadcrumbs['businessid'] = $breadcrumbs_ex[2]; } $data = $this->data; if (!$data) { throw new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException(); } if(!empty($data['redirect'])){ $lp = $data['redirect']; if(strpos($data['redirect'], 'http://') === false){ $lp = 'http://'.$data['redirect']; } $chk_lp = array(); if($lp){ $redirect = str_replace(array("http://", "/"), "", $lp); if(strpos($redirect, \Drupal\typ_legacy\Service\TYP::config('typ.subdomain')) !== false){ //Subdomain $options['type'] = 'subdomain'; $exp = explode(".", $redirect); $options['SUBDOMAIN'] = current($exp); }else{ //Domian $options['type'] = 'domain'; $options['DOMAIN'] = $redirect; } $chk_lp = $this->checkLPRedirect($options); } if($chk_lp['status'] == '1'){ header('Location: '.$lp); exit(); } }else{ if(!empty($data['landingpage']) && !empty($data['subdomain'])){ $options['customerid'] = $data['customerid']; $options['headingcode'] = $data['headingcode']; $onserv = \Drupal::service('typ.subdomain')->getOnServiceSubdomain($options, true); if($onserv[0] == true){ $lp = $data['landingpage']; if(strpos($data['landingpage'], 'http://') === false){ $lp = 'http://'.$data['landingpage']; } if(!empty($lp)){ header('Location: '.$lp); exit(); } } } } if($this->data['onlinepromotion']){ $promotiond_mongo = \Drupal::service("typ.profile")->_getpromotion($bizid); $promo = iterator_to_array($promotiond_mongo); $proid = array(); foreach ($promo as $key => $value) { foreach ($value as $k => $val) { if($k == 'th'){ $proid['promotion'] += $val; }if($k == 'en'){ $proid['promotion'] += $val; }else{ $proid['promotion'][$k] = $val; } } } // echo "
";print_r($proid);exit;
             $result['address'][$data['headingcode']][$data['addressid']]['promotion'] = $proid['promotion'];
             // echo "";print_r($result);exit;
         }
 
         $address_id = $data['addressid'];
         $type = $this->data['customertype'];
 
         if($this->data['accounting_status'] == '1' || $this->data['hide'] == '1'){   // Check Disable Packet and Hide content
             $result['customertype'] = 'FL';
             $type = 'FL';
         }
 
         if( $type== 'FL' || $this->data['customertype'] == ''){
             $type = 'FL';
         }else{
             $result_olc = \Drupal::service('typ.catalog')->getPreparedCatalogItemSet($data['customerid']);
         }
         if($language == 'en'){
             $base_path = '/en/';
         }else{
             $base_path = '/';
         }
         /*Prepare Headings*/
         if(!empty($data['headings'])){
 			$lang = $language[0];
 			$headings = array();
 			foreach ($data['headings'] as $value) {
 				$item = array();
 				$item['headingcode'] =  $value['headingcode'];
 				$item['headingname'] = $value['headingname'.$lang];
 				$item['subgroupcode'] = $value['subgroupcode'];
 				$item['subgroupname'] = $value['subgroupname'.$lang];
 				$item['groupcode'] = $value['groupcode'];
 				$item['groupname'] = $value['groupname'.$lang];
 				$headings[$item['headingname']] = $item;
 			}
 			$data['headings'] = array_values($headings);
         }
 
         if($_GET['debug']){
             echo "";
             echo "
Service:";if($this->data['accounting_status'] == '1'){ echo "Don't have a Service";}else{ echo "Service"; } echo "";
             echo "
Hide:";if($this->data['hide'] == '1'){ echo "Hide"; }else{ echo "Don't Hide"; } echo "";
             echo "
Type:".$type."
";
             var_export($this->data);
             exit;
         }
 
         if($type == 'FL'){
             $data['profile'] = strip_tags($data['profile']);
             $data['proddesc'] = strip_tags($data['proddesc']);
         }
 
         $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;
         }
 
 
         if($type == "FL") {
             $dataproddesct = iconv_substr($tempdesc,0,150,"UTF-8");
             if(strlen($dataproddesct) > 150){
                 $dataproddesct .= '...';
             }
         }else{
             $dataproddesct = $tempdesc;
         }
         //$dataproddesct = str_replace("
","
",$dataproddesct);
         if($type != "FL" && !empty($result_olc)){
             $olcdata = $result_olc[0];
         }
 
         if(!empty($dataproddesct)){
 	        $data['proddesc'] = $dataproddesct;
         }
 
         if (!empty($data['telno'])) {
             foreach ($data['telno'] as $t) {
                 $data['_format']['telno'][] = TYPUtilsService::formatPhoneNumber($t);
             }
         }
         if (!empty($data['fax'])) {
             foreach ($data['fax'] as $t) {
                 $data['_format']['fax'][] = TYPUtilsService::formatPhoneNumber($t);
             }
         }
         if(!empty($data['website'])){
             $data['website_show'] = $data['website'];
             //$data['website'] = explode(",",$data['website']);
             $item = array();
             if(!empty($data['website'])){
                 foreach($data['website'] as $key => $new){
                     if(strpos($new, 'http://') === FALSE && strpos($new, 'https://') === FALSE){
                         $item['http://'.$new] = $new;
                     }else{
                         $item[$new] = $new;
                     }
                 }
                 $data['website'] = $item;
             }
         }
         
         /*$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) && strpos($data['cityname'], "จังหวัด") === false){
                 $data['cityname'] = t('Province') .' '. $data['cityname'];
             }
         }
 		/*Logo*/
         if(!empty($data['logof'])){
 	        $data['logo'] = \Drupal::service('typ.search')->_detectImage('logo', $data['logof']);
         }
         /*Picture*/
         if(!empty($data['pictures']['files'])){
 			$data['pictures'] = \Drupal::service('typ.search')->createImageThumbnail($data, 'large');
         }else{
         	unset($data['pictures']);
         }
 
         /*if(!empty($promotion_data['promoimg']) && @file_exists('http://promotion.yellowpages.co.th/media/promotion/'.$promotion_data['promoimg'])){    //  images from Old system
             $promotion_data['baseurl'] = 'http://promotion.yellowpages.co.th/media/promotion/';
         }else{
             $promotion_data['baseurl'] = 'http://media.yellowpages.co.th/yellowpages/promotion/';
         }
         */
         if(empty($data['printads']) && ($data['printadstf'] || $data['printadsef'])){
         	if($data['lang'] == 'th'){
         		$exp = explode('.', $data['printadstf']);
         	}else{
         		$exp = explode('.', $data['printadsef']);
         	}
 
         	if($exp){
         		$data['printads'] = $exp[0];
         	}
         }
 
         $link_url = "$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
         $check_lang = explode("/", $link_url);
         if($check_lang[1] == 'en'){
             $link_url = str_replace("/en/", "/", $link_url);
         }
         /*echo "
";
         var_export($data); exit();*/
         $display[] = array(
             '#theme' => 'typ_profile',
             '#profile' => $data,
             '#prodescription' => $dataproddesct,
             '#catalog' => $olcdata,
             '#type' => $type,
             '#promotion' => $promotion_data,
             '#breadcrumbs' => $breadcrumbs,
             '#base_path' => $base_path,
             '#facebook_comment' => $link_url,
         );
         if ($type != 'FL')
             $display['#attached']['drupalSettings']['disableAds'] = TRUE;
 
         $display['#attached']['library'] = array(
             'typ_profile/profile.popup',
             'typ_contrib/colorbox',
         );
         if($type == 'FL'){
             $display['#attached']['library'] = array(
                 'typ_profile/profile.popup',
                 'typ_contrib/colorbox',
                 'typ_ads/ads_unit'
             );
             $display[] = array(
                 '#markup' => format_string('',array())
             );
         }else{
             $display['#attached']['library'] = array(
                 'typ_profile/profile.popup',
                 'typ_contrib/colorbox',
             );
         }
         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;
     }
 }
diff --git a/templates/typ-profile.html.twig b/templates/typ-profile.html.twig
--- a/templates/typ-profile.html.twig
+++ b/templates/typ-profile.html.twig
@@ -1,229 +1,229 @@
 {% set base_images = 'http://media.yellowpages.co.th/yellowpages' %}
 {% set base_promotion = promotion.baseurl %}
 
 
 
 
 
     
         {% if profile.logo %}
              {#logo#}
                 
             
         {% else %}
             
                 
              {#end logo#}
         {% endif %}
 
         
             {{ profile.humanname|raw }}
             {% if profile.districtname or profile.cityname %}
                 {{ [profile.districtname,profile.cityname]|join(' ') }}
             {% endif %}
             {% if profile.headings %}
                 
                     {% trans %}Category{% endtrans %} :
                     {% for key, heading in profile.headings %}
                         {% if loop.last %}
                             {{ heading.headingname|raw }}
                         {% else %}
                             {{ heading.headingname|raw }},
                         {% endif %}
                     {% endfor %}
                 
             {% endif %}
         
         
             {% trans %} Views {% endtrans %} : xxxxx 
         
     
 
     {#description#}
     
         {% if profile.profile %}
             {{ profile.profile|raw }}
         {% endif %}
         {% if profile.proddesc %}
             {% trans %} Product And Service {% endtrans %}
             {{ profile.proddesc|raw }}
         {% endif %}
         {% if profile.brandname %}
             {% trans %}Brand Name{% endtrans %}
             {{ profile.brandname|replace({"
":" ","
":" "}) }}
         {% endif %}
      {#end description#}
 
     {#picture#}
     {% if profile.pictures %}
         
             
                 {% for key, picture in profile.pictures %}
                     - 
                         
                      
                 {% endfor %}
             
         
     {% endif %}
     {#end picture#}
 
     {#contact#}
     
         {% trans %} Contact Information {% endtrans %}
 
         {#Business Name.#}
         {% if profile.humanname %}
             
                 
                     {% trans %} Business Name {% endtrans %}:
                 
                 
                     {{ profile.humanname }}
                 
             
         {% endif %}
 
         {#address#}
         
             
                 {% trans %} Address {% endtrans %}:
             
             
                 {{ [profile.addr,profile.soi,profile.road,profile.subdistrictname,profile.districtname,profile.cityname,profile.postcode]|join(' ') }}
             
         
 
         {#tel.#}
         {% if profile.telno %}
             
                 
                     {% trans %} Tel {% endtrans %}:
                 
                 
             
         {% endif %}
 
         {#fax#}
         {% if profile.fax %}
             
                 
                     {% trans %} Fax {% endtrans %}:
                 
                 
             
         {% endif %}
 
         {#e-mail#}
         {% if profile.email %}
             
                 
                     {% trans %} Email {% endtrans %}:
                 
                 
                     {% if profile.email %}
                         {% for key , mail in profile.email %}
                             {% if loop.last %}
                                 {{ mail }}
                             {% else %}
                                 {{ mail }},
                             {% endif %}
                         {% endfor %}
                     {% endif %}
                 
             
         {% endif %}
 
         {#website#}
         {% if profile.website %}
             
                 
                     {% trans %} Website {% endtrans %}:
                 
                 
             
         {% endif %}
 
         {#work-time#}
         {% if profile.workinghours %}
             
                 
                     {% trans %} Work-Time {% endtrans %}:
                 
                 
                     {% if not profile.workinghours %}
                     {% else %}
                         {{ profile._format.workinghours }}
                     {% endif %}
                 
             
         {% endif %}
      {#end contact#}
 
     {#Map#}
     {% if profile.location.lat and profile.location.lon %}
         
             
         
     {% endif %}
     {#end Map#}
     
         {% trans %} Comment {% endtrans %}
         
     
     {#facebook#}
     
         {{ app.request.getRequestUri() }}
         
         
         
      {#end facebook#}
 
  {#end typ profile freelist#}
 
 
 
 
 
diff --git a/typ_profile.routing.yml b/typ_profile.routing.yml
--- a/typ_profile.routing.yml
+++ b/typ_profile.routing.yml
@@ -1,31 +1,31 @@
-typ_profile_search:
-   path: '/profile/{bizid}'
-   defaults:
-     _controller: '\Drupal\typ_profile\Controller\TYPProfileController::profilePage'
-     _title_callback: '\Drupal\typ_profile\Controller\TYPProfileController::profileTitle'
-   requirements:
-     _permission: 'access content'
+#typ_profile_search:
+#   path: '/profile/{bizid}'
+#   defaults:
+#     _controller: '\Drupal\typ_profile\Controller\TYPProfileController::profilePage'
+#     _title_callback: '\Drupal\typ_profile\Controller\TYPProfileController::profileTitle'
+#   requirements:
+#     _permission: 'access content'
 
 typ_profile.page:
-   path: '/biz/{bizid}'
+   path: '/profile/{bizid}'
    defaults:
      _controller: '\Drupal\typ_profile\Controller\TYPProfileController::profilePage'
      _title_callback: '\Drupal\typ_profile\Controller\TYPProfileController::profileTitle'
    requirements:
      _permission: 'access content'
 
 
 #typ_profile_promotion:
 #   path: '/profile/get-promotion'
 #   defaults:
 #     _controller: '\Drupal\typ_profile\Controller\TYPProfileController::getPromotion'
 #     _title_callback: '\Drupal\typ_profile\Controller\TYPProfileController::getTitlePromotion'
 #   requirements:
 #     _permission: 'access content'
 #typ_profile_redirect:
 #   path: '/profile'
 #   defaults:
 #     _controller: '\Drupal\typ_profile\Controller\TYPProfileController::profileOverview'
 #     _title: 'Rredirect '
 #   requirements:
 #     _permission: 'access content'
\ No newline at end of file
diff --git a/yp_map.php b/yp_map.php
new file mode 100644
--- /dev/null
+++ b/yp_map.php
@@ -0,0 +1,114 @@
+
+
+
+
+	
+	
+	แผนที่ 
+	 if ($latitude||$longitude) { ?>
+
+	
+	
+	
+
+	
+	
+
+	
+
+
+
+
+	
+	if (!$_GET['bypass']) { ?>
+
+		
+			
+		
+	  } ?>
+
+
+
+ } ?>