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); }
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; }