Example #1
0
 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"));
 }
Example #2
0
 function del(Criteria $c)
 {
     $condition = $c->getCondition("adCriterionId");
     $nc = new Criteria();
     $nc->addCondition($condition);
     parent::del($c);
     Model::factoryInstance("ad")->del($nc);
 }
Example #3
0
 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();
     }
 }