public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Vod favorites: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->control_id == 'popup_menu') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $movie_id = $media_url->movie_id; $is_favorite = $this->vod->is_favorite_movie_id($movie_id); $add_favorite_action = UserInputHandlerRegistry::create_action($this, 'add_favorite'); $caption = 'Add to My Movies'; $menu_items[] = array(GuiMenuItemDef::caption => $caption, GuiMenuItemDef::action => $add_favorite_action); return ActionFactory::show_popup_menu($menu_items); } else { if ($user_input->control_id == 'add_favorite') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $movie_id = $media_url->movie_id; $is_favorite = $this->vod->is_favorite_movie_id($movie_id); if ($is_favorite) { return ActionFactory::show_title_dialog('Movie already resides in My Movies'); } else { $this->vod->add_favorite_movie($movie_id, $plugin_cookies); return ActionFactory::show_title_dialog('Movie has been added to My Movies'); } } } return null; }
public function doMakePlayListAndPlay(&$user_input, &$plugin_cookies) { hd_print(__METHOD__ . print_r($plugin_cookies, true)); $media_url = MediaURL::decode($user_input->selected_media_url); $url = $this->base_url . $media_url->key; $musics = $this->getTrackUrlsFromUrl($url, $plugin_cookies); return ActionFactory::launch_media_url($this->makePlayList($musics)); }
public function handle_user_input(&$user_input, &$plugin_cookies) { // hd_print(__METHOD__); hd_print(print_r($user_input, true)); $media_url = MediaURL::decode($user_input->selected_media_url); if ($user_input->control_id == 'pop_up') { } }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Tv favorites: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->control_id == 'info') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $channel_id = $media_url->channel_id; $channels = $this->tv->get_channels(); $c = $channels->get($channel_id); $id = $c->get_id(); $title = $c->get_title(); return ActionFactory::show_title_dialog("Channel '{$title}' (id={$id})"); } else { if ($user_input->control_id == 'popup_menu') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $channel_id = $media_url->channel_id; $is_favorite = $this->tv->is_favorite_channel_id($channel_id, $plugin_cookies); $add_favorite_action = UserInputHandlerRegistry::create_action($this, 'add_favorite'); $caption = 'Add to Favorites'; $menu_items[] = array(GuiMenuItemDef::caption => $caption, GuiMenuItemDef::action => $add_favorite_action); return ActionFactory::show_popup_menu($menu_items); } else { if ($user_input->control_id == 'add_favorite') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $channel_id = $media_url->channel_id; $is_favorite = $this->tv->is_favorite_channel_id($channel_id, $plugin_cookies); if ($is_favorite) { return ActionFactory::show_title_dialog('Channel already resides in Favorites', $this->get_sel_item_update_action($user_input, $plugin_cookies)); } else { $this->tv->change_tv_favorites(PLUGIN_FAVORITES_OP_ADD, $channel_id, $plugin_cookies); return ActionFactory::show_title_dialog('Channel has been added to Favorites', $this->get_sel_item_update_action($user_input, $plugin_cookies)); } } } } return null; }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Vod favorites: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->control_id == 'remove_favorite') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $movie_id = $media_url->movie_id; $this->vod->remove_favorite_movie($movie_id, $plugin_cookies); return ActionFactory::invalidate_folders(array(self::get_media_url_str($movie_id))); } return null; }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print(__METHOD__); hd_print(__METHOD__ . ":" . print_r($user_input, true)); if ($user_input->control_id == 'pop_up') { $media_url = MediaURL::decode($user_input->selected_media_url); $key = (string) $media_url->category_id; // hd_print("key = $key"); if ($key) { $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/library/sections/' . $key; /*$popUp = new EmplexerPopUp(4); $action = $popUp->showPopUpMenu($url);*/ $doc = HD::http_get_document(EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/library/sections/' . $key); $pop_up_items = array(); $xml = simplexml_load_string($doc); $defaultFilter = 'all'; if ($media_url->type == 'show') { $defaultFilter = isset($plugin_cookies->defaultShowFilter) ? $plugin_cookies->defaultShowFilter : 'all'; } if ($media_url->type == 'movie') { $defaultFilter = isset($plugin_cookies->defaultMovieFilter) ? $plugin_cookies->defaultMovieFilter : 'all'; } foreach ($xml->Directory as $c) { $key = (string) $c->attributes()->key; $prompt = (string) $c->attributes()->prompt; $is_secondary = (string) $c->attributes()->secondary; if ($key != $defaultFilter && $key != 'folder' && !$prompt) { // if ($key != 'all' ){ $pop_up_items[] = array(GuiMenuItemDef::caption => (string) $c->attributes()->title, GuiMenuItemDef::action => ActionFactory::open_folder($this->get_right_media_url_for_pop_up($media_url, $key, $is_secondary != null), $key)); } } hd_print(__METHOD__ . ' pop_up_items:' . print_r($pop_up_items, true)); $action = ActionFactory::show_popup_menu($pop_up_items); // hd_print(__METHOD__ . ': ' . print_r($action, true)); return $action; } else { return null; } } if ($user_input->control_id == 'savePref') { hd_print(__METHOD__ . ':' . print_r($user_input, true)); hd_print(__METHOD__ . ':' . print_r($plugin_cookies, true)); EmplexerSetupScreen::savePreferences($user_input, $plugin_cookies); } }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Vod genres: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->control_id == 'select_genre') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $genre_id = $media_url->genre_id; $caption = $this->vod->get_genre_caption($genre_id); $media_url_str = $this->vod->get_genre_media_url_str($genre_id); return ActionFactory::open_folder($media_url_str, $caption); } return null; }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Tv favorites: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->control_id == 'move_backward_favorite') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $channel_id = $media_url->channel_id; $this->tv->change_tv_favorites(PLUGIN_FAVORITES_OP_MOVE_UP, $channel_id, $plugin_cookies); return $this->get_update_action(-1, $user_input, $plugin_cookies); } else { if ($user_input->control_id == 'move_forward_favorite') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $channel_id = $media_url->channel_id; $this->tv->change_tv_favorites(PLUGIN_FAVORITES_OP_MOVE_DOWN, $channel_id, $plugin_cookies); return $this->get_update_action(1, $user_input, $plugin_cookies); } else { if ($user_input->control_id == 'remove_favorite') { if (!isset($user_input->selected_media_url)) { return null; } $media_url = MediaURL::decode($user_input->selected_media_url); $channel_id = $media_url->channel_id; $this->tv->change_tv_favorites(PLUGIN_FAVORITES_OP_REMOVE, $channel_id, $plugin_cookies); return $this->get_update_action(0, $user_input, $plugin_cookies); } } } return null; }
public function get_vod_info($media_url_str, &$plugin_cookies) { // hd_print(print_r(debug_backtrace(), true)); HD::print_backtrace(); $media_url = MediaURL::decode($media_url_str); hd_print(__METHOD__ . ': ' . print_r($media_url, true)); if ($media_url->screen_id == 'emplexer_base_channel') { $toPlay = $media_url->video_media_array[$plugin_cookies->channel_selected_index]; return EmplexerBaseChannel::get_vod_info($toPlay); } if ($media_url->screen_id == 'vod_movie') { return $this->vod->get_vod_info($media_url, $plugin_cookies); // EmplexerVod::get_vod_info($media_url, $plugin_cookies); } $handler = $media_url->back_screen_id == EmplexerVideoList::ID ? EmplexerVideoList::ID : EmplexerMovieList::ID; $params = array('key' => $media_url->key, 'back_screen_id' => $media_url->back_screen_id, 'back_key' => $media_url->back_key, 'back_filter_name' => $media_url->back_filter_name); $stop_action = UserInputHandlerRegistry::create_action($this->get_screen_by_id($handler), 'stop', $params); $time_action = UserInputHandlerRegistry::create_action($this->get_screen_by_id($handler), 'time', $params); $series_array = array(); $series_array[] = array(PluginVodSeriesInfo::name => $media_url->title, PluginVodSeriesInfo::playback_url => $media_url->video_url, PluginVodSeriesInfo::playback_url_is_stream_url => true); $toBeReturned = array(PluginVodInfo::id => $media_url->movie_id, PluginVodInfo::series => $series_array, PluginVodInfo::name => $media_url->name, PluginVodInfo::description => $media_url->summary, PluginVodInfo::poster_url => $media_url->thumb, PluginVodInfo::initial_series_ndx => 0, PluginVodInfo::buffering_ms => 3000, PluginVodInfo::initial_position_ms => EmplexerVideoList::$viewOffset, PluginVodInfo::advert_mode => false, PluginVodInfo::timer => array(GuiTimerDef::delay_ms => 5000), PluginVodInfo::actions => array(GUI_EVENT_PLAYBACK_STOP => $stop_action, GUI_EVENT_TIMER => $time_action)); hd_print(print_r($toBeReturned, true)); return $toBeReturned; }
public function downLoadSubtitleFromPlex(&$user_input, &$plugin_cookies, $video_url, $languageCode = 'por') { $media_url = MediaURL::decode($user_input->selected_media_url); $base_url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this); $url = $base_url . $media_url->detail_info_key; $xml = HD::getAndParseXmlFromUrl($url); $subtitleFileName = str_replace(array(".mkv", ".avi", ".mp4"), '.srt', HD::nfsUrlToSystemPath($video_url)); foreach ($xml->Video->Media->Part->Stream as $stream) { //is subtitle? //is languageCode == $languageCode? //Subtititle dosen't exists local? if ($stream->attributes()->streamType == "3" && $stream->attributes()->languageCode == $languageCode && !file_exists($subtitleFileName)) { //download the subtitle hd_print(__METHOD__ . ' não existe legenda local e existe no plex a legenda com o código: ' . $languageCode . ' vou baixar e colocar com o nome ' . $subtitleFileName); $subtitleUrl = $base_url . $stream->attributes()->key; $subData = HD::http_get_document($subtitleUrl); file_put_contents($subtitleFileName, $subData); } } }
public function get_vod_info($media_url_str, &$plugin_cookies) { if (is_null($this->vod)) { throw new Exception('VOD is not supported'); } $media_url = MediaURL::decode($media_url_str); return $this->vod->get_vod_info($media_url, $plugin_cookies); }
public function doEnterSearch(&$user_input) { hd_print(__METHOD__); $media_url = MediaURL::decode($user_input->selected_media_url); return $this->showSearchScreen($media_url->key, 'Search', $plugin_cookies); }