private function doGetServeIsmUrl(FileSync $fileSync, $partnerPath, StorageProfile $storage = null)
 {
     $serverUrl = $this->getUrl();
     if ($fileSync->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_FILE) {
         $path = $partnerPath;
         $path .= '/serveIsm/objectId/' . $fileSync->getObjectId() . '_' . $fileSync->getObjectSubType() . '_' . $fileSync->getVersion();
         $path .= '.' . pathinfo($fileSync->getFilePath(), PATHINFO_EXTENSION) . '/manifest';
     } else {
         if ($storage) {
             $serverUrl = $this->getUrl();
         }
         $path = '/' . $fileSync->getFilePath() . '/manifest';
     }
     $matches = null;
     if (preg_match('/(https?:\\/\\/[^\\/]+)(.*)/', $serverUrl, $matches)) {
         $path = $matches[2] . $path;
     }
     $path = str_replace('//', '/', $path);
     return $path;
 }
Ejemplo n.º 2
0
 private function deleteOldFileSyncVersions(FileSync $newFileSync)
 {
     KalturaLog::debug('Deleting old file_sync versions for [' . $newFileSync->getId() . ']');
     if (kConf::hasParam('num_of_old_file_sync_versions_to_keep')) {
         $keepCount = kConf::get('num_of_old_file_sync_versions_to_keep');
         if (!is_numeric($newFileSync->getVersion())) {
             return;
         }
         $intVersion = intval($newFileSync->getVersion());
         $c = new Criteria();
         $c->add(FileSyncPeer::OBJECT_ID, $newFileSync->getObjectId());
         $c->add(FileSyncPeer::OBJECT_TYPE, $newFileSync->getObjectType());
         $c->add(FileSyncPeer::OBJECT_SUB_TYPE, $newFileSync->getObjectSubType());
         $c->add(FileSyncPeer::STATUS, array(FileSync::FILE_SYNC_STATUS_PURGED, FileSync::FILE_SYNC_STATUS_DELETED), Criteria::NOT_IN);
         $c->setLimit(40);
         //we limit the number of files to delete in one run so there will be no out of memory issues
         $fileSyncs = FileSyncPeer::doSelect($c);
         foreach ($fileSyncs as $fileSync) {
             if (is_numeric($fileSync->getVersion())) {
                 $currentIntVersion = intval($fileSync->getVersion());
                 if ($intVersion - $keepCount > $currentIntVersion) {
                     $key = kFileSyncUtils::getKeyForFileSync($fileSync);
                     self::deleteSyncFileForKey($key);
                 }
             }
         }
     }
 }
 /**
  * Get the FileSyncKey object by its file sync object
  *
  * @param FileSync $fileSync
  * @return FileSyncKey
  */
 public static function getKeyForFileSync(FileSync $fileSync)
 {
     $key = new FileSyncKey();
     $key->object_type = $fileSync->getObjectType();
     $key->object_id = $fileSync->getObjectId();
     $key->version = $fileSync->getVersion();
     $key->object_sub_type = $fileSync->getObjectSubType();
     $key->partner_id = $fileSync->getPartnerId();
     return $key;
 }
Ejemplo n.º 4
0
 private static function conditionalAssetLocalFileSyncsDelete(FileSync $fileSync, asset $asset)
 {
     $unClosedStatuses = array(asset::ASSET_STATUS_QUEUED, asset::ASSET_STATUS_CONVERTING, asset::ASSET_STATUS_WAIT_FOR_CONVERT, asset::ASSET_STATUS_EXPORTING);
     $unClosedAssets = assetPeer::retrieveReadyByEntryId($asset->getEntryId(), null, $unClosedStatuses);
     if (count($unClosedAssets)) {
         $asset->setFileSyncVersionsToDelete(array($fileSync->getVersion()));
         $asset->save();
         return;
     }
     $assetsToDelete = assetPeer::retrieveReadyByEntryId($asset->getEntryId());
     self::deleteAssetLocalFileSyncsByAssetArray($assetsToDelete);
     self::deleteAssetLocalFileSyncs($fileSync->getVersion(), $asset);
 }