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(); } } }