public static function get_media_url_str($category_id, $filter_name = null, $type = 'show')
 {
     // hd_print(__METHOD__);
     // hd_print('  category_id: ' . $category_id . ' filter_name: ' .  $filter_name);
     $filter_name = !isset($filter_name) ? 'all' : $filter_name;
     return MediaURL::encode(array('screen_id' => self::ID, 'category_id' => $category_id, 'filter_name' => $filter_name, 'type' => $type));
 }
 public function get_all_folder_items(MediaURL $media_url, &$plugin_cookies)
 {
     $this->session->logout();
     $this->session->ensure_logged_in($plugin_cookies);
     $this->tv->ensure_channels_loaded($plugin_cookies);
     $new_items[] = array(PluginRegularFolderItem::media_url => MediaURL::encode(array('screen_id' => KtvVodRootScreen::ID)), PluginRegularFolderItem::caption => 'Videoteka', PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => $this->session->get_icon('mov_root.png')));
     $parent_items = parent::get_all_folder_items($media_url, $plugin_cookies);
     return array_merge($new_items, $parent_items);
 }
 public static function get_media_url_str($page_name, $arg = null)
 {
     $arr['screen_id'] = self::ID;
     $arr['page_name'] = $page_name;
     if ($page_name === 'search') {
         $arr['pattern'] = $arg;
     } else {
         if ($page_name === 'genres') {
             $arr['genre_id'] = $arg;
         }
     }
     return MediaURL::encode($arr);
 }
 public function get_all_folder_items(MediaURL $media_url, &$plugin_cookies)
 {
     $this->vod->folder_entered($media_url, $plugin_cookies);
     $movie = $this->vod->get_loaded_movie($media_url->movie_id, $plugin_cookies);
     if ($movie === null) {
         // TODO: dialog?
         return array();
     }
     $items = array();
     foreach ($movie->series_list as $series) {
         $items[] = array(PluginRegularFolderItem::media_url => MediaURL::encode(array('screen_id' => self::ID, 'movie_id' => $movie->id, 'series_id' => $series->id)), PluginRegularFolderItem::caption => $series->name, PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => 'gui_skin://small_icons/movie.aai'));
     }
     return $items;
 }
 private function get_regular_folder_item($group, $c, &$plugin_cookies)
 {
     return array(PluginRegularFolderItem::media_url => MediaURL::encode(array('channel_id' => $c->get_id(), 'group_id' => $group->get_id())), PluginRegularFolderItem::caption => $c->get_title(), PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => $c->get_icon_url(), ViewItemParams::item_detailed_icon_path => $c->get_icon_url()), PluginRegularFolderItem::starred => $this->tv->is_favorite_channel_id($c->get_id(), $plugin_cookies));
 }
 public static function get_media_url_str($key, $type = TYPE_DIRECTORY, $videoMediaArray = null)
 {
     hd_print(__METHOD__);
     return MediaURL::encode(array('screen_id' => self::ID, 'key' => $key, 'type' => $type, 'video_media_array' => $videoMediaArray));
 }
 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;
 }
 public static function get_media_url_str()
 {
     return MediaURL::encode(array('screen_id' => self::ID));
 }
 public static function get_media_url_str($key, $filter_name = null, $type = 'movie')
 {
     hd_print(__METHOD__);
     self::$type = $type;
     return MediaURL::encode(array('screen_id' => self::ID, 'key' => $key, 'category_id' => $key, 'filter_name' => $filter_name, 'type' => $type));
 }
 public function add_special_groups(&$items)
 {
     array_unshift($items, array(PluginRegularFolderItem::media_url => MediaURL::encode(array('screen_id' => KtvVodRootScreen::ID)), PluginRegularFolderItem::caption => 'Videoteka', PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => $this->session->get_icon('mov_root.png'))));
 }
 public static function get_media_url_str($category_id, $filter_name = null, $type = 'movie')
 {
     // $filter_name = !isset($filter_name)?'all':$filter_name;
     return MediaURL::encode(array('screen_id' => self::ID, 'category_id' => $category_id, 'filter_name' => $filter_name, 'type' => $type));
 }
 public function get_all_folder_items(MediaURL $media_url, &$plugin_cookies)
 {
     $this->tv->folder_entered($media_url, $plugin_cookies);
     $fav_channel_ids = $this->tv->get_fav_channel_ids($plugin_cookies);
     $items = array();
     foreach ($fav_channel_ids as $channel_id) {
         if (preg_match('/^\\s*$/', $channel_id)) {
             continue;
         }
         try {
             $c = $this->tv->get_channel($channel_id);
         } catch (Exception $e) {
             hd_print("Warning: channel '{$channel_id}' not found.");
             continue;
         }
         array_push($items, array(PluginRegularFolderItem::media_url => MediaURL::encode(array('channel_id' => $c->get_id(), 'group_id' => '__favorites')), PluginRegularFolderItem::caption => $c->get_title(), PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => $c->get_icon_url(), ViewItemParams::item_detailed_icon_path => $c->get_icon_url()), PluginRegularFolderItem::starred => false));
     }
     return $items;
 }
 public static function get_media_url_str($movie_id, $extra = null)
 {
     return MediaURL::encode(array('screen_id' => self::ID, 'movie_id' => $movie_id, 'extra' => $extra));
 }
 public static function get_media_url_str($movie_id)
 {
     hd_print(__METHOD__);
     return MediaURL::encode(array('screen_id' => self::ID));
 }
 public static function get_media_url_str($key, $filter_name = null)
 {
     // hd_print(__METHOD__);
     return MediaURL::encode(array('screen_id' => self::ID, 'key' => $key, 'filter_name' => $filter_name));
 }