/**
  * Get configuration from TMDb
  * 
  * @since    1.0
  *
  * @return   array    TMDb result
  */
 public function getConfiguration()
 {
     $config = WPMOLY_Cache::get('tmdb_api_config');
     if (!$config) {
         $config = $this->_makeCall('configuration');
         if (is_wp_error($config)) {
             if (defined('DOING_AJAX') && DOING_AJAX) {
                 return $config;
             }
             WPMOLY_Utils::admin_notice($config->get_error_message(), 'error');
             return array();
         }
         if (!empty($config)) {
             $this->_config = $config;
         }
         WPMOLY_Cache::set('tmdb_api_config', $config);
     }
     return $config;
 }
 /**
  * Update Widget settings when config form is posted.
  * 
  * @since    1.0
  */
 private function update_settings()
 {
     wpmoly_check_admin_referer("save-{$this->widget_id}");
     $settings = get_user_option($this->widget_id . '_settings');
     $_settings = array();
     foreach ($this->default_settings as $key => $value) {
         if (!isset($_POST[$this->widget_id][$key])) {
             $_settings[$key] = 0;
         } else {
             $_settings[$key] = $_POST[$this->widget_id][$key];
         }
     }
     $settings = wp_parse_args($_settings, $settings);
     $update = update_user_option(get_current_user_id(), $this->widget_id . '_settings', $settings);
     if ($update) {
         WPMOLY_Utils::admin_notice(__('Settings saved.'), $type = 'update');
         $this->settings = $settings;
     }
 }
 /**
  * Render movie import page
  *
  * @since    1.0
  */
 public static function import_page()
 {
     $errors = new WP_Error();
     $imported = array();
     $_section = '';
     $movies = (array) wp_count_posts('movie');
     $_imported = $movies['import-draft'];
     $_queued = $movies['import-queued'];
     if (isset($_POST['wpmoly_save_imported']) && '' != $_POST['wpmoly_save_imported'] && isset($_POST['wpmoly_imported_ids']) && '' != $_POST['wpmoly_imported_ids'] && isset($_POST['movies']) && count($_POST['movies'])) {
         wpmoly_check_admin_referer('save-imported-movies');
         $post_ids = explode(',', $_POST['wpmoly_imported_ids']);
         foreach ($_POST['movies'] as $movie) {
             if (0 != $movie['tmdb_id'] && in_array($movie['post_id'], $post_ids)) {
                 $update = WPMOLY_Edit_Movies::save_movie($movie['post_id'], $post = null, $queue = false, $movie);
                 if (is_wp_error($update)) {
                     $errors->add($update->get_error_code(), $update->get_error_message());
                 } else {
                     $imported[] = $update;
                 }
             }
         }
         if (!empty($errors->errors)) {
             $_errors = array();
             foreach ($errors->errors as $error) {
                 if (is_array($error)) {
                     foreach ($error as $e) {
                         $_errors[] = '<li>' . $e . '</li>';
                     }
                 } else {
                     $_errors[] = '<li>' . $error . '</li>';
                 }
             }
             WPMOLY_Utils::admin_notice(sprintf(__('The following errors occured: <ul>%s</ul>', 'wpmovielibrary'), implode('', $_errors)), 'error');
         }
         if (!empty($imported)) {
             WPMOLY_Utils::admin_notice(sprintf(_n('One movie imported successfully!', '%d movies imported successfully!', count($imported), 'wpmovielibrary'), count($imported)), 'updated');
         }
     } else {
         if (isset($_POST['wpmoly_importer']) && '' != $_POST['wpmoly_importer']) {
         }
     }
     if (isset($_GET['wpmoly_section']) && in_array($_GET['wpmoly_section'], array('wpmoly_import', 'wpmoly_import_queue', 'wpmoly_imported'))) {
         $_section = $_GET['wpmoly_section'];
     }
     $attributes = array('_section' => $_section, '_queued' => $_queued, '_imported' => $_imported);
     echo self::render_admin_template('/import/import.php', $attributes);
 }