Merge branch 'master' of dev.sourcefabric.org:campcaster

This commit is contained in:
naomiaro 2010-09-27 10:50:21 -04:00
commit 32368e794c
12 changed files with 124 additions and 127 deletions

View File

@ -771,8 +771,8 @@ $ui_fmask = array(
'label' => 'Time',
'options' => array('format' => 'His'),
),
'gunid_duration' => array(
'element' => 'gunid_duration',
'id_duration' => array(
'element' => 'id_duration',
'type' => 'select',
'label' => 'Playlist',
'required' => TRUE,

View File

@ -153,6 +153,7 @@ if (isset($_REQUEST['popup']) && is_array($_REQUEST['popup'])){
break;
case "SCHEDULER.addItem":
$uiHandler->SCHEDULER->setScheduleAtTime($_REQUEST);
$Smarty->display('popup/SCHEDULER.addItem.tpl');
break;

View File

@ -1,5 +1,7 @@
<?php
require_once(dirname(__FILE__).'/../ui_handler_init.php');
require_once(dirname(__FILE__).'/../ui_browser_init.php');
ob_start();
require_once("../Input.php");
if (isset($WHITE_SCREEN_OF_DEATH) && ($WHITE_SCREEN_OF_DEATH == TRUE)) {
@ -405,7 +407,10 @@ switch ($_REQUEST['act']) {
case "SCHEDULER.set":
$uiHandler->SCHEDULER->set($_REQUEST);
$uiHandler->SCHEDULER->setReload();
//$uiHandler->SCHEDULER->setReload();
$NO_REDIRECT = true;
$_REQUEST["act"] = "SCHEDULER";
include("ui_browser.php");
break;
case "SCHEDULER.setScheduleAtTime":
@ -414,9 +419,16 @@ switch ($_REQUEST['act']) {
break;
case "SCHEDULER.addItem":
$uiHandler->SCHEDULER->uploadPlaylistMethod($_REQUEST);
$uiHandler->SCHEDULER->setReload();
break;
$groupId = $uiHandler->SCHEDULER->addItem($_REQUEST);
if (PEAR::isError($groupId) && $groupId->getCode() == 555) {
$Smarty->assign("USER_ERROR", "Scheduling conflict.");
}
//$uiHandler->SCHEDULER->setReload();
$NO_REDIRECT = true;
$_REQUEST["act"] = "SCHEDULER";
include("ui_browser.php");
break;
case "SCHEDULER.removeItem":
$uiHandler->SCHEDULER->removeFromScheduleMethod($_REQUEST['scheduleId']);

View File

@ -0,0 +1,60 @@
<?php
# NOTE: You have to load all classes that use session variables BEFORE you make a call to session_start()!!!
session_start();
// initialize objects ###############################################
$Smarty = new Smarty;
$uiBrowser = new uiBrowser($CC_CONFIG);
$uiBrowser->init();
$uiHandler = new uiHandler($CC_CONFIG);
$uiHandler->init();
$uiBase =& $uiHandler;
$uiBase =& $uiBrowser;
$jscom = new jscom(array("jscom_wrapper"));
$jscom->handler();
// load Smarty+filters ##############################################
require_once(dirname(__FILE__).'/ui_smartyExtensions.inc.php');
//$Smarty->load_filter('output', 'trimwhitespace');
//$Smarty->load_filter('post', 'template_marker');
$Smarty->load_filter('output', 'localizer');
// some basic things ################################################
foreach (get_defined_constants() as $k=>$v) {
$Smarty->assign($k, $v);
}
if (isset($_SESSION["USER_ERROR"])) {
$Smarty->assign('USER_ERROR', $_SESSION["USER_ERROR"]);
unset($_SESSION["USER_ERROR"]);
}
$Smarty->assign('ACT', isset($_REQUEST['act'])?$_REQUEST['act']:null);
$Smarty->assign('CONFIG', $CC_CONFIG);
$Smarty->assign('START', array(
'id' => &$uiBrowser->id,
//'pid' => &$uiBrowser->pid,
//'fid' => &$uiBrowser->fid,
'sessid' => &$uiBrowser->sessid)
);
$Smarty->assign('USER', array(
'sessid' => &$uiBrowser->sessid,
'userid' => &$uiBrowser->userid,
'login' => &$uiBrowser->login)
);
$uiBrowser->loadStationPrefs($ui_fmask['stationPrefs']);
$Smarty->assign('STATIONPREFS', $uiBrowser->STATIONPREFS);
$Smarty->assign_by_ref('_REQUEST', $_REQUEST);
$Smarty->assign_by_ref('_SESSION', $_SESSION);
// retransfer incomplete formdata from SESSION to POST-data #########
if (isset($_SESSION['retransferFormData']) && is_array($_SESSION['retransferFormData'])) {
foreach($_SESSION['retransferFormData'] as $k=>$v){
$_POST[$k] = $v;
}
unset($_SESSION['retransferFormData']);
}
?>

View File

@ -49,10 +49,10 @@ if (window.attachEvent) window.attachEvent("onload", sfHover);
</li>
<li class="nav-main"><a href="{$UI_BROWSER}?act=SCHEDULER">##Scheduler##</a>
<ul>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=month&target=SCHEDULER">##Month##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=week&target=SCHEDULER">##Week##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=day&target=SCHEDULER">##Day##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1&target=SCHEDULER">##Today##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=day&target=SCHEDULER">##Day##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=week&target=SCHEDULER">##Week##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=month&target=SCHEDULER">##Month##</a></li>
{* if Alib::CheckPerm($SUBJECTS->Base->userid, 'schedulerStatus') *}
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=status&target=SCHEDULER">##Status##</a></li>
{* /if *}

View File

@ -25,8 +25,12 @@
{literal}
function SCHEDULE_submit()
{
document.forms["schedule"].elements["playlist"].value = SCHEDULE_selectedGunid();
document.forms["schedule"].elements["playlist"].value = SCHEDULE_selectedId();
document.forms["schedule"].submit();
if (window.opener && !window.opener.closed) {
window.opener.location.reload();
}
window.close();
}
function SCHEDULE_snap2Hour()
@ -110,7 +114,7 @@ function SCHEDULE_selectedDuration()
return arr[1].slice(0, 8);
}
function SCHEDULE_selectedGunid()
function SCHEDULE_selectedId()
{
var arr = document.forms["schedule"].elements["id_duration"].value.split("|");
return arr[0];

View File

@ -8,18 +8,18 @@
<!-- start navigation tabs -->
<div id="tabnavsmall">
<ul>
<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day')">##Day##</a></li>
<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=week')">##Week##</a></li>
<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=month')">##Month##</a></li>
<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1')">##Today##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1">##Today##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=day">##Day##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=week">##Week##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=month">##Month##</a></li>
{* if Alib::CheckPerm($SUBJECTS->Base->userid, 'schedulerStatus') *}
<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=status'); location.href='{$UI_BROWSER}?act=SCHEDULER'">##Status##</a></li>
<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=status">##Status##</a></li>
{* /if *}
{* if $SUBJECTS->isMemberOf('Backup') *}
{*<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=export'); location.href='{$UI_BROWSER}?act=SCHEDULER'">##Export##</a></li>*}
{*<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=export">##Export##</a></li>*}
{* /if *}
{* if $SUBJECTS->isMemberOf('Restore') *}
{*<li><a href="javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=import'); location.href='{$UI_BROWSER}?act=SCHEDULER'">##Import##</a></li>*}
{*<li><a href="{$UI_HANDLER}?act=SCHEDULER.set&view=import">##Import##</a></li>*}
{* /if *}
</ul>
</div>

View File

@ -33,11 +33,11 @@ function contextmenu(param) {
case "PL.addItem":
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=PL.addItem&id="+param+"')\" "+oF+">&nbsp;##Add to playlist##&nbsp;</a></li>";
break;
case "PL.addStream":
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.setItemPlaylengthForm&id="+param+"', 'PL.setStreamPlaylength', 400, 50)\" "+oF+">&nbsp;##Add to playlist##&nbsp;</a></li>";
break;
case "PL.setCliplength":
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=PL.setClipLength&elemId="+param+"', 'PL.setClipLength', 400, 50)\" "+oF+">&nbsp;##Set clip length##&nbsp;</a></li>";
break;
@ -95,7 +95,8 @@ function contextmenu(param) {
break;
case "SCHEDULER.addItem":
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&"+param+"'); popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem', 'Schedule', 420, 200)\" "+oF+">&nbsp;##Insert playlist here##&nbsp;</a></li>";
//contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&"+param+"'); popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem', 'Schedule', 420, 200)\" "+oF+">&nbsp;##Insert playlist here##&nbsp;</a></li>";
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem&"+param+"', 'Schedule', 420, 200)\" "+oF+">&nbsp;##Insert playlist here##&nbsp;</a></li>";
break;
case "SCHEDULER.removeItem":
@ -103,11 +104,16 @@ function contextmenu(param) {
break;
case "SCHEDULER.addPL":
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1');"+
"hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&today=1&hour=0&minute=0');"+
"location.href='ui_browser.php?act=SCHEDULER';"+
contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: "+
// "hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&today=1&hour=0&minute=0');"+
"location.href='{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1';"+
"popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem&playlistId="+param+"', 'Schedule', 420, 200)\" "+oF+
">&nbsp;##Schedule##&nbsp;</a></li>";
// contextmenuHtml = contextmenuHtml + "<li><a class='contextmenu' href=\"javascript: hpopup('{$UI_HANDLER}?act=SCHEDULER.set&view=day&today=1');"+
// "hpopup('{$UI_HANDLER}?act=SCHEDULER.setScheduleAtTime&today=1&hour=0&minute=0');"+
// "location.href='ui_browser.php?act=SCHEDULER';"+
// "popup('{$UI_BROWSER}?popup[]=SCHEDULER.addItem&playlistId="+param+"', 'Schedule', 420, 200)\" "+oF+
// ">&nbsp;##Schedule##&nbsp;</a></li>";
break;
case "SUBJECTS.chgPasswd":

View File

@ -22,62 +22,9 @@ require_once(dirname(__FILE__).'/ui_transfers.class.php');
require_once(dirname(__FILE__).'/ui_calendar.class.php');
require_once(dirname(__FILE__).'/ui_jscom.php');
require_once(dirname(__FILE__).'/ui_twitter.class.php');
require_once(dirname(__FILE__).'/init_load_once.php');
if (isset($WHITE_SCREEN_OF_DEATH) && ($WHITE_SCREEN_OF_DEATH == TRUE)) {
echo __FILE__.':line '.__LINE__.": All includes loaded<br>";
}
# NOTE: You have to load all classes that use session variables BEFORE you make a call to session_start()!!!
session_start();
// initialize objects ###############################################
$Smarty = new Smarty;
$uiBrowser = new uiBrowser($CC_CONFIG);
$uiBrowser->init();
$uiBase =& $uiBrowser;
$jscom = new jscom(array("jscom_wrapper"));
$jscom->handler();
// load Smarty+filters ##############################################
require_once(dirname(__FILE__).'/ui_smartyExtensions.inc.php');
//$Smarty->load_filter('output', 'trimwhitespace');
//$Smarty->load_filter('post', 'template_marker');
$Smarty->load_filter('output', 'localizer');
// some basic things ################################################
foreach (get_defined_constants() as $k=>$v) {
$Smarty->assign($k, $v);
}
$Smarty->assign('ACT', isset($_REQUEST['act'])?$_REQUEST['act']:null);
$Smarty->assign('CONFIG', $CC_CONFIG);
$Smarty->assign('START', array(
'id' => &$uiBrowser->id,
//'pid' => &$uiBrowser->pid,
//'fid' => &$uiBrowser->fid,
'sessid' => &$uiBrowser->sessid)
);
$Smarty->assign('USER', array(
'sessid' => &$uiBrowser->sessid,
'userid' => &$uiBrowser->userid,
'login' => &$uiBrowser->login)
);
$uiBrowser->loadStationPrefs($ui_fmask['stationPrefs']);
$Smarty->assign('STATIONPREFS', $uiBrowser->STATIONPREFS);
$Smarty->assign_by_ref('_REQUEST', $_REQUEST);
$Smarty->assign_by_ref('_SESSION', $_SESSION);
// retransfer incomplete formdata from SESSION to POST-data #########
if (isset($_SESSION['retransferFormData']) && is_array($_SESSION['retransferFormData'])) {
foreach($_SESSION['retransferFormData'] as $k=>$v){
$_POST[$k] = $v;
}
unset($_SESSION['retransferFormData']);
}
if (isset($WHITE_SCREEN_OF_DEATH) && ($WHITE_SCREEN_OF_DEATH == TRUE)) {
echo __FILE__.':line '.__LINE__.": end of file<br>";
}
?>

View File

@ -1,30 +0,0 @@
<?php
header("Content-type: text/html; charset=utf-8");
require_once(dirname(__FILE__).'/ui_conf.php');
require_once(dirname(__FILE__).'/ui_handler.class.php');
require_once(dirname(__FILE__).'/ui_scratchpad.class.php');
require_once(dirname(__FILE__).'/ui_search.class.php');
require_once(dirname(__FILE__).'/ui_browse.class.php');
require_once(dirname(__FILE__).'/ui_hubBrowse.class.php');
require_once(dirname(__FILE__).'/ui_hubSearch.class.php');
require_once(dirname(__FILE__).'/ui_playlist.class.php');
require_once(dirname(__FILE__).'/ui_scheduler.class.php');
require_once(dirname(__FILE__).'/ui_subjects.class.php');
require_once(dirname(__FILE__).'/ui_exchange.class.php');
require_once(dirname(__FILE__).'/ui_transfers.class.php');
require_once(dirname(__FILE__).'/ui_calendar.class.php');
require_once(dirname(__FILE__).'/ui_jscom.php');
require_once(dirname(__FILE__).'/ui_twitter.class.php');
require_once(dirname(__FILE__).'/ui_twitter.class.php');
# NOTE: You have to load all classes that use session variables BEFORE you make a call to session_start()!!!
session_start();
$uiHandler = new uiHandler($CC_CONFIG);
$uiHandler->init();
$uiBase =& $uiHandler;
//include("../templates/loader/index.tpl");
ob_start();
?>

View File

@ -1032,11 +1032,11 @@ class uiScheduler extends uiCalendar {
/**
* Upload a playlist to the scheduler.
* Add an item to the scheduler.
*
* @param array $formdata
* Must have the following keys set:
* ['playlist'] -> gunid of playlist
* ['playlist'] -> id of playlist
* ['date']['Y'] - Year
* ['date']['m'] - month
* ['date']['d'] - day
@ -1044,12 +1044,12 @@ class uiScheduler extends uiCalendar {
* ['date']['i'] - minute
* ['date']['s'] - second
*
* @return boolean
* TRUE on success, FALSE on failure.
* @return int|PEAR_Error
*
*/
function uploadPlaylistMethod(&$formdata)
function addItem(&$formdata)
{
$gunid = $formdata['playlist'];
$playlistId = $formdata['playlist'];
$datetime = $formdata['date']['Y']
.'-'
.sprintf('%02d', $formdata['date']['m'])
@ -1060,15 +1060,10 @@ class uiScheduler extends uiCalendar {
.':'.sprintf('%02d', $formdata['time']['s']);
$item = new ScheduleGroup();
$groupId = $item->add($datetime, null, $gunid);
$groupId = $item->add($datetime, null, $playlistId);
//$_SESSION["debug"] = $groupId;
return is_numeric($groupId);
// $r = $this->spc->UploadPlaylistMethod($this->Base->sessid, $gunid, $datetime);
// if ($this->_isError($r)) {
// return FALSE;
// }
// return TRUE;
} // fn uploadPlaylistMethod
return $groupId;
}
/**

View File

@ -57,6 +57,7 @@ class ScheduleGroup {
*
* @return int|PEAR_Error
* Return PEAR_Error if the item could not be added.
* Error code 555 is a scheduling conflict.
*/
public function add($p_datetime, $p_audioFileId = null, $p_playlistId = null, $p_options = null) {
global $CC_CONFIG, $CC_DBC;
@ -76,7 +77,7 @@ class ScheduleGroup {
return new PEAR_Error("Length is empty.");
}
if (!Schedule::isScheduleEmptyInRange($p_datetime, $length)) {
return new PEAR_Error("Schedule conflict.");
return new PEAR_Error("Schedule conflict.", 555);
}
// Insert into the table
@ -110,7 +111,7 @@ class ScheduleGroup {
return new PEAR_Error("Length is empty.");
}
if (!Schedule::isScheduleEmptyInRange($p_datetime, $length)) {
return new PEAR_Error("Schedule conflict.");
return new PEAR_Error("Schedule conflict.", 555);
}
// Insert all items into the schedule
@ -219,8 +220,9 @@ class Schedule {
return new PEAR_Error("Schedule::isSchedulerEmptyInRange: param p_length is empty.");
}
$sql = "SELECT COUNT(*) FROM ".$CC_CONFIG["scheduleTable"]
." WHERE (starts <= '$p_datetime') "
." AND (ends >= (TIMESTAMP '$p_datetime' + INTERVAL '$p_length'))";
." WHERE (starts >= '$p_datetime') "
." AND (ends <= (TIMESTAMP '$p_datetime' + INTERVAL '$p_length'))";
//$_SESSION["debug"] = $sql;
$count = $CC_DBC->GetOne($sql);
return ($count == '0');
}