/** * 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 }