function rex_opf_sync()
{
    global $REX;
    // abgleich der replacevalue felder..
    $s = new sql();
    // $s->debugsql = 1;
    $s->setQuery("select clang, replacename, name, count(replacename) from rex_opf_lang group by replacename");
    for ($i = 0; $i < $s->getRows(); $i++) {
        if (count($REX['CLANG']) != $s->getValue("count(replacename)")) {
            reset($REX['CLANG']);
            while (list($key, $val) = each($REX['CLANG'])) {
                $lclang = $key;
                $replacename = $s->getValue("replacename");
                $name = $s->getValue("name");
                $gs = new sql();
                $gs->setQuery("select clang from rex_opf_lang where clang={$lclang} and replacename='{$replacename}'");
                if ($gs->getRows() == 0) {
                    // erstelle
                    $us = new sql();
                    $us->setTable("rex_opf_lang");
                    $us->setValue("clang", $lclang);
                    $us->setValue("replacename", $replacename);
                    $us->setValue("name", $name);
                    $us->insert();
                }
            }
        }
        $s->next();
    }
}
 function insertOrder()
 {
     $sql = new sql();
     $sql->debugsql = 0;
     $sql->setTable("rex_4_order");
     $sql->setValue("overallsum", $this->_overallsum);
     $sql->setValue("status", $this->_status);
     $sql->setValue("date", date("Y-m-d H:i:s"));
     $sql->setValue("name", $this->_name);
     $sql->setValue("mailtext", $this->_mailtxt);
     $sql->insert();
     if ($sql->error == "") {
         $order_id = $sql->last_insert_id;
         $sql->flush();
         $counter = 0;
         if (is_array($this->_product)) {
             for ($i = 0; $i < count($this->_product['pid']); $i++) {
                 $sql->setTable("rex_4_order_product");
                 $sql->setValue("order_id", $order_id);
                 $sql->setValue("product_id", $this->_product['pid'][$i]);
                 $sql->setValue("product_name", $this->_product['name'][$i]);
                 $sql->setValue("amount", $this->_product['amount'][$i]);
                 $sql->setValue("price", $this->_product['price'][$i]);
                 $sql->insert();
                 $sql->flush();
                 if ($sql->error == "") {
                     $counter++;
                 }
             }
         }
         if ($counter == count($this->_product['pid'])) {
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
 function create_file($cssFile, $cssDir, $cssCatId)
 {
     if ($cssFile != "") {
         global $REX_USER;
         $extension = strstr($cssFile, '.');
         if (strlen($extension) == "4") {
             // ----- neuer filename und extension holen
             $NFILENAME = strtolower(preg_replace("/[^a-zA-Z0-9.]/", "_", $cssFile));
             if (strrpos($NFILENAME, ".") != "") {
                 $NFILE_NAME = substr($NFILENAME, 0, strlen($NFILENAME) - (strlen($NFILENAME) - strrpos($NFILENAME, ".")));
                 $NFILE_EXT = substr($NFILENAME, strrpos($NFILENAME, "."), strlen($NFILENAME) - strrpos($NFILENAME, "."));
             } else {
                 $NFILE_NAME = $NFILENAME;
                 $NFILE_EXT = "";
             }
             // ---- ext checken
             $ERROR_EXT = array("php", "php3", "php4", "php5", "phtml", "pl", "asp", "aspx", "cfm");
             if (in_array($NFILE_EXT, $ERROR_EXT)) {
                 $NFILE_NAME .= $NFILE_EXT;
                 $NFILE_EXT = ".txt";
             }
             $NFILENAME = $NFILE_NAME . $NFILE_EXT;
             if ($NFILE_EXT == ".css") {
                 $FILETYPE = "text/css";
             } else {
                 $FILETYPE = "text/plain";
                 return $this->errorMsg .= $this->thisFileIsNoCss;
             }
             // ----- datei schon vorhanden -> warnung ausgeben ->
             if (!file_exists($cssDir . $NFILENAME)) {
                 $openFile = fopen($cssDir . $NFILENAME, "w");
                 fputs($openFile, "");
                 fclose($openFile);
                 $upload = true;
             } else {
                 return $this->errorMsg .= $this->thisFileExists;
             }
             $FILESIZE = filesize($cssDir . $NFILENAME);
             if ($upload) {
                 @chmod($cssDir . "/{$NFILENAME}", 0777);
                 $FILESQL = new sql();
                 //$FILESQL->debugsql=1;
                 $FILESQL->setTable("rex_file");
                 $FILESQL->setValue("filetype", $FILETYPE);
                 $FILESQL->setValue("title", $FILEINFOS[title]);
                 $FILESQL->setValue("description", $FILEINFOS[description]);
                 $FILESQL->setValue("copyright", $FILEINFOS[copyright]);
                 $FILESQL->setValue("filename", $NFILENAME);
                 $FILESQL->setValue("originalname", $NFILENAME);
                 $FILESQL->setValue("filesize", $FILESIZE);
                 $FILESQL->setValue("width", 0);
                 $FILESQL->setValue("height", 0);
                 $FILESQL->setValue("category_id", $cssCatId);
                 $FILESQL->setValue("createdate", time());
                 $FILESQL->setValue("createuser", $REX_USER->getValue("login"));
                 $FILESQL->setValue("updatedate", time());
                 $FILESQL->setValue("updateuser", $REX_USER->getValue("login"));
                 $FILESQL->insert();
                 $ok = 1;
             }
             $this->successMsg .= "Die Datei " . $NFILENAME . " wurde im Medienpool und auf dem Server erfolgeich angelegt.";
         } else {
             $this->errorMsg .= "Falsche Extension. Eine Extension besteht aus 3 Zeichen. <br /> Datei wurde <strong>NICHT</strong> angelegt.";
         }
     } else {
         $this->errorMsg .= "Bitte geben Sie einen Dateinamen ein.";
     }
 }
function saveMedia($FILE, $rex_file_category, $FILEINFOS)
{
    global $REX, $REX_USER;
    $FILENAME = $FILE['name'];
    $FILESIZE = $FILE['size'];
    $FILETYPE = $FILE['type'];
    $NFILENAME = "";
    $message = '';
    // ----- neuer filename und extension holen
    $NFILENAME = strtolower(preg_replace("/[^a-zA-Z0-9.\\-\$\\+]/", "_", $FILENAME));
    if (strrpos($NFILENAME, ".") != "") {
        $NFILE_NAME = substr($NFILENAME, 0, strlen($NFILENAME) - (strlen($NFILENAME) - strrpos($NFILENAME, ".")));
        $NFILE_EXT = substr($NFILENAME, strrpos($NFILENAME, "."), strlen($NFILENAME) - strrpos($NFILENAME, "."));
    } else {
        $NFILE_NAME = $NFILENAME;
        $NFILE_EXT = "";
    }
    // ---- ext checken
    $ERROR_EXT = array(".php", ".php3", ".php4", ".php5", ".phtml", ".pl", ".asp", ".aspx", ".cfm");
    if (in_array($NFILE_EXT, $ERROR_EXT)) {
        $NFILE_NAME .= $NFILE_EXT;
        $NFILE_EXT = ".txt";
    }
    $NFILENAME = $NFILE_NAME . $NFILE_EXT;
    // ----- datei schon vorhanden -> namen aendern -> _1 ..
    if (file_exists($REX['MEDIAFOLDER'] . "/{$NFILENAME}")) {
        for ($cf = 1; $cf < 1000; $cf++) {
            $NFILENAME = $NFILE_NAME . "_{$cf}" . "{$NFILE_EXT}";
            if (!file_exists($REX['MEDIAFOLDER'] . "/{$NFILENAME}")) {
                break;
            }
        }
    }
    // ----- dateiupload
    $upload = true;
    if (!@move_uploaded_file($FILE['tmp_name'], $REX['MEDIAFOLDER'] . "/{$NFILENAME}")) {
        if (!@copy($FILE['tmp_name'], $REX['MEDIAFOLDER'] . "/{$NFILENAME}")) {
            $message .= "move file {$FILENAME} failed | ";
            $ok = 0;
            $upload = false;
        }
    }
    if ($upload) {
        chmod($REX['MEDIAFOLDER'] . "/{$NFILENAME}", $REX['FILEPERM']);
        // get widht height
        $size = @getimagesize($REX['MEDIAFOLDER'] . "/{$NFILENAME}");
        $FILESQL = new sql();
        // $FILESQL->debugsql=1;
        $FILESQL->setTable($REX['TABLE_PREFIX'] . "file");
        $FILESQL->setValue("filetype", $FILETYPE);
        $FILESQL->setValue("title", $FILEINFOS['title']);
        $FILESQL->setValue("description", $FILEINFOS['description']);
        $FILESQL->setValue("copyright", $FILEINFOS['copyright']);
        $FILESQL->setValue("filename", $NFILENAME);
        $FILESQL->setValue("originalname", $FILENAME);
        $FILESQL->setValue("filesize", $FILESIZE);
        $FILESQL->setValue("width", $size[0]);
        $FILESQL->setValue("height", $size[1]);
        $FILESQL->setValue("category_id", $rex_file_category);
        $FILESQL->setValue("createdate", time());
        $FILESQL->setValue("createuser", $REX_USER->getValue("login"));
        $FILESQL->setValue("updatedate", time());
        $FILESQL->setValue("updateuser", $REX_USER->getValue("login"));
        $FILESQL->insert();
        $ok = 1;
    }
    $RETURN['title'] = $FILEINFOS['title'];
    $RETURN['width'] = $size[0];
    $RETURN['height'] = $size[1];
    $RETURN['type'] = $FILETYPE;
    $RETURN['msg'] = $message;
    $RETURN['ok'] = $ok;
    $RETURN['filename'] = $NFILENAME;
    return $RETURN;
}
     $CONT->setMode($mode);
     $CONT->setCLang($clang);
     $CONT->setCType($ctype);
     $CONT->setEval(TRUE);
     $CONT->setFunction($function);
     eval("?>" . $CONT->getArticle());
     // ------------------------------------------ END: MODULE EDITIEREN/ADDEN ETC.
 } elseif ($mode == "meta") {
     // ------------------------------------------ START: META VIEW
     $extens = "";
     if (isset($save) and $save == "1") {
         $meta_sql = new sql();
         $meta_sql->setTable($REX['TABLE_PREFIX'] . "article");
         // $meta_sql->debugsql = 1;
         $meta_sql->where("id='{$article_id}' and clang={$clang}");
         $meta_sql->setValue("online_from", mktime(0, 0, 0, $monat_von, $tag_von, $jahr_von));
         $meta_sql->setValue("online_to", mktime(0, 0, 0, $monat_bis, $tag_bis, $jahr_bis));
         $meta_sql->setValue("keywords", $meta_keywords);
         $meta_sql->setValue("description", $meta_description);
         $meta_sql->setValue("name", $meta_article_name);
         $meta_sql->setValue("type_id", $type_id);
         if (!isset($meta_teaser)) {
             $meta_teaser = 0;
         }
         $meta_sql->setValue("teaser", $meta_teaser);
         $meta_sql->setValue("updatedate", time());
         $meta_sql->setValue("updateuser", $REX_USER->getValue("login"));
         // -------------------------- FILE UPLOAD META BILD/FILE
         $meta_sql->setValue("file", $REX_MEDIA_1);
         // ----------------------------- / FILE UPLOAD
         $meta_sql->update();
 }
 $sql = new sql();
 $sql->debugsql = 0;
 // Kategorien werden aufbereitet
 $diecats = "|";
 if (is_array($article[cat])) {
     foreach ($article[cat] as $ac) {
         $diecats .= $ac . "|";
     }
 }
 $article[deliverprice] = number_format(ereg_replace(",", ".", $article[deliverprice]), 2, ".", "");
 $article[oldprice] = number_format(ereg_replace(",", ".", $article[oldprice]), 2, ".", "");
 $article[price] = number_format(ereg_replace(",", ".", $article[price]), 2, ".", "");
 $article[tax] = number_format(ereg_replace(",", ".", $article[tax]), 2, ".", "");
 $sql->setTable("rex_4_article");
 $sql->setValue("name", $article[name]);
 $sql->setValue("artnr", $article[artnr]);
 $sql->setValue("description", $article[desc]);
 $sql->setValue("detaildesc", $VALUE[1]);
 $sql->setValue("price", $article[price]);
 $sql->setValue("old_price", $article[oldprice]);
 $sql->setValue("deliver_price", $article[deliverprice]);
 $sql->setValue("mwst", $article[tax]);
 $sql->setValue("status", $article[status]);
 $sql->setValue("instock", $article[instock]);
 $sql->setValue("stockinfo", $article[stockinfo]);
 if ($REX_MEDIA_1 == "delete file") {
     $thumbnail = "";
 } else {
     $thumbnail = $REX_MEDIA_1;
 }
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);
    }
}
 function write()
 {
     global $REX, $REX_USER;
     $sql = new sql();
     $sql->setTable($REX['TABLE_PREFIX'] . '51_cache_article');
     foreach ($this->vars as $key => $value) {
         $sql->setValue($key, $value);
     }
     $user = $REX['REDAXO'] ? $REX_USER->getValue('login') : '';
     if ($this->exists()) {
         $sql->where('article_id=' . $this->article_id . ' AND clang=' . $this->clang);
         $sql->setValue('updatedate', time());
         $sql->setValue('updateuser', $user);
         $sql->update();
     } else {
         $sql->setValue('article_id', $this->article_id);
         $sql->setValue('clang', $this->clang);
         $sql->setValue('createdate', time());
         $sql->setValue('createuser', $user);
         $sql->insert();
     }
 }
        $body = str_replace("###NAME###", $gu->getValue("user_name"), $body);
        $body = str_replace("###FIRSTNAME###", $gu->getValue("user_firstname"), $body);
        $body = str_replace("###LOGIN###", $gu->getValue("user_login"), $body);
        $body = str_replace("###PSW###", $gu->getValue("user_password"), $body);
        $mail->Subject = $subject;
        $mail->AltBody = $body;
        $mail->Send();
        echo "Mail wurde versendet<br /><br />";
        $aktionen = $mails[$mail_id]["action"];
        if (is_array($aktionen)) {
            $uu = new sql();
            $uu->debugsql = 0;
            $uu->setTable("rex_5_user");
            $uu->where("id='" . $oid . "'");
            foreach ($aktionen as $key => $value) {
                $uu->setValue($key, $value);
            }
            $uu->update();
            echo "Aktion/en wurden ausgeführt!<br /><br />";
        }
    } else {
        foreach ($mails as $key => $value) {
            echo "<br /><br /><a href=index.php?page=community&subpage=user&oid={$oid}&func=sendmail&subfunc=send&mail_id={$key}>&raquo; " . $value["name"] . "</a>";
        }
        echo "<br /><br />";
    }
    echo "</td></tr></table>";
    echo "<br /><table cellpadding=5 class=rex><tr><td><a href=index.php?page=" . $mypage . "&subpage=" . $subpage . "&func=edit&oid={$oid}><b>&laquo; Zurück zum User</b></a></td></tr></table>";
    $func = "nothing";
} else {
    // kein exit -> fehler -> zurueck zur übersicht
Exemple #10
0
} elseif ($FDEL != "") {
    $deleteuser = new sql();
    $deleteuser->query("delete from rex__user where id='{$user_id}'");
    $deleteuser->query("delete from rex__article_comment where user_id='{$user_id}'");
    $deleteuser->query("delete from rex__board where user_id='{$user_id}'");
    $deleteuser->query("delete from rex__user_comment where user_id='{$user_id}' or from_user_id='{$user_id}'");
    $deleteuser->query("delete from rex__user_mail where user_id='{$user_id}' or from_user_id='{$user_id}'");
    $message = "Benutzer gelöscht !";
    $user_id = "";
} elseif ($FADD != "" && $save == 1) {
    $adduser = new sql();
    $adduser->setQuery("select * from rex__user where login='******'");
    if ($adduser->getRows() == 0 and $ulogin != "") {
        $adduser = new sql();
        $adduser->setTable("rex__user");
        $adduser->setValue("login", $ulogin);
        $adduser->setValue("psw", $upsw);
        $adduser->setValue("email", $uemail);
        $adduser->setValue("name", $uname);
        $adduser->setValue("firstname", $ufirstname);
        if ($usex != "m" and $usex != "f") {
            $usex = "";
        }
        $adduser->setValue("sex", $usex);
        $adduser->setValue("street", $ustreet);
        $adduser->setValue("zip", $uzip);
        $adduser->setValue("city", $ucity);
        $adduser->setValue("phone", $uphone);
        $adduser->setValue("profession", $uprofession);
        $adduser->setValue("size", $usize);
        $adduser->setValue("wheight", $uwheight);
 }
 if (isset($_POST['editorWindow'])) {
     $EDITeditorWindow = $_POST['editorWindow'];
 } else {
     $EDITeditorWindow = '';
 }
 if ($EDITeditorWindow <= "99") {
     $DBeditorWindow = $EDITeditorWindow;
     $errorMsg .= '<p class="warning">Für benutzerfreundliches Arbeiten ist<br /> ein Wert unter 100 Pixel nicht sinnvoll.<br /><br />Bitte geben Sie einen Wert von <strong>100 oder mehr</strong> ein.</p>';
     $update = false;
 }
 if ($update) {
     $SETTINGSQL = new sql();
     //$SETTINGSQL->debugsql=1;
     $SETTINGSQL->setTable("rex_14_setting");
     $SETTINGSQL->setValue("showJsElements", $DBshowJsElements);
     $SETTINGSQL->setValue("showProperty", $DBshowProperty);
     $SETTINGSQL->setValue("showColor", $DBshowColor);
     $SETTINGSQL->setValue("showHighlight", $DBshowHighlight);
     $SETTINGSQL->setValue("editorWindow", $EDITeditorWindow);
     $SETTINGSQL->setValue("hltSelector", $EDIThltSel);
     $SETTINGSQL->setValue("hltProperty", $EDIThltPro);
     $SETTINGSQL->setValue("hltValue", $EDIThltVal);
     $SETTINGSQL->setValue("hltDeclaration", $EDIThltDec);
     $SETTINGSQL->setValue("color1", $DBcolor1);
     $SETTINGSQL->setValue("color2", $DBcolor2);
     $SETTINGSQL->setValue("color3", $DBcolor3);
     $SETTINGSQL->setValue("color4", $DBcolor4);
     $SETTINGSQL->setValue("color5", $DBcolor5);
     $SETTINGSQL->setValue("color6", $DBcolor6);
     $SETTINGSQL->setValue("color7", $DBcolor7);
Exemple #12
0
        $deleteuser = new sql();
        $deleteuser->query("DELETE FROM " . $REX['TABLE_PREFIX'] . "user WHERE user_id = '{$user_id}' LIMIT 1");
        $message = $I18N->msg("user_deleted");
    } else {
        $message = $I18N->msg("user_notdeleteself");
    }
} elseif (isset($FUNC_ADD) and $FUNC_ADD != '' and (isset($save) and $save == '')) {
    // bei add default selected
    $sel_sprachen->set_selected("0");
} elseif (isset($FUNC_ADD) and $FUNC_ADD != '' and (isset($save) and $save == 1)) {
    $adduser = new sql();
    $adduser->setQuery("SELECT * FROM " . $REX['TABLE_PREFIX'] . "user WHERE login = '******'");
    if ($adduser->getRows() == 0 and $userlogin != "") {
        $adduser = new sql();
        $adduser->setTable($REX['TABLE_PREFIX'] . "user");
        $adduser->setValue("name", $username);
        if ($REX['PSWFUNC'] != "") {
            $userpsw = call_user_func($REX['PSWFUNC'], $userpsw);
        }
        $adduser->setValue("psw", $userpsw);
        $adduser->setValue("login", $userlogin);
        $adduser->setValue("description", $userdesc);
        $adduser->setValue("createdate", time());
        $adduser->setValue("createuser", $REX_USER->getValue("login"));
        $perm = "";
        if (isset($useradmin) and $useradmin == 1) {
            $perm .= "#" . "admin[]";
        }
        if (isset($allcats) and $allcats == 1) {
            $perm .= "#" . "csw[0]";
        }
        $deleteuser = new sql();
        $deleteuser->query("delete from rex_user where user_id='{$user_id}'");
        $message = $I18N->msg("user_deleted");
    } else {
        $message = $I18N->msg("user_notdeleteself");
    }
} elseif ($FUNC_ADD != "" && $save == "") {
    // bei add default selected
    $sel_sprachen->set_selected("0");
} elseif ($FUNC_ADD != "" && $save == 1) {
    $adduser = new sql();
    $adduser->setQuery("select * from rex_user where login='******'");
    if ($adduser->getRows() == 0 and $userlogin != "") {
        $adduser = new sql();
        $adduser->setTable("rex_user");
        $adduser->setValue("name", $username);
        $adduser->setValue("psw", $userpsw);
        $adduser->setValue("login", $userlogin);
        $adduser->setValue("description", $userdesc);
        $perm = "";
        if ($useradmin == 1) {
            $perm .= "admin[]";
        }
        if ($devadmin == 1) {
            $perm .= "dev[]";
        }
        if ($allcats == 1) {
            $perm .= "csw[0]";
        }
        if ($allmcats == 1) {
            $perm .= "media[0]";
    $updateuser->setValue("rights", $userrights);
    $updateuser->update();
    $user_id = 0;
    $function = "";
    $message = $I18N->msg("user_data_updated");
} elseif ($function == "delete") {
    $deleteuser = new sql();
    $deleteuser->query("delete from rex_user where user_id='{$user_id}'");
    $message = $I18N->msg("user_deleted");
} elseif ($function == "add" && $save == 1) {
    $adduser = new sql();
    $adduser->setQuery("select * from rex_user where login='******'");
    if ($adduser->getRows() == 0 or $userlogin == "") {
        $adduser = new sql();
        $adduser->setTable("rex_user");
        $adduser->setValue("name", $username);
        $adduser->setValue("psw", $userpsw);
        $adduser->setValue("login", $userlogin);
        $adduser->setValue("rights", $userrights);
        $adduser->insert();
        $user_id = 0;
        $function = "";
        $message = $I18N->msg("user_data_updated");
    } else {
        $message = $I18N->msg("user_login_exists");
    }
}
echo "\t<table border=0 cellpadding=5 cellspacing=1 width=770>\n\t<tr>\n\t\t<th width=30><a href=index.php?page=user&function=add><img src=pics/user_plus.gif width=16 height=16 border=0></a></th>\n\t\t<th align=left>" . $I18N->msg("login") . "</th>\n\t\t<th align=left>" . $I18N->msg("password") . "</th>\n\t\t<th align=left>" . $I18N->msg("name") . "</th>\n\t\t<th align=left>" . $I18N->msg("permissions") . "</th>\n\t\t<th align=left>-</th>\n\t</tr>\n\t";
if ($message != "") {
    echo "<tr><td align=center class=warning><img src=pics/warning.gif width=16 height=16></td><td colspan=5 class=warning>{$message}</td></tr>";
}
     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);
     // cache
     $Cache = new Cache($article_id);
     if ($caching != 1) {
         $Cache->removeCacheConf($article_id);
     } else {
         $Cache->insertCacheConf($article_id);
     }
     if ($recaching == 1) {
         $Cache->removeCacheFiles($article_id);
     $ITPL = new sql();
     $ITPL->setTable("rex_template");
     $ITPL->setValue("name", $name);
     $ITPL->setValue("active", $active);
     $ITPL->setValue("content", $content);
     if ($REX[BARRIEREFREI]) {
         $ITPL->setValue("bcontent", $bcontent);
     }
     $ITPL->insert();
     $template_id = $ITPL->last_insert_id;
     $message = $I18N->msg("template_added");
 } else {
     $TMPL = new sql();
     $TMPL->setTable("rex_template");
     $TMPL->where("id='{$template_id}'");
     $TMPL->setValue("name", $name);
     $TMPL->setValue("content", $content);
     $TMPL->setValue("active", $active);
     if ($REX[BARRIEREFREI]) {
         $TMPL->setValue("bcontent", $bcontent);
     }
     $TMPL->update();
     $message = $I18N->msg("template_added");
 }
 $gt = new sql();
 $gt->setQuery("select * from rex_template where id='{$template_id}'");
 $fp = fopen($REX[INCLUDE_PATH] . "/generated/templates/" . $template_id . ".template", "w");
 fputs($fp, $gt->getValue("content"));
 fclose($fp);
 if ($REX[BARRIEREFREI]) {
     $fp = fopen($REX[INCLUDE_PATH] . "/generated/templates/" . $template_id . ".btemplate", "w");
     $ITPL = new sql();
     $ITPL->setTable("rex_template");
     $ITPL->setValue("name", $templatename);
     $ITPL->setValue("active", $active);
     $ITPL->setValue("content", $content);
     $ITPL->insert();
     $template_id = $ITPL->last_insert_id;
     $message = $I18N->msg("template_added");
 } else {
     if (!isset($active)) {
         $active = 0;
     }
     $TMPL = new sql();
     $TMPL->setTable("rex_template");
     $TMPL->where("id='{$template_id}'");
     $TMPL->setValue("name", $templatename);
     $TMPL->setValue("content", $content);
     $TMPL->setValue("active", $active);
     $TMPL->update();
     $message = $I18N->msg("template_added");
 }
 $gt = new sql();
 $gt->setQuery("SELECT * FROM rex_template WHERE id = '{$template_id}'");
 $fp = fopen($REX['INCLUDE_PATH'] . "/generated/templates/" . $template_id . ".template", "w");
 fputs($fp, $gt->getValue("content"));
 fclose($fp);
 if (isset($goon) and $goon != "") {
     $function = "edit";
     $save = "nein";
 } else {
     $function = "";
function media_savefile($FILE, $rex_file_category, $FILEINFOS)
{
    $FILENAME = $FILE[name];
    $FILESIZE = $FILE[size];
    $FILETYPE = $FILE[type];
    $NFILENAME = "";
    $REX = $GLOBALS[REX];
    // generiere neuen dateinamen
    for ($cn = 0; $cn < strlen($FILENAME); $cn++) {
        $char = substr($FILENAME, $cn, 1);
        if (preg_match("([_A-Za-z0-9\\.-])", $char)) {
            $NFILENAME .= strtolower($char);
        } else {
            if ($char == " ") {
                $NFILENAME .= "_";
            }
        }
    }
    if (strrpos($NFILENAME, ".") != "") {
        $NFILE_NAME = substr($NFILENAME, 0, strlen($NFILENAME) - (strlen($NFILENAME) - strrpos($NFILENAME, ".")));
        $NFILE_EXT = substr($NFILENAME, strrpos($NFILENAME, "."), strlen($NFILENAME) - strrpos($NFILENAME, "."));
    } else {
        $NFILE_NAME = $NFILENAME;
        $NFILE_EXT = "";
    }
    if ($NFILE_EXT == ".php" || $NFILE_EXT == ".php3" || $NFILE_EXT == ".php4" || $NFILE_EXT == ".php5" || $NFILE_EXT == ".phtml" || $NFILE_EXT == ".pl" || $NFILE_EXT == ".asp" || $NFILE_EXT == ".aspx" || $NFILE_EXT == ".cfm") {
        $NFILE_EXT .= ".txt";
    }
    $NFILENAME = $NFILE_NAME . $NFILE_EXT;
    if (file_exists($REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
        // datei schon vorhanden ? wenn ja dann _1
        for ($cf = 0; $cf < 1000; $cf++) {
            $NFILENAME = $NFILE_NAME . "_{$cf}" . "{$NFILE_EXT}";
            if (!file_exists($REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
                break;
            }
        }
    }
    if (!move_uploaded_file($FILE[tmp_name], $REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
        if (!copy($FILE[tmp_name], $REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
            $message .= "move file {$FILENAME} failed | ";
            $ok = 0;
            $nocopy = true;
        }
    }
    if (!$nocopy) {
        if ($REX[MEDIAFOLDERPERM] == "") {
            $REX[MEDIAFOLDERPERM] = "0777";
        }
        chmod($REX[MEDIAFOLDER] . "/{$NFILENAME}", 0777);
        // get widht height
        $size = @getimagesize($REX[MEDIAFOLDER] . "/{$NFILENAME}");
        $FILESQL = new sql();
        //$FILESQL->debugsql=1;
        $FILESQL->setTable("rex_file");
        $FILESQL->setValue("filetype", $FILETYPE);
        $FILESQL->setValue("title", $FILEINFOS[title]);
        $FILESQL->setValue("description", $FILEINFOS[description]);
        $FILESQL->setValue("copyright", $FILEINFOS[copyright]);
        $FILESQL->setValue("filename", $NFILENAME);
        $FILESQL->setValue("originalname", $FILENAME);
        $FILESQL->setValue("filesize", $FILESIZE);
        $FILESQL->setValue("width", $size[0]);
        $FILESQL->setValue("height", $size[1]);
        $FILESQL->setValue("category_id", $rex_file_category);
        $FILESQL->setValue("stamp", time());
        $FILESQL->insert();
        $ok = 1;
    }
    $RETURN[msg] = $message;
    $RETURN[ok] = $ok;
    $RETURN[filename] = $NFILENAME;
    return $RETURN;
}
         $NFILENAME = $NFILE_NAME . $NFILE_EXT;
         if (file_exists($REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
             // datei schon vorhanden ? wenn ja dann _1
             for ($cf = 0; $cf < 1000; $cf++) {
                 $NFILENAME = $NFILE_NAME . "_{$cf}" . "{$NFILE_EXT}";
                 if (!file_exists($REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
                     break;
                 }
             }
         }
         if (!move_uploaded_file(${$FILE}, $REX[MEDIAFOLDER] . "/{$NFILENAME}")) {
             $message = " - " . $I18N->msg("moving_file_error", $fi) . " | ";
         } else {
             $FILESQL = new sql();
             $FILESQL->setTable("rex_file");
             $FILESQL->setValue("filetype", ${$FILETYPE});
             $FILESQL->setValue("filename", $NFILENAME);
             $FILESQL->setValue("originalname", ${$FILENAME});
             $FILESQL->setValue("filesize", ${$FILESIZE});
             $FILESQL->insert();
             $meta_sql->setValue("file", $NFILENAME);
         }
     } elseif (${$FILEDEL} == "on") {
         $meta_sql->setValue("file", '');
     }
     // ----------------------------- / FILE UPLOAD
     $meta_sql->update();
     $article->setQuery("select * from rex_article where id='{$article_id}'");
     $err_msg = $I18N->msg("metadata_updated") . $message;
     generateArticle($article_id);
 }
$stats[0] = "<span style=\"color:red\">" . $I18N_SIMPLE_SHOP->msg("status_0") . "</span>";
$stats[1] = "<span style=\"color:orange\">" . $I18N_SIMPLE_SHOP->msg("status_1") . "</span>";
$stats[2] = "<span style=\"color:green\">" . $I18N_SIMPLE_SHOP->msg("status_2") . "</span>";
$sql = new sql();
if ($function == "delete") {
    $sql->setTable("rex_4_order");
    $sql->where("id=" . $aid . "");
    $sql->delete();
    $sql->setTable("rex_4_order_product");
    $sql->where("order_id=" . $aid . "");
    $sql->delete();
    $function = "";
}
if ($function == "edit_article" && $send == 1) {
    $sql->setTable("rex_4_order");
    $sql->setValue("status", $article[status]);
    $sql->where("id=" . $aid . "");
    $sql->update();
    $function = "";
}
if ($function == "edit_article") {
    $sql->setQuery("SELECT *,DATE_FORMAT(rex_4_order.date, '%d.%m.%Y %H:%i') as datum\r\n\tFROM rex_4_order LEFT JOIN rex_4_order_product ON rex_4_order.id = rex_4_order_product.order_id WHERE rex_4_order.id='" . $aid . "'");
    $mailtext = nl2br($sql->getValue("mailtext"));
    $status = $sql->getValue("status");
    echo "<a href=\"index.php?page=simple_shop&subpage=" . $subpage . "\" target=\"_self\">&#171; " . $I18N_SIMPLE_SHOP->msg("back_overview") . "</a><br /><br />\r\n\t\t\t<form action='index.php' method=post>\r\n\t\t\t<input type=hidden name='page' value='simple_shop' />\r\n\t\t\t<input type=hidden name='subpage' value='{$subpage}' />\r\n\t\t\t<input type=hidden name='clang' value='{$clang}' />\r\n\t\t\t<input type=hidden name='aid' value='" . $aid . "' />\r\n\t\t\t<input type=hidden name='function' value='edit_article' />\r\n\t\t\t<input type=hidden name='send' value='1' />\r\n\t\t\t<table width=770 border=0 cellpadding=5 cellspacing=1 />\r\n\t\t\t<tr>\r\n\t\t\t\t<th width=30>&nbsp;</th>\r\n\t\t\t\t<th colspan=2>" . $I18N_SIMPLE_SHOP->msg("header_order") . "</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=grey width=30>&nbsp;</td>\r\n\t\t\t\t<td class=grey width=170>" . $I18N_SIMPLE_SHOP->msg("date") . "</td>\r\n\t\t\t\t<td class=grey width=550>" . $sql->getValue("datum") . "</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=grey width=30>&nbsp;</td>\r\n\t\t\t\t<td class=grey width=170>" . $I18N_SIMPLE_SHOP->msg("customer") . "</td>\r\n\t\t\t\t<td class=grey width=550>" . $sql->getValue("name") . "</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=grey width=30>&nbsp;</td>\r\n\t\t\t\t<td class=grey width=170 valign=top>" . $I18N_SIMPLE_SHOP->msg("products") . "</td>\r\n\t\t\t\t<td class=grey width=550>";
    for ($i = 0; $i < $sql->rows; $i++) {
        echo $sql->getValue("amount") . " x " . $sql->getValue("product_name") . ", " . number_format($sql->getValue("price"), 2, ".", "") . "€ <br />";
        $sql->next();
    }
    echo "\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=grey width=30>&nbsp;</td>\r\n\t\t\t\t<td class=grey width=170 valign=top>" . $I18N->msg("email") . "</td>\r\n\t\t\t\t<td class=grey width=550>" . $mailtext . "</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td class=grey>&nbsp;</td>\r\n\t\t\t\t<td class=grey>" . $I18N->msg("status") . "</td>\r\n\t\t\t\t<td class=grey><select name='article[status]' size=1 style='widht:100%;'>";
    foreach ($stats as $k => $v) {
}
if ($function == "edit_article" && ($STRUCTURE_PERM || $REX_USER->isValueOf("rights", "article[{$article_id}]"))) {
    $amessage = $I18N->msg("article_updated");
    $KAT->query("update rex_article set name='{$article_name}',template_id='{$template_id}' where id='{$article_id}'");
    generateArticle($article_id);
}
if ($function == "delete_article" && $STRUCTURE_PERM) {
    $message = deleteArticle($article_id);
}
if ($function == "add_article" and $STRUCTURE_PERM) {
    $amessage = $I18N->msg("article_added");
    $AART = new sql();
    // vscope prior script
    $article_prior = $AART->new_order('rex_article', 'prior', 'category_id', $category_id);
    $AART->setTable("rex_article");
    $AART->setValue("name", $article_name);
    $AART->setValue("category_id", $category_id);
    $AART->setValue("prior", $article_prior);
    $AART->setValue("path", $KATSQLpath);
    $AART->setValue("startpage", 0);
    $AART->setValue("status", 0);
    $AART->setValue("online_von", date("YmdHis"));
    $AART->setValue("online_bis", "20100101");
    $AART->setValue("erstelldatum", date("Ymd"));
    $AART->setValue("template_id", $template_id);
    $AART->insert();
    // now set right position
    $sql = new sql();
    $sql->order_position($Position_New_Article, $AART->last_insert_id, "id", "rex_article", "prior", "category_id", $category_id);
    generateArticle($AART->last_insert_id);
}
 if ($function == "add") {
     $ITPL = new sql();
     $ITPL->setTable($REX['TABLE_PREFIX'] . "template");
     $ITPL->setValue("name", $templatename);
     $ITPL->setValue("active", $active);
     $ITPL->setValue("content", $content);
     $ITPL->setValue("createdate", time());
     $ITPL->setValue("createuser", $REX_USER->getValue("login"));
     $ITPL->insert();
     $template_id = $ITPL->last_insert_id;
     $message = $I18N->msg("template_added");
 } else {
     $TMPL = new sql();
     $TMPL->setTable($REX['TABLE_PREFIX'] . "template");
     $TMPL->where("id='{$template_id}'");
     $TMPL->setValue("name", $templatename);
     $TMPL->setValue("content", $content);
     $TMPL->setValue("active", $active);
     $TMPL->setValue("updatedate", time());
     $TMPL->setValue("updateuser", $REX_USER->getValue("login"));
     $TMPL->update();
     $message = $I18N->msg("template_added");
 }
 $gt = new sql();
 $gt->setQuery("SELECT * FROM " . $REX['TABLE_PREFIX'] . "template WHERE id = '{$template_id}'");
 $fp = fopen($REX['INCLUDE_PATH'] . "/generated/templates/" . $template_id . ".template", "w");
 fputs($fp, $gt->getValue("content"));
 fclose($fp);
 if (isset($goon) and $goon != "") {
     $function = "edit";
     $save = "nein";
     }
     rex_generateArticle($id);
     // ----- EXTENSION POINT
     $message = rex_register_extension_point('ART_ADDED', $message, array("id" => $id, "status" => 0, "name" => $article_name, "re_id" => $category_id, "prior" => $Position_New_Article, "path" => $KATPATH, "template_id" => $template_id));
 } else {
     if (isset($function) and $function == "edit_article" && $article_id != "" && $KATPERM) {
         // --------------------- ARTIKEL EDIT
         $Position_Article = (int) $Position_Article;
         if ($Position_Article == 0) {
             $Position_Article = 1;
         }
         $amessage = $I18N->msg("article_updated");
         $EA = new sql();
         $EA->setTable($REX['TABLE_PREFIX'] . "article");
         $EA->where("id='{$article_id}' and clang={$clang}");
         $EA->setValue("name", $article_name);
         $EA->setValue("template_id", $template_id);
         // $EA->setValue("path",$KATPATH);
         $EA->setValue("updatedate", time());
         $EA->setValue("updateuser", $REX_USER->getValue("login"));
         $EA->setValue("prior", $Position_Article);
         $EA->update();
         // ----- PRIOR
         rex_newArtPrio($category_id, $clang, $Position_Article, $thisArt->getValue("prior"));
         rex_generateArticle($article_id);
         // ----- EXTENSION POINT
         $message = rex_register_extension_point('ART_UPDATED', $message, array("id" => $article_id, "status" => $thisArt->getValue("status"), "name" => $article_name, "clang" => $clang, "re_id" => $category_id, "prior" => $Position_Article, "path" => $KATPATH, "template_id" => $template_id));
     } elseif (isset($function) and $function == "delete_article" && $article_id != "" && $KATPERM && !$REX_USER->isValueOf("rights", "editContentOnly[]")) {
         // --------------------- ARTIKEL DELETE
         $message = rex_deleteArticle($article_id);
         $re_id = $thisArt->getValue("re_id");
 function saveMedia($FILE, $filefolder, $extensions_array, $rex_file_category)
 {
     global $REX;
     $FILENAME = $FILE['name'];
     $FILESIZE = $FILE['size'];
     $FILETYPE = $FILE['type'];
     $NFILENAME = "";
     $message = '';
     // ----- neuer filename und extension holen
     $NFILENAME = strtolower(preg_replace("/[^a-zA-Z0-9.\\-\$\\+]/", "_", $FILENAME));
     if (strrpos($NFILENAME, ".") != "") {
         $NFILE_NAME = substr($NFILENAME, 0, strlen($NFILENAME) - (strlen($NFILENAME) - strrpos($NFILENAME, ".")));
         $NFILE_EXT = substr($NFILENAME, strrpos($NFILENAME, "."), strlen($NFILENAME) - strrpos($NFILENAME, "."));
     } else {
         $NFILE_NAME = $NFILENAME;
         $NFILE_EXT = "";
     }
     // ---- ext checken
     $ERROR_EXT = array(".php", ".php3", ".php4", ".php5", ".phtml", ".pl", ".asp", ".aspx", ".cfm");
     if (in_array($NFILE_EXT, $ERROR_EXT)) {
         $NFILE_NAME .= $NFILE_EXT;
         $NFILE_EXT = ".txt";
     }
     $standard_extensions_array = array(".rtf", ".pdf", ".doc", ".gif", ".jpg", ".jpeg");
     if (count($extensions_array) == 0) {
         $extensions_array = $standard_extensions_array;
     }
     if (!in_array($NFILE_EXT, $extensions_array)) {
         $RETURN = FALSE;
         $RETURN['ok'] = FALSE;
         return $RETURN;
     }
     $NFILENAME = $NFILE_NAME . $NFILE_EXT;
     // ----- datei schon vorhanden -> namen aendern -> _1 ..
     if (file_exists($filefolder . "/{$NFILENAME}")) {
         for ($cf = 1; $cf < 1000; $cf++) {
             $NFILENAME = $NFILE_NAME . "_{$cf}" . "{$NFILE_EXT}";
             if (!file_exists($filefolder . "/{$NFILENAME}")) {
                 break;
             }
         }
     }
     // ----- dateiupload
     $upload = true;
     if (!move_uploaded_file($FILE['tmp_name'], $filefolder . "/{$NFILENAME}")) {
         if (!copy($FILE['tmp_name'], $filefolder . "/{$NFILENAME}")) {
             $message .= "move file {$NFILENAME} failed | ";
             $RETURN = FALSE;
             $RETURN['ok'] = FALSE;
             return $RETURN;
         }
     }
     @chmod($filefolder . "/{$NFILENAME}", $REX['FILEPERM']);
     $RETURN['type'] = $FILETYPE;
     $RETURN['msg'] = $message;
     $RETURN['ok'] = TRUE;
     $RETURN['filename'] = $NFILENAME;
     $FILESQL = new sql();
     // $FILESQL->debugsql=1;
     $FILESQL->setTable($REX['TABLE_PREFIX'] . "file");
     $FILESQL->setValue("filetype", $FILETYPE);
     $FILESQL->setValue("filename", $NFILENAME);
     $FILESQL->setValue("originalname", $FILENAME);
     $FILESQL->setValue("filesize", $FILESIZE);
     $FILESQL->setValue("category_id", $rex_file_category);
     $FILESQL->setValue("createdate", time());
     $FILESQL->setValue("createuser", "system");
     $FILESQL->setValue("updatedate", time());
     $FILESQL->setValue("updateuser", "system");
     $FILESQL->insert();
     return $RETURN;
 }
 function deleteMessage($message_id)
 {
     // reply
     $r_sql = new sql();
     $r_sql->setQuery("select * from rex_5_board where message_id='{$message_id}' and board_id='" . $this->boardname . "'");
     if ($r_sql->getRows() == 1) {
         if ($r_sql->getValue("re_message_id") != 0) {
             // reply
             $ur_sql = new sql();
             $ur_sql->setTable("rex_5_board");
             $ur_sql->where("message_id='{$message_id}'");
             $ur_sql->setValue("status", 0);
             $ur_sql->update();
             $message_id = $r_sql->getValue("re_message_id");
             // update topic
             $u_sql = new sql();
             $u_sql->setQuery("select * from rex_5_board where re_message_id='{$message_id}' and status='1'");
             $u_sql->setTable("rex_5_board");
             $u_sql->where("message_id='{$message_id}'");
             $u_sql->setValue("replies", $u_sql->getRows());
             $u_sql->update();
             $this->msg["bb_msg_id"] = $r_sql->getValue("re_message_id");
             $return = $this->showMessage();
         } else {
             // topic
             $u_sql = new sql();
             $u_sql->setTable("rex_5_board");
             $u_sql->where("message_id='{$message_id}' or re_message_id='{$message_id}'");
             $u_sql->setValue("status", 0);
             $u_sql->update();
             $this->errmsg = $this->text[250];
             $return = $this->showMessages();
         }
     } else {
         $this->errmsg = $this->text[260];
         $return = $this->showMessages();
     }
     return $return;
 }
            $msg .= " | ";
            $mode = "";
        }
    } else {
        $msg = $I18N->msg('pool_file_not_found');
        $mode = "";
    }
}
if ($media_method == 'edit_file') {
    $gf = new sql();
    $gf->setQuery("select * from rex_file where file_id='{$file_id}'");
    if ($gf->getRows() == 1) {
        $FILESQL = new sql();
        $FILESQL->setTable("rex_file");
        $FILESQL->where("file_id='{$file_id}'");
        $FILESQL->setValue("title", $ftitle);
        $FILESQL->setValue("description", $fdescription);
        $FILESQL->setValue("copyright", $fcopyright);
        $FILESQL->setValue("category_id", $rex_file_category);
        $FILESQL->setValue("stamp", time());
        $msg = "Dateiinformationen wurden aktualisiert!";
        $filename = $gf->getValue("filename");
        $filetype = $gf->getValue("filetype");
        if ($_FILES[file_new][name] != "" and $_FILES[file_new][name] != "none") {
            $filetype_ii = in_array($filetype, $imagetype);
            $ffilename = $_FILES[file_new][tmp_name];
            $ffiletype = $_FILES[file_new][type];
            $ffilesize = $_FILES[file_new][size];
            if ($ffiletype == $filetype) {
                unlink($REX[MEDIAFOLDER] . "/" . $filename);
                if (!move_uploaded_file($ffilename, $REX[MEDIAFOLDER] . "/{$filename}")) {
 function showForm()
 {
     global $FORM, $REX;
     // --------------------------------- EDIT: 1. WERTE AUS DB HOLEN
     for ($i = 0; $i < $this->counter; $i++) {
         if ($this->value_type[$i] != "multipleselectsql") {
             if ($FORM[$this->rfid][submit] != 1 && $this->form_type == "edit") {
                 $FORM[$this->rfid][values][$i] = htmlentities($this->sql->getValue($this->value_tbl[$i]));
             } else {
                 $FORMVAL[$this->rfid][values][$i] = htmlentities($this->sql->getValue($this->value_tbl[$i]));
             }
         } else {
             $selsql = new sql();
             $selsql->setQuery("select * from " . $this->type_value5[$i] . " where " . $this->type_value6[$i]);
             for ($j = 0; $j < $selsql->getRows(); $j++) {
                 if ($FORM[$this->rfid][submit] != 1 && $this->form_type == "edit") {
                     $FORM[$this->rfid][values][$i][] = $selsql->getValue($this->type_value7[$i]);
                 } else {
                     $FORMVAL[$this->rfid][values][$i][] = $selsql->getValue($this->type_value7[$i]);
                 }
                 $selsql->next();
             }
         }
     }
     // --------------------------------- ABGESCHICKTE EINGABEN CHECKEN
     if ($FORM[$this->rfid][submit] == 1) {
         // ----------------------------- eingaben überprüfen
         $this->form_show = false;
         for ($i = 0; $i < $this->counter; $i++) {
             if ($this->value_check[$i] != "") {
                 if ($FORM[$this->rfid][values][$i] == "") {
                     $errmsg .= "Bitte tragen Sie '" . $this->value_form[$i] . "' ein! <br>";
                     $this->form_show = true;
                 }
             }
         }
     }
     // --------------------------------- EDIT: SPEICHERN FALLS MÖGLICH
     if ($FORM[$this->rfid][submit] == 1 && $this->form_type == "edit") {
         if ($errmsg == "") {
             $aa = new sql();
             $aa->debugsql = 0;
             $aa->setTable($this->tbl_name);
             $aa->where($this->form_where);
             for ($i = 0; $i < $this->counter; $i++) {
                 if ($this->value_type[$i] == "picjpg") {
                     $folder = $this->type_value1[$i];
                     $foldertmp = $REX[INCLUDE_PATH] . "/../../ss_pics/";
                     $fname = $_FILES[FORM][name][$this->rfid][values][$i];
                     if ($fname != "") {
                         // neues file
                         $nfname = $this->checkFilename($fname, $folder);
                         if ($nfname[ext] == ".jpg") {
                             $ftmpname = $_FILES[FORM][tmp_name][$this->rfid][values][$i];
                             move_uploaded_file($ftmpname, $foldertmp . $nfname[nname]);
                             $this->resizeJPGImage($foldertmp . $nfname[nname], $folder . $nfname[nname], $this->type_value3[$i], $this->type_value4[$i]);
                             $FORM[$this->rfid][values][$i] = $nfname[nname];
                             $aa->setValue($this->value_tbl[$i], $FORM[$this->rfid][values][$i]);
                         }
                     } elseif ($FORM[$this->rfid][values][$i][delete] != "") {
                         $FORM[$this->rfid][values][$i] = "";
                         $aa->setValue($this->value_tbl[$i], $FORM[$this->rfid][values][$i]);
                     } else {
                         $FORM[$this->rfid][values][$i] = $FORMVAL[$this->rfid][values][$i];
                     }
                 } elseif ($this->value_type[$i] == "file") {
                     $folder = $REX[INCLUDE_PATH] . "/../../ss_pics/";
                     $fname = $_FILES[FORM][name][$this->rfid][values][$i];
                     if ($fname != "") {
                         $nfname = $this->checkFilename($fname, $folder);
                         $ftmpname = $_FILES[FORM][tmp_name][$this->rfid][values][$i];
                         move_uploaded_file($ftmpname, $folder . $nfname[nname]);
                         $FORM[$this->rfid][values][$i] = $nfname[nname];
                         $aa->setValue($this->value_tbl[$i], $FORM[$this->rfid][values][$i]);
                     } elseif ($FORM[$this->rfid][values][$i][delete] != "") {
                         $FORM[$this->rfid][values][$i] = "";
                         $aa->setValue($this->value_tbl[$i], $FORM[$this->rfid][values][$i]);
                     } else {
                         $FORM[$this->rfid][values][$i] = $FORMVAL[$this->rfid][values][$i];
                     }
                 } elseif ($this->value_type[$i] == "multipleselectsql") {
                     // multipleselect
                     $ms = new sql();
                     $ms->query("delete from " . $this->type_value5[$i] . " where " . $this->type_value6[$i]);
                     if (is_Array($FORM[$this->rfid][values][$i])) {
                         reset($FORM[$this->rfid][values][$i]);
                         for ($j = 0; $j < count($FORM[$this->rfid][values][$i]); $j++) {
                             $val = current($FORM[$this->rfid][values][$i]);
                             $sql = "insert into " . $this->type_value5[$i] . " set " . $this->type_value6[$i] . ", " . $this->type_value7[$i] . "={$val}";
                             $ms->query($sql);
                             next($FORM[$this->rfid][values][$i]);
                         }
                     }
                 } elseif ($this->value_type[$i] == "subline" || $this->value_type[$i] == "empty") {
                 } elseif ($this->value_type[$i] == "datum") {
                     $tag = substr($FORM[$this->rfid][values][$i], 0, 2);
                     $monat = substr($FORM[$this->rfid][values][$i], 3, 2);
                     $jahr = substr($FORM[$this->rfid][values][$i], 6, 4);
                     $aa->setValue($this->value_tbl[$i], mktime(0, 0, 0, $monat, $tag, $jahr));
                 } else {
                     $aa->setValue($this->value_tbl[$i], $FORM[$this->rfid][values][$i]);
                 }
             }
             $aa->update();
             $msg = "Daten wurden gespeichert";
         } else {
             for ($i = 0; $i < $this->counter; $i++) {
                 if ($this->value_type[$i] != "multipleselectsql") {
                     $FORM[$this->rfid][values][$i] = htmlentities(stripslashes($FORM[$this->rfid][values][$i]));
                 }
             }
         }
         for ($i = 0; $i < $this->counter; $i++) {
             if ($this->value_type[$i] != "multipleselectsql") {
                 $FORM[$this->rfid][values][$i] = htmlentities(stripslashes($FORM[$this->rfid][values][$i]));
             } else {
                 // multipleselect
                 if (is_Array($FORM[$this->rfid][values][$i])) {
                     reset($FORM[$this->rfid][values][$i]);
                     for ($j = 0; $j < count($FORM[$this->rfid][values][$i]); $j++) {
                         $val = $FORM[$this->rfid][values][$i][j];
                     }
                 }
             }
         }
     }
     // --------------------------------- ADD: SPEICHERN FALLS MÖGLICH
     if ($FORM[$this->rfid][submit] == 1 && $this->form_type == "add") {
         if ($errmsg == "") {
             $aa = new sql();
             $aa->debugsql = 0;
             $aa->setTable($this->tbl_name);
             for ($i = 0; $i < $this->counter; $i++) {
                 if ($this->value_type[$i] == "datum") {
                     $tag = substr($FORM[$this->rfid][values][$i], 0, 2);
                     $monat = substr($FORM[$this->rfid][values][$i], 3, 2);
                     $jahr = substr($FORM[$this->rfid][values][$i], 6, 4);
                     $aa->setValue($this->value_tbl[$i], mktime(0, 0, 0, $monat, $tag, $jahr));
                 } elseif ($this->value_type[$i] != "multipleselectsql" && $this->value_type[$i] != "subline" && $this->value_type[$i] != "empty") {
                     $aa->setValue($this->value_tbl[$i], $FORM[$this->rfid][values][$i]);
                 }
             }
             $aa->insert();
             $msg = "Daten wurden gespeichert";
             for ($i = 0; $i < $this->counter; $i++) {
                 $FORM[$this->rfid][values][$i] = htmlentities(stripslashes($FORM[$this->rfid][values][$i]));
             }
         } else {
             for ($i = 0; $i < $this->counter; $i++) {
                 $FORM[$this->rfid][values][$i] = htmlentities(stripslashes($FORM[$this->rfid][values][$i]));
             }
         }
     }
     // --------------------------------- FORMULAR
     if ($this->form_show || $this->ShowFormAlways) {
         $ausgabe = "<table width=" . $this->width . " cellpadding=6 cellspacing=1 border=0 >";
         $ausgabe .= "<form ENCTYPE='multipart/form-data' action='" . $this->url . "' method='" . $this->method . "' name='" . $this->formname . "'>" . $this->form_header;
         $ausgabe .= "<input type=hidden name=FORM[{$this->rfid}][submit] value=1>";
         // ---------------------- FORM REIHEN
         $colcounter = $this->cols[0];
         for ($i = 0; $i < $this->counter; $i++) {
             if ($this->cols[$i] != "") {
                 $colcounter = $this->cols[$i];
             } else {
                 $this->cols[$i] = $colcounter;
             }
             if ($maxcount < $this->cols[$i]) {
                 $maxcount = $this->cols[$i];
             }
         }
         $colcounter = 0;
         if ($errmsg != "") {
             $ausgabe .= "<tr><td colspan=" . ($maxcount + 2) . " class=warning>{$errmsg}<br>Daten wurden noch nicht gespeichert</td></tr>";
         }
         if ($msg != "") {
             $ausgabe .= "<tr><td colspan=" . ($maxcount + 2) . " class=warning>{$msg}</td></tr>";
         }
         for ($i = 0; $i < $this->counter; $i++) {
             $name = "FORM[{$this->rfid}][values][{$i}]";
             $value = $FORM[$this->rfid][values][$i];
             // echo "<br>$i $maxcounter ".$this->cols[$i]." ".$this->cols[$i-1]." ".$this->value_form[$i];
             $colcounter++;
             if ($this->cols[$i - 1] != $this->cols[$i]) {
                 if ($i != 0) {
                     $ausgabe .= "</tr>\n\n";
                 }
                 $ausgabe .= "\n\n<tr>";
                 $colcounter = 0;
             } else {
                 // anfang
                 // ende
                 if ($colcounter == $this->cols[$i]) {
                     $ausgabe .= "</tr>\n\n";
                     $ausgabe .= "\n\n<tr>";
                     $colcounter = 0;
                 }
             }
             $addcolspawn = 0;
             if ($this->cols[$i] < $maxcount) {
                 $addcolspawn = 2;
             }
             switch ($this->value_type[$i]) {
                 // ---------------------- MULTIPLE SQL SELECT AUSGABE
                 case "multipleselectsql":
                     if ($this->form_type == "add") {
                         $ausgabe .= "<td colspan=2>Multiple Felder nur bei edit möglich\t</td>";
                     } else {
                         $ausgabe .= "\n\n";
                         $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                         $ssql = new sql();
                         $ssql->setQuery($this->type_value1[$i]);
                         $ssel = new rexselect();
                         $ssel->setName($name . "[]");
                         $ssel->setMultiple(1);
                         $ssel->setSize($this->type_value4[$i]);
                         $ssel->setStyle("width:100%;");
                         for ($j = 0; $j < $ssql->getRows(); $j++) {
                             $ssel->addOption($ssql->getValue($this->type_value3[$i]), $ssql->getValue($this->type_value2[$i]));
                             $ssql->next();
                         }
                         // $selsql = new sql;
                         // $selsql->setQuery("select * from ".$this->type_value5[$i]." where ".$this->type_value6[$i]);
                         if (is_Array($FORM[$this->rfid][values][$i])) {
                             reset($FORM[$this->rfid][values][$i]);
                             for ($j = 0; $j < count($FORM[$this->rfid][values][$i]); $j++) {
                                 $ssel->setSelected(current($FORM[$this->rfid][values][$i]));
                                 next($FORM[$this->rfid][values][$i]);
                             }
                         }
                         $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . ">" . $ssel->out() . "</td>";
                         $ausgabe .= "";
                     }
                     break;
                     // ---------------------- SINGLE SQL SELECT AUSGABE
                 // ---------------------- SINGLE SQL SELECT AUSGABE
                 case "singleselectsql":
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ssql = new sql();
                     $ssql->setQuery($this->type_value1[$i]);
                     $ssel = new rexselect();
                     $ssel->setName($name);
                     $ssel->setStyle("width:100%;");
                     if ($this->value_check[$i] != 1) {
                         $ssel->addOption("----------------- keine Angabe -----------------", "0");
                     }
                     for ($j = 0; $j < $ssql->getRows(); $j++) {
                         $ssel->addOption($ssql->getValue($this->type_value3[$i]), $ssql->getValue($this->type_value2[$i]));
                         $ssql->next();
                     }
                     $ssel->setSelected($value);
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . ">" . $ssel->out() . "</td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- SINGLE SELECT AUSGABE
                 // ---------------------- SINGLE SELECT AUSGABE
                 case "singleselect":
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $stype = explode("|", $this->type_value1[$i]);
                     $ssel = new rexselect();
                     $ssel->setName($name);
                     $ssel->setStyle("width:100%;");
                     for ($j = 0; $j < count($stype); $j++) {
                         $svalue = $stype[$j];
                         $j++;
                         $sname = $stype[$j];
                         $ssel->addOption($sname, $svalue);
                     }
                     $ssel->setSelected($value);
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . ">" . $ssel->out() . "</td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- Checkbox
                 // ---------------------- Checkbox
                 case "checkbox":
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><input type=checkbox name={$name} value=1 ";
                     if ($value == 1 || $value == "on") {
                         $ausgabe .= "checked";
                     }
                     $ausgabe .= "></td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- PIC/JPG
                 // ---------------------- PIC/JPG
                 case "picjpg":
                     if ($value != "") {
                         $ausgabe .= "\n\n";
                         $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                         $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><table cellpadding=2 cellspacing=0><tr><td><input name={$name} type=file size=10></td><td rowspan=2>&nbsp;&nbsp;&nbsp;</td><td rowspan=2><img src=" . $this->type_value2[$i] . "{$value} width=" . $this->type_value3[$i] . " height=" . $this->type_value4[$i] . "></td></tr>";
                         $ausgabe .= "<tr><td valign=middle align=left class=grey><input type=checkbox name=FORM[{$this->rfid}][values][{$i}][delete]>&nbsp;&nbsp;Datei löschen </td></tr></table>";
                         $ausgabe .= "</td>";
                     } else {
                         $ausgabe .= "\n\n";
                         $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                         $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><input name={$name} type=file size=10></td>";
                         $ausgabe .= "";
                     }
                     break;
                     // ---------------------- FILE
                 // ---------------------- FILE
                 case "file":
                     $myout = "";
                     if ($value != "") {
                         $myout = "\n\n<table><tr>";
                         $myout .= "<td valign=middle align=right class=grey><input type=checkbox name=FORM[{$this->rfid}][values][{$i}][delete]></td>";
                         $myout .= "<td class=grey>Datei löschen <a href=" . $this->type_value2[$i] . "{$value} target=_blank>{$value}</a></td>";
                         $myout .= "</tr></table>";
                     }
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "<br>{$myout}</td>";
                     $ausgabe .= "<td class=grey><input name={$name} type=file size=10></td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- HTMLAREA
                 // ---------------------- HTMLAREA
                 case "htmlarea":
                     if ($this->type_value1[$i] == "") {
                         $this->type_value1[$i] = "width:100%; height:100px;";
                     }
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=top class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . ">" . REXHTMLAREA($name, $value) . "</td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- TEXTAREA
                 // ---------------------- TEXTAREA
                 case "textarea":
                     if ($this->type_value1[$i] == "") {
                         $this->type_value1[$i] = "width:100%; height:100px;";
                     }
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=top class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><textarea name={$name} cols=30 rows=5 style='" . $this->type_value1[$i] . "'>{$value}</textarea></td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- HIDDEN
                 // ---------------------- HIDDEN
                 case "hidden":
                     $ausgabe .= "<input type=hidden name={$name} value=\"" . $this->type_value1[$i] . "\">";
                     break;
                     // ---------------------- TEXT
                 // ---------------------- TEXT
                 case "text":
                     if ($this->type_value1[$i] == "") {
                         $this->type_value1[$i] = "width:100%;";
                     }
                     if ($this->type_value2[$i] != "") {
                         $this->type_value2[$i] = "maxlength=" . $this->type_value2[$i];
                     }
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><input type=text name={$name} value=\"{$value}\" " . $this->type_value2[$i] . " size=20 style='" . $this->type_value1[$i] . "'></td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- DATUM
                 // ---------------------- DATUM
                 case "datum":
                     if ($this->type_value1[$i] == "") {
                         $this->type_value1[$i] = "width:100%;";
                     }
                     if ($this->type_value2[$i] != "") {
                         $this->type_value2[$i] = "maxlength=" . $this->type_value2[$i];
                     }
                     if (!preg_match("![0-9]{2}\\.[0-9]{2}\\.[0-9]{4}!", $value)) {
                         $value = date("d.m.Y", $value);
                     }
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><input type=text name={$name} value=\"{$value}\" " . $this->type_value2[$i] . " size=20 style='" . $this->type_value1[$i] . "'></td>";
                     $ausgabe .= "";
                     break;
                     // ---------------------- Überschrift
                 // ---------------------- Überschrift
                 case "subline":
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<th valign=middle align=" . $this->value_tbl[$i] . " colspan=" . (2 + $addcolspawn) . ">" . $this->value_form[$i] . "</th>\n";
                     $ausgabe .= "\n";
                     break;
                     // ---------------------- Überschrift
                 // ---------------------- Überschrift
                 case "empty":
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey colspan=" . (2 + $addcolspawn) . ">&nbsp;</td>\n";
                     $ausgabe .= "\n";
                     break;
                     // ---------------------- STANDARD AUSGABE - TEXT
                 // ---------------------- STANDARD AUSGABE - TEXT
                 default:
                     $ausgabe .= "\n\n";
                     $ausgabe .= "<td valign=middle class=grey width=" . $this->labelwidth . " >" . $this->value_form[$i] . "</td>";
                     $ausgabe .= "<td class=grey colspan=" . (1 + $addcolspawn) . "><input type=text name={$name} value=\"{$value}\" size=20 style='width:100%'></td>";
                     $ausgabe .= "";
             }
         }
         $ausgabe .= "</tr>";
         // ---------------------- SUBMIT
         $ausgabe .= "<tr>\n\n";
         $ausgabe .= "<td class=dgrey  width=" . $this->labelwidth . " >&nbsp;</td>\n\n";
         $ausgabe .= "<td align=left class=dgrey colspan=" . ($maxcount + 1) . "><input type=submit value='" . $this->submit_value . "'></td>\n\n";
         $ausgabe .= "</tr>\n\n";
         $ausgabe .= "</form></table>\n\n";
         return $ausgabe;
     } else {
         if ($msg != "") {
             $ausgabe = "<table width=" . $this->width . " cellpadding=6 cellspacing=1 border=0 bgcolor=#ffffff>";
             $ausgabe .= "<tr><td class=warning>{$msg}</td></tr>";
             $ausgabe .= "</table>";
             return $ausgabe;
         }
     }
 }
             foreach ($result as $var) {
                 $message .= "<br><a href=index.php?page=content&article_id=" . $var[id] . "&mode=meta target=_blank>" . $var[name] . "</a>";
             }
             $message .= "<br><br>";
         } else {
             $delete->query("delete from rex_article_type where type_id='{$type_id}'");
             $delete->query("update rex_article set type_id='1' where type_id='{$type_id}'");
             $message = $I18N->msg("article_type_deleted");
         }
     } else {
         $message = $I18N->msg("article_type_could_not_be_deleted");
     }
 } elseif ($function == "add" && $save == 1) {
     $add = new sql();
     $add->setTable("rex_article_type");
     $add->setValue("name", $typname);
     $add->setValue("type_id", $type_id);
     $add->setValue("description", $description);
     $add->insert();
     $type_id = 0;
     $function = "";
     $message = $I18N->msg("article_type_added");
 }
 echo "\t<table class=rex style=table-layout:auto; cellpadding=5 cellspacing=1>\r\n\t\t<tr>\r\n\t\t\t<th class=icon><a href=index.php?page=specials&spage=type&function=add>+</a></th>\r\n\t\t\t<th class=icon>" . $I18N->msg("article_type_list_id") . "</th>\r\n\t\t\t<th width=250>" . $I18N->msg("article_type_list_name") . "</th>\r\n\t\t\t<th colspan=2>" . $I18N->msg("article_type_list_description") . "</th>\r\n\t\t</tr>\r\n\t\t";
 if ($message != "") {
     echo "<tr class=warning><td class=icon><img src=pics/warning.gif width=16 height=16></td><td colspan=5>{$message}</td></tr>";
 }
 $sql = new sql();
 $sql->setQuery("select * from rex_article_type order by type_id");
 if ($function == "add") {
     echo "\t<tr>\r\n\t\t\t<form action=index.php method=post>\r\n\t\t\t<input type=hidden name=page value=specials>\r\n\t\t\t<input type=hidden name=spage value=type>\r\n\t\t\t<input type=hidden name=save value=1>\r\n\t\t\t<td>&nbsp;</td>\r\n\t\t\t<td valign=top><input style='width:30px;' type=text size=5 maxlength=2 name=type_id value=\"" . htmlentities($type_id) . "\"></td>\r\n\t\t\t<td valign=top><input class=inp100 type=text size=20 name=typname value=\"" . htmlentities($typname) . "\"></td>\r\n\t\t\t<td><input style='width:100%' type=text size=20 name=description value=\"" . htmlentities($description) . "\"></td>\r\n\t\t\t<td valign=top><input type=submit name=function value=add></td>\r\n\t\t\t</form>\r\n\t\t\t</tr>";
/**
 * Erstellt eine Clang
 * 
 * @param $id   Id der Clang 
 * @param $name Name der Clang 
 */
function rex_addCLang($id, $name)
{
    global $REX;
    $REX['CLANG'][$id] = $name;
    $content = "// --- DYN\n\r";
    reset($REX['CLANG']);
    for ($i = 0; $i < count($REX['CLANG']); $i++) {
        $cur = key($REX['CLANG']);
        $val = current($REX['CLANG']);
        $content .= "\n\r\$REX['CLANG']['{$cur}'] = \"{$val}\";";
        next($REX['CLANG']);
    }
    $content .= "\n\r// --- /DYN";
    $file = $REX['INCLUDE_PATH'] . "/clang.inc.php";
    $h = fopen($file, "r");
    $fcontent = fread($h, filesize($file));
    $fcontent = ereg_replace("(\\/\\/.---.DYN.*\\/\\/.---.\\/DYN)", $content, $fcontent);
    fclose($h);
    $h = fopen($file, "w+");
    fwrite($h, $fcontent, strlen($fcontent));
    fclose($h);
    @chmod($file, 0777);
    $add = new sql();
    $add->setQuery("select * from " . $REX['TABLE_PREFIX'] . "article where clang='0'");
    $fields = $add->getFieldnames();
    for ($i = 0; $i < $add->getRows(); $i++) {
        $adda = new sql();
        // $adda->debugsql = 1;
        $adda->setTable($REX['TABLE_PREFIX'] . "article");
        reset($fields);
        while (list($key, $value) = each($fields)) {
            if ($value == "pid") {
                echo "";
            } else {
                if ($value == "clang") {
                    $adda->setValue("clang", $id);
                } else {
                    if ($value == "status") {
                        $adda->setValue("status", "0");
                    } else {
                        $adda->setValue($value, rex_addslashes($add->getValue("{$value}")));
                    }
                }
            }
            //  createuser
            //  updateuser
        }
        $adda->insert();
        $add->next();
    }
    $add = new sql();
    $add->query("insert into " . $REX['TABLE_PREFIX'] . "clang set id='{$id}',name='{$name}'");
    // ----- EXTENSION POINT
    rex_register_extension_point('CLANG_ADDED', '', array('id' => $id, 'name' => $name));
    rex_generateAll();
}
Exemple #30
0
function doAction($short_id, $shortcut, $description, $language, $casesense, $mode = 'update')
{
    global $I18N, $I18N_GLOSSAR;
    // Validierung der Modi
    $mode = trim($mode);
    if ($mode != trim($I18N->msg('add')) && $mode != trim($I18N->msg('update')) && $mode != trim($I18N->msg('delete'))) {
        return $I18N_GLOSSAR->msg('invalid_action') . $mode;
    }
    $sql = new sql();
    $sql->setTable('rex__glossar');
    // Delete Query zusammenbauen
    if ($mode == trim($I18N->msg('delete'))) {
        $sql->where("short_id='{$short_id}'");
        $sql->delete();
        return $I18N_GLOSSAR->msg('deleted');
    }
    // Validierung der eingaben (Alle Felder müssen gefüllt sein)
    if ($shortcut === '' || $description === '' || $language === '' || $casesense === '') {
        return $I18N_GLOSSAR->msg('invalid_input');
    }
    $sql->setValue('shortcut', $shortcut);
    $sql->setValue('description', $description);
    $sql->setValue('language', $language);
    $sql->setValue('casesense', $casesense);
    // Update Query zusammenbauen
    if ($mode == trim($I18N->msg('update'))) {
        $sql->where("short_id='{$short_id}'");
        $sql->update();
        return $I18N_GLOSSAR->msg('updated');
    } else {
        $sql->insert();
        return $I18N_GLOSSAR->msg('inserted');
    }
}