当前位置: 首页>>代码示例>>PHP>>正文


PHP sql::setNewId方法代码示例

本文整理汇总了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;
}
开发者ID:BackupTheBerlios,项目名称:redaxo-svn,代码行数:63,代码来源:function_rex_generate.inc.php

示例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"));
开发者ID:BackupTheBerlios,项目名称:redaxo-svn,代码行数:31,代码来源:structure.inc.php


注:本文中的sql::setNewId方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。