setTable() public method

Setzt den Tabellennamen.
public setTable ( string $table )
$table string Tabellenname
Esempio n. 1
0
function asd_news_addClang($params)
{
    global $REX;
    $id = $params['id'];
    $name = $params['name'];
    $now = new DateTime();
    $error = false;
    $sql = new rex_sql();
    $sql->setQuery('SELECT * FROM `' . rex_asd_news_config::getTable() . '` WHERE `clang` = ' . $REX['START_CLANG_ID']);
    for ($i = 1; $i <= $sql->getRows(); $i++) {
        $save = new rex_sql();
        $save->setTable(rex_asd_news_config::getTable());
        $save->setValues($sql->getRow());
        $save->setValue('clang', $id);
        $save->setValue('createdAt', $now->format('Y-m-d H:i:s'));
        $save->setValue('updatedAt', $now->format('Y-m-d H:i:s'));
        $save->setValue('publishedAt', '0000-00-00 00:00:00');
        $save->setValue('createdBy', $REX['USER']->getValue('user_id'));
        $save->setValue('updatedBy', $REX['USER']->getValue('user_id'));
        $save->setValue('publishedBy', 0);
        $save->setValue('status', 0);
        unset($save->values['news_id']);
        if (!$save->insert()) {
            $error = $save->getError();
        }
    }
    if ($error) {
        echo rex_warning('ASD News: Neuigkeiten in der Sprache "' . $name . '" konnten nicht angelegt werden<br />' . $error);
    } else {
        echo rex_info('ASD News: Neuigkeiten in der Sprache "' . $name . '" wurden angelegt');
    }
}
 /**
  * publish a news by id & clang
  * if publish-lang == all => $clang is not needed, but must be set
  * @param $id
  * @param $clang
  * @param DateTime $time
  * @return string
  */
 public static function publishNews($id, $clang, DateTime $time)
 {
     /**
      * @var array $REX
      * @var i18n $I18N
      */
     global $REX, $I18N;
     $sql = new rex_sql();
     $sql->setTable(rex_asd_news_config::getTable());
     $sql->setWhere('`id` = ' . $id . ' AND `clang` = ' . $clang);
     if (rex_asd_news_config::getConfig('published-lang') == 'all') {
         $sql->setWhere('`id` = ' . $id);
     }
     $sql->setValue('publishedAt', $time->format('Y-m-d H:i'));
     $sql->setValue('publishedBy', $REX['USER']->getValue('user_id'));
     $sql->setValue('status', 1);
     $sql->update();
     $sql->setQuery('SELECT * FROM `' . rex_asd_news_config::getTable() . '` WHERE `id` = ' . $id . ' AND `clang` = ' . $clang);
     return '
     <td>' . $id . '</td>
     <td>' . $sql->getValue('title') . '</td>
     <td><span>' . $time->format('d.m.Y H:i') . '</span></td>
     <td><a href="' . self::getBaseUrl($clang) . 'unpublish&amp;id=' . $id . '" class="rex-online" onclick="return confirm(\'' . $I18N->msg('asd_news_really_unpublish') . '\');">' . $I18N->msg('asd_news_published') . '</a></td>
     <td><a href="' . self::getBaseUrl($clang) . 'edit&amp;id=' . $id . '">' . $I18N->msg('edit') . '</a></td>
     <td><a href="' . self::getBaseUrl($clang) . 'delete&amp;id=' . $id . '" onclick="return confirm(\'' . $I18N->msg('asd_news_really_delete') . '\');">' . $I18N->msg('delete') . '</a></td>
     <td><a href="' . self::getBaseUrl($clang) . 'status&amp;id=' . $id . '" class="rex-online">' . $I18N->msg('status_online') . '</a></td>';
 }
 function rex_copyRevisionContent($article_id, $clang, $from_revision_id, $to_revision_id, $from_re_sliceid = 0, $to_revision_delete = FALSE)
 {
     global $REX;
     if ($to_revision_delete) {
         $dc = new rex_sql();
         // $dc->debugsql = 1;
         $dc->setQuery('delete from ' . $REX['TABLE_PREFIX'] . 'article_slice where article_id=' . $article_id . ' and clang=' . $clang . ' and revision=' . $to_revision_id);
     }
     if ($from_revision_id == $to_revision_id) {
         return false;
     }
     $gc = new rex_sql();
     // $gc->debugsql = 1;
     $gc->setQuery("select * from " . $REX['TABLE_PREFIX'] . "article_slice where re_article_slice_id='{$from_re_sliceid}' and article_id='{$article_id}' and clang='{$clang}' and revision='{$from_revision_id}'");
     if ($gc->getRows() == 1) {
         // letzt slice_id des ziels holen ..
         $glid = new rex_sql();
         // $glid->debugsql = 1;
         $glid->setQuery("\n\t\t\t\t\tselect \n\t\t\t\t\t\tr1.id, r1.re_article_slice_id\n\t        from \n\t\t\t\t\t\t" . $REX['TABLE_PREFIX'] . "article_slice as r1\n\t\t\t\t\tleft join " . $REX['TABLE_PREFIX'] . "article_slice as r2 on r1.id = r2.re_article_slice_id\n\t        where \n\t\t\t\t\t\tr1.article_id = {$article_id} and r1.clang = {$clang} and \n\t\t\t\t\t\tr2.id is NULL and \n\t\t\t\t\t\tr1.revision='{$to_revision_id}';");
         if ($glid->getRows() == 1) {
             $to_last_slice_id = $glid->getValue("r1.id");
         } else {
             $to_last_slice_id = 0;
         }
         $ins = new rex_sql();
         // $ins->debugsql = 1;
         $ins->setTable($REX['TABLE_PREFIX'] . "article_slice");
         $cols = new rex_sql();
         $cols->setquery("SHOW COLUMNS FROM " . $REX['TABLE_PREFIX'] . "article_slice");
         for ($j = 0; $j < $cols->rows; $j++, $cols->next()) {
             $colname = $cols->getValue("Field");
             if ($colname == "re_article_slice_id") {
                 $value = $to_last_slice_id;
             } elseif ($colname == "revision") {
                 $value = $to_revision_id;
             } elseif ($colname == "createdate") {
                 $value = time();
             } elseif ($colname == "updatedate") {
                 $value = time();
             } elseif ($colname == "createuser") {
                 $value = $REX["USER"]->getValue("login");
             } elseif ($colname == "updateuser") {
                 $value = $REX["USER"]->getValue("login");
             } else {
                 $value = $gc->getValue($colname);
             }
             if ($colname != "id") {
                 $ins->setValue($colname, $ins->escape($value));
             }
         }
         $ins->insert();
         // id holen und als re setzen und weitermachen..
         rex_copyRevisionContent($article_id, $clang, $from_revision_id, $to_revision_id, $gc->getValue("id"));
         return true;
     }
     rex_generateArticle($article_id);
     return true;
 }
 /**
  * check if entrys exists for the addon
  * @return bool
  */
 public static function checkEntrys()
 {
     global $REX;
     $sql = new rex_sql();
     $sql->setTable($REX['TABLE_PREFIX'] . 'url_control_generate');
     $sql->setWhere('`table` = "' . rex_asd_news_config::getTable() . '"');
     $sql->select('1');
     return (bool) $sql->getRows();
 }
 function a724_deletePathnamesFromTable()
 {
     $debug = false;
     // Alle Urls der Tabelle loeschen
     $sqld = new rex_sql();
     $sqld->setDebug($debug);
     $sqld->setTable('rex_a724_frau_schultze');
     $sqld->setWhere('name != "" AND url_table != "" AND url_table_parameters = ""');
     $sqld->delete();
 }
 function execute()
 {
     $subject_key = $this->action["elements"][2];
     $body_key = $this->action["elements"][3];
     $user_id_key = $this->action["elements"][4];
     foreach ($this->elements_sql as $key => $value) {
         if ($subject_key == $key) {
             $subject = $value;
         }
         if ($body_key == $key) {
             $body = $value;
         }
         if ($user_id_key == $key) {
             $from_user_id = $value;
         }
         // echo "<br /> $key => $value";
     }
     if ($subject == "" or $body == "" or $from_user_id == "") {
         return FALSE;
     }
     // User auslesen
     $gu = new rex_sql();
     // $gu->debugsql = 1;
     // $gu->setQuery('select * from rex_com_user where id<>"'.$from_user_id.'" order by id');
     $gu->setQuery('select * from rex_com_user order by id');
     foreach ($gu->getArray() as $user) {
         $user_body = $body;
         $user_subject = $subject;
         $to_user_id = $user["id"];
         // Empfaenger einbauen
         $in = new rex_sql();
         // $in->debugsql = 1;
         $in->setTable("rex_com_message");
         $in->setValue("user_id", $to_user_id);
         $in->setValue("from_user_id", $from_user_id);
         $in->setValue("to_user_id", $to_user_id);
         $in->setValue("subject", $user_subject);
         $in->setValue("body", $user_body);
         $in->setValue("create_datetime", time());
         $in->insert();
         /*
         $in = new rex_sql;
         // $in->debugsql = 1;
         $in->setTable("rex_com_message");
         $in->setValue("user_id",$from_user_id);
         $in->setValue("from_user_id",$from_user_id);
         $in->setValue("to_user_id",$to_user_id);
         $in->setValue("subject",$user_subject);
         $in->setValue("body",$user_body);
         $in->setValue("create_datetime",time());
         $in->insert();
         */
         rex_com_user::exeAction($to_user_id, "sendemail_newmessage", $user);
     }
 }
 function getInsertValue($value)
 {
     $value = (array) $value;
     $section =& $this->getSection();
     // Alle vorhanden Werte löschen
     $sql = new rex_sql();
     $sql->setTable($this->foreignTable);
     $sql->setWhere($section->_getWhereString());
     $sql->delete();
     // und anschließend alle neu eintragen
     foreach ($value as $val) {
         // Parameter aus der Ursprungstabelle mit abspeichern damit später darüber verknüpft werden kann
         foreach ($section->getWhere() as $whereColName => $whereColValue) {
             $sql->setValue($whereColName, $whereColValue);
         }
         // Den zu speichernden Wert
         $sql->setValue($this->foreignField, $val);
         $sql->setTable($this->foreignTable);
         $sql->insert();
     }
     // null zurückgeben, damit zu diesem Feld nichts im rexForm gespeichert wird
     return null;
 }
 function execute()
 {
     // echo "DB EXECUTE";
     // return;
     $sql = new rex_sql();
     if ($this->params["debug"]) {
         $sql->debugsql = TRUE;
     }
     $main_table = "";
     if (isset($this->action["elements"][2]) && $this->action["elements"][2] != "") {
         $main_table = $this->action["elements"][2];
     } else {
         $main_table = $this->params["main_table"];
     }
     if ($main_table == "") {
         $this->params["form_show"] = TRUE;
         $this->params["hasWarnings"] = TRUE;
         $this->params["warning_messages"][] = $this->params["Error-Code-InsertQueryError"];
         return FALSE;
     }
     $sql->setTable($main_table);
     $where = "";
     if (isset($this->action["elements"][3]) && trim($this->action["elements"][3]) != "") {
         $where = trim($this->action["elements"][3]);
     }
     // SQL Objekt mit Werten füllen
     foreach ($this->elements_sql as $key => $value) {
         $sql->setValue($key, $value);
         if ($where != "") {
             $where = str_replace('###' . $key . '###', addslashes($value), $where);
         }
     }
     if ($where != "") {
         $sql->setWhere($where);
         $sql->update();
         $flag = "update";
     } else {
         $sql->insert();
         $flag = "insert";
         $id = $sql->getLastId();
         $this->elements_email["ID"] = $id;
         // $this->elements_sql["ID"] = $id;
         if ($id == 0) {
             $this->params["form_show"] = TRUE;
             $this->params["hasWarnings"] = TRUE;
             $this->params["warning_messages"][] = $this->params["Error-Code-InsertQueryError"];
         }
     }
 }
 static function syncCatname2Artname($params)
 {
     global $REX, $I18N;
     $id = $params['id'];
     $clang = $params['clang'];
     $name = $params['data']['catname'];
     if ($name != '') {
         $sql = new rex_sql();
         $sql->setTable($REX['TABLE_PREFIX'] . 'article');
         $sql->setWhere('id=' . $id . ' AND clang=' . $clang);
         $sql->setValue('name', $name);
         $sql->addGlobalUpdateFields();
         $sql->update();
         rex_deleteCacheArticle($id, $clang);
     }
 }
Esempio n. 10
0
function rex_setup_setUtf8()
{
    global $REX;
    $gt = new rex_sql();
    $gt->setQuery("show tables");
    foreach ($gt->getArray() as $t) {
        $table = $t["Tables_in_" . $REX['DB']['1']['NAME']];
        $gc = new rex_sql();
        $gc->setQuery("show columns from {$table}");
        if (substr($table, 0, strlen($REX['TABLE_PREFIX'])) == $REX['TABLE_PREFIX']) {
            $columns = array();
            $pri = "";
            foreach ($gc->getArray() as $c) {
                $columns[] = $c["Field"];
                if ($pri == "" && $c["Key"] == "PRI") {
                    $pri = $c["Field"];
                }
            }
            if ($pri != "") {
                $gr = new rex_sql();
                $gr->setQuery("select * from {$table}");
                foreach ($gr->getArray() as $r) {
                    reset($columns);
                    $privalue = $r[$pri];
                    $uv = new rex_sql();
                    $uv->setTable($table);
                    $uv->setWhere($pri . '= "' . $privalue . '"');
                    foreach ($columns as $key => $column) {
                        if ($pri != $column) {
                            $value = $r[$column];
                            $newvalue = utf8_decode($value);
                            $uv->setValue($column, addslashes($newvalue));
                        }
                    }
                    $uv->update();
                }
            }
        }
    }
}
 function organizePriorities($newPrio, $oldPrio)
 {
     if ($newPrio == $oldPrio) {
         return;
     }
     if ($newPrio < $oldPrio) {
         $addsql = 'desc';
     } else {
         $addsql = 'asc';
     }
     $sql = new rex_sql();
     $sql->debugsql =& $this->debug;
     $sql->setQuery('SELECT field_id FROM ' . $this->tableName . ' WHERE name LIKE "' . $this->metaPrefix . '%" ORDER BY prior, updatedate ' . $addsql);
     $updateSql = new rex_sql();
     $updateSql->debugsql =& $this->debug;
     for ($i = 0; $i < $sql->getRows(); $i++) {
         $updateSql->setTable($this->tableName);
         $updateSql->setValue('prior', $i + 1);
         $updateSql->setWhere('name LIKE "' . $this->metaPrefix . '%" AND field_id = ' . $sql->getValue('field_id'));
         $updateSql->update();
         $sql->next();
     }
 }
Esempio n. 12
0
$gm = new rex_sql();
$gm->setQuery('select * from rex_module where ausgabe LIKE "%' . $searchtext . '%"');
$module_id = 0;
$module_name = "";
foreach ($gm->getArray() as $module) {
    $module_id = $module["id"];
    $module_name = $module["name"];
}
if (isset($_REQUEST["install"]) && $_REQUEST["install"] == 1) {
    $xform_module_name = "rex - X-Form";
    // Daten einlesen
    $in = rex_get_file_contents($REX["INCLUDE_PATH"] . "/addons/xform/module/module_in.inc");
    $out = rex_get_file_contents($REX["INCLUDE_PATH"] . "/addons/xform/module/module_out.inc");
    $mi = new rex_sql();
    // $mi->debugsql = 1;
    $mi->setTable("rex_module");
    $mi->setValue("eingabe", addslashes($in));
    $mi->setValue("ausgabe", addslashes($out));
    // altes Module aktualisieren
    if (isset($_REQUEST["module_id"]) && $module_id == $_REQUEST["module_id"]) {
        $mi->setWhere('id="' . $module_id . '"');
        $mi->update();
        echo rex_info('Modul "' . $module_name . '" wurde aktualisiert');
    } else {
        $mi->setValue("name", $xform_module_name);
        $mi->insert();
        echo rex_info('XForm Modul wurde angelegt unter "' . $xform_module_name . '"');
    }
}
?>
function rex_medienpool_registerFile($physical_filename, $org_filename, $filename, $category_id, $title, $filesize, $filetype)
{
    global $REX, $REX_USER;
    $abs_file = $REX['MEDIAFOLDER'] . '/' . $physical_filename;
    if (!file_exists($abs_file)) {
        return false;
    }
    if (empty($filesize)) {
        $filesize = filesize($abs_file);
    }
    if (empty($filetype) && function_exists('mime_content_type')) {
        $filetype = mime_content_type($abs_file);
    }
    @chmod($abs_file, $REX['FILEPERM']);
    $filename = rex_medienpool_filename($filename, false);
    $org_filename = strtolower($org_filename);
    // Ggf Alte Datei umbennen
    rename($abs_file, $REX['MEDIAFOLDER'] . '/' . $filename);
    $abs_file = $REX['MEDIAFOLDER'] . '/' . $filename;
    // get widht height
    $size = @getimagesize($abs_file);
    $FILESQL = new rex_sql();
    // $FILESQL->debugsql=1;
    $FILESQL->setTable($REX['TABLE_PREFIX'] . "file");
    $FILESQL->setValue('filename', $filename);
    $FILESQL->setValue('originalname', $org_filename);
    $FILESQL->setValue('category_id', $category_id);
    $FILESQL->setValue('title', $title);
    $FILESQL->setValue('filesize', $filesize);
    $FILESQL->setValue('filetype', $filetype);
    $FILESQL->setValue('width', $size[0]);
    $FILESQL->setValue('height', $size[1]);
    // TODO Hier Update + Create zugleich?
    $FILESQL->addGlobalUpdateFields();
    $FILESQL->addGlobalCreateFields();
    $FILESQL->insert();
    return $FILESQL->getError() == '';
}
Esempio n. 14
0
             $err_msg .= ' ';
         }
         $err_msg .= $I18N->msg('setup_041');
     }
     if ($err_msg == "") {
         $ga = new rex_sql();
         $ga->setQuery("select * from " . $REX['TABLE_PREFIX'] . "user where login='******'");
         if ($ga->getRows() > 0) {
             $err_msg .= $I18N->msg('setup_042');
         } else {
             if ($REX['PSWFUNC'] != '') {
                 $redaxo_user_pass = call_user_func($REX['PSWFUNC'], $redaxo_user_pass);
             }
             $user = new rex_sql();
             // $user->debugsql = true;
             $user->setTable($REX['TABLE_PREFIX'] . 'user');
             $user->setValue('name', 'Administrator');
             $user->setValue('login', $redaxo_user_login);
             $user->setValue('psw', $redaxo_user_pass);
             $user->setValue('rights', '#admin[]#dev[]#import[]#stats[]#moveSlice[]#');
             $user->addGlobalCreateFields('setup');
             $user->setValue('status', '1');
             if (!$user->insert()) {
                 $err_msg .= $I18N->msg("setup_043");
             }
         }
     }
 } else {
     $gu = new rex_sql();
     $gu->setQuery("select * from " . $REX['TABLE_PREFIX'] . "user LIMIT 1");
     if ($gu->getRows() == 0) {
 function createTable($mifix = "", $data_table, $params = array(), $debug = FALSE)
 {
     // Tabelle erstellen wenn noch nicht vorhanden
     $c = rex_sql::factory();
     $c->debugsql = $debug;
     $c->setQuery('CREATE TABLE IF NOT EXISTS `' . $data_table . '` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY );');
     // Tabellenset in die Basics einbauen, wenn noch nicht vorhanden
     $c = new rex_sql();
     $c->debugsql = $debug;
     $c->setQuery('DELETE FROM rex_xform_table where table_name="' . $data_table . '"');
     $c->setTable('rex_xform_table');
     $params["table_name"] = $data_table;
     if (!isset($params["status"])) {
         $params["status"] = 1;
     }
     if (!isset($params["name"])) {
         $params["name"] = 'Tabelle "' . $data_table . '"';
     }
     if (!isset($params["prio"])) {
         $params["prio"] = 100;
     }
     if (!isset($params["search"])) {
         $params["search"] = 0;
     }
     if (!isset($params["hidden"])) {
         $params["hidden"] = 0;
     }
     if (!isset($params["export"])) {
         $params["export"] = 0;
     }
     foreach ($params as $k => $v) {
         $c->setValue($k, $v);
     }
     $c->insert();
     return TRUE;
 }
 if ($function == 'add') {
     // $modultyp->setQuery("INSERT INTO ".$REX['TABLE_PREFIX']."modultyp (category_id, name, eingabe, ausgabe) VALUES ('$category_id', '$mname', '$eingabe', '$ausgabe')");
     $IMOD = new rex_sql();
     $IMOD->setTable($REX['TABLE_PREFIX'] . 'module');
     $IMOD->setValue('name', $mname);
     $IMOD->setValue('eingabe', $eingabe);
     $IMOD->setValue('ausgabe', $ausgabe);
     $IMOD->addGlobalCreateFields();
     $message = $IMOD->insert($I18N->msg('module_added'));
 } else {
     $modultyp->setQuery('select * from ' . $REX['TABLE_PREFIX'] . 'module where id=' . $modul_id);
     if ($modultyp->getRows() == 1) {
         $old_ausgabe = $modultyp->getValue('ausgabe');
         // $modultyp->setQuery("UPDATE ".$REX['TABLE_PREFIX']."modultyp SET name='$mname', eingabe='$eingabe', ausgabe='$ausgabe' WHERE id='$modul_id'");
         $UMOD = new rex_sql();
         $UMOD->setTable($REX['TABLE_PREFIX'] . 'module');
         $UMOD->setWhere('id=' . $modul_id);
         $UMOD->setValue('name', $mname);
         $UMOD->setValue('eingabe', $eingabe);
         $UMOD->setValue('ausgabe', $ausgabe);
         $UMOD->addGlobalUpdateFields();
         $message = $UMOD->update($I18N->msg('module_updated') . ' | ' . $I18N->msg('articel_updated'));
         $new_ausgabe = stripslashes($ausgabe);
         if ($old_ausgabe != $new_ausgabe) {
             // article updaten - nur wenn ausgabe sich veraendert hat
             $gc = new rex_sql();
             $gc->setQuery("SELECT DISTINCT(" . $REX['TABLE_PREFIX'] . "article.id) FROM " . $REX['TABLE_PREFIX'] . "article\r\n              LEFT JOIN " . $REX['TABLE_PREFIX'] . "article_slice ON " . $REX['TABLE_PREFIX'] . "article.id=" . $REX['TABLE_PREFIX'] . "article_slice.article_id\r\n              WHERE " . $REX['TABLE_PREFIX'] . "article_slice.modultyp_id='{$modul_id}'");
             for ($i = 0; $i < $gc->getRows(); $i++) {
                 rex_deleteCacheArticle($gc->getValue($REX['TABLE_PREFIX'] . "article.id"));
                 $gc->next();
             }
Esempio n. 17
0
             $message = $I18N->msg('category_moved');
             ob_end_clean();
             header('Location: index.php?page=content&article_id=' . $category_id . '&mode=meta&clang=' . $clang . '&ctype=' . $ctype . '&message=' . urlencode($message));
             exit;
         } else {
             $message = $I18N->msg('content_error_movecategory');
         }
     } else {
         $message = $I18N->msg('no_rights_to_this_function');
     }
 }
 // ------------------------------------------ END: MOVE CATEGORY
 // ------------------------------------------ START: SAVE METADATA
 if (rex_post('savemeta', 'string')) {
     $meta_sql = new rex_sql();
     $meta_sql->setTable($REX['TABLE_PREFIX'] . "article");
     // $meta_sql->debugsql = 1;
     $meta_sql->setWhere("id='{$article_id}' AND clang={$clang}");
     $meta_sql->setValue('name', $meta_article_name);
     $meta_sql->addGlobalUpdateFields();
     if ($meta_sql->update()) {
         $article->setQuery("SELECT * FROM " . $REX['TABLE_PREFIX'] . "article WHERE id='{$article_id}' AND clang='{$clang}'");
         $message = $I18N->msg("metadata_updated") . $message;
         rex_generateArticle($article_id);
         // ----- EXTENSION POINT
         $message = rex_register_extension_point('ART_META_UPDATED', $message, array('id' => $article_id, 'clang' => $clang, 'name' => $meta_article_name));
     } else {
         $message .= $meta_sql->getError();
     }
 }
 // ------------------------------------------ END: SAVE METADATA
Esempio n. 18
0
// Allgemeine Funktionen aufrufen bei Listenansicht (Offline stellen etc.)
switch ($func) {
    case 'setstatus':
        $oid = rex_request('oid', 'int');
        $statusfield = rex_request('statusfield', 'string');
        $oldstatus = rex_request('oldstatus', 'int');
        $minstatus = rex_request('minstatus', 'int', 0);
        $maxstatus = rex_request('maxstatus', 'int');
        if (setStatus(TBL_NEWS, $oid, $statusfield, $oldstatus, $minstatus, $maxstatus)) {
            echo rex_info('Statusupdate erfolgreich');
        } else {
            echo rex_warning('Statusupdate nicht erfolgreich');
        }
        $func = '';
        break;
    case 'delete':
        $postparams = implode(",", $_POST['ids']);
        $sql = new rex_sql();
        $sql->setTable(TBL_NEWS);
        $sql->setWhere('id IN (' . $postparams . ')');
        $success = $sql->delete();
        if ($sql->getRows() > 0) {
            echo rex_info('Die Datensätze wurden gelöscht');
        } else {
            echo rex_warning('Die Datensätze konnten nicht gelöscht werden');
        }
        $func = '';
        break;
}
require $file;
require $REX['INCLUDE_PATH'] . "/layout/bottom.php";
              </div>
            </div>';
        }
    } else {
        $warning = $I18N->msg('pool_file_not_found');
        $subpage = "";
    }
}
// *************************************** EXTRA FUNCTIONS
if ($PERMALL && $media_method == 'updatecat_selectedmedia') {
    $selectedmedia = rex_post('selectedmedia', 'array');
    if ($selectedmedia[0] > 0) {
        foreach ($selectedmedia as $file_id) {
            $db = new rex_sql();
            // $db->debugsql = true;
            $db->setTable($REX['TABLE_PREFIX'] . 'file');
            $db->setWhere('file_id=' . $file_id);
            $db->setValue('category_id', $rex_file_category);
            $db->addGlobalUpdateFields();
            if ($db->update()) {
                $info = $I18N->msg('pool_selectedmedia_moved');
            } else {
                $warning = $I18N->msg('pool_selectedmedia_error');
            }
        }
    } else {
        $warning = $I18N->msg('pool_selectedmedia_error');
    }
}
if ($PERMALL && $media_method == 'delete_selectedmedia') {
    $selectedmedia = rex_post("selectedmedia", "array");
            rex_newArtPrio($category_id, $key, 0, $Position_New_Article);
        } else {
            $amessage = $AART->getError();
        }
    }
    rex_generateArticle($id);
    // ----- EXTENSION POINT
    $amessage = rex_register_extension_point('ART_ADDED', $amessage, array('id' => $id, 'status' => 0, 'name' => $article_name, 're_id' => $category_id, 'prior' => $Position_New_Article, 'path' => $KATPATH, 'template_id' => $template_id));
} elseif (!empty($artedit_function) && $article_id != '' && $KATPERM) {
    // --------------------- ARTIKEL EDIT
    $Position_Article = (int) $Position_Article;
    if ($Position_Article == 0) {
        $Position_Article = 1;
    }
    $EA = new rex_sql();
    $EA->setTable($REX['TABLE_PREFIX'] . "article");
    $EA->setWhere("id='{$article_id}' and clang={$clang}");
    $EA->setValue('name', $article_name);
    $EA->setValue('template_id', $template_id);
    // $EA->setValue('path',$KATPATH);
    $EA->addGlobalUpdateFields();
    $EA->setValue('prior', $Position_Article);
    if ($EA->update()) {
        $amessage = $I18N->msg('article_updated');
        // ----- PRIOR
        rex_newArtPrio($category_id, $clang, $Position_Article, $thisArt->getValue('prior'));
        rex_generateArticle($article_id);
        // ----- EXTENSION POINT
        $amessage = rex_register_extension_point('ART_UPDATED', $amessage, 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));
    } else {
        $amessage = $EA->getError();
/**
 * 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 = "";
    foreach ($REX['CLANG'] as $cur => $val) {
        $content .= "\$REX['CLANG']['{$cur}'] = \"{$val}\";\n";
    }
    $file = $REX['INCLUDE_PATH'] . "/clang.inc.php";
    rex_replace_dynamic_contents($file, $content);
    $add = new rex_sql();
    $add->setQuery("select * from " . $REX['TABLE_PREFIX'] . "article where clang='0'");
    $fields = $add->getFieldnames();
    $adda = new rex_sql();
    // $adda->debugsql = 1;
    for ($i = 0; $i < $add->getRows(); $i++) {
        $adda->setTable($REX['TABLE_PREFIX'] . "article");
        foreach ($fields as $key => $value) {
            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)));
                    }
                }
            }
        }
        $adda->insert();
        $add->next();
    }
    $add = new rex_sql();
    $add->setQuery("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();
}
 $previewstatus = rex_post('previewstatus', 'array');
 $presavestatus = rex_post('presavestatus', 'array');
 $postsavestatus = rex_post('postsavestatus', 'array');
 $previewmode = 0;
 foreach ($previewstatus as $status) {
     $previewmode |= $status;
 }
 $presavemode = 0;
 foreach ($presavestatus as $status) {
     $presavemode |= $status;
 }
 $postsavemode = 0;
 foreach ($postsavestatus as $status) {
     $postsavemode |= $status;
 }
 $faction->setTable($REX['TABLE_PREFIX'] . 'action');
 $faction->setValue('name', $name);
 $faction->setValue('preview', $previewaction);
 $faction->setValue('presave', $presaveaction);
 $faction->setValue('postsave', $postsaveaction);
 $faction->setValue('previewmode', $previewmode);
 $faction->setValue('presavemode', $presavemode);
 $faction->setValue('postsavemode', $postsavemode);
 if ($function == 'add') {
     $faction->addGlobalCreateFields();
     if ($faction->insert()) {
         $info = $I18N->msg('action_added');
     } else {
         $warning = $faction->getError();
     }
 } else {
 /**
  * @access public
  * @return Returns <code>true</code> on success or <code>false</code> on error
  */
 function save()
 {
     $sql = new rex_sql();
     $sql->setTable($this->_getTableName());
     $sql->setValue('re_file_id', $this->getParentId());
     $sql->setValue('category_id', $this->getCategoryId());
     $sql->setValue('filetype', $this->getType());
     $sql->setValue('filename', $this->getFileName());
     $sql->setValue('originalname', $this->getOrgFileName());
     $sql->setValue('filesize', $this->getSize());
     $sql->setValue('width', $this->getWidth());
     $sql->setValue('height', $this->getHeight());
     $sql->setValue('title', $this->getTitle());
     if ($this->getId() !== null) {
         $sql->addGlobalUpdateFields();
         $sql->setWhere('file_id=' . $this->getId() . ' LIMIT 1');
         return $sql->update();
     } else {
         $sql->addGlobalCreateFields();
         return $sql->insert();
     }
 }
 public static function setTableField($table_name, array $table_field)
 {
     unset($table_field['id']);
     if ($table_name == '') {
         throw new Exception('table_name must be set');
     }
     if (count($table_field) == 0) {
         throw new Exception('field must be a filled array');
     }
     $fieldIdentifier = array('type_id' => $table_field['type_id'], 'type_name' => $table_field['type_name'], 'name' => $table_field['name']);
     $currentFields = rex_xform_manager_table::get($table_name)->getFields($fieldIdentifier);
     // validate specials
     if ($table_field['type_id'] == 'validate') {
         $table_field['list_hidden'] = 1;
         $table_field['search'] = 0;
     }
     self::createMissingFieldColumns($table_field);
     if (count($currentFields) > 1) {
         throw new Exception('more than one field found for table: ' . $table_name . ' with Fieldidentifier: ' . implode(', ', $fieldIdentifier) . '');
     } elseif (count($currentFields) == 0) {
         // Insert
         $field_insert = new rex_sql();
         $field_insert->debugsql = self::$debug;
         $field_insert->setTable(rex_xform_manager_field::table());
         $field_insert->setValue('table_name', $table_name);
         foreach ($table_field as $field_name => $field_value) {
             $field_insert->setValue($field_name, $field_value);
         }
         if (!isset($table['prio'])) {
             $field_insert->setValue('prio', rex_xform_manager_table::get($table_name)->getMaximumPrio() + 1);
         }
         $field_insert->insert();
     } else {
         // Update
         $currentField = $currentFields[0]->toArray();
         foreach ($table_field as $field_name => $field_value) {
             $currentField[$field_name] = $field_value;
         }
         $field_update = new rex_sql();
         $field_update->debugsql = self::$debug;
         $field_update->setTable(rex_xform_manager_field::table());
         $add_where = array();
         foreach ($fieldIdentifier as $field => $value) {
             $add_where[] = '`' . mysql_real_escape_string($field) . '`="' . mysql_real_escape_string($table_name) . '"';
         }
         $where = 'table_name="' . mysql_real_escape_string($table_name) . '"';
         if (count($add_where) > 0) {
             $where .= ' and (' . implode(' and ', $add_where) . ') ';
         }
         $field_update->setWhere($where);
         foreach ($table_field as $field_name => $field_value) {
             $field_update->setValue($field_name, $field_value);
         }
         $field_update->update();
     }
 }
Esempio n. 25
0
 /** 
  * Truncates the cache or deletes all data that are concerned with the given index-ids.
  * 
  * @param mixed $_indexIds
  * 
  * 
  */
 function deleteCache($_indexIds = false)
 {
     if ($_indexIds === false) {
         // delete entire search-chache
         $delete = new rex_sql();
         $delete->setTable($this->tablePrefix . '587_searchcacheindex_ids');
         $delete->delete();
         $delete2 = new rex_sql();
         $delete2->setTable($this->tablePrefix . '587_searchcache');
         $delete2->delete();
     } elseif (is_array($_indexIds) and !empty($_indexIds)) {
         $sql = new rex_sql();
         $query = sprintf('
     SELECT cache_id
     FROM %s
     WHERE index_id IN (%s)', $this->tablePrefix . '587_searchcacheindex_ids', implode(',', $_indexIds));
         $deleteIds = array(0);
         foreach ($sql->getArray($query) as $cacheId) {
             $deleteIds[] = $cacheId['cache_id'];
         }
         // delete from search-cache where indexed IDs exist
         $delete = new rex_sql();
         $delete->setTable($this->tablePrefix . '587_searchcache');
         $delete->setWhere('id IN (' . implode(',', $deleteIds) . ')');
         $delete->delete();
         // delete the cache-ID and index-ID
         $delete2 = new rex_sql();
         $delete2->setTable($this->tablePrefix . '587_searchcacheindex_ids');
         $delete2->setWhere('cache_id IN (' . implode(',', $deleteIds) . ')');
         $delete2->delete();
         // delete all cached searches which had no result (because now they maybe will have)
         $delete3 = new rex_sql();
         $delete3->setTable($this->tablePrefix . '587_searchcache');
         $delete3->setWhere(sprintf('id NOT IN (SELECT cache_id FROM `%s`)', $this->tablePrefix . '587_searchcacheindex_ids'));
         $delete3->delete();
     }
 }
/**
 * Holt ein upgeloadetes File und legt es in den Medienpool
 * Dabei wird kontrolliert ob das File schon vorhanden ist und es
 * wird eventuell angepasst, weiterhin werden die Fileinformationen übergeben
 *
 * @param $FILE
 * @param $rex_file_category
 * @param $FILEINFOS
 * @param $userlogin
*/
function rex_medienpool_saveMedia($FILE, $rex_file_category, $FILEINFOS, $userlogin = null)
{
    global $REX, $I18N;
    $rex_file_category = (int) $rex_file_category;
    $gc = new rex_sql();
    $gc->setQuery('SELECT * FROM ' . $REX['TABLE_PREFIX'] . 'file_category WHERE id=' . $rex_file_category);
    if ($gc->getRows() != 1) {
        $rex_file_category = 0;
    }
    $FILENAME = $FILE['name'];
    $FILESIZE = $FILE['size'];
    $FILETYPE = $FILE['type'];
    $NFILENAME = rex_medienpool_filename($FILENAME);
    $message = '';
    // ----- neuer filename
    $dstFile = $REX['MEDIAFOLDER'] . '/' . $NFILENAME;
    // ----- dateiupload
    $upload = true;
    if (!@move_uploaded_file($FILE['tmp_name'], $dstFile) && !@copy($FILE['tmp_name'], $dstFile)) {
        $message .= $I18N->msg("pool_file_movefailed");
        $ok = 0;
        $upload = false;
    }
    if ($upload) {
        chmod($dstFile, $REX['FILEPERM']);
        // get widht height
        $size = @getimagesize($dstFile);
        $FILESQL = new rex_sql();
        $FILESQL->setTable($REX['TABLE_PREFIX'] . 'file');
        $FILESQL->setValue('filetype', $FILETYPE);
        $FILESQL->setValue('title', $FILEINFOS['title']);
        $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);
        // TODO Create + Update zugleich?
        $FILESQL->addGlobalCreateFields($userlogin);
        $FILESQL->addGlobalUpdateFields($userlogin);
        $FILESQL->insert();
        $ok = 1;
        $message .= $I18N->msg("pool_file_added");
    }
    $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['old_filename'] = $FILENAME;
    return $RETURN;
}
    function getGuestbook($user_id, $aid, $params = array())
    {
        global $REX;
        $MY = FALSE;
        if (is_object($REX['COM_USER']) && $REX['COM_USER']->getValue("rex_com_user.id") == $user_id) {
            $MY = TRUE;
        }
        $u = new rex_sql();
        $u->setQuery("select * from rex_com_user where id=" . $user_id);
        if ($u->getRows() != 1) {
            return "";
        }
        // ***** ADD MESSAGE
        if (is_object($REX['COM_USER']) && $_REQUEST["add_message"] != "") {
            $text = $_REQUEST["text"];
            if ($text == "") {
                $errormessage = '<p class="warning" colspan=2>Es wurde keine Nachricht eingetragen !</p>';
            } else {
                $addmsgsql = new rex_sql();
                $addmsgsql->setTable("rex_com_guestbook");
                $addmsgsql->setValue("user_id", $user_id);
                $addmsgsql->setValue("from_user_id", $REX['COM_USER']->getValue("id"));
                $addmsgsql->setValue("text", $text);
                $addmsgsql->setValue("create_datetime", time());
                $addmsgsql->insert();
                if ($user_id != $REX['COM_USER']->getValue('rex_com_user.id')) {
                    rex_com_user::exeAction($user_id, "sendemail_guestbook", array("user_id" => $REX['COM_USER']->getValue('rex_com_user.id'), "firstname" => $REX['COM_USER']->getValue('rex_com_user.firstname'), "name" => $REX['COM_USER']->getValue('rex_com_user.name'), "login" => $REX['COM_USER']->getValue('rex_com_user.login'), "to_user_id" => $u->getValue('rex_com_user.id'), "to_firstname" => $u->getValue('rex_com_user.firstname'), "to_name" => $u->getValue('rex_com_user.name'), "to_login" => $u->getValue('rex_com_user.login')));
                }
            }
        } elseif ($MY && $_REQUEST["delete_message"] != "") {
            $msg_id = (int) $_REQUEST["msg_id"];
            if ($msg_id == 0) {
                $errormessage = '<p class="warning">Es wurde keine Nachricht ausgewählt!</p>';
            } else {
                $addmsgsql = new rex_sql();
                // $addmsgsql->debugsql = 1;
                $addmsgsql->setQuery('delete from rex_com_guestbook where id=' . $msg_id . ' and user_id="' . $REX['COM_USER']->getValue("id") . '"');
            }
        }
        // ***** SHOW MESSAGES
        $guestsql = new rex_sql();
        $guestsql->debugsql = 0;
        $guestsql->setQuery("SELECT * \n\t\t\tFROM  rex_com_guestbook \n\t\t\tLEFT JOIN rex_com_user ON rex_com_guestbook.from_user_id=rex_com_user.id \n\t\t\tWHERE rex_com_guestbook.user_id='" . $user_id . "' \n\t\t\tORDER BY rex_com_guestbook.create_datetime desc");
        if ($guestsql->getRows() <= 0) {
            $echo .= '<p class="com-whitebox">Kein Gästebucheintrag vorhanden !</p>';
        } else {
            $cl = "";
            for ($i = 0; $i < $guestsql->getRows(); $i++) {
                // $cl
                $echo .= '
				<div class="com-guestbook">
					<div class="com-image">
						<p class="image">' . rex_com_showUser($guestsql, "image") . '</p>
					</div>

					<div class="com-content">
					<div class="com-content-2">
					
						<div class="com-content-name">
							<p><span class="color-1">' . rex_com_showUser($guestsql, "name") . ', ' . rex_com_showUser($guestsql, "city", "", FALSE) . '</span>
								<br />' . rex_com_formatter($guestsql->getValue("rex_com_guestbook.create_datetime"), 'datetime') . '
							</p>
						</div>
						<p><b>' . nl2br(htmlspecialchars($guestsql->getValue("rex_com_guestbook.text"))) . '</b></p>';
                if ($guestsql->getValue("rex_com_user.motto") != '') {
                    $echo .= '<p>Motto: ' . $guestsql->getValue("rex_com_user.motto") . '</p>';
                }
                if ($MY) {
                    $link_params = array_merge($params, array("user_id" => $user_id, "delete_message" => 1, "msg_id" => $guestsql->getValue("rex_com_guestbook.id")));
                    $echo .= '<br /><p class="link-button"><a href="' . rex_getUrl($aid, '', $link_params) . '"><span>Löschen</span></a></p>';
                }
                $echo .= '</div></div>
					<div class="clearer"> </div>
				</div>';
                if ($cl == "") {
                    $cl = ' class="alternative"';
                } else {
                    $cl = "";
                }
                $guestsql->next();
            }
        }
        //		$echo .= '</tr></table>';
        if (is_object($REX['COM_USER'])) {
            $echo .= '<div id="rex-form" class="com-guestbook-form spcl-bgcolor">
			
			<form action="' . $REX["FRONTEND_FILE"] . '" method="post" id="guestbookform">
			
			<h2>Einen neuen Eintrag schreiben</h2>

			' . $errormessage . '
			
			<input type="hidden" name="add_message" value="1" />
			<input type="hidden" name="user_id" value="' . $user_id . '" />
			<input type="hidden" name="article_id" value="' . $aid . '" />
			';
            foreach ($params as $k => $v) {
                $echo .= '<input type="hidden" name="' . $k . '" value="' . htmlspecialchars($v) . '" />';
            }
            $echo .= '
				<p class="formtextarea">
					<label for="f-message">Nachricht:</label>
					<textarea id="f-message" name="text" cols="40" rows="4" /></textarea>
				</p>
				<p class="link-save">
					<a href="javascript:void(0);"  onclick="document.getElementById(\'guestbookform\').submit()"><span>Speichern</span></a></p>
				</p>
			<div class="clearer"> </div>
			
			</form>
			</div>';
        }
        return $echo;
    }
Esempio n. 28
0
    $func = '';
}
if ($func == 'delete') {
    $sql = new rex_sql();
    $sql->setTable(rex_asd_news_config::getTable());
    $sql->setWhere('id=' . $id . ' AND clang = ' . $clang);
    if ($sql->delete()) {
        echo rex_info($I18N->msg('asd_news_deleted'));
    } else {
        echo rex_warning($sql->getError());
    }
    $func = '';
}
if ($func == 'unpublish') {
    $sql = new rex_sql();
    $sql->setTable(rex_asd_news_config::getTable());
    $sql->setWhere('id=' . $id . ' AND clang = ' . $clang);
    $sql->setValue('publishedAt', '0000-00-00 00:00:00');
    $sql->setValue('publishedBy', 0);
    $successMessage = $I18N->msg('asd_news_unpublished_s');
    if (rex_asd_news_config::getConfig('published-lang') == 'all') {
        $sql->setWhere('`id` = ' . $id);
        $successMessage = $I18N->msg('asd_news_unpublished_m');
    }
    if ($sql->update()) {
        echo rex_info($successMessage);
    } else {
        echo rex_warning($sql->getError());
    }
    $func = '';
}
 /**
  * @access public
  * @return Returns <code>true</code> on success or <code>false</code> on error
  */
 function save()
 {
     $sql = new rex_sql();
     $sql->setTable($this->_getTableName());
     $sql->setValue('re_id', $this->getParentId());
     $sql->setValue('name', $this->getName());
     $sql->setValue('path', $this->getPath());
     $sql->setValue('hide', $this->isHidden());
     if ($this->getId() !== null) {
         $sql->addGlobalUpdateFields();
         $sql->setWhere('id=' . $this->getId() . ' LIMIT 1');
         return $sql->update();
     } else {
         $sql->addGlobalCreateFields();
         return $sql->insert();
     }
 }
 function createTable($mifix = '', $data_table, $params = array(), $debug = false)
 {
     // Tabelle erstellen wenn noch nicht vorhanden
     $c = rex_sql::factory();
     $c->debugsql = $debug;
     $c->setQuery('CREATE TABLE IF NOT EXISTS `' . $data_table . '` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY );');
     // Tabellenset in die Basics einbauen, wenn noch nicht vorhanden
     $c = new rex_sql();
     $c->debugsql = $debug;
     $c->setQuery('DELETE FROM ' . rex_xform_manager_table::table() . ' where table_name="' . $data_table . '"');
     $c->setTable(rex_xform_manager_table::table());
     $params['table_name'] = $data_table;
     if (!isset($params['status'])) {
         $params['status'] = 1;
     }
     if (!isset($params['name'])) {
         $params['name'] = 'Tabelle "' . $data_table . '"';
     }
     if (!isset($params['prio'])) {
         $params['prio'] = 100;
     }
     if (!isset($params['search'])) {
         $params['search'] = 0;
     }
     if (!isset($params['hidden'])) {
         $params['hidden'] = 0;
     }
     if (!isset($params['export'])) {
         $params['export'] = 0;
     }
     foreach ($params as $k => $v) {
         $c->setValue($k, $v);
     }
     $c->insert();
     return true;
 }