📁 PHP Dosya Yöneticisi
/
/
home
/
demodesigncom
/
e-ticaretv11.demodesign.com.tr
/
catalog
/
model
/
extension
📝
me_product_video.php
← Geri Dön
<?php class ModelExtensionMeproductvideo extends Model { public function getMeProductVideos($product_id) { $this->load->model('tool/image'); $totalvideos = array(); $videos = array(); if ($this->request->server['HTTPS']) { $server = $this->config->get('config_ssl'); } else { $server = $this->config->get('config_url'); } if($this->config->get('module_me_product_video_show_video')){ $width = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_additional_width'); $height = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_additional_height'); }else{ $width = '100'; $height = '100'; } $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "me_product_video WHERE product_id = '" . (int)$product_id . "' AND status = '1' ORDER BY sort_order ASC"); foreach ($query->rows as $me_video) { if($me_video['image']){ $image = $this->model_tool_image->resize($me_video['image'], $width, $height); }else{ $image = $this->model_tool_image->resize('no_image.png', $width, $height); } if($me_video['video_type'] == 4){ $other_link = preg_match('%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i', $me_video['video_link']); if ($other_link) { $video_link = $me_video['video_link']; }else{ $video_link = $server.'uploaded_videos/'.$me_video['video_link']; } }else{ $video_link = $me_video['video_link']; } if($me_video['video_type'] == 1){ $video_id = $this->getYoutubeId($me_video['video_link']); if($video_id){ $video_link = 'https://www.youtube-nocookie.com/embed/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 2){ $video_id = $this->getVimeoId($me_video['video_link']); if($video_id){ $video_link = 'https://player.vimeo.com/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 3){ $video_id = $this->getDailyMotionId($me_video['video_link']); if($video_id){ $video_link = 'https://www.dailymotion.com/embed/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 4){ $videotype = '#local'; }else{ $videotype = '#frame'; } $videos[] = array( 'video_link' => $video_link.$videotype, 'image' => $image, 'video_type' => $me_video['video_type'], 'journal_image' => $me_video['image'], 'sort_order' => $me_video['sort_order'] ); } $common_videos = array(); $me_product_videos = $this->config->get('module_me_product_video_common'); if($me_product_videos){ foreach ($me_product_videos as $me_video) { if($me_video['image']){ $image = $this->model_tool_image->resize($me_video['image'], $width, $height); }else{ $image = $this->model_tool_image->resize('no_image.png', $width, $height); } if($me_video['video_type'] == 4){ $other_link = preg_match('%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i', $me_video['video_link']); if ($other_link) { $video_link = $me_video['video_link']; }else{ $video_link = $server.'uploaded_videos/'.$me_video['video_link']; } }else{ $video_link = $me_video['video_link']; } if($me_video['video_type'] == 1){ $video_id = $this->getYoutubeId($me_video['video_link']); if($video_id){ $video_link = 'https://www.youtube-nocookie.com/embed/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 2){ $video_id = $this->getVimeoId($me_video['video_link']); if($video_id){ $video_link = 'https://player.vimeo.com/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 3){ $video_id = $this->getDailyMotionId($me_video['video_link']); if($video_id){ $video_link = 'https://www.dailymotion.com/embed/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } $videostatus = false; if($me_video['assignto'] == 1){ $videostatus = true; }elseif($me_video['assignto'] == 2){ $categories = isset($me_video['product_category']) ? $me_video['product_category'] : array(); foreach($categories as $category_id){ $checkProduct = $this->getProduct($product_id,$category_id); if($checkProduct){ $videostatus = true; } } }elseif($me_video['assignto'] == 3){ $manufacturers = isset($me_video['product_manufacturer']) ? $me_video['product_manufacturer'] : array(); foreach($manufacturers as $manufacturer_id){ $checkProduct = $this->getProductbymanufacturer($product_id,$manufacturer_id); if($checkProduct){ $videostatus = true; } } } if($me_video['video_type'] == 4){ $videotype = '#local'; }else{ $videotype = '#frame'; } if($videostatus && isset($me_video['status'])){ $common_videos[] = array( 'video_link' => $video_link.$videotype, 'image' => $image, 'journal_image' => $me_video['image'], 'video_type' => $me_video['video_type'], 'sort_order' => $me_video['sort_order'] ); } } } if($common_videos){ function sortcvideos( $a, $b ){ return $a['sort_order'] < $b['sort_order'] ? -1 : 1; } usort($common_videos, "sortcvideos"); } $totalvideos = array_merge($videos,$common_videos); return $totalvideos; } public function getYoutubeId($url){ $parts = parse_url($url); if (isset($parts['host'])) { $host = $parts['host']; if ( false === strpos($host, 'youtube') && false === strpos($host, 'youtu.be') ) { return false; } } if (isset($parts['query'])) { parse_str($parts['query'], $qs); if (isset($qs['v'])) { return $qs['v']; } else if (isset($qs['vi'])) { return $qs['vi']; } } if (isset($parts['path'])) { $path = explode('/', trim($parts['path'], '/')); return $path[count($path) - 1]; } return false; } public function getDailyMotionId($url){ if (preg_match('!^.+dailymotion\.com/(video|hub)/([^_?]+)[^#]*(#video=([^_&]+))?|(dai\.ly/([^_?]+))!', $url, $m)) { if (isset($m[6])) { return $m[6]; } if (isset($m[4])) { return $m[4]; } return $m[2]; } return false; } public function getVimeoId($url) { if (preg_match('#(?:https?://)?(?:www.)?(?:player.)?vimeo.com/(?:[a-z]*/)*([0-9]{6,11})[?]?.*#', $url, $m)) { return $m[1]; } return false; } public function getMeProductVideos2($product_id) { $totalvideos = array(); $videos = array(); if ($this->request->server['HTTPS']) { $server = $this->config->get('config_ssl'); } else { $server = $this->config->get('config_url'); } if($this->config->get('module_me_product_video_show_video')){ $width = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_additional_width'); $height = $this->config->get('theme_' . $this->config->get('config_theme') . '_image_additional_height'); }else{ $width = '100'; $height = '100'; } $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "me_product_video WHERE product_id = '" . (int)$product_id . "' AND status = '1' ORDER BY sort_order ASC"); foreach ($query->rows as $me_video) { if($me_video['image']){ $image = $this->model_tool_image->resize($me_video['image'], $width, $height); }else{ $image = $this->model_tool_image->resize('no_image.png', $width, $height); } if($me_video['video_type'] == 4){ $other_link = preg_match('%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i', $me_video['video_link']); if ($other_link) { $video_link = $me_video['video_link']; }else{ $video_link = $server.'uploaded_videos/'.$me_video['video_link']; } }else{ $video_link = $me_video['video_link']; } if($me_video['video_type'] == 1){ $video_id = $this->getYoutubeId($me_video['video_link']); if($video_id){ $video_link = 'https://www.youtube-nocookie.com/embed/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 2){ $video_id = $this->getVimeoId($me_video['video_link']); if($video_id){ $video_link = 'https://player.vimeo.com/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 3){ $video_id = $this->getDailyMotionId($me_video['video_link']); if($video_id){ $video_link = 'https://www.dailymotion.com/embed/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 4){ $videotype = '#local'; }else{ $videotype = '#frame'; } $videos[] = array( 'video_link' => $video_link.$videotype, 'image' => $image, 'video_type' => $me_video['video_type'], 'journal_image' => $me_video['image'], 'sort_order' => $me_video['sort_order'] ); } $common_videos = array(); $me_product_videos = $this->config->get('module_me_product_video_common'); if($me_product_videos){ foreach ($me_product_videos as $me_video) { if($me_video['image']){ $image = $this->model_tool_image->resize($me_video['image'], $width, $height); }else{ $image = $this->model_tool_image->resize('no_image.png', $width, $height); } if($me_video['video_type'] == 4){ $other_link = preg_match('%^((https?://)|(www\.))([a-z0-9-].?)+(:[0-9]+)?(/.*)?$%i', $me_video['video_link']); if ($other_link) { $video_link = $me_video['video_link']; }else{ $video_link = $server.'uploaded_videos/'.$me_video['video_link']; } }else{ $video_link = $me_video['video_link']; } if($me_video['video_type'] == 1){ $video_id = $this->getYoutubeId($me_video['video_link']); if($video_id){ $video_link = 'https://www.youtube-nocookie.com/embed/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 2){ $video_id = $this->getVimeoId($me_video['video_link']); if($video_id){ $video_link = 'https://player.vimeo.com/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } if($me_video['video_type'] == 3){ $video_id = $this->getDailyMotionId($me_video['video_link']); if($video_id){ $video_link = 'https://www.dailymotion.com/embed/video/'.$video_id; }else{ $video_link = $me_video['video_link']; } } $videostatus = false; if($me_video['assignto'] == 1){ $videostatus = true; }elseif($me_video['assignto'] == 2){ $categories = isset($me_video['product_category']) ? $me_video['product_category'] : array(); foreach($categories as $category_id){ $checkProduct = $this->getProduct($product_id,$category_id); if($checkProduct){ $videostatus = true; } } }elseif($me_video['assignto'] == 3){ $manufacturers = isset($me_video['product_manufacturer']) ? $me_video['product_manufacturer'] : array(); foreach($manufacturers as $manufacturer_id){ $checkProduct = $this->getProductbymanufacturer($product_id,$manufacturer_id); if($checkProduct){ $videostatus = true; } } } if($me_video['video_type'] == 4){ $videotype = '#local'; }else{ $videotype = '#frame'; } if($videostatus && isset($me_video['status'])){ $common_videos[] = array( 'video_link' => $video_link.$videotype, 'image' => $image, 'journal_image' => $me_video['image'], 'video_type' => $me_video['video_type'], 'sort_order' => $me_video['sort_order'] ); } } } if($common_videos){ function sortcvideos2( $a, $b ){ return $a['sort_order'] < $b['sort_order'] ? -1 : 1; } usort($common_videos, "sortcvideos2"); } $totalvideos = array_merge($videos,$common_videos); return $totalvideos; } public function getProduct($product_id,$category_id){ $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "' AND category_id = '" . (int)$category_id . "'"); return $query->row; } public function getProductbymanufacturer($product_id,$manufacturer_id){ $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product_id . "' AND manufacturer_id = '" . (int)$manufacturer_id . "'"); return $query->row; } public function getProductvideotab($product_id){ $videos = $this->getMeProductVideos2($product_id); $me_product_video_autoplay = $this->config->get('module_me_product_video_autoplay'); $me_product_video_controls = $this->config->get('module_me_product_video_controls'); $html = html_entity_decode($this->config->get('module_me_product_video_desc')[$this->config->get('config_language_id')]['description']); $html .= '<ul class="list-inline mevideos">'; foreach($videos as $video){ $html .= '<li><a class="thumbnail video-link" href="'.$video['video_link'].'" meautoplay="'.$me_product_video_autoplay.'" mecontrol="'.$me_product_video_controls.'"> <img src="'.$video['image'].'" alt="" /></a></li>'; } $html .= '</ul>'; return $html; } }
💾 Kaydet
İptal
📝 Yeniden Adlandır
İptal
Kaydet
🔐 Dosya İzinleri (chmod)
İzin Değeri:
Hızlı Seçim:
777
755
644
600
777
= Herkes okur/yazar/çalıştırır
755
= Sahip tam, diğerleri okur/çalıştırır
644
= Sahip okur/yazar, diğerleri okur
600
= Sadece sahip okur/yazar
İptal
Uygula