Beispiel #1
0
 /**
  * Konvertiert einen Artikel in eine Kategorie.
  *
  * @param int $art_id Artikel ID des Artikels, der in eine Kategorie umgewandelt werden soll
  *
  * @return bool TRUE bei Erfolg, sonst FALSE
  */
 public static function article2category($art_id)
 {
     $sql = rex_sql::factory();
     // LANG SCHLEIFE
     foreach (rex_clang::getAllIds() as $clang) {
         // artikel
         $sql->setQuery('select parent_id, name from ' . rex::getTablePrefix() . "article where id={$art_id} and startarticle=0 and clang_id={$clang}");
         if (!isset($parent_id)) {
             $parent_id = $sql->getValue('parent_id');
         }
         // artikel updaten
         $sql->setTable(rex::getTablePrefix() . 'article');
         $sql->setWhere(['id' => $art_id, 'clang_id' => $clang]);
         $sql->setValue('startarticle', 1);
         $sql->setValue('catname', $sql->getValue('name'));
         $sql->setValue('catpriority', 100);
         $sql->update();
         rex_category_service::newCatPrio($parent_id, $clang, 0, 100);
     }
     rex_article_cache::deleteLists($parent_id);
     rex_article_cache::delete($art_id);
     foreach (rex_clang::getAllIds() as $clang) {
         rex_extension::registerPoint(new rex_extension_point('ART_TO_CAT', '', ['id' => $art_id, 'clang' => $clang]));
     }
     return true;
 }