/**
  * List of Related Episodes
  * 
  * @accessor
  * @dynamicAccessor episode.relatedEpisodes
  */
 public static function accessorRelatedEpisodes($return, $method_name, $episode, $post, $args = array())
 {
     $episodes = array();
     foreach (EpisodeRelation::get_related_episodes($episode->id, ['only_published' => true]) as $related_episode) {
         $episodes[] = new Template\Episode(Model\Episode::find_by_id($related_episode->id));
     }
     return $episodes;
 }
 /**
  * List of Related Episodes
  * 
  * @accessor
  * @dynamicAccessor episode.relatedEpisodes
  */
 public static function accessorRelatedEpisodes($return, $method_name, $episode, $post, $args = array())
 {
     $episodes = array();
     foreach (EpisodeRelation::get_related_episodes($episode->id) as $related_episode) {
         $episodes[] = new \Podlove\Template\Episode(\Podlove\Model\Episode::find_by_id($related_episode->id));
     }
     return $episodes;
 }
    public function episode_relation_form_callback($form_base_name = '_podlove_meta')
    {
        $existing_episodes = array();
        foreach (\Podlove\Model\Episode::find_all_by_time() as $episode) {
            $existing_episodes[$episode->id] = get_the_title($episode->post_id);
        }
        $episode = \Podlove\Model\Episode::find_one_by_post_id(get_the_ID());
        $existing_episode_relations = array_map(function ($episode) {
            return $episode->to_array();
        }, \Podlove\Modules\RelatedEpisodes\Model\EpisodeRelation::get_related_episodes($episode->id));
        ?>
			<div id="episode-relation-form">
				<table class="podlove_alternating" border="0" cellspacing="0">
					<thead>
						<tr>
							<th><?php 
        _e('Episode', 'podlove');
        ?>
</th>
							<th><?php 
        _e('Remove', 'podlove');
        ?>
</th>
						</tr>
					</thead>
					<tbody id="episode_relation_table_body" style="min-height: 50px;">
						<tr class="episode_relation_table_body_placeholder" style="display: none;">
							<td><em><?php 
        echo __('No episode relations were added yet.', 'podlove');
        ?>
</em></td>
						</tr>
					</tbody>
				</table>

				<div id="add_new_episode_relation_wrapper">
					<input class="button" id="add_new_episode_relation_button" value="+" type="button" />
				</div>
			</div>

			<script type="text/template" id="episode-relation-row-template">
			<tr class="podlove-episode-relation-table">
				<td>
					<select name="<?php 
        echo $form_base_name;
        ?>
[related_episodes][{{id}}]" id="<?php 
        echo $form_base_name;
        ?>
_related_episodes_{{id}}"  class="chosen-related-episodes podlove_episode_relation_episodes_dropdown">
					<?php 
        foreach ($existing_episodes as $episode_id => $episode_title) {
            ?>
						<option value="<?php 
            echo $episode_id;
            ?>
"><?php 
            echo $episode_title;
            ?>
</option>
					<?php 
        }
        ?>
					</select>
				</td>
				<td>
					<span class="episode_relation_remove">
						<i class="clickable podlove-icon-remove"></i>
					</span>
				</td>
			</tr>
			</script>
			<script type="text/javascript">
				var PODLOVE = PODLOVE || {};
				
				PODLOVE.related_episodes_existing_episode_relations = <?php 
        echo json_encode($existing_episode_relations);
        ?>
;
			</script>
			<?php 
    }