/**
  * Render Allocine styled Headbox 'Details' Tab.
  *
  * @since    2.1.4
  * 
  * @return   string    Headbox Tab HTML content
  */
 private function render_details_tab()
 {
     $id = get_the_ID();
     $overview = self::get_movie_meta($id, 'overview');
     $tagline = self::get_movie_meta($id, 'tagline');
     $details = wpmoly_get_movie_details();
     $default_fields = WPMOLY_Settings::get_supported_movie_details();
     foreach ($details as $slug => $detail) {
         if (!is_array($detail)) {
             $detail = array($detail);
         }
         if (isset($default_fields[$slug]['panel']) && 'custom' == $default_fields[$slug]['panel']) {
             unset($details[$slug]);
         } else {
             foreach ($detail as $i => $d) {
                 if (!empty($d)) {
                     if (isset($default_fields[$slug]['options'])) {
                         $value = $default_fields[$slug]['options'][$d];
                     } else {
                         $value = $d;
                     }
                     if ('rating' == $slug) {
                         $d = apply_filters("wpmoly_movie_meta_link", array('key' => 'rating', 'value' => array_search($value, $default_fields[$slug]['options']), 'type' => 'detail', 'text' => $value));
                     } else {
                         $d = apply_filters("wpmoly_movie_meta_link", array('key' => $slug, 'value' => $value, 'meta' => 'detail', 'text' => $value));
                     }
                     $detail[$i] = apply_filters("wpmoly_format_movie_field", $d);
                 }
             }
             $detail = implode(', ', $detail);
             if (empty($detail)) {
                 $detail = apply_filters("wpmoly_format_movie_field", '');
             }
             $title = '';
             if (isset($default_fields[$slug])) {
                 $title = __($default_fields[$slug]['title'], 'wpmovielibrary');
             }
             $details[$slug] = array('slug' => $slug, 'title' => $title, 'value' => $detail);
         }
     }
     $metas = wpmoly_get_movie_meta();
     $metas = wpmoly_filter_undimension_array($metas);
     $default_fields = WPMOLY_Settings::get_supported_movie_meta();
     if (!empty($metas)) {
         unset($metas['title'], $metas['cast'], $metas['overview'], $metas['tagline']);
         foreach ($metas as $slug => $field) {
             if (isset($default_fields[$slug])) {
                 // Custom filter if available
                 if (has_filter("wpmoly_format_movie_{$slug}")) {
                     $field = apply_filters("wpmoly_format_movie_{$slug}", $field);
                 }
                 // Filter empty field
                 $field = apply_filters("wpmoly_format_movie_field", $field);
                 $metas[$slug] = array('slug' => $slug, 'title' => __($default_fields[$slug]['title'], 'wpmovielibrary'), 'value' => $field);
             } else {
                 unset($metas[$slug]);
             }
         }
     }
     $attributes = compact('id', 'overview', 'tagline', 'details', 'metas');
     $content = self::render_template('movies/headbox-allocine/tabs/details.php', $attributes, $require = 'always');
     return $content;
 }
 /**
  * Modern headbox details tab content callback.
  * 
  * @since    2.0
  * 
  * @return   string    Tab content HTML markup
  */
 public function get_wpmoly_headbox_details_tab()
 {
     // TODO: better filtering/formatting
     $details = wpmoly_get_movie_details();
     $fields = wpmoly_o('sort-details');
     $default_fields = WPMOLY_Settings::get_supported_movie_details();
     if (empty($fields) || !isset($fields['used'])) {
         return null;
     }
     $fields = $fields['used'];
     if (isset($fields['placebo'])) {
         unset($fields['placebo']);
     }
     $post_id = get_the_ID();
     $items = array();
     foreach ($fields as $slug => $field) {
         if (isset($details[$slug])) {
             $detail = $details[$slug];
             if (!is_array($detail)) {
                 $detail = array($detail);
             }
             foreach ($detail as $i => $d) {
                 if ('' != $d) {
                     if (isset($default_fields[$slug]['options'])) {
                         $value = $default_fields[$slug]['options'][$d];
                     } else {
                         $value = $d;
                     }
                     if ('rating' == $slug) {
                         $d = apply_filters("wpmoly_movie_meta_link", array('key' => 'rating', 'value' => array_search($value, $default_fields[$slug]['options']), 'type' => 'detail', 'text' => $value));
                     } else {
                         $d = apply_filters("wpmoly_movie_meta_link", array('key' => $slug, 'value' => $value, 'meta' => 'detail', 'text' => $value));
                     }
                 }
                 $detail[$i] = apply_filters("wpmoly_format_movie_field", $d);
             }
             if (empty($detail)) {
                 $detail[] = apply_filters("wpmoly_format_movie_field", '');
             }
             $title = '';
             if (isset($default_fields[$slug])) {
                 $title = __($default_fields[$slug]['title'], 'wpmovielibrary');
             }
             $items[] = array('slug' => $slug, 'title' => $title, 'value' => $detail);
         }
     }
     $attributes = array('details' => $items);
     $content = WPMovieLibrary::render_template('movies/headbox/tabs/details.php', $attributes, $require = 'always');
     return $content;
 }