本文整理匯總了PHP中Schedule::findScheduled方法的典型用法代碼示例。如果您正苦於以下問題:PHP Schedule::findScheduled方法的具體用法?PHP Schedule::findScheduled怎麽用?PHP Schedule::findScheduled使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Schedule
的用法示例。
在下文中一共展示了Schedule::findScheduled方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: setting
if (!isset($schedule->startoffset)) {
$schedule->startoffset = setting('DefaultStartOffset');
}
if (!isset($schedule->endoffset)) {
$schedule->endoffset = setting('DefaultEndOffset');
}
}
// Load the channel
if ($program) {
$channel =& $program->channel;
} else {
$channel =& Channel::find($schedule->chanid);
}
// Parse the list of scheduled recordings for possible conflicts
$conflicting_shows = array();
foreach (Schedule::findScheduled() as $callsign => $shows) {
// Now the shows in this channel
foreach ($shows as $starttime => &$show_group) {
// Clearly not a match
if ($starttime > $program->endtime) {
continue;
}
// Parse each show group
foreach ($show_group as $key => &$show) {
// Ignore this show
if ($show->chanid == $program->chanid && $show->starttime == $program->starttime) {
continue;
}
// Make sure this is a valid show (ie. skip in-progress recordings and other junk)
if (!$callsign || $show->length < 1) {
continue;
示例2: array
/**
* loads all program data for the specified time range.
* Set $single_program to true if you only want information about programs that
* start exactly at $start_time (used by program_detail.php)
/**/
function &load_all_program_data($start_time, $end_time, $chanid = false, $single_program = false, $extra_query = '', $distinctTitle = false)
{
global $db;
// Don't allow negative timestamps; it confuses MySQL
if ($start_time < 0) {
$start_time = 0;
}
if ($end_time < 0) {
$end_time = 0;
}
// Make a local hash of channel chanid's with references to the actual
// channel data (Channels are not indexed by anything in particular, so
// that the user can sort by chanid or channum).
$channel_hash = array();
// An array (that later gets converted to a string) containing the id's of channels we want to load
if ($chanid) {
$these_channels[] = $chanid;
} else {
$these_channels = Channel::getChannelList();
}
// convert $these_channels into a string so it'll go straight into the query
if (!count($these_channels)) {
trigger_error("load_all_program_data() attempted with out any channels", FATAL);
}
$these_channels = implode(',', $these_channels);
// Build the sql query, and execute it
$query = 'SELECT program.*,
UNIX_TIMESTAMP(program.starttime) AS starttime_unix,
UNIX_TIMESTAMP(program.endtime) AS endtime_unix,
IFNULL(programrating.system, "") AS rater,
IFNULL(programrating.rating, "") AS rating,
channel.callsign,
channel.channum
FROM program USE INDEX (id_start_end)
LEFT JOIN programrating USING (chanid, starttime)
LEFT JOIN channel ON program.chanid = channel.chanid
LEFT JOIN credits ON (program.chanid = credits.chanid AND program.starttime = credits.starttime)
LEFT JOIN people ON (credits.person = people.person)
WHERE';
// Only loading a single channel worth of information
if ($chanid > 0) {
$query .= ' program.chanid=' . $db->escape($chanid);
} else {
$query .= ' program.chanid IN (' . $these_channels . ')';
}
// Requested start time is the same as the end time - don't bother with fancy calculations
if ($start_time == $end_time) {
$query .= ' AND program.starttime = FROM_UNIXTIME(' . $db->escape($start_time) . ')';
} else {
$query .= ' AND (program.endtime > FROM_UNIXTIME(' . $db->escape($start_time) . ')' . ' AND program.starttime < FROM_UNIXTIME(' . $db->escape($end_time) . ')' . ' AND program.starttime != program.endtime)';
}
// The extra query, if there is one
if ($extra_query) {
$query .= ' AND ' . $extra_query;
}
// Group and sort
if (!$distinctTitle) {
$query .= "\nGROUP BY channel.callsign, program.chanid, program.starttime";
} else {
$query .= "\nGROUP BY program.title";
}
$query .= " ORDER BY program.starttime";
// Limit
if ($single_program) {
$query .= "\n LIMIT 1";
}
// Query
$sh = $db->query($query);
// No results
if ($sh->num_rows() < 1) {
$sh->finish();
return array();
}
// Build two separate queries for optimized selecting of recstatus
$sh2 = $db->prepare('SELECT recstatus
FROM oldrecorded
WHERE recstatus IN (-3, 11)
AND programid = ?
AND seriesid = ?
AND future = 0
LIMIT 1');
$sh3 = $db->prepare('SELECT recstatus
FROM oldrecorded
WHERE recstatus IN (-3, 11)
AND title = ?
AND subtitle = ?
AND description = ?
AND future = 0
LIMIT 1');
// Load in all of the programs (if any?)
$these_programs = array();
$scheduledRecordings = Schedule::findScheduled();
while ($data = $sh->fetch_assoc()) {
if (!$data['chanid']) {
continue;
//.........這裏部分代碼省略.........