public static function podcast_form_extension_form()
 {
     $contributions = ShowContribution::all();
     // map indices to IDs
     $map = array();
     foreach ($contributions as $c) {
         $map[$c->id] = $c;
     }
     \Podlove\Modules\Contributors\Contributors::contributors_form_table($map, 'podlove_podcast[contributor]');
 }
 private function default_contrib_form()
 {
     $contributions = DefaultContribution::all();
     // map indices to IDs
     $map = array();
     foreach ($contributions as $c) {
         $map[$c->id] = $c;
     }
     \Podlove\Modules\Contributors\Contributors::contributors_form_table($map, 'podlove_contributor_defaults[contributor]');
 }
 public function contributors_form_for_episode_callback()
 {
     $current_page = get_current_screen();
     $episode = Episode::find_one_by_post_id(get_the_ID());
     // determine existing contributions
     $contributions = array();
     if ($current_page->action == "add") {
         $i = 0;
         $permanent_contributors = array();
         foreach (DefaultContribution::all() as $contribution_key => $contribution) {
             $permanent_contributors[$contribution_key]['contributor'] = $contribution->getContributor();
             $permanent_contributors[$contribution_key]['role'] = $contribution->getRole();
             $permanent_contributors[$contribution_key]['group'] = $contribution->getGroup();
             $permanent_contributors[$contribution_key]['comment'] = $contribution->comment;
         }
         foreach ($permanent_contributors as $permanent_contributor) {
             $contrib = new \Podlove\Modules\Contributors\Model\EpisodeContribution();
             $contrib->contributor_id = $permanent_contributor['contributor']->id;
             if (isset($permanent_contributor['role'])) {
                 $contrib->role = ContributorRole::find_by_id($permanent_contributor['role']->id);
             }
             if (isset($permanent_contributor['group'])) {
                 $contrib->group = ContributorGroup::find_by_id($permanent_contributor['group']->id);
             }
             if (isset($permanent_contributor['comment'])) {
                 $contrib->comment = $permanent_contributor['comment'];
             }
             $contributions[] = $contrib;
         }
         // map indices to IDs
         $map = array();
         $i = 0;
         foreach ($contributions as $c) {
             $map["default" . $c->contributor_id . "_" . $i] = $c;
             $i++;
         }
     } else {
         $contributions = \Podlove\Modules\Contributors\Model\EpisodeContribution::all("WHERE `episode_id` = " . $episode->id . " ORDER BY `position` ASC");
         // map indices to IDs
         $map = array();
         foreach ($contributions as $c) {
             $map[$c->id] = $c;
         }
     }
     \Podlove\Modules\Contributors\Contributors::contributors_form_table($map);
 }