Exemple #1
0
 function move()
 {
     global $gorumroll;
     // csak admin move-olhat:
     hasAdminRights($isAdm);
     if (!$isAdm) {
         return;
     }
     $oldCid = G::getAttr($this->id, "item", "cid");
     // ha nincs move-olas:
     if ($oldCid == $this->cid) {
         return;
     }
     G::load($newCategory, array("SELECT * FROM @category WHERE id=#cid#", $this->cid));
     // Ellenorzes:
     ItemField::filterCompatibleCategories($oldCid, $newCategory);
     if (!count($newCategory)) {
         return;
     }
     // trukkozes
     $newCategory = $newCategory[0];
     CustomField::addCustomColumns("item");
     G::load($oldFields, array("SELECT columnIndex FROM @customfield WHERE cid=#cid# ORDER BY sortId ASC", $oldCid));
     G::load($newFields, array("SELECT columnIndex FROM @customfield WHERE cid=#cid# ORDER BY sortId ASC", $this->cid));
     load($this);
     $newObj = gclone($this);
     $newObj->cid = $newCategory->id;
     if ($newCategory->immediateAppear) {
         $newObj->status = TRUE;
     }
     for ($i = 0; $i < count($oldFields); $i++) {
         if (isset($this->{$oldFields[$i]->columnIndex})) {
             $newObj->{$newFields[$i]->columnIndex} = $this->{$oldFields[$i]->columnIndex};
         }
     }
     modify($newObj);
     // itemnumok beallitasa
     if ($newObj->status) {
         $newCategory->increaseDirectItemNum();
     }
     G::load($oldCategory, $oldCid, "appcategory");
     if ($this->status) {
         $oldCategory->decreaseDirectItemNum();
     }
     Roll::setInfoText("adMoved");
     CacheManager::resetCache($this->cid);
     CacheManager::resetCache($oldCid);
 }