-implemented. Removed ability to specify time ranges for now, and defaulted to looking from now to 24 hours ahead. Being able to specify time ranges was removed, since we are not using bi-directional communication between pypofetch and Airtime server.
99 lines
3.3 KiB
PHP
99 lines
3.3 KiB
PHP
<?php
|
|
require_once '../../application/configs/conf.php';
|
|
require_once 'DB.php';
|
|
require_once '../../application/models/Playlist.php';
|
|
require_once '../../application/models/StoredFile.php';
|
|
require_once(__DIR__.'/../../library/propel/runtime/lib/Propel.php');
|
|
// Initialize Propel with the runtime configuration
|
|
Propel::init(__DIR__."/../../application/configs/propel-config.php");
|
|
// Add the generated 'classes' directory to the include path
|
|
set_include_path(__DIR__."/../../application/models" . PATH_SEPARATOR . get_include_path());
|
|
|
|
$dsn = $CC_CONFIG['dsn'];
|
|
|
|
$CC_DBC = DB::connect($dsn, TRUE);
|
|
if (PEAR::isError($CC_DBC)) {
|
|
echo "ERROR: ".$CC_DBC->getMessage()." ".$CC_DBC->getUserInfo()."\n";
|
|
exit(1);
|
|
}
|
|
$CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC);
|
|
|
|
|
|
$playlistName = "pypo_playlist_test";
|
|
$minutesFromNow = 1;
|
|
|
|
echo " ************************************************************** \n";
|
|
echo " This script schedules a playlist to play $minutesFromNow minute(s) from now.\n";
|
|
echo " This is a utility to help you debug the scheduler.\n";
|
|
echo " ************************************************************** \n";
|
|
echo "\n";
|
|
echo "Deleting playlists with the name '$playlistName'...";
|
|
// Delete any old playlists
|
|
$pl2 = Playlist::findPlaylistByName($playlistName);
|
|
foreach ($pl2 as $playlist) {
|
|
//var_dump($playlist);
|
|
$playlist->delete();
|
|
}
|
|
echo "done.\n";
|
|
|
|
// Create a new playlist
|
|
echo "Creating new playlist '$playlistName'...";
|
|
$pl = new Playlist();
|
|
$pl->create($playlistName);
|
|
|
|
|
|
$mediaFile = StoredFile::findByOriginalName("Peter_Rudenko_-_Opening.mp3");
|
|
if (is_null($mediaFile)) {
|
|
echo "Adding test audio clip to the database.\n";
|
|
$v = array("filepath" => __DIR__."/../../audio_samples/OpSound/Peter Rudenko - Opening.mp3");
|
|
$mediaFile = StoredFile::Insert($v);
|
|
if (PEAR::isError($mediaFile)) {
|
|
var_dump($mediaFile);
|
|
exit();
|
|
}
|
|
}
|
|
$pl->addAudioClip($mediaFile->getId());
|
|
echo "done.\n";
|
|
|
|
$mediaFile = StoredFile::findByOriginalName("Manolo Camp - Morning Coffee.mp3");
|
|
if (is_null($mediaFile)) {
|
|
echo "Adding test audio clip to the database.\n";
|
|
$v = array("filepath" => __DIR__."/../../audio_samples/OpSound/Manolo Camp - Morning Coffee.mp3");
|
|
$mediaFile = StoredFile::Insert($v);
|
|
if (PEAR::isError($mediaFile)) {
|
|
var_dump($mediaFile);
|
|
exit();
|
|
}
|
|
}
|
|
$pl->addAudioClip($mediaFile->getId());
|
|
echo "done.\n";
|
|
|
|
|
|
//$pl2 = Playlist::findPlaylistByName("pypo_playlist_test");
|
|
//var_dump($pl2);
|
|
|
|
// Get current time
|
|
// In the format YYYY-MM-DD HH:MM:SS.nnnnnn
|
|
$startTime = date("Y-m-d H:i:s");
|
|
$endTime = date("Y-m-d H:i:s", time()+(60*60));
|
|
|
|
echo "Removing everything from the scheduler between $startTime and $endTime...";
|
|
// Scheduler: remove any playlists for the next hour
|
|
//Schedule::RemoveItemsInRange($startTime, $endTime);
|
|
// Check for succcess
|
|
$scheduleClear = Schedule::isScheduleEmptyInRange($startTime, "01:00:00");
|
|
if (!$scheduleClear) {
|
|
echo "\nERROR: Schedule could not be cleared.\n\n";
|
|
var_dump(Schedule::GetItems($startTime, $endTime));
|
|
exit;
|
|
}
|
|
echo "done.\n";
|
|
|
|
// Schedule the playlist for two minutes from now
|
|
echo "Scheduling new playlist...\n";
|
|
//$playTime = date("Y-m-d H:i:s", time()+(60*$minutesFromNow));
|
|
$playTime = date("Y-m-d H:i:s", time()+(20*$minutesFromNow));
|
|
$scheduleGroup = new ScheduleGroup();
|
|
$scheduleGroup->add($playTime, null, $pl->getId());
|
|
|
|
echo " SUCCESS: Playlist scheduled at $playTime\n\n";
|