本文整理汇总了PHP中sql::setNewId方法的典型用法代码示例。如果您正苦于以下问题:PHP sql::setNewId方法的具体用法?PHP sql::setNewId怎么用?PHP sql::setNewId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sql
的用法示例。
在下文中一共展示了sql::setNewId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rex_copyArticle
/**
* Kopieren eines Artikels von einer Kategorie in eine andere
*
* @param $id ArtikelId des zu kopierenden Artikels
* @param $to_cat_id KategorieId in die der Artikel kopiert werden soll
*/
function rex_copyArticle($id, $to_cat_id)
{
global $REX, $REX_USER;
$id = (int) $id;
$to_cat_id = (int) $to_cat_id;
// Artikel in jeder Sprache kopieren
foreach ($REX['CLANG'] as $clang => $clang_name) {
// validierung der id & from_cat_id
$from_sql = new sql();
$qry = 'select * from ' . $REX['TABLE_PREFIX'] . 'article where clang="' . $clang . '" and id="' . $id . '"';
$from_sql->setQuery($qry);
if ($from_sql->getRows() == 1) {
// validierung der to_cat_id
$to_sql = new sql();
$to_sql->setQuery('select * from ' . $REX['TABLE_PREFIX'] . 'article where clang="' . $clang . '" and startpage=1 and id="' . $to_cat_id . '"');
if ($to_sql->getRows() == 1) {
$art_sql = new sql();
$art_sql->setTable($REX['TABLE_PREFIX'] . 'article');
if ($new_id == "") {
$new_id = $art_sql->setNewId('id');
}
$art_sql->setValue('id', $new_id);
// neuen auto_incrment erzwingen
$art_sql->setValue('re_id', $to_sql->getValue('id'));
$art_sql->setValue('path', $to_sql->getValue('path') . $to_sql->getValue('id') . '|');
$art_sql->setValue('catname', $to_sql->getValue('name'));
$art_sql->setValue('prior', 99999);
// Artikel als letzten Artikel in die neue Kat einfügen
$art_sql->setValue('status', 0);
// Kopierter Artikel offline setzen
$art_sql->setValue('createdate', time());
$art_sql->setValue('createuser', addslashes($REX_USER->getValue('login')));
$art_sql->setValue('startpage', 0);
// schon gesetzte Felder nicht wieder überschreiben
$dont_copy = array('id', 'pid', 're_id', 'catname', 'path', 'prior', 'status', 'createdate', 'createuser', 'startpage');
foreach (array_diff($to_sql->getFieldnames(), $dont_copy) as $fld_name) {
$art_sql->setValue($fld_name, $from_sql->getValue($fld_name));
}
$art_sql->setValue("clang", $clang);
$art_sql->insert();
// ArticleSlices kopieren
rex_copyContent($id, $new_id, $clang, $clang);
// Prios neu berechnen
rex_newArtPrio($to_cat_id, $clang, 1, 0);
} else {
return false;
}
} else {
return false;
}
}
// Generated des Artikels neu erzeugen
rex_generateArticle($id, false);
// Generated der Kategorien neu erzeugen, da sich derin befindliche Artikel geändert haben
rex_generateArticle($to_cat_id, false);
return $new_id;
}
示例2: unset
if (isset($function) and $function == "add_article" && $KATPERM && !$REX_USER->isValueOf("rights", "editContentOnly[]")) {
// --------------------- ARTIKEL ADD
$Position_New_Article = (int) $Position_New_Article;
if ($Position_New_Article == 0) {
$Position_New_Article = 1;
}
$amessage = $I18N->msg("article_added");
unset($id);
reset($REX['CLANG']);
while (list($key, $val) = each($REX['CLANG'])) {
// ### erstelle neue prioliste wenn noetig
$AART = new sql();
// $AART->debugsql = 1;
$AART->setTable($REX['TABLE_PREFIX'] . "article");
if (!isset($id) or !$id) {
$id = $AART->setNewId("id");
} else {
$AART->setValue("id", $id);
}
$AART->setValue("name", $article_name);
$AART->setValue("catname", $article_name);
$AART->setValue("clang", $key);
$AART->setValue("re_id", $category_id);
$AART->setValue("prior", $Position_New_Article);
$AART->setValue("path", $KATPATH);
$AART->setValue("startpage", 0);
$AART->setValue("status", 0);
$AART->setValue("online_from", time());
$AART->setValue("online_to", mktime(0, 0, 0, 1, 1, 2010));
$AART->setValue("createdate", time());
$AART->setValue("createuser", $REX_USER->getValue("login"));