function del(Criteria $c) { $condition = $c->getCondition("categoryId"); $categoryId = $condition['value']; $childCategoriesIds = array_map(create_function('$category', 'return $category[\'categoryId\'];'), $this->getChilds($categoryId, true)); $parentIds = array_map(create_function('$category', 'return $category[\'categoryId\'];'), $this->getParents($categoryId)); //creating list of items to delete $c = new Criteria(); $c->add("categoryId", $childCategoriesIds, "IN"); $itemIds = $this->site->getArray($c, "siteId", false); //delete all categories and subcategoeis $c = new Criteria(); $c->add("categoryId", $childCategoriesIds, "IN"); parent::del($c); $this->extraFieldCategory->del($c); $c = new Criteria(); $c->add("childId", $childCategoriesIds, "IN"); $c->addOr("parentId", $childCategoriesIds, "IN"); $this->categoryParent->del($c); //deleting items foreach ($itemIds as $itemId) { $c = new Criteria(); $c->add("siteId", $itemId); $this->site->del($c, false); } $this->updateValidatedSitesCount($parentIds); Cacher::getInstance()->clean("tag", array("category", "site")); }
function del(Criteria $c) { $condition = $c->getCondition("adCriterionId"); $nc = new Criteria(); $nc->addCondition($condition); parent::del($c); Model::factoryInstance("ad")->del($nc); }
function del(Criteria $c, $updateStats = true) { $condition = $c->getCondition("siteId"); $nc = new Criteria(); $nc->addCondition($condition); parent::del($c); Model::factoryInstance("keywordsOfSite")->del($nc); Model::factoryInstance("comment")->del($nc, false); Model::factoryInstance("hit")->del($nc); $nc = new Criteria(); $condition['key'] = "itemId"; $nc->addCondition($condition); Model::factoryInstance("extraFieldValue")->del($nc); $photos = Model::factoryInstance("photo")->findAll($nc, "*", true); foreach ($photos as $photo) { $photo->del(false); } if ($updateStats) { $this->updateStats(); } }