public function addIndexCategoryInheritedTreeJob($fullIdsStartsWithCategoryId) { $featureStatusToRemoveIndex = new kFeatureStatus(); $featureStatusToRemoveIndex->setType(IndexObjectType::CATEGORY); $featureStatusesToRemove = array(); $featureStatusesToRemove[] = $featureStatusToRemoveIndex; $filter = new categoryFilter(); $filter->setFullIdsStartsWith($fullIdsStartsWithCategoryId); $filter->setInheritanceTypeEqual(InheritanceType::INHERIT); $c = KalturaCriteria::create(categoryPeer::OM_CLASS); $filter->attachToCriteria($c); KalturaCriterion::disableTag(KalturaCriterion::TAG_ENTITLEMENT_CATEGORY); $categories = categoryPeer::doSelect($c); KalturaCriterion::restoreTag(KalturaCriterion::TAG_ENTITLEMENT_CATEGORY); if (count($categories)) { kJobsManager::addIndexJob($this->getPartnerId(), IndexObjectType::CATEGORY, $filter, true, $featureStatusesToRemove); } }
protected function addIndexCategoryJob($fullIdsStartsWithCategoryId, $categoriesIdsIn, $lock = false) { $jobSubType = IndexObjectType::CATEGORY; if ($lock) { $jobSubType = IndexObjectType::LOCK_CATEGORY; $featureStatusToRemoveIndex = new kFeatureStatus(); $featureStatusToRemoveIndex->setType(IndexObjectType::LOCK_CATEGORY); } else { $featureStatusToRemoveIndex = new kFeatureStatus(); $featureStatusToRemoveIndex->setType(IndexObjectType::CATEGORY); } $featureStatusesToRemove = array(); $featureStatusesToRemove[] = $featureStatusToRemoveIndex; $filter = new categoryFilter(); $filter->setFullIdsStartsWith($fullIdsStartsWithCategoryId); $filter->setIdIn($categoriesIdsIn); $c = KalturaCriteria::create(categoryPeer::OM_CLASS); $filter->attachToCriteria($c); KalturaCriterion::disableTag(KalturaCriterion::TAG_ENTITLEMENT_CATEGORY); categoryPeer::doSelect($c); KalturaCriterion::restoreTag(KalturaCriterion::TAG_ENTITLEMENT_CATEGORY); if ($c->getRecordsCount() > 0) { kJobsManager::addIndexJob($this->getPartnerId(), $jobSubType, $filter, true, $featureStatusesToRemove); } }