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);
     }
 }
Пример #2
0
 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);
     }
 }