예제 #1
0
function addMedia($data)
{
    global $kalturaUploadsUser, $kalturaUploadsPassword;
    $tags = $data['tags'];
    $tags = json_decode($tags, true);
    $userID = $tags['userid'];
    $serverVersion = $tags['version'];
    writeToLog("tags: {$tags}\n");
    writeToLog("userID: {$userID}\n");
    writeToLog("serverVersion: {$serverVersion}\n");
    //writeToLog(print_r($data, true));
    // TODO: read this in from a config file
    $link = mysql_connect('localhost', $kalturaUploadsUser, $kalturaUploadsPassword);
    //if (!$link) die('Not connected : ' . mysql_error());
    if (!$link) {
        writeToLog('Not connected : ' . mysql_error());
    }
    if ("clas_demo_server" == $serverVersion) {
        $db = "dev_annotation_tool";
    } elseif ("clas_prod_server" == $serverVersion) {
        $db = "annotation_tool";
    } elseif ("clas_prod2_server" == $serverVersion) {
        // TODO: switch name when music finishes using OVAL
        $db = "prod_annotation_tool";
        // ("clas_demo_server" == $tags)
    } else {
    }
    $db_selected = mysql_select_db($db, $link);
    //if (!$db_selected) die ("Can't use $db: " . mysql_error(); writeToLog("\nCan't use $db: " . mysql_error()););
    writeToLog("u:{$kalturaUploadsUser} p:{$kalturaUploadsPassword}\n");
    if (!$db_selected) {
        writeToLog("\nCan't use {$db}: " . mysql_error());
    }
    // get description, it's not available in notification
    $kclient = startKalturaSession();
    $result = $kclient->media->get($data['entry_id'], null);
    $arrayObj = new ArrayObject($result);
    $description = $arrayObj['description'];
    $duration = $data['length_in_msecs'] / 1000;
    $query = "INSERT INTO media VALUES ('{$data['entry_id']}', '{$userID}', '{$data['name']}', '{$description}', {$duration}, '{$data['thumbnail_url']}', 0, 0, NULL)";
    writeToLog("insertIntoDatabase() query: {$query}\n");
    $result = mysql_query($query, $link);
    //if (!$result) die('Invalid query (insertIntoDatabase): ' . mysql_error(); writeToLog("Invalid query"););
    if (!$result) {
        writeToLog("Invalid query");
    }
    mysql_close($link);
}
예제 #2
0
function getFlavorsFromKMC($entryID)
{
    $kclient = startKalturaSession();
    try {
        $flavors = $kclient->flavorAsset->getByEntryId($entryID);
    } catch (Exception $e) {
        return null;
    }
    $data = null;
    // TODO: get ALL the flavor info! The database speed hit is worth it
    // for the more metadata that can be used for filtering / playback optimization
    // writeToLog("print flavors:\n\n");
    foreach ($flavors as $flavor) {
        // convert KalturaFlavorAsset Object to array
        $flavor = new ArrayObject($flavor);
        //writeToLog(print_r($flavor, true));
        //writeToLog("\n\n");
        $flavorID = $flavor['id'];
        $codecID = $flavor['videoCodecId'];
        $fileExt = $flavor['fileExt'];
        $status = $flavor['status'];
        if ($status > 0 && $codecID != "") {
            $data[] = array('flavor_id' => $flavorID, 'codec_id' => $codecID, 'file_ext' => $fileExt);
        }
    }
    // DEBUG:
    // die;
    return $data;
}