/**
  * @param EventNotificationTemplate $notificationTemplate
  * @param kEventScope $scope
  * @return boolean
  */
 protected function notificationTemplatesConditionsFulfilled(EventNotificationTemplate $notificationTemplate, kEventScope $scope)
 {
     $eventConditions = $notificationTemplate->getEventConditions();
     if (!$eventConditions || !count($eventConditions)) {
         return true;
     }
     foreach ($eventConditions as $eventCondition) {
         /* @var $eventCondition kCondition */
         if (!$eventCondition->fulfilled($scope)) {
             return false;
         }
     }
     return true;
 }
 public function fulfilled(kEventScope $scope)
 {
     if (!kCurrentContext::$serializeCallback) {
         return false;
     }
     if (!parent::fulfilled($scope)) {
         return false;
     }
     // check if queue exists
     $contentParameters = $this->getContentParameters();
     $queueKey = $this->getQueueKey($contentParameters, null, $scope);
     $queueProvider = QueueProvider::getInstance();
     if (!$queueProvider->exists($queueKey)) {
         KalturaLog::debug("Queue [{$queueKey}] doesn't exist.");
         return false;
     }
     return true;
 }
 protected function validate(EventNotificationTemplate $sourceObject = null)
 {
     $this->validatePropertyMinLength('systemName', 3, true);
     $id = null;
     if ($sourceObject) {
         $id = $sourceObject->getId();
     }
     if (trim($this->systemName) && !$this->isNull('systemName')) {
         $systemNameTemplates = EventNotificationTemplatePeer::retrieveBySystemName($this->systemName, $id);
         if (count($systemNameTemplates)) {
             throw new KalturaAPIException(KalturaEventNotificationErrors::EVENT_NOTIFICATION_TEMPLATE_DUPLICATE_SYSTEM_NAME, $this->systemName);
         }
     }
 }
 /**
  * @param EventNotificationTemplate $notificationTemplate
  * @param kEventScope $scope
  * @return boolean
  */
 protected function notificationTemplatesConditionsFulfilled(EventNotificationTemplate $notificationTemplate, kEventScope $scope)
 {
     KalturaLog::info("Checking conditions for notification templat ID [" . $notificationTemplate->getId() . "] and scope: " . print_r($scope, true));
     $eventConditions = $notificationTemplate->getEventConditions();
     if (!$eventConditions || !count($eventConditions)) {
         return true;
     }
     foreach ($eventConditions as $eventCondition) {
         /* @var $eventCondition kEventCondition */
         if (!$eventCondition->fulfilled($scope)) {
             KalturaLog::debug("Template [" . $notificationTemplate->getId() . "] condition not fulfilled");
             return false;
         }
     }
     return true;
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      EventNotificationTemplate $value A EventNotificationTemplate object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(EventNotificationTemplate $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      EventNotificationTemplate $value A EventNotificationTemplate object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(EventNotificationTemplate $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         if (isset(self::$instances[$key]) || count(self::$instances) < kConf::get('max_num_instances_in_pool')) {
             self::$instances[$key] = $obj;
             kMemoryManager::registerPeer('EventNotificationTemplatePeer');
         }
     }
 }
 public function postSave(PropelPDO $con = null)
 {
     if ($this->wasObjectSaved() && $this->setBody) {
         $key = $this->getSyncKey(self::FILE_SYNC_BODY);
         kFileSyncUtils::file_put_contents($key, $this->setBody);
         $this->cachedBody = $this->setBody;
         $this->setBody = null;
         kEventsManager::raiseEvent(new kObjectDataChangedEvent($this, $this->bodyPreviousVersion));
     }
     return parent::postSave($con);
 }