Пример #1
0
 /**
  * Action goes over all tags with instanceCount==0 and checks whether they need to be removed from the DB. Returns number of removed tags.
  * @action deletePending
  * @return int
  */
 public function deletePendingAction()
 {
     TagPeer::setUseCriteriaFilter(false);
     $c = KalturaCriteria::create(TagPeer::OM_CLASS);
     $filter = new TagFilter();
     $filter->set('_eq_instance_count', 0);
     $filter->attachToCriteria($c);
     $c->applyFilters();
     $count = $c->getRecordsCount();
     if (!$count) {
         KalturaLog::info('No tags pending for deletion.');
         return 0;
     }
     $deletedTags = 0;
     $tagsForDelete = TagPeer::doSelect($c);
     TagPeer::setUseCriteriaFilter(true);
     foreach ($tagsForDelete as $tag) {
         /* @var $tag Tag */
         switch ($tag->getObjectType()) {
             case taggedObjectType::ENTRY:
                 $deletedTags += $this->resolveEntryTag($tag);
                 break;
             case taggedObjectType::CATEGORY:
                 $deletedTags += $this->resolveCategoryTag($tag);
                 break;
         }
     }
     return $deletedTags;
 }
Пример #2
0
<?php

chdir(dirname(__FILE__));
require_once __DIR__ . '/../../bootstrap.php';
$c = KalturaCriteria::create(TagPeer::OM_CLASS);
$filter = new TagFilter();
$filter->set('_eq_instance_count', 0);
$filter->attachToCriteria($c);
$count = $c->getRecordsCount();
if (!$count) {
    die('No tags pending for deletion.');
}
TagPeer::setUseCriteriaFilter(false);
$tagsForDelete = TagPeer::doSelect($c);
TagPeer::setUseCriteriaFilter(true);
foreach ($tagsForDelete as $tag) {
    /* @var $tag Tag */
    switch ($tag->getObjectType()) {
        case taggedObjectType::ENTRY:
            resolveEntryTag($tag);
            break;
        case taggedObjectType::CATEGORY:
            resolveCategoryTag($tag);
            break;
    }
}
function resolveEntryTag(Tag $tag)
{
    $c = KalturaCriteria::create(entryPeer::OM_CLASS);
    $c->add(entryPeer::PARTNER_ID, $tag->getPartnerId());
    if ($tag->getPrivacyContext() != kTagFlowManager::NULL_PC) {