当前位置: 首页>>代码示例>>PHP>>正文


PHP Schedule::findScheduled方法代码示例

本文整理汇总了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;
开发者ID:halovanic,项目名称:mythweb,代码行数:31,代码来源:detail.php

示例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;
//.........这里部分代码省略.........
开发者ID:AndrewMoore10,项目名称:MythWebKGTV,代码行数:101,代码来源:programs.php


注:本文中的Schedule::findScheduled方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。