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('Movie: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->control_id == 'favorites') { $movie_id = $user_input->movie_id; $is_favorite = $this->vod->is_favorite_movie_id($movie_id); if ($is_favorite) { $this->vod->remove_favorite_movie($movie_id, $plugin_cookies); } else { $this->vod->add_favorite_movie($movie_id, $plugin_cookies); } $message = $is_favorite ? 'Movie has been removed from My Movies' : 'Movie has been added to My Movies'; return ActionFactory::show_title_dialog($message, ActionFactory::invalidate_folders(array(self::get_media_url_str($movie_id), VodFavoritesScreen::get_media_url_str()))); } return null; }
public function handle_user_input(&$user_input, &$plugin_cookies) { // hd_print(__METHOD__); hd_print(print_r($user_input, true)); hd_print(print_r($plugin_cookies, true)); $base_url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this); $media_url = MediaURL::decode($user_input->selected_media_url); if ($user_input->control_id == 'show_resume_menu') { $play_action = UserInputHandlerRegistry::create_action($this, 'play'); if (!isset($plugin_cookies->resumePlayBack) || $plugin_cookies->resumePlayBack == "ask") { if ($media_url->viewOffset <= 0) { self::$viewOffset = 0; return $play_action; } $pop_up_items[] = array(GuiMenuItemDef::caption => 'Resume from ' . gmdate("H:i:s", $media_url->viewOffset / 1000), GuiMenuItemDef::action => UserInputHandlerRegistry::create_action($this, 'play', array('viewOffset' => $media_url->viewOffset))); $pop_up_items[] = array(GuiMenuItemDef::caption => 'Start from beginning', GuiMenuItemDef::action => UserInputHandlerRegistry::create_action($this, 'play', array('viewOffset' => 0))); return ActionFactory::show_popup_menu($pop_up_items); } else { if ($plugin_cookies->resumePlayBack == "resume") { EmplexerVideoList::$viewOffset = $media_url->viewOffset; return $play_action; } else { EmplexerVideoList::$viewOffset = 0; return $play_action; } } } else { if ($user_input->control_id == 'play') { if (isset($user_input->viewOffset)) { EmplexerVideoList::$viewOffset = $user_input->viewOffset; } hd_print(__METHOD__ . ':' . print_r($user_input, true)); if (strpos($media_url->video_url, "VIDEO_TS.IFO")) { $url = dirname($media_url->video_url); return ActionFactory::dvd_play($url); } else { if (strpos(strtolower($media_url->video_url), ".iso")) { return ActionFactory::launch_media_url($media_url->video_url); //ActionFactory::dvd_play($media_url->video_url); } else { if (strpos(strtolower($media_url->video_url), "bdmv")) { $pos = strpos(strtolower($media_url->video_url), 'bdmv'); $url = substr($media_url->video_url, 0, $pos - 1); hd_print('tentando tocar bluray com a url ' . $url); return ActionFactory::bluray_play($url); } else { if (strpos(strtolower($media_url->video_url), ".m2ts")) { return ActionFactory::launch_media_url($media_url->video_url); } else { $url = $media_url->video_url; $key = $media_url->key; $startPosition = $media_url->viewOffset / 1000; $plexFileId = $media_url->key; $timeToMark = DEFAULT_TIME_TO_MARK; $basePlexURL = $base_url; $pooling = 5; $time_action = UserInputHandlerRegistry::create_action($this, 'time', null); // EmplexerFifoController::getInstance()->startPlexNotify($key, 5 , EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this).'/'); // EmplexerFifoController::getInstance()->startDefaultPlayBack($url,$startPosition,$plexFileId,$timeToMark,$basePlexURL,$pooling); // EmplexerFifoController::getInstance()->startSetPlayBackPosition(200); // return ActionFactory::launch_media_url($media_url->video_url); $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, 'stop', $params); // $time_action = UserInputHandlerRegistry::create_action($this->get_screen_by_id($handler), 'time', $params); if (!isset($plugin_cookies->useVodPlayback) || $plugin_cookies->useVodPlayback === "true") { hd_print('vou chamar o vod_play'); return ActionFactory::vod_play(); } else { // public function startSetPlayBackPosition($position, &$plugin_cookies, $id, $mark_time=40, $pooling_time=5, $delay=3){ // $viewOffset = $media_url->viewOffset ? $media_url->viewOffset / 1000 : 1 ; hd_print(__METHOD__ . ': viewOffset = ' . self::$viewOffset); EmplexerFifoController::getInstance()->startSetPlayBackPosition(self::$viewOffset, $plugin_cookies, $key); // $this->downLoadSubtitleFromPlex(&$user_input, &$plugin_cookies, $media_url->video_url, 'por'); return ActionFactory::launch_media_url($media_url->video_url, $stop_action); } } } } } } } if ($user_input->control_id == 'stop') { //try to stop my transcoded session (if not a transcoded session nothing happend) // TranscodeManager::getInstance($plugin_cookies->plexIp,$plugin_cookies->plexPort)->stopSession(); hd_print('ENTREI NO EVENTO STOP' . print_r($user_input, true)); hd_print('ENTREI NO EVENTO STOP' . print_r($plugin_cookies, true)); $media_url = $this->get_media_url_str($user_input->back_key, $user_input->back_filter_name); EmplexerFifoController::getInstance()->killPlexNotify(); $action = ActionFactory::invalidate_folders(array($media_url)); return $action; } if ($user_input->control_id == 'time') { hd_print(__METHOD__ . ':' . ' aconteceu o evento time ' . print_r($user_input, true)); // HD::print_backtrace(); $key = $user_input->key; EmplexerFifoController::getInstance()->startPlexNotify($key, 5, EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . '/'); } if ($user_input->control_id == 'info') { $extra = array('bgImage' => $media_url->art); return ActionFactory::open_folder(VodMovieScreen::get_media_url_str($media_url->detail_info_key, $extra)); } if ($user_input->control_id == 'pop_up') { $key = (int) $media_url->key; $was_seen = $media_url->was_seen; $url = null; if ($was_seen) { // http://192.168.2.9:32400/:/unscrobble?key=19547&identifier=com.plexapp.plugins.library $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . "/:/unscrobble?key={$key}&identifier=com.plexapp.plugins.library"; } else { // http://192.168.2.9:32400/:/scrobble?key=19547&identifier=com.plexapp.plugins.library $url = EmplexerConfig::getInstance()->getPlexBaseUrl($plugin_cookies, $this) . "/:/scrobble?key={$key}&identifier=com.plexapp.plugins.library"; } // hd_print(__METHOD__ . 'url:' .$url ); $params['url'] = $url; $pop_up_items[] = array(GuiMenuItemDef::caption => $was_seen ? 'mark as unwatched' : 'mark as watched', GuiMenuItemDef::action => UserInputHandlerRegistry::create_action($this, 'mark', $params)); // hd_print(__METHOD__ . ' pop_up_items:' .print_r($pop_up_items, true) ); return ActionFactory::show_popup_menu($pop_up_items); } if ($user_input->control_id == 'mark') { hd_print('mark = ' . print_r($user_input, true)); $back_media_url = MediaURL::decode($user_input->selected_media_url); $media_url = $this->get_media_url_str($media_url->back_key, $media_url->back_filter_name); HD::http_get_document($user_input->url); $action = ActionFactory::invalidate_folders(array($media_url)); return $action; } }
public function change_tv_favorites($fav_op_type, $channel_id, &$plugin_cookies) { $fav_channel_ids = $this->get_fav_channel_ids($plugin_cookies); if ($fav_op_type === PLUGIN_FAVORITES_OP_ADD) { array_push($fav_channel_ids, $channel_id); } else { if ($fav_op_type === PLUGIN_FAVORITES_OP_REMOVE) { $k = array_search($channel_id, $fav_channel_ids); if ($k !== false) { unset($fav_channel_ids[$k]); } } else { if ($fav_op_type === PLUGIN_FAVORITES_OP_MOVE_UP) { $k = array_search($channel_id, $fav_channel_ids); if ($k !== false && $k !== 0) { $t = $fav_channel_ids[$k - 1]; $fav_channel_ids[$k - 1] = $fav_channel_ids[$k]; $fav_channel_ids[$k] = $t; } } else { if ($fav_op_type === PLUGIN_FAVORITES_OP_MOVE_DOWN) { $k = array_search($channel_id, $fav_channel_ids); if ($k !== false && $k !== count($fav_channel_ids) - 1) { $t = $fav_channel_ids[$k + 1]; $fav_channel_ids[$k + 1] = $fav_channel_ids[$k]; $fav_channel_ids[$k] = $t; } } } } } $this->set_fav_channel_ids($plugin_cookies, $fav_channel_ids); return ActionFactory::invalidate_folders(array(TvFavoritesScreen::get_media_url_str())); }