/**
  * Add delivery based on existing delivery.
  * Must provide valid sourceDeliveryId
  *
  * @action clone
  * @param int $deliveryId
  * @return KalturaDeliveryProfile
  */
 function cloneAction($deliveryId)
 {
     $dbDelivery = DeliveryProfilePeer::retrieveByPK($deliveryId);
     if (!$dbDelivery) {
         throw new KalturaAPIException(APIErrors::DELIVERY_ID_NOT_FOUND, $deliveryId);
     }
     $className = get_class($dbDelivery);
     $class = new ReflectionClass($className);
     $dbKalturaDelivery = $class->newInstanceArgs(array());
     $dbKalturaDelivery = $dbDelivery->cloneToNew($dbKalturaDelivery);
     $delivery = KalturaDeliveryProfileFactory::getDeliveryProfileInstanceByType($dbKalturaDelivery->getType());
     $delivery->fromObject($dbKalturaDelivery, $this->getResponseProfile());
     return $delivery;
 }
Exemple #2
0
<?php

/**
 * This script is used to tokenize a url by a given delivery profile.
 */
require_once dirname(__FILE__) . '/../bootstrap.php';
if (count($argv) != 3) {
    die("Usage: php tokenizeUrl.php <delivery profile id> <url>");
}
$deliveryId = $argv[1];
$url = $argv[2];
$delivery = DeliveryProfilePeer::retrieveByPK($deliveryId);
if (!$delivery) {
    die("ERROR: Delivery profile id " . $deliveryId . " wasn't found");
}
$tokenizer = $delivery->getTokenizer();
if (!$tokenizer) {
    echo "Delivery profile has no tokenizer! \nUrl remains : {$url}";
} else {
    echo $tokenizer->tokenizeSingleUrl($url);
}