Exemplo n.º 1
0
 public function get_all_folder_items(MediaURL $media_url, &$plugin_cookies)
 {
     // hd_print(__METHOD__);
     //hd_print(__METHOD__ . ':' . print_r($media_url, true));
     $doc = HD::http_get_document(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/library/sections/' . $media_url->category_id . '/' . $media_url->filter_name);
     $xml = simplexml_load_string($doc);
     $items = array();
     $cache_keys = array();
     foreach ($xml->Directory as $c) {
         $thumb = (string) $c->attributes()->thumb;
         $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/photo/:/transcode?width=' . THUMB_WIDTH . '&height=' . THUMB_HEIGHT . '&url=' . EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $thumb;
         // $urlb = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . (string)$c->attributes()->thumb;
         // hd_print(__METHOD__ . ':EmplexerConfig::getInstance()->useCache= ' . EmplexerConfig::getInstance()->useCache .  ' tipo = '  . gettype(EmplexerConfig::getInstance()->useCache));
         // if (EmplexerConfig::getInstance()->useCache === 'false'){
         // 	hd_print('Entrou.... ' );
         // 	$url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this). $thumb;
         // }
         $bgImage = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $c->attributes()->art;
         $caption = (string) $c->attributes()->ratingKey . '.jpg';
         if ($thumb) {
             EmplexerArchive::getInstance()->setFileToArchive($caption, $url);
         }
         $items[] = array(PluginRegularFolderItem::media_url => $this->get_right_media_url($media_url, $c), PluginRegularFolderItem::caption => (string) $c->attributes()->title, PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => EmplexerArchive::getInstance()->getFileFromArchive($caption, $url), ViewItemParams::item_detailed_icon_path => EmplexerArchive::getInstance()->getFileFromArchive($caption, $url), ViewItemParams::icon_keep_aspect_ratio => false));
     }
     // hd_print(__METHOD__ .':'. print_r($items, true));
     return $items;
 }
Exemplo n.º 2
0
 public static function getInstance()
 {
     // hd_print(__METHOD__);
     if (!isset(self::$instance)) {
         self::$instance = new EmplexerArchive();
     }
     return self::$instance;
 }
Exemplo n.º 3
0
 public function getThumbURL(SimpleXMLElement &$node)
 {
     $thumb = (string) $node->attributes()->thumb;
     $thumb = $this->base_url . '/photo/:/transcode?width=' . THUMB_WIDTH . '&height=' . THUMB_HEIGHT . '&url=' . urlencode($this->base_url . $thumb);
     hd_print(__METHOD__ . ':' . $thumb);
     if ($node->attributes()->thumb && $node->attributes()->ratingKey) {
         $cacheKey = (string) $node->attributes()->ratingKey . '.jpg';
         EmplexerArchive::getInstance()->setFileToArchive($cacheKey, $thumb);
         return EmplexerArchive::getInstance()->getFileFromArchive($cacheKey, $thumb);
     }
     return $thumb;
 }
Exemplo n.º 4
0
 public function get_all_folder_items(MediaURL $media_url, &$plugin_cookies)
 {
     // hd_print(__METHOD__);
     // hd_print (__METHOD__ . ':' . print_r($media_url, true));
     if (!isset($media_url->filter_name)) {
         $doc = HD::http_get_document(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $media_url->key);
     } else {
         $doc = HD::http_get_document(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/library/sections/' . $media_url->key . '/' . ${$media_url}->filter_name);
     }
     // $doc = HD::http_get_document(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $media_url->key );
     $xml = simplexml_load_string($doc);
     $items = array();
     /*
     
     	TODO adicionar backgound com o art vindo do plex
     $bg = array(
     	ViewParams::background_order =>'before_all',
     	ViewParams::background_path  => $bgImage
     );
     
     $viewParams = PluginRegularFolderItem::view_params;
     array_push($view_params, $bg );
     PluginRegularFolderItem::view_params => $viewParams;
     */
     foreach ($xml->Directory as $c) {
         // hd_print(__METHOD__);
         // hd_print(__METHOD__ . ':' .  print_r($xml, true));
         $thumb = (string) $c->attributes()->thumb ? (string) $c->attributes()->thumb : (string) $xml->attributes()->thumb;
         $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/photo/:/transcode?width=' . THUMB_WIDTH . '&height=' . THUMB_HEIGHT . '&url=' . EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $thumb;
         if (EmplexerConfig::getInstance()->useCache === 'false') {
             $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $thumb;
         }
         // $url =  EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) .'/photo/:/transcode?width=150&height=222&url=' . EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . (string)$c->attributes()->thumb;
         $urlb = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . (string) $c->attributes()->thumb;
         $bgImage = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $c->attributes()->art;
         $ratingKey = $c->attributes()->ratingKey ? (string) $c->attributes()->ratingKey : (string) $xml->attributes()->key;
         $caption = $ratingKey . '.jpg';
         if ($thumb) {
             EmplexerArchive::getInstance()->setFileToArchive($caption, $url);
         }
         $remainingEpisodes = (int) $c->attributes()->leafCount - (int) $c->attributes()->viewedLeafCount;
         $items[] = array(ViewParams::background_order => 'before_all', ViewParams::background_path => $bgImage, PluginRegularFolderItem::media_url => EmplexerVideoList::get_media_url_str((string) $c->attributes()->key), PluginRegularFolderItem::caption => (string) $c->attributes()->title . ' (' . (string) $remainingEpisodes . ')', PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => EmplexerArchive::getInstance()->getFileFromArchive($caption, $url), ViewItemParams::item_detailed_icon_path => EmplexerArchive::getInstance()->getFileFromArchive($caption, $url), ViewItemParams::item_caption_wrap_enabled => false));
     }
     // hd_print(print_r($items, true));
     return $items;
 }
Exemplo n.º 5
0
 public function get_all_folder_items(MediaURL $media_url, &$plugin_cookies)
 {
     // hd_print(__METHOD__);
     // hd_print(__METHOD__ . ': ' . print_r($media_url, true));
     // hd_print(__METHOD__ . ': ' . print_r($plugin_cookies, true));
     // hd_print(__METHOD__ . ': ' . print_r($plugin_cookies->connectionMethod, true));
     $base_url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this);
     if (is_null($media_url->filter_name)) {
         $xml = HD::getAndParseXmlFromUrl(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . $media_url->key);
     } else {
         $xml = HD::getAndParseXmlFromUrl(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/library/sections/' . $media_url->key . '/' . $media_url->filter_name);
     }
     $items = array();
     foreach ($xml->Video as $c) {
         $thumb = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/photo/:/transcode?width=' . THUMB_WIDTH . '&height=' . THUMB_HEIGHT . '&url=' . EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . (string) $c->attributes()->thumb;
         $bgImage = $base_url . (string) $c->attributes()->art;
         // if (EmplexerConfig::getInstance()->useCache  === 'false'){
         // 	$thumb = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . (string)$c->attributes()->thumb;
         // }
         $detailPhoto = $thumb;
         $httpVidelUrl = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . (string) $c->Media->Part->attributes()->key;
         $nfsVideoUrl = 'nfs://' . $plugin_cookies->plexIp . ':' . (string) $c->Media->Part->attributes()->file;
         if ($plugin_cookies->connectionMethod == 'smb') {
             $smbVideoUrl = 'smb://' . $plugin_cookies->userName . ':' . $plugin_cookies->password . '@' . $plugin_cookies->plexIp . '/' . (string) $c->Media->Part->attributes()->file;
             $videoUrl[SMB_CONNECTION_TYPE] = $smbVideoUrl;
         }
         $videoUrl[HTTP_CONNECTION_TYPE] = $httpVidelUrl;
         $videoUrl[NFS_CONNECTION_TYPE] = $nfsVideoUrl;
         if ($plugin_cookies->connectionMethod == HTTP_CONNECTION_TYPE) {
             $v = $httpVidelUrl;
         } else {
             $v = $this->getPlayBackUrl($plugin_cookies, (string) $c->Media->Part->attributes()->file, $plugin_cookies->connectionMethod);
         }
         if (!$v) {
             hd_print('connectionMethod not setted use http as default');
             $v = $httpVidelUrl;
         }
         $v = urldecode($v);
         hd_print(__METHOD__ . ":-----------videoUrl = {$v}-----------");
         $cacheKey = (string) $c->attributes()->ratingKey . '.jpg';
         if ($c->attributes()->thumb) {
             EmplexerArchive::getInstance()->setFileToArchive($cacheKey, $thumb);
         }
         $media = MediaURL::encode(array('movie_id' => $v, 'video_url' => $v, 'viewOffset' => (string) $c->attributes()->viewOffset, 'duration' => (string) $c->Media->attributes()->duration, 'summary' => str_replace(array("\r\n", "\r", "\n", "\""), " ", (string) $c->attributes()->summary), 'name' => (string) $c->attributes()->title, 'thumb' => $thumb, 'art' => $bgImage, 'title' => (string) $xml->attributes()->title1, 'key' => (string) $c->attributes()->ratingKey, 'back_screen_id' => $media_url->screen_id, 'back_key' => $media_url->key, 'back_filter_name' => $media_url->filter_name, 'was_seen' => $c->attributes()->viewCount ? true : false, 'detail_info_key' => (string) $c->attributes()->key, 'librarySectionID' => (string) $xml->attributes()->librarySectionID));
         $info = $this->getDetailedInfo($c);
         // 'Serie:' . (string)$c->attributes()->grandparentTitle . ' || ' .
         // 'Episode Name :' . (string)$c->attributes()->title. ' || ' .
         // 'EP:'  . 'S'.(string)$c->attributes()->parentIndex . 'E'. (string)$c->attributes()->index . '||' .
         // 'summary:'. str_replace('"', '' , (string)$c->attributes()->summary);
         // hd_print(print_r($media, true));
         $hasSeenCaptionColor = !$plugin_cookies->hasSeenCaptionColor || $plugin_cookies->hasSeenCaptionColor == DEFAULT_HAS_SEEN_CAPTION_COLOR ? null : $plugin_cookies->hasSeenCaptionColor;
         $notSeenCaptionColor = !$plugin_cookies->notSeenCaptionColor || $plugin_cookies->notSeenCaptionColor == DEFAULT_HAS_SEEN_CAPTION_COLOR ? null : $plugin_cookies->notSeenCaptionColor;
         $item_caption_color = $c->attributes()->viewCount ? $hasSeenCaptionColor : $notSeenCaptionColor;
         $item_caption_color = !$item_caption_color ? $item_caption_color : $item_caption_color - 1;
         $items[] = array(PluginRegularFolderItem::media_url => $media, PluginRegularFolderItem::caption => (string) $c->attributes()->title, PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => EmplexerArchive::getInstance()->getFileFromArchive($cacheKey, $thumb), ViewItemParams::item_detailed_icon_path => EmplexerArchive::getInstance()->getFileFromArchive($cacheKey, $thumb), ViewItemParams::item_detailed_info => $info, ViewItemParams::item_caption_color => $item_caption_color));
     }
     //		hd_print(print_r($items, true));
     return $items;
 }