private function open_popup_for_filter($current_url, $key) { $key = (string) $media_url->category_id; $doc = HD::http_get_document($current_url . '/' . $key); $pop_up_items = array(); $xml = simplexml_load_string($doc); foreach ($xml->Directory as $c) { $key = (string) $c->attributes()->key; $prompt = (string) $c->attributes()->prompt; if ($key != 'all' && $key != 'folder' && !$prompt) { $pop_up_items[] = array(GuiMenuItemDef::caption => (string) $c->attributes()->title, GuiMenuItemDef::action => ActionFactory::open_folder($this->get_right_media_url($media_url, $key), $key)); } } $action = ActionFactory::show_popup_menu($pop_up_items); }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Entry handler: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if (!isset($user_input->entry_id)) { return null; } $add_params = array('entry_id' => $user_input->entry_id); if ($user_input->entry_id === 'setup' || $user_input->entry_id === 'tv') { $res = $this->session->apply_subscription($plugin_cookies, $user_input); if ($res !== false) { if (!isset($res['action'])) { return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); } return $res['need_close_dialog'] ? ActionFactory::close_dialog_and_run($res['action']) : $res['action']; } else { if ($this->session->is_logged_in()) { return ActionFactory::open_folder(); } if (!isset($plugin_cookies->user_name) || $plugin_cookies->user_name === '') { return $this->session->do_get_edit_subscription_action($plugin_cookies, $this, $add_params); } return ActionFactory::open_folder(); } } return null; }
public function handle_user_input(&$user_input, &$plugin_cookies) { hd_print('Vod search: handle_user_input:'); foreach ($user_input as $key => $value) { hd_print(" {$key} => {$value}"); } if ($user_input->action_type === 'apply') { $control_id = $user_input->control_id; if ($control_id === 'pattern') { $pattern = $user_input->pattern; $plugin_cookies->vod_search_pattern = $pattern; hd_print("Vod search: applying pattern '{$pattern}'"); $defs = $this->do_get_control_defs($plugin_cookies); return ActionFactory::reset_controls($defs, ActionFactory::open_folder($this->vod->get_search_media_url_str($pattern), $pattern)); } } else { if ($user_input->action_type === 'confirm') { $control_id = $user_input->control_id; $new_value = $user_input->{$control_id}; if ($control_id === 'pattern') { $pattern = $user_input->pattern; if (preg_match('/^\\s*$/', $pattern)) { return ActionFactory::show_error(false, 'Pattern should not be empty'); } } } } return null; }
public function get_action_map(MediaURL $media_url, &$plugin_cookies) { // hd_print(__METHOD__); $enter_action = ActionFactory::open_folder(); $pop_up_action = UserInputHandlerRegistry::create_action($this, 'pop_up', null, 'Filtos'); return array(GUI_EVENT_KEY_ENTER => $enter_action, GUI_EVENT_KEY_PLAY => $enter_action, GUI_EVENT_KEY_POPUP_MENU => $pop_up_action); }
public function get_action_map(MediaURL $media_url, &$plugin_cookies) { $actions = array(); if ($this->vod->is_movie_page_supported()) { $actions[GUI_EVENT_KEY_ENTER] = ActionFactory::open_folder(); } else { $actions[GUI_EVENT_KEY_ENTER] = ActionFactory::vod_play(); } $remove_favorite_action = UserInputHandlerRegistry::create_action($this, 'remove_favorite'); $remove_favorite_action['caption'] = 'Favorite'; $menu_items[] = array(GuiMenuItemDef::caption => 'Remove from Favorites', GuiMenuItemDef::action => $remove_favorite_action); $popup_menu_action = ActionFactory::show_popup_menu($menu_items); $actions[GUI_EVENT_KEY_D_BLUE] = $remove_favorite_action; $actions[GUI_EVENT_KEY_POPUP_MENU] = $popup_menu_action; return $actions; }
public function get_action_map(MediaURL $media_url, &$plugin_cookies) { $actions = array(); if ($this->vod->is_movie_page_supported()) { $actions[GUI_EVENT_KEY_ENTER] = ActionFactory::open_folder(); } else { $actions[GUI_EVENT_KEY_ENTER] = ActionFactory::vod_play(); } if ($this->vod->is_favorites_supported()) { $add_favorite_action = UserInputHandlerRegistry::create_action($this, 'add_favorite'); $add_favorite_action['caption'] = 'Favorite'; $popup_menu_action = UserInputHandlerRegistry::create_action($this, 'popup_menu'); $actions[GUI_EVENT_KEY_D_BLUE] = $add_favorite_action; $actions[GUI_EVENT_KEY_POPUP_MENU] = $popup_menu_action; } return $actions; }
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 get_action_map(MediaURL $media_url, &$plugin_cookies) { return array(GUI_EVENT_KEY_ENTER => ActionFactory::open_folder()); }
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 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 get_action_map(MediaURL $media_url, &$plugin_cookies) { hd_print(__METHOD__); $enter_action = ActionFactory::open_folder(); return array(GUI_EVENT_KEY_ENTER => $enter_action, GUI_EVENT_KEY_PLAY => $enter_action); }
public function handle_user_input(&$user_input, &$plugin_cookies) { if (!isset($user_input->control_id)) { if ($plugin_cookies->require_restart) { ZTVDaemonController::restart($plugin_cookies->use_proxy == 'yes' ? array('-y' => $plugin_cookies->proxy_ip . ':' . $plugin_cookies->proxy_port) : array()); $plugin_cookies->require_restart = false; } if (!ZTVTerminal::login()) { return ActionFactory::show_dialog('%tr%dialog_registration_form', $this->do_registration_form_defs($plugin_cookies), true); } if ($this->load_profiles()) { return $this->profile->require_password ? ActionFactory::show_dialog('%ext%<key_local>dialog_profile_password<p>' . $this->profile->title . '</p></key_local>', $this->do_profile_form_defs($plugin_cookies), true) : ActionFactory::open_folder(); } return; } else { if ($user_input->action_type == 'confirm' || $user_input->action_type == 'apply') { switch ($user_input->control_id) { case 'epg_provider': $plugin_cookies->epg_provider = $user_input->epg_provider; break; case 'use_proxy': $plugin_cookies->use_proxy = $user_input->use_proxy; $plugin_cookies->proxy_ip = isset($plugin_cookies->proxy_ip) ? $plugin_cookies->proxy_ip : '192.168.0.1'; $plugin_cookies->proxy_port = isset($plugin_cookies->proxy_port) ? $plugin_cookies->proxy_port : '8080'; $plugin_cookies->require_restart = true; break; case 'proxy_ip': $plugin_cookies->proxy_ip = $user_input->proxy_ip; $plugin_cookies->require_restart = true; break; case 'proxy_port': $plugin_cookies->proxy_port = $user_input->proxy_port; $plugin_cookies->require_restart = true; break; case 'daemon_start': ZTVDaemonController::start($plugin_cookies->use_proxy == 'yes' ? array('-y' => $plugin_cookies->proxy_ip . ':' . $plugin_cookies->proxy_port) : array()); break; case 'daemon_restart': ZTVDaemonController::restart($plugin_cookies->use_proxy == 'yes' ? array('-y' => $plugin_cookies->proxy_ip . ':' . $plugin_cookies->proxy_port) : array()); break; case 'daemon_stop': ZTVDaemonController::stop(); break; case 'register_button': return ActionFactory::show_dialog('%tr%dialog_registration_form', $this->do_registration_form_defs($plugin_cookies), true); break; case 'register_terminal': if (is_null($user_input->username) || trim($user_input->username) == '') { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_username_empty')); } else { if (is_null($user_input->password) || trim($user_input->password) == '') { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_pin_empty')); } } if (!ZTVTerminal::register($user_input->username, $user_input->password)) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_invalid_password_or_username')); } $plugin_cookies->username = $user_input->username; $plugin_cookies->password = $user_input->password; return $user_input->selected_media_url == 'setup' ? ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('%tr%dialog_successful_login')) : ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); break; case 'deregister_terminal': if (!ZTVTerminal::deregister()) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_cant_logout')); } return $user_input->selected_media_url == 'setup' ? ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('%tr%dialog_successful_login')) : ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); break; case 'register_cancel': if (ZTVTerminal::login() && $user_input->selected_media_url != 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); } return ActionFactory::reset_controls($this->do_registration_form_defs($plugin_cookies)); break; case 'profile': $this->profile = $this->profiles[$user_input->profile]; if ($this->profile->require_password) { return ActionFactory::show_dialog('%ext%<key_local>dialog_profile_password<p>' . $this->profile->title . '</p></key_local>', $this->do_profile_form_defs($plugin_cookies, !$this->profile->password ? 'set_profile_password' : 'change_profile_password'), true); } $json_reply = ZTVApi::call(ZTVApi::set_profile($this->profile)); if ($json_reply === false) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_cant_select_profile')); } break; case 'check_profile_password': if ($user_input->profile_password != $this->profile->password) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_invalid_password')); } if ($user_input->selected_media_url != 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); } $json_reply = ZTVApi::call(ZTVApi::set_profile($this->profile)); if ($json_reply === false) { return ActionFactory::close_dialog_and_run(ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_cant_validate_password'))); } break; case 'change_profile_password': if ($user_input->profile_password != $this->profile->password) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_invalid_password')); } if (!$user_input->profile_password_new) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_new_password_empty')); } if ($user_input->profile_password_new != $user_input->profile_password_repeat) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_passwords_mismatch')); } $json_reply = ZTVApi::call(ZTVApi::set_profile($this->profile, $user_input->profile_password)); return $json_reply === false ? ActionFactory::close_dialog_and_run(ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_cant_change_password'))) : ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('%tr%dialog_successful_password_change')); break; case 'set_profile_password': if (!$user_input->profile_password) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_new_password_empty')); } if ($user_input->profile_password != $user_input->profile_password_repeat) { return ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_passwords_mismatch.')); } $json_reply = ZTVApi::call(ZTVApi::set_profile($this->profile, $user_input->profile_password)); return $json_reply === false ? ActionFactory::close_dialog_and_run(ActionFactory::show_error(false, '%tr%caption_error', array('%tr%error_cant_set_password'))) : ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('%tr%dialog_successful_password_set')); break; case 'profile_cancel': // TODO: Reset to the last selected profile instead of default. $this->profile = $this->profiles[1]; $json_reply = ZTVApi::call(ZTVApi::set_profile($this->profile)); if ($json_reply === false) { return; } return $user_input->selected_media_url != 'setup' ? ActionFactory::close_dialog_and_run(ActionFactory::open_folder()) : ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('%ext%<key_local>dialog_default_profile_set<p>' . $this->profile->title . '</p></key_local>')); break; } } } return ActionFactory::reset_controls($this->do_get_control_defs($plugin_cookies)); }
public function handle_user_input(&$user_input, &$plugin_cookies) { if (!isset($user_input->control_id)) { if ($plugin_cookies->require_restart) { ZTVDaemonController::restart($plugin_cookies->use_proxy == 'yes' ? array('-y' => $plugin_cookies->proxy_ip . ':' . $plugin_cookies->proxy_port) : array()); $plugin_cookies->require_restart = false; } if (!ZTVTerminal::login()) { return ActionFactory::show_dialog('Введите регистрационные данные', $this->do_registration_form_defs($plugin_cookies), true); } $result = $this->load_profiles(); if ($result) { if ($this->profile->require_password) { return ActionFactory::show_dialog('Введите пароль профиля ' . $this->profile->title, $this->do_profile_form_defs($plugin_cookies, false), true); } return ActionFactory::open_folder(); } return; } else { if ($user_input->action_type == 'confirm' || $user_input->action_type == 'apply') { switch ($user_input->control_id) { case 'use_proxy': $plugin_cookies->use_proxy = $user_input->use_proxy; $plugin_cookies->proxy_ip = isset($plugin_cookies->proxy_ip) ? $plugin_cookies->proxy_ip : '192.168.0.1'; $plugin_cookies->proxy_port = isset($plugin_cookies->proxy_port) ? $plugin_cookies->proxy_port : '8080'; $plugin_cookies->require_restart = true; break; case 'proxy_ip': $plugin_cookies->proxy_ip = $user_input->proxy_ip; $plugin_cookies->require_restart = true; break; case 'proxy_port': $plugin_cookies->proxy_port = $user_input->proxy_port; $plugin_cookies->require_restart = true; break; case 'daemon_start_button': ZTVDaemonController::start($plugin_cookies->use_proxy == 'yes' ? array('-y' => $plugin_cookies->proxy_ip . ':' . $plugin_cookies->proxy_port) : array()); break; case 'daemon_restart_button': ZTVDaemonController::restart($plugin_cookies->use_proxy == 'yes' ? array('-y' => $plugin_cookies->proxy_ip . ':' . $plugin_cookies->proxy_port) : array()); break; case 'daemon_stop_button': ZTVDaemonController::stop(); break; case 'register_button': return ActionFactory::show_dialog('Введите регистрационные данные', $this->do_registration_form_defs($plugin_cookies), true); break; case 'register_terminal': if (is_null($user_input->username) || trim($user_input->username) === '') { return ActionFactory::show_error(false, 'Ошибка', array('Идентификатор не может быть пустым.')); } else { if (is_null($user_input->password) || trim($user_input->password) === '') { return ActionFactory::show_error(false, 'Ошибка', array('PIN-код не может быть пустым.')); } } if (!ZTVTerminal::register($user_input->username, $user_input->password)) { return ActionFactory::show_error(false, 'Ошибка', array('Неверный идентификатор или PIN-код.')); } $plugin_cookies->username = $user_input->username; $plugin_cookies->password = $user_input->password; if ($user_input->selected_media_url == 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('Вход выполнен.')); } return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); break; case 'deregister_terminal': if (ZTVTerminal::deregister() && $user_input->selected_media_url == 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('Выход выполнен.')); } return ActionFactory::show_error(false, 'Ошибка', array('Не удалось выполненить выход.')); break; case 'register_cancel': if (ZTVTerminal::login() && $user_input->selected_media_url != 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); } return ActionFactory::reset_controls($this->do_registration_form_defs($plugin_cookies)); break; case 'profile': $this->profile = $this->profiles[$user_input->profile]; if ($this->profile->require_password) { return ActionFactory::show_dialog('Введите пароль профиля ' . $this->profile->title, $this->do_profile_form_defs($plugin_cookies, $this->profile->require_password && !$this->profile->password), true); } if ($this->tv->set_profile($this->profile->id)) { return ActionFactory::show_title_dialog('Профиль успешно установлен'); } break; case 'set_profile_password': if (!$user_input->profile_password) { return ActionFactory::show_error(false, 'Ошибка', array('Пароль не задан.')); } if ($user_input->profile_password != $user_input->profile_password_repeat) { return ActionFactory::show_error(false, 'Ошибка', array('Введенные пароли не совпадают.')); } $result = $this->tv->api_call(array(HD::make_json_rpc_request('set_terminal_params', array('macaddr' => HD::get_mac_addr_dashed(), 'profile_id' => $this->profile->id)), HD::make_json_rpc_request('update_profile', array('macaddr' => HD::get_mac_addr_dashed(), 'profile_id' => $this->profile->id, 'profile_password' => $user_input->profile_password)))); if (count($result) == 2 && $result[0]->result && $result[1]->result) { return ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('Профиль успешно установлен')); } return; break; case 'verify_profile_password': if ($user_input->profile_password != $this->profile->password) { return ActionFactory::show_error(false, 'Ошибка', array('Неверный пароль.')); } if ($user_input->selected_media_url != 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); } $result = $this->tv->set_profile($this->profile->id); if ($result) { return ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('Профиль успешно установлен')); } return; break; case 'profile_cancel': $result = $this->tv->set_profile(1); if (!$result) { return; } if ($user_input->selected_media_url != 'setup') { return ActionFactory::close_dialog_and_run(ActionFactory::open_folder()); } $this->profile = $this->profiles[1]; return ActionFactory::close_dialog_and_run(ActionFactory::show_title_dialog('Установлен профиль по умолчанию(' . $this->profile->title . ')')); break; } } } return ActionFactory::reset_controls($this->do_get_control_defs($plugin_cookies)); }
public function doSearch(&$user_input, &$plugin_cookies = null) { hd_print(__METHOD__); $url = $user_input->key . '&query=' . urlencode($user_input->query); hd_print("search url ={$url}"); $parameters = array('key' => $url, 'type' => TYPE_DIRECTORY, 'params' => null); return ActionFactory::open_folder($this->getNextScreen($parameters)); // return ActionFactory::open_folder( $this->get_media_url_str($url, TYPE_DIRECTORY)); }