function copyCategory($which, $to_cat)
{
    ## orginal selecten
    $orig = new sql();
    $orig->setQuery("SELECT * FROM rex_category WHERE id={$which}");
    if ($to_cat != 0) {
        ## ziel selecten um den path zu bekomme
        $ziel = new sql();
        $ziel->setQuery("SELECT * FROM rex_category WHERE id={$to_cat}");
        $zielpath = $ziel->getValue("path") . "-" . $to_cat;
    } else {
        ## ziel is top also path
        $zielpath = "";
    }
    ## neue kategorie schreiben
    $add = new sql();
    $add->setTable("rex_category");
    $add->setValue("name", $orig->getValue("name"));
    $add->setValue("re_category_id", $to_cat);
    $add->setValue("prior", $orig->getValue("prior"));
    $add->setValue("path", $zielpath);
    $add->setvalue("status", $orig->getValue("status"));
    $add->insert();
    ## artikel kopieren order by !!! da sonst startartikel falsch
    $articles = new sql();
    $articles->setQuery("SELECT * FROM rex_article WHERE category_id={$which} order by startpage desc");
    for ($i = 0; $i < $articles->rows; $i++, $articles->next()) {
        copyArticle($articles->getValue("id"), $add->last_insert_id);
    }
    ## suchen nach unterkategorien und diese dann natürlich mitkopieren
    ## "rekursier on" hier
    $subcats = new sql();
    $subcats->setQuery("SELECT * FROM rex_category WHERE re_category_id={$which}");
    for ($i = 0; $i < $subcats->rows; $i++, $subcats->next()) {
        copyCategory($subcats->getValue("id"), $add->last_insert_id);
    }
}
     echo "<tr><td align=center class=warning><img src=pics/warning.gif width=16 height=16 vspace=4></td><td class=warning>&nbsp;&nbsp;{$message}</td><td class=lgrey>&nbsp;</td></tr>";
 }
 echo "\t<tr>\r\n\t\t\t\t\t<td class=lgrey>&nbsp;</td>\r\n\t\t\t\t\t<td valign=top class=lblue>";
 // ---------------------------------------------------------------------- METADATEN
 if ($mode == "meta") {
     $extens = "";
     $category_id = $article->getValue("category_id");
     if ($FUNC_MOVE != "" && $func_category_id > 0 && $REX_USER->isValueOf("rights", "advancedMode[]")) {
         if ($article->getValue("startpage") == 1) {
             $err_msg = $I18N->msg('article_cannot_be_moved') . " " . $I18N->msg('start_article_has_to_stay_in_category');
         } else {
             $err_msg = moveArticle($article_id, $func_category_id, $category_id);
             $category_id = $func_category_id;
         }
     } elseif ($FUNC_COPY != "" && $func_category_id > 0 && $REX_USER->isValueOf("rights", "advancedMode[]")) {
         copyArticle($article_id, $func_category_id);
         $err_msg = $I18N->msg('article_copied');
     }
     if ($save == "1") {
         #$debugsql = 1;
         $meta_sql = new sql();
         $meta_sql->setTable("rex_article");
         $meta_sql->where("id='{$article_id}'");
         $meta_sql->setValue("online_von", $jahr_von . $monat_von . $tag_von);
         $meta_sql->setValue("online_bis", $jahr_bis . $monat_bis . $tag_bis);
         $meta_sql->setValue("suchbegriffe", $suchbegriffe);
         $meta_sql->setValue("beschreibung", $beschreibung);
         $meta_sql->setValue("name", $article_name);
         $meta_sql->setValue("type_id", $type_id);
         $meta_sql->setValue("checkbox01", $checkbox01);
         // -------------------------- FILE UPLOAD META BILD/FILE