public static function regenerateArticle($slice_id = false, $clang = false, $module_id = false) { if (!$slice_id) { $slice_id = rex_get('slice_id'); } if (!$article_id) { $article_id = rex_get('article_id'); } if (!$clang) { $clang = rex_get('clang'); } if (!$module_id) { $module_id = rex_get('module_id'); } if (!$ctype) { $ctype = rex_get('ctype'); } $newsql = rex_sql::factory(); $action = new rex_article_action($module_id, $function, $newsql); $action->setRequestValues(); $action->exec(rex_article_action::PRESAVE); // ----- artikel neu generieren $EA = rex_sql::factory(); $EA->setTable(rex::getTablePrefix() . 'article'); $EA->setWhere(['id' => $article_id, 'clang_id' => $clang]); $EA->addGlobalUpdateFields(); $EA->update(); rex_article_cache::delete($article_id, $clang); rex_extension::registerPoint(new rex_extension_point('ART_CONTENT_UPDATED', '', ['id' => $article_id, 'clang' => $clang])); // ----- POST SAVE ACTION [ADD/EDIT/DELETE] $action->exec(rex_article_action::POSTSAVE); if ($messages = $action->getMessages()) { $info .= '<br />' . implode('<br />', $messages); } if (rex_post('btn_save', 'string')) { $function = ''; } }
$function = ''; } elseif (!rex::getUser()->getComplexPerm('modules')->hasPerm($module_id)) { // ----- RECHTE AM MODUL: NEIN $global_warning = rex_i18n::msg('no_rights_to_this_function'); $slice_id = ''; $function = ''; } else { // ----- RECHTE AM MODUL: JA // *********************** daten einlesen $newsql = rex_sql::factory(); // $newsql->setDebug(); // ----- PRE SAVE ACTION [ADD/EDIT/DELETE] $action = new rex_article_action($module_id, $function, $newsql); $action->setRequestValues(); $action->exec(rex_article_action::PRESAVE); $action_message = implode('<br />', $action->getMessages()); // ----- / PRE SAVE ACTION // Werte werden aus den REX_ACTIONS übernommen wenn SAVE=true if (!$action->getSave()) { // ----- DONT SAVE/UPDATE SLICE if ($action_message != '') { $warning = $action_message; } elseif ($function == 'delete') { $warning = rex_i18n::msg('slice_deleted_error'); } else { $warning = rex_i18n::msg('slice_saved_error'); } } else { if ($action_message) { $action_message .= '<br />'; }