public function handle_user_input(&$user_input, &$plugin_cookies) { $input = parent::handle_user_input($user_input, $plugin_cookies); if (!$input) { hd_print(__METHOD__); if ($user_input->control_id == 'playAll') { return $this->doMakePlayListAndPlay($user_input, $plugin_cookies); } } else { return $input; } }
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 doParseOnDirectories(&$xml, &$media_url, &$plugin_cookies) { $items = parent::doParseOnDirectories($xml, $media_url, $plugin_cookies); return $items; }
public function getAllAvailableChannels(&$plugin_cookies, $handler) { hd_print(__METHOD__); $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $handler); hd_print("BASE_URL={$url}"); $xml = HD::getAndParseXmlFromUrl($url); hd_print(print_r($xml, true)); // $validChannels = array('video', 'music', 'photos'); $validChannels = EmplexerConfig::getInstance()->getValidChannelsNames(); $items = array(); foreach ($xml as $d) { $key = (string) $d->attributes()->key; if (in_array($key, $validChannels)) { $channelName = ucwords("{$key} Channels"); $items[] = array(PluginRegularFolderItem::media_url => EmplexerBaseChannel::get_media_url_str($key), PluginRegularFolderItem::caption => $channelName, PluginRegularFolderItem::view_item_params => array(ViewItemParams::icon_path => 'plugin_file://icons/sudoku.png')); } } hd_print(__METHOD__ . ':' . print_r($items, true)); return $items; }