function deleteObject(FileSync $fileSync)
{
    $object = kFileSyncUtils::retrieveObjectForFileSync($fileSync);
    $key = $object->getSyncKey($fileSync->getObjectSubType());
    if ($key->version != $fileSync->getVersion()) {
        return;
    }
    switch ($fileSync->getObjectType()) {
        case FileSyncObjectType::UICONF:
            $object->setStatus(uiConf::UI_CONF_STATUS_DELETED);
            $object->save();
            break;
        case FileSyncObjectType::ENTRY:
            myEntryUtils::deleteEntry($object);
            try {
                $wrapper = objectWrapperBase::getWrapperClass($object);
                $wrapper->removeFromCache("entry", $object->getId());
            } catch (Exception $e) {
                KalturaLog::err($e);
            }
            break;
        case FileSyncObjectType::ASSET:
            $object->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_DELETED);
            $object->setDeletedAt(time());
            $object->save();
            break;
        case FileSyncObjectType::METADATA:
            $object->setStatus(Metadata::STATUS_DELETED);
            $object->save();
            break;
        default:
            return;
    }
    if ($fileSync->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_LINK) {
        return;
    }
    $criteria = new Criteria();
    $criteria->add(FileSyncPeer::DC, $fileSync->getDc());
    $criteria->add(FileSyncPeer::FILE_TYPE, FileSync::FILE_SYNC_FILE_TYPE_LINK);
    $criteria->add(FileSyncPeer::LINKED_ID, $fileSync->getId());
    $links = FileSyncPeer::doSelect($criteria);
    foreach ($links as $link) {
        deleteObject($link);
    }
}
 /**
  * Creates instance of class and initializes properties
  * @param string $type
  * @param string $filePath
  * @param KSchedularTaskConfig $taskConfig
  */
 public function __construct($type, $filePath, KSchedularTaskConfig $taskConfig, KalturaBatchJob $job, $wamsAssetId)
 {
     $this->wamsAssetId = $wamsAssetId;
     $this->filePath = $filePath;
     $this->mediaInfoParser = parent::getParser($type, $filePath, $taskConfig, $job);
     $this->partnerId = $job->partnerId;
     DbManager::setConfig(kConf::getDB());
     DbManager::initialize();
     $fileSync = FileSyncPeer::retrieveByWamsAssetId($this->wamsAssetId);
     if ($fileSync) {
         $flavorAsset = kFileSyncUtils::retrieveObjectForFileSync($fileSync);
         if ($flavorAsset instanceof asset) {
             $this->originalMediaInfo = mediaInfoPeer::retrieveOriginalByEntryId($flavorAsset->getEntryId());
             $entry = $flavorAsset->getentry();
             if ($entry) {
                 $this->mediaType = $entry->getMediaType();
             }
         }
     }
 }
 private function getEntryName($assetId)
 {
     $fileSync = FileSyncPeer::retrieveByWamsAssetId($assetId);
     if (!$fileSync) {
         return null;
     }
     $asset = kFileSyncUtils::retrieveObjectForFileSync($fileSync);
     if (!$asset) {
         return null;
     }
     $entry = $asset->getentry();
     if (!$entry) {
         return null;
     }
     $replacedId = $entry->getReplacedEntryId();
     if (!empty($replacedId)) {
         $entry = entryPeer::retrieveByPK($replacedId);
     }
     return $entry->getName();
 }
 /**
  * @param BaseObject $object
  */
 public function fileSyncCreated(FileSync $fileSync)
 {
     $object = kFileSyncUtils::retrieveObjectForFileSync($fileSync);
     if (!$object || !$object instanceof ISyncableFile) {
         KalturaLog::info("Not instance of ISyncableFile");
         return;
     }
     $auditTrail = self::createAuditTrail($object, AuditTrail::AUDIT_TRAIL_ACTION_FILE_SYNC_CREATED);
     if (!$auditTrail) {
         KalturaLog::info("No audit created");
         return;
     }
     $data = new kAuditTrailFileSyncCreateInfo();
     $data->setVersion($fileSync->getVersion());
     $data->setObjectSubType($fileSync->getObjectSubType());
     $data->setDc($fileSync->getDc());
     $data->setOriginal($fileSync->getOriginal());
     $data->setFileType($fileSync->getFileType());
     $auditTrail->setData($data);
     $auditTrail->save();
 }