private function contribution_actions(Article $article, $id_article) { if ($article->get_id() === null) { if ($this->is_contributor_member()) { $contribution = new Contribution(); $contribution->set_id_in_module($id_article); $contribution->set_description(stripslashes($this->form->get_value('contribution_description'))); $contribution->set_entitled($article->get_title()); $contribution->set_fixing_url(ArticlesUrlBuilder::edit_article($id_article)->relative()); $contribution->set_poster_id(AppContext::get_current_user()->get_id()); $contribution->set_module('articles'); $contribution->set_auth(Authorizations::capture_and_shift_bit_auth(ArticlesService::get_categories_manager()->get_heritated_authorizations($article->get_id_category(), Category::MODERATION_AUTHORIZATIONS, Authorizations::AUTH_CHILD_PRIORITY), Category::MODERATION_AUTHORIZATIONS, Contribution::CONTRIBUTION_AUTH_BIT)); ContributionService::save_contribution($contribution); } } else { $corresponding_contributions = ContributionService::find_by_criteria('articles', $id_article); if (count($corresponding_contributions) > 0) { $article_contribution = $corresponding_contributions[0]; $article_contribution->set_status(Event::EVENT_STATUS_PROCESSED); ContributionService::save_contribution($article_contribution); } } $article->set_id($id_article); }