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; }
public static function getInstance() { // hd_print(__METHOD__); if (!isset(self::$instance)) { self::$instance = new EmplexerArchive(); } return self::$instance; }
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; }
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; }
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; }