本文整理汇总了PHP中rex_sql::update方法的典型用法代码示例。如果您正苦于以下问题:PHP rex_sql::update方法的具体用法?PHP rex_sql::update怎么用?PHP rex_sql::update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rex_sql
的用法示例。
在下文中一共展示了rex_sql::update方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: publishNews
/**
* 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&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&id=' . $id . '">' . $I18N->msg('edit') . '</a></td>
<td><a href="' . self::getBaseUrl($clang) . 'delete&id=' . $id . '" onclick="return confirm(\'' . $I18N->msg('asd_news_really_delete') . '\');">' . $I18N->msg('delete') . '</a></td>
<td><a href="' . self::getBaseUrl($clang) . 'status&id=' . $id . '" class="rex-online">' . $I18N->msg('status_online') . '</a></td>';
}
示例2: execute
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"];
}
}
}
示例3: updateArticleId
/**
* update the article id in the url_control sql table
* @param int $id
*/
public static function updateArticleId($id)
{
global $REX;
$sql = new rex_sql();
$sql->setTable($REX['TABLE_PREFIX'] . 'url_control_generate');
$sql->setWhere('`table` = "' . rex_asd_news_config::getTable() . '"');
$sql->select('id');
for ($i = 1; $i <= $sql->getRows(); $i++) {
$saveSql = new rex_sql();
$saveSql->setTable($REX['TABLE_PREFIX'] . 'url_control_generate');
$saveSql->setWhere('`id` = ' . $sql->getValue('id'));
$saveSql->setValue('article_id', $id);
$saveSql->update();
$sql->next();
}
}
示例4:
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);
}
}
示例5:
$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 {
$faction->addGlobalUpdateFields();
$faction->setWhere('id=' . $action_id);
if ($faction->update()) {
$info = $I18N->msg('action_updated');
} else {
$warning = $faction->getError();
}
}
if (isset($goon) and $goon != '') {
$save = 'nein';
} else {
$function = '';
}
}
if ($save != '1') {
if ($function == 'edit') {
$legend = $I18N->msg('action_edit') . ' [ID=' . $action_id . ']';
$action = new rex_sql();
示例6: foreach
$perm .= '#clang[' . $_perm . ']';
}
}
// userperm mylang
if (!isset($userperm_mylang) or $userperm_mylang == "") {
$userperm_mylang = 'be_lang[default]';
}
$perm .= '#' . $userperm_mylang;
// userperm_module
if (isset($userperm_module)) {
foreach ($userperm_module as $_perm) {
$perm .= '#module[' . $_perm . ']';
}
}
$updateuser->setValue('rights', $perm . '#');
$updateuser->update();
if (isset($FUNC_UPDATE) && $FUNC_UPDATE != '') {
unset($user_id);
unset($FUNC_UPDATE);
}
$message = $I18N->msg('user_data_updated');
} elseif (isset($FUNC_DELETE) and $FUNC_DELETE != '') {
// man kann sich selbst nicht löschen..
if ($REX_USER->getValue("user_id") != $user_id) {
$deleteuser = new rex_sql();
$deleteuser->setQuery("DELETE FROM " . $REX['TABLE_PREFIX'] . "user WHERE user_id = '{$user_id}' LIMIT 1");
$message = $I18N->msg("user_deleted");
unset($user_id);
} else {
$message = $I18N->msg("user_notdeleteself");
}
示例7: save
function save()
{
$fieldName = $this->getFieldValue('name');
// Den alten Wert aus der DB holen
// Dies muss hier geschehen, da in parent::save() die Werte für die DB mit den
// POST werten überschrieben werden!
$fieldOldName = '';
$fieldOldPrior = 9999999999999;
// dirty, damit die prio richtig läuft...
$fieldOldDefault = '';
if ($this->sql->getRows() == 1) {
$fieldOldName = $this->sql->getValue('name');
$fieldOldPrior = $this->sql->getValue('prior');
$fieldOldDefault = $this->sql->getValue('default');
}
if (parent::save()) {
global $REX, $I18N;
$this->organizePriorities($this->getFieldValue('prior'), $fieldOldPrior);
rex_generateAll();
$fieldName = $this->addPrefix($fieldName);
$fieldType = $this->getFieldValue('type');
$fieldDefault = $this->getFieldValue('default');
$sql = rex_sql::getInstance();
$result = $sql->getArray('SELECT `dbtype`, `dblength` FROM `' . $REX['TABLE_PREFIX'] . '62_type` WHERE id=' . $fieldType);
$fieldDbType = $result[0]['dbtype'];
$fieldDbLength = $result[0]['dblength'];
// TEXT Spalten dürfen in MySQL keine Defaultwerte haben
if ($fieldDbType == 'text') {
$fieldDefault = null;
}
if ($this->isEditMode()) {
// Spalte in der Tabelle verändern
$tmRes = $this->tableManager->editColumn($fieldOldName, $fieldName, $fieldDbType, $fieldDbLength, $fieldDefault);
} else {
// Spalte in der Tabelle anlegen
$tmRes = $this->tableManager->addColumn($fieldName, $fieldDbType, $fieldDbLength, $fieldDefault);
}
if ($tmRes) {
// DefaultWerte setzen
if ($fieldDefault != $fieldOldDefault) {
$upd = new rex_sql();
$upd->setTable($this->tableManager->getTableName());
$upd->setWhere('`' . $fieldName . '`="' . addSlashes($fieldOldDefault) . '"');
$upd->setValue($fieldName, addSlashes($fieldDefault));
return $upd->update();
}
// Default werte haben schon zuvor gepasst, daher true zurückgeben
return true;
}
}
return false;
}
示例8: array
$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
// ------------------------------------------ START: CONTENT HEAD MENUE
$num_ctypes = count($REX['CTYPE']);
$ctype_menu = '';
if ($num_ctypes > 0) {
$listElements = array();
示例9: organizePriorities
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();
}
}
示例10: rex_articleStatus
/**
* Ändert den Status des Artikels
*
* @param int $article_id Id des Artikels die gelöscht werden soll
* @param int $clang Id der Sprache
* @param int|null $status Status auf den der Artikel gesetzt werden soll, oder NULL wenn zum nächsten Status weitergeschaltet werden soll
*
* @return array Ein Array welches den status sowie eine Fehlermeldung beinhaltet
*/
function rex_articleStatus($article_id, $clang, $status = null)
{
global $REX, $I18N;
$success = false;
$message = '';
$artStatusTypes = rex_articleStatusTypes();
$GA = new rex_sql();
$GA->setQuery("select * from " . $REX['TABLE_PREFIX'] . "article where id='{$article_id}' and clang={$clang}");
if ($GA->getRows() == 1) {
// Status wurde nicht von außen vorgegeben,
// => zyklisch auf den nächsten Weiterschalten
if (!$status) {
$newstatus = ($GA->getValue('status') + 1) % count($artStatusTypes);
} else {
$newstatus = $status;
}
$EA = new rex_sql();
$EA->setTable($REX['TABLE_PREFIX'] . "article");
$EA->setWhere("id='{$article_id}' and clang={$clang}");
$EA->setValue('status', $newstatus);
$EA->addGlobalUpdateFields();
if ($EA->update()) {
$message = $I18N->msg('article_status_updated');
rex_deleteCacheArticle($article_id, $clang);
// ----- EXTENSION POINT
$message = rex_register_extension_point('ART_STATUS', $message, array('id' => $article_id, 'clang' => $clang, 'status' => $newstatus));
$success = true;
} else {
$message = $EA->getError();
}
} else {
$message = $I18N->msg("no_such_category");
}
return array($success, $message);
}
示例11: stripslashes
$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();
}
}
}
}
if (isset($goon) and $goon != '') {
$save = 'nein';
} else {
示例12: addslashes
if ($function == "add") {
$attributes = rex_setAttributes("ctype", $ctypes, "");
$TPL->setValue("attributes", addslashes($attributes));
$TPL->addGlobalCreateFields();
if ($TPL->insert()) {
$template_id = $TPL->getLastId();
$message = $I18N->msg("template_added");
} else {
$message = $TPL->getError();
}
} else {
$attributes = rex_setAttributes("ctype", $ctypes, $attributes);
$TPL->setWhere("id='{$template_id}'");
$TPL->setValue("attributes", addslashes($attributes));
$TPL->addGlobalUpdateFields();
$message = $TPL->update($I18N->msg("template_updated"));
}
// werte werden direkt wieder ausgegeben
$templatename = stripslashes($templatename);
$content = stripslashes($content);
rex_deleteDir($REX['INCLUDE_PATH'] . "/generated/templates", 0);
if (isset($goon) and $goon != "") {
$function = "edit";
$save = "nein";
} else {
$function = "";
}
}
if (!isset($save) or $save != "ja") {
echo '<a name="edit"></a>';
// Ctype Handling
示例13: VARCHAR
// Gruppen
$a = new rex_sql();
$a->setTable("rex_62_params");
$a->setValue("title", "Gruppen");
$a->setValue("name", "art_com_groups");
$a->setValue("prior", "12");
$a->setValue("type", "3");
$a->setValue("attributes", "multiple=multiple");
$a->setValue("params", "select name as label,id from rex_com_group order by label");
$a->setValue("validate", NULL);
$a->addGlobalCreateFields();
$g = new rex_sql();
$g->setQuery('select * from rex_62_params where name="art_com_groups"');
if ($g->getRows() == 1) {
$a->setWhere('name="art_com_groups"');
$a->update();
} else {
$a->insert();
}
$g = new rex_sql();
$g->setQuery('show columns from rex_article Like "art_com_groups"');
if ($g->getRows() == 0) {
$a->setQuery("ALTER TABLE `rex_article` ADD `art_com_groups` VARCHAR( 255 ) NOT NULL");
}
// ************************************************************** CACHE LOESCHEN
$info = rex_generateAll();
// quasi kill cache ..
$REX['ADDON']['install']['auth'] = 1;
if ($error != "") {
$REX['ADDON']['install']['auth'] = 0;
$REX['ADDON']['installmsg']['auth'] = $error;
示例14: rex_mediapool_updateMedia
/**
* 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_mediapool_updateMedia($FILE, &$FILEINFOS, $userlogin = null)
{
global $REX, $I18N;
$RETURN = array();
$FILESQL = new rex_sql();
// $FILESQL->debugsql = 1;
$FILESQL->setTable($REX['TABLE_PREFIX'] . 'file');
$FILESQL->setWhere('file_id=' . $FILEINFOS["file_id"]);
$FILESQL->setValue('title', $FILEINFOS["title"]);
$FILESQL->setValue('category_id', $FILEINFOS["rex_file_category"]);
$msg = '';
$updated = false;
if ($_FILES['file_new']['name'] != '' && $_FILES['file_new']['name'] != 'none') {
$ffilename = $_FILES['file_new']['tmp_name'];
$ffiletype = $_FILES['file_new']['type'];
$ffilesize = $_FILES['file_new']['size'];
if ($ffiletype == $FILEINFOS["filetype"] || OOMedia::compareImageTypes($ffiletype, $FILEINFOS["filetype"])) {
if (move_uploaded_file($ffilename, $REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"]) || copy($ffilename, $REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"])) {
$RETURN["msg"] = $I18N->msg('pool_file_changed');
$FILEINFOS["filetype"] = $ffiletype;
$FILEINFOS["filesize"] = $ffilesize;
$FILESQL->setValue('filetype', $FILEINFOS["filetype"]);
// $FILESQL->setValue('originalname',$ffilename);
$FILESQL->setValue('filesize', $FILEINFOS["filesize"]);
if ($size = @getimagesize($REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"])) {
$FILESQL->setValue('width', $size[0]);
$FILESQL->setValue('height', $size[1]);
}
@chmod($REX['MEDIAFOLDER'] . '/' . $FILEINFOS["filename"], $REX['FILEPERM']);
$updated = true;
} else {
$RETURN["msg"] = $I18N->msg('pool_file_upload_error');
}
} else {
$RETURN["msg"] = $I18N->msg('pool_file_upload_errortype');
}
}
$RETURN["ok"] = 0;
if (!isset($RETURN["msg"])) {
$RETURN["msg"] = $I18N->msg('pool_file_infos_updated');
$RETURN["filename"] = $FILEINFOS["filename"];
$RETURN["filetype"] = $FILEINFOS["filetype"];
$RETURN["file_id"] = $FILEINFOS["file_id"];
$RETURN["ok"] = 1;
}
$FILESQL->addGlobalUpdateFields();
$FILESQL->update();
/*
$RETURN['title'] = $FILEINFOS['title'];
$RETURN['type'] = $FILETYPE;
$RETURN['msg'] = $message;
// Aus BC gruenden hier mit int 1/0
$RETURN['ok'] = $success ? 1 : 0;
$RETURN['filename'] = $NFILENAME;
$RETURN['old_filename'] = $FILENAME;
*/
return $RETURN;
}
示例15: stripslashes
} else {
$warning = $IMOD->getError();
}
} 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();
if ($UMOD->update()) {
$info = $I18N->msg('module_updated') . ' | ' . $I18N->msg('articel_updated');
} else {
$warning = $UMOD->getError();
}
$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();
}
}
}