public function save_setting()
 {
     $contributor_appearances = $_REQUEST['podlove_contributor_defaults']['contributor'];
     foreach (DefaultContribution::all() as $contribution) {
         $contribution->delete();
     }
     $position = 0;
     foreach ($contributor_appearances as $contributor_appearance) {
         foreach ($contributor_appearance as $contributor_id => $contributor) {
             $c = new DefaultContribution();
             if (isset($contributor['role']) && ($role = ContributorRole::find_one_by_slug($contributor['role']))) {
                 $c->role_id = $role->id;
             }
             if (isset($contributor['group']) && ($group = ContributorGroup::find_one_by_slug($contributor['group']))) {
                 $c->group_id = $group->id;
             }
             $c->contributor_id = $contributor_id;
             if (isset($contributor['comment'])) {
                 $c->comment = $contributor['comment'];
             }
             $c->position = $position++;
             $c->save();
         }
     }
 }
 /**
  * @todo  this save logic belongs into the tab class
  */
 public function save_setting($old, $new)
 {
     if (!isset($new['contributor'])) {
         return;
     }
     $contributor_appearances = $new['contributor'];
     foreach (\Podlove\Modules\Contributors\Model\ShowContribution::all() as $contribution) {
         $contribution->delete();
     }
     $position = 0;
     foreach ($contributor_appearances as $contributor_appearance) {
         foreach ($contributor_appearance as $contributor_id => $contributor) {
             $c = new \Podlove\Modules\Contributors\Model\ShowContribution();
             if (isset($contributor['role'])) {
                 if ($role = ContributorRole::find_one_by_slug($contributor['role'])) {
                     $c->role_id = $role->id;
                 }
             }
             if (isset($contributor['group'])) {
                 if ($group = ContributorGroup::find_one_by_slug($contributor['group'])) {
                     $c->group_id = $group->id;
                 }
             }
             if (isset($contributor['comment'])) {
                 $c->comment = $contributor['comment'];
             }
             $c->contributor_id = $contributor_id;
             $c->position = $position++;
             $c->save();
         }
     }
 }