Exemplo n.º 1
0
 public function objectChanged(BaseObject $object, array $modifiedColumns)
 {
     $customData = $object->getCustomDataOldValues();
     $updatedServers = array();
     if (array_key_exists('mediaServers', $customData)) {
         $updatedServers = array_keys($customData['mediaServers']);
     }
     $mediaServersInfo = $object->getMediaServers();
     if (empty($mediaServersInfo)) {
         $currentMediaServers = array();
     } else {
         $currentMediaServers = array_keys($mediaServersInfo);
     }
     // If currently only one is set, and that's the one that was just changed
     $updatedMediaServers = array_intersect($updatedServers, $currentMediaServers);
     if (count($currentMediaServers) == 1 && count($updatedMediaServers) == 1) {
         // This hack was made to avoid cases in which someone updates the media server.
         $updatedMediaServer = $updatedMediaServers[0];
         $oldHost = $customData['mediaServers'][$updatedMediaServer];
         if (is_null($oldHost)) {
             $this->addEventCuePoint($object, EventType::BROADCAST_START);
         }
     }
     // If currently no one is set
     if (count($currentMediaServers) == 0) {
         $this->addEventCuePoint($object, EventType::BROADCAST_END);
     }
     return true;
 }
Exemplo n.º 2
0
 public static function isPostProcessCuePointsEvent(BaseObject $object, array $modifiedColumns)
 {
     if ($object instanceof LiveEntry && $object->getRecordStatus() == RecordStatus::DISABLED && !$object->hasMediaServer()) {
         // checking if the live-entry media-server was just unregistered
         $customDataOldValues = $object->getCustomDataOldValues();
         if (isset($customDataOldValues[LiveEntry::CUSTOM_DATA_NAMESPACE_MEDIA_SERVERS])) {
             return true;
         }
     }
     return false;
 }