function afterAction(&$base) { if (!Roll::isFormInvalid()) { $base->setInfoText($this->method); } LocationHistory::saveInfoText(); if (Roll::isFormInvalid()) { LocationHistory::rollBack(1); } else { LocationHistory::resetPost(); CacheManager::resetCache(0, TRUE); //performReset if (isset($base->nextAction)) { LocationHistory::rollBack($base->nextAction); } elseif (isset($base->rollBackNum)) { LocationHistory::rollBack($base->rollBackNum); } else { if ($this->method == "delete") { $ctrl =& new AppController(LocationHistory::getBack(2)); // ha showdetails-rol mentunk a delete-re, akkor a showdetails elotti oldalra terunk vissza: if ($ctrl->list == $this->list && $ctrl->method == "showdetails" && $ctrl->rollid == $this->rollid) { LocationHistory::rollBack(3); } } LocationHistory::rollBack(2); } } }
function deleteColumn($field) { if ($field->isCommon) { $cidCond = ""; } else { $cidCond = " AND cid=#cid#"; } // ha nem common a custom field, amit torlunk, csak azoknak a custom listeknek az oszlopaibol kell torolni, // amik a field categoriajara specifikusak: $query = array("SELECT id, `columns`, cache FROM @search WHERE FIND_IN_SET(#id#, `columns`)!=0 {$cidCond}", "columns", $field->id, "columns", $field->cid); loadObjectsSql($lists = new CustomList(), $query, $lists); foreach ($lists as $l) { $f = preg_replace("{(,)?\\b{$this->id}\\b(?(1)|(,|\$))}", "", $l->columns); executeQuery(array("UPDATE @search SET `columns`=#f# WHERE id=#id#", "columns", $f, $l->id)); if ($l->cache) { CacheManager::resetCache($l->id, TRUE, FALSE); } } $query = array("SELECT *, '' AS str FROM @search WHERE query LIKE '%{$field->columnIndex}%' {$cidCond}", $field->cid); $lists = new CustomList(); $lists->cid = $field->cid; $lists->activateVariableFields(); loadObjectsSql($lists, $query, $lists); foreach ($lists as $l) { unset($l->{$field->columnIndex}); $l->makeSearchQuery(TRUE); modify($l); if ($l->cache) { CacheManager::resetCache($l->id, TRUE, FALSE); } } }
function modify($whereFields = "") { // betoltjuk aregi category-t: G::load($oldObject, $this->id, "appcategory"); $this->handleExpirationFieldsContraversy(); parent::modify($whereFields); // recursive esetben csak a wholeName valtoztatasarol van szo, // nincs attachment feltoltes, exp, vagy immediateAppear valtoztatas: if (!Roll::isFormInvalid()) { $this->storeAttachment(); $this->handleExpirationChanges($oldObject->expiration); $this->handleImmediateAppearChanges($oldObject->immediateAppear); CacheManager::resetCache($this->id); } }
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); }
function delete() { load($this); parent::delete(); if ($this->cache) { CacheManager::resetCache($this->id, TRUE, FALSE); } }