本文整理汇总了PHP中Channel::find方法的典型用法代码示例。如果您正苦于以下问题:PHP Channel::find方法的具体用法?PHP Channel::find怎么用?PHP Channel::find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Channel
的用法示例。
在下文中一共展示了Channel::find方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: channel_select
/**
* Prints a <select> of the available channels
/**/
function channel_select($params = '', $selected = '', $id = 00)
{
$channels = Channel::getChannelList();
echo "\n<select name=\"chan_{$id}\" {$params}>";
foreach ($channels as $chanid) {
$channel =& Channel::find($chanid);
// Not visible?
if (empty($channel->visible) || $channel->chanid == 91010) {
continue;
}
// Print the option
echo '
<option value="', $channel->chanid, '"', ' title="', html_entities($channel->name), '"';
// Selected?
if ($channel->chanid == $selected || $channel->chanid == $_GET['chanid']) {
echo ' SELECTED';
}
// Print the rest of the content
echo '>';
if ($_SESSION["prefer_channum"]) {
echo $channel->channum . ' (' . html_entities($channel->callsign) . ')';
} else {
echo html_entities($channel->callsign) . ' (' . $channel->channum . ')';
}
echo '</option>';
}
echo '</select>';
}
示例2: channel_select
/**
* prints a <select> of the available channels
/**/
function channel_select($chanid)
{
$Channel_list = Channel::getChannelList();
echo '<select name="channel"><option value=""';
if (empty($chanid)) {
echo ' SELECTED';
}
echo '>(' . t('Any Channel') . ')</option>';
foreach ($Channel_list as $chanid) {
$channel =& Channel::find($chanid);
// Print the option
echo '<option value="', $channel->chanid, '"', ' title="', html_entities($channel->name), '"';
// Selected?
if ($channel->chanid == $chanid) {
echo ' SELECTED';
}
// Print the rest of the content
echo '>';
if ($_SESSION["prefer_channum"]) {
echo $channel->channum . ' (' . html_entities($channel->callsign) . ')';
} else {
echo html_entities($channel->callsign) . ' (' . $channel->channum . ')';
}
echo '</option>';
}
echo '</select>';
}
示例3: setting
if (!isset($schedule->autoexpire)) {
$schedule->autoexpire = setting('AutoExpireDefault');
}
// start early / end late
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;
示例4: cmd_mode
function cmd_mode($client, $argv)
{
$name = $argv[0];
$set = isset($argv[1]) ? implode(' ', array_slice($argv, 1)) : false;
if (Channel::is_valid($name)) {
// Valid channel name
if (($channel = Channel::find($name)) === false) {
// Channel doesn't exist.
$client->write(IRC::sprintf(IRC::NoSuchNickChannel, &$client, $name));
return;
}
if ($set === false) {
// Not setting anything.
// Modes
$client->write(IRC::sprintf(IRC::ChannelModes, &$client, $name, $channel->modes->make_string()));
// Creation time
$client->write(IRC::sprintf(IRC::ChannelCreated, &$client, $name, $channel->created));
} else {
// TODO: Check for mode +o, etc, before allowing this.
$channel->modes->mode($set);
}
return;
}
// Treat as a PM
if (($user = Client::find_by_nick($name)) === false) {
// Couldn't find a channel or user under this name
$client->write(IRC::sprintf(IRC::NoSuchNickChannel, &$client, $name));
} else {
// Found a user
// TODO: User modes (oper only?)
}
}
示例5: __construct
public function __construct($data)
{
global $db;
// This is a mythbackend-formatted program - info about this data structure is stored in libs/libmyth/programinfo.cpp
if (!isset($data['chanid']) && isset($data[0])) {
// Load the remaining info we got from mythbackend
$this->title = trim($data[0]);
# program name/title
$this->subtitle = $data[1];
# episode name
$this->description = $data[2];
# episode description
$this->season = $data[3];
$this->episode = $data[4];
$this->total_episodes = $data[5];
$this->syndicatedepisodenumber = $data[6];
$this->category = $data[7];
$this->chanid = $data[8];
# mysql chanid
$this->channum = $data[9];
$this->callsign = $data[10];
$this->channame = $data[11];
$this->filename = $data[12];
$this->filesize = $data[13];
$this->starttime = $data[14];
# show start-time
$this->endtime = $data[15];
# show end-time
$this->findid = $data[16];
$this->hostname = $data[17];
$this->sourceid = $data[18];
$this->cardid = $data[19];
$this->inputid = $data[20];
$this->recpriority = $data[21];
$this->recstatus = $data[22];
$this->recordid = $data[23];
$this->rectype = $data[24];
$this->dupin = $data[25];
$this->dupmethod = $data[26];
$this->recstartts = $data[27];
# ACTUAL start time (also maps to recorded.starttime)
$this->recendts = $data[28];
# ACTUAL end time
$this->progflags = $data[29];
$this->recgroup = $data[30];
$this->outputfilters = $data[31];
$this->seriesid = $data[32];
$this->programid = $data[33];
$this->inetref = $data[34];
$this->lastmodified = $data[35];
$this->stars = $data[36];
$this->airdate = $data[37];
$this->playgroup = $data[38];
$this->recpriority2 = $data[39];
$this->parentid = $data[40];
$this->storagegroup = $data[41];
$this->audioproperties = $data[42];
$this->videoproperties = $data[43];
$this->subtitletype = $data[44];
$this->year = $data[45];
$this->partnumber = $data[46];
$this->parttotal = $data[47];
$this->category_type = $data[48];
$this->recordedid = $data[49];
// Is this a previously-recorded program?
if (!empty($this->filename)) {
$this->url = video_url($this);
// get download info
}
// Assign the program flags
$this->has_commflag = $this->progflags & 0x1 ? true : false;
// FL_COMMFLAG = 0x00000001
$this->has_cutlist = $this->progflags & 0x2 ? true : false;
// FL_CUTLIST = 0x00000002
$this->auto_expire = $this->progflags & 0x4 ? true : false;
// FL_AUTOEXP = 0x00000004
$this->is_editing = $this->progflags & 0x8 ? true : false;
// FL_EDITING = 0x00000008
$this->bookmark = $this->progflags & 0x10 ? true : false;
// FL_BOOKMARK = 0x00000010
$this->is_recording = $this->progflags & 0x100000 ? true : false;
// FL_INUSERECORDING = 0x00100000
$this->is_playing = $this->progflags & 0x200000 ? true : false;
// FL_INUSEPLAYING = 0x00200000
$this->is_transcoded = $this->progflags & 0x100 ? true : false;
// FL_TRANSCODED = 0x00000100
$this->is_watched = $this->progflags & 0x200 ? true : false;
// FL_WATCHED = 0x00000200
// Can be deleted?
$this->can_delete = !$this->is_recording && !$this->is_playing || $this->recgroup != 'LiveTV';
// Add a generic "will record" variable, too
$this->will_record = $this->rectype && $this->rectype != rectype_dontrec ? true : false;
} else {
if (in_array($data['airdate'], array('0000-00-00', '0000', '1900-01-01'))) {
$this->airdate = $data['originalairdate'];
} else {
$this->airdate = $data['airdate'];
}
$this->category = _or($data['category'], t('Unknown'));
$this->category_type = _or($data['category_type'], t('Unknown'));
//.........这里部分代码省略.........
示例6: add_warning
break;
}
// Warning?
if (!empty($warning)) {
add_warning(t('No matching programs found.') . "\n" . $warning);
}
// Now that we've selected only certain shows, load them into objects
$All_Shows = array();
foreach ($Programs as $title => $shows) {
foreach ($shows as $key => $record) {
// Create a new program object
$show =& new Program($record);
// Assign a reference to this show to the various arrays
$All_Shows[] =& $show;
$Programs[$title][$key] =& $show;
$channel =& Channel::find($show->chanid);
$channel->programs[] =& $show;
unset($show);
}
}
// Sort the program titles
uksort($Program_Titles, 'by_no_articles');
ksort($Groups);
// Keep track of the program/title the user wants to view
if (isset($_REQUEST['title'])) {
$_SESSION['recorded_title'] = $_REQUEST['title'];
}
if (isset($_REQUEST['recgroup'])) {
$_SESSION['recorded_recgroup'] = $_REQUEST['recgroup'];
}
// The default sorting choice isn't so good for recorded programs, so we'll set our own default
示例7: t
</td>
<td width="5%"><?php
echo t('commfree');
?>
</td>
<td width="5%"><?php
echo t('visible');
?>
</td>
<td width="5%"><?php
echo t('useonairguide');
?>
</td>
</tr><?php
foreach ($channels as $chanid) {
$channel =& Channel::find($chanid);
?>
<tr class="settings" align="center">
<td><input type="checkbox" name="channel[<?php
echo $channel->chanid;
?>
][delete]" id="delete_<?php
echo $channel->chanid;
?>
" value="true" /></td>
<td><?php
echo html_entities($channel->sourceid);
?>
</td>
<td><input type="text" size="5" name="channel[<?php
echo $channel->chanid;
示例8: strftime
<td class="x-description"><?php
echo $show->description;
?>
</td>
<td class="x-channum"><?php
echo $show->channel->channum . ' - ' . $show->channel->name;
?>
</td>
<td class="x-airdate"><?php
echo '<a href="' . root_url . 'tv/detail/' . $show->chanid . '/' . $show->starttime . '">' . strftime($_SESSION['date_search'], $show->starttime) . '</a>';
if ($show->extra_showings) {
foreach ($show->extra_showings as $pair) {
list($chanid, $showtime) = $pair;
echo '<br><a href="', root_url, 'tv/detail/', $chanid, '/', $showtime, '" class="italic">', strftime($_SESSION['date_search'], $showtime);
if ($chanid != $show->chanid) {
echo ' (', Channel::find($chanid)->callsign, ')';
}
echo '</a>';
}
}
?>
</td>
<td class="x-length"><?php
echo nice_length($show->length);
?>
</td>
</tr>
<?php
}
?>
</table>
示例9: array
$displayed_channels = array();
$channels = Channel::getChannelList();
foreach ($channels as $key) {
// Ignore channels with no number
if (strlen(Channel::find($key)->channum) < 1) {
continue;
}
// Skip already-displayed channels
if ($displayed_channels[Channel::find($key)->channum]) {
continue;
}
$displayed_channels[Channel::find($key)->channum] = 1;
// Count this channel
$channel_count++;
// Grab the reference
$channel =& Channel::find($key);
// Print the data
print_channel(&$channel, $list_starttime, $list_endtime);
// Cleanup is a good thing
unset($channel);
// Display the timeslot bar?
// if ($channel_count % timeslotbar_skip == 0)
// $this->print_timeslots($Timeslots, $list_starttime, $list_endtime, $channel_count);
}
// Display the listing page footer
require_once 'modules/_shared/tmpl/' . tmpl . '/footer.php';
/*
print_channel:
*/
function print_channel($channel, $start_time, $end_time)
{
示例10: Recording
function Recording($recording_data)
{
// SQL data
if (is_array($recording_data) && isset($recording_data['recordid'])) {
$this->recordid = $recording_data['recordid'];
$this->type = $recording_data['type'];
$this->chanid = $recording_data['chanid'];
$this->starttime = $recording_data['starttime_unix'];
$this->endtime = $recording_data['endtime_unix'];
$this->title = $recording_data['title'];
$this->subtitle = $recording_data['subtitle'];
$this->description = $recording_data['description'];
$this->season = $recording_data['season'];
$this->episode = $recording_data['episode'];
$this->category = $recording_data['category'];
$this->profile = $recording_data['profile'];
$this->recgroup = $recording_data['recgroup'];
$this->storagegroup = $recording_data['storagegroup'];
$this->recpriority = $recording_data['recpriority'];
$this->autoexpire = $recording_data['autoexpire'];
$this->maxepisodes = $recording_data['maxepisodes'];
$this->maxnewest = $recording_data['maxnewest'];
$this->dupin = $recording_data['dupin'];
$this->dupmethod = $recording_data['dupmethod'];
$this->startoffset = $recording_data['startoffset'];
$this->endoffset = $recording_data['endoffset'];
$this->seriesid = $recording_data['seriesid'];
$this->programid = $recording_data['programid'];
$this->inetref = $recording_data['inetref'];
$this->progstart = $recording_data['progstart'];
$this->progend = $recording_data['progend'];
$this->basename = $recording_data['basename'];
} else {
$tmp = @get_object_vars($recording_data);
if (count($tmp) > 0) {
foreach ($tmp as $key => $value) {
$this->{$key} = $value;
}
}
}
// We get various recording-related information, too
switch ($this->type) {
case 1:
$this->record_once = true;
break;
case 2:
$this->record_daily = true;
break;
case 3:
$this->record_channel = true;
break;
case 4:
$this->record_always = true;
break;
case 5:
$this->record_weekly = true;
break;
case 6:
$this->record_findone = true;
break;
}
// Add a generic "will record" variable, too
$this->will_record = $this->record_daily || $this->record_weekly || $this->record_once || $this->record_findone || $this->record_channel || $this->record_always ? true : false;
// Turn type int a word
$this->texttype = $GLOBALS['RecTypes'][$this->type];
// Do we have a chanid? Load some info about it
if ($this->chanid && !isset($this->channel)) {
$this->channel =& Channel::find($this->chanid);
}
// Find out which css category this recording falls into
if ($this->chanid != '') {
$this->css_class = category_class($this);
}
}
示例11: getEdit
/**
* Show the form for editing the specified propertieschannel.
*
* @param int $channelId
* @return Response
*/
public function getEdit($channelId)
{
$propertieschannel = PropertiesChannel::firstOrNew(['channel_id' => $channelId, 'property_id' => Property::getLoggedId()]);
$channel = Channel::find($propertieschannel->channel_id);
return View::make('properties_channels.edit', compact('propertieschannel', 'channel'));
}
示例12: __construct
/**
* constructor
/**/
public function __construct($data)
{
global $db;
$this->dupmethod = _or(setting('prefDupMethod'), 0);
// Schedule object data -- just copy it into place
if (is_object($data)) {
// Not the right type of object?
if (strcasecmp(get_class($data), 'schedule')) {
trigger_error("Incorrect object of class " . get_class($data) . " passed to new Schedule()", FATAL);
}
// Copy its variables into place
$a = @get_object_vars($data);
if (is_array($a) && count($a) > 0) {
foreach ($a as $key => $val) {
$this->{$key} = $val;
}
}
} elseif (is_null($data)) {
return;
} else {
// Are we passing in a set of chanid, starttime?
if (func_num_args() == 2) {
$chanid = func_get_arg(0);
$start = func_get_arg(1);
$data = $db->query_col('
SELECT recordid
FROM record
WHERE record.chanid = ?
AND record.starttime = FROM_UNIXTIME(?)', $chanid, $start);
}
// Data is a recordid -- load its contents
if (!is_array($data) && $data > 0) {
$data = $db->query_assoc('SELECT *,
UNIX_TIMESTAMP(startdate)+TIME_TO_SEC(starttime) AS starttime,
UNIX_TIMESTAMP(enddate)+TIME_TO_SEC(endtime) AS endtime
FROM record
WHERE recordid=?', $data);
}
// Array?
if (is_array($data) && isset($data['recordid'])) {
foreach ($data as $key => $val) {
$this->{$key} = $val;
}
}
}
// Custom power search needs to have fields split out
if ($this->search == searchtype_power) {
#########
/** @todo actually split out the fields! */
}
// Add a generic "will record" variable, too
$this->will_record = $this->type && $this->type != rectype_dontrec ? true : false;
// Turn type into a word
$this->texttype = $GLOBALS['RecTypes'][$this->type];
// Do we have a chanid? Load some info about it
if ($this->chanid > 0 && !isset($this->channel)) {
$this->channel =& Channel::find($this->chanid);
}
// Find out which css category this recording falls into
if ($this->chanid != '') {
$this->css_class = category_class($this);
}
}
示例13: if
$schedule =& Schedule::find($key);
// Ignore overrides
# if ($schedule->type == rectype_override)
# continue;
# if ($schedule->type == rectype_dontrec)
# continue;
// Ignore manual schedules
# if ($schedule->category == 'Manual recording')
# continue;
// Couple of modifications
if ($schedule->type == rectype_dontrec) {
$schedule->profile = '';
$schedule->recgroup = '';
}
// Add a blank channel, to suppress warnings
if (!$schedule->channel) {
$schedule->channel = Channel::find(null);
}
// Add this show
$the_schedules[] =& $schedule;
}
// Remove the reference. This prevents duplicate entries showing up in the list
unset($schedule);
// Sort the recordings
if (count($the_schedules)) {
sort_programs($the_schedules, 'schedules_sortby');
}
// Load the class for this page
require_once tmpl_dir . 'schedules.php';
// Exit
exit;
示例14: details_list
/**
* The "details list" for recording schedules. Very similar to that for
* programs, but with a few extra checks, and some information arranged
* differently.
/**/
public function details_list()
{
// Start the list, and print the title and schedule type
$str = "<dl class=\"details_list\">\n" . "\t<dt>" . t('Title') . ":</dt>\n" . "\t<dd>" . html_entities($this->title) . "</dd>\n" . "\t<dt>" . t('Type') . ":</dt>\n" . "\t<dd>" . html_entities($this->texttype) . "</dd>\n";
// Only show these fields for recording types where they're relevant
if (in_array($this->type, array(rectype_once, rectype_daily, rectype_weekly, rectype_override, rectype_dontrec))) {
// Airtime
$str .= "\t<dt>" . t('Airtime') . ":</dt>\n" . "\t<dd>" . strftime($_SESSION['date_scheduled_popup'] . ', ' . $_SESSION['time_format'], $this->starttime) . ' to ' . strftime($_SESSION['time_format'], $this->endtime) . "</dd>\n";
// Subtitle
if (preg_match('/\\S/', $this->subtitle)) {
$str .= "\t<dt>" . t('Subtitle') . ":</dt>\n" . "\t<dd>" . html_entities($this->subtitle) . "</dd>\n";
}
// Description
if (preg_match('/\\S/', $this->description)) {
$str .= "\t<dt>" . t('Description') . ":</dt>\n" . "\t<dd>" . nl2br(html_entities($this->description)) . "</dd>\n";
}
// Rating
if (preg_match('/\\S/', $this->rating)) {
$str .= "\t<dt>" . t('Rating') . ":</dt>\n" . "\t<dd>" . html_entities($this->rating) . "</dd>\n";
}
}
// Category
if (preg_match('/\\S/', $this->category)) {
$str .= "\t<dt>" . t('Category') . ":</dt>\n" . "\t<dd>" . html_entities($this->category) . "</dd>\n";
}
// Rerun?
if (!empty($this->previouslyshown)) {
$str .= "\t<dt>" . t('Repeat') . ":</dt>\n" . "\t<dd>" . t('Yes') . "</dd>\n";
}
// Will be recorded at some point in the future?
if (!empty($this->will_record)) {
$str .= "\t<dt>" . t('Schedule') . ":</dt>\n" . "\t<dd>";
switch ($this->type) {
case rectype_once:
$str .= t('rectype-long: once');
break;
case rectype_daily:
$str .= t('rectype-long: daily');
break;
case rectype_channel:
$channel =& Channel::find($this->chanid);
$str .= t('rectype-long: channel', $_SESSION["prefer_channum"] ? $channel->channum : $channel->callsign);
break;
case rectype_always:
$str .= t('rectype-long: always');
break;
case rectype_weekly:
$str .= t('rectype-long: weekly');
break;
case rectype_findone:
$str .= t('rectype-long: findone');
break;
case rectype_override:
$str .= t('rectype-long: override');
break;
case rectype_dontrec:
$str .= t('rectype-long: dontrec');
break;
case rectype_finddaily:
$str .= t('rectype-long: finddaily');
break;
case rectype_findweekly:
$str .= t('rectype-long: findweekly');
break;
default:
$str .= t('Unknown');
}
$str .= "</dd>\n";
}
// Which duplicate-checking method will be used
if ($this->dupmethod > 0) {
$str .= "\t<dt>" . t('Dup Method') . ":</dt>\n" . "\t<dd>";
switch ($this->dupmethod) {
case 1:
$str .= t('None');
break;
case 2:
$str .= t('Subtitle');
break;
case 4:
$str .= t('Description');
break;
case 6:
$str .= t('Subtitle and Description');
break;
case 8:
$str .= t('Subtitle then Description');
break;
case 22:
$str .= t('Sub and Desc (Empty matches)');
break;
}
$str .= "</dd>\n";
}
// Recording Priority
//.........这里部分代码省略.........
示例15: getMap
/**
* Show the form for editing the specified room.
*
* @param int $id
* @param int $channelId
* @return Response
*/
public function getMap($id, $channelId)
{
$room = Room::find($id);
$channelSettings = PropertiesChannel::getSettings($channelId, Property::getLoggedId());
$channel = ChannelFactory::create($channelSettings);
$result = $channel->getInventoryList();
//todo temp
// file_put_contents('1.txt', serialize($result));
// $result = unserialize(file_get_contents('1.txt'));
//add Inventories and Plans to DB//TODO move to another place
//delete exist maps
Inventory::where(['channel_id' => $channelId, 'property_id' => $channelSettings->property_id])->delete();
//delete exist plan maps
InventoryPlan::where(['channel_id' => $channelId, 'property_id' => $channelSettings->property_id])->delete();
if ($result) {
foreach ($result as $inventory) {
Inventory::create(['code' => $inventory['code'], 'name' => $inventory['name'], 'channel_id' => $channelId, 'property_id' => $channelSettings->property_id]);
if ($inventory['plans']) {
foreach ($inventory['plans'] as $plan) {
InventoryPlan::create(['code' => $plan['code'], 'name' => $plan['name'], 'channel_id' => $channelId, 'inventory_code' => $inventory['code'], 'property_id' => $channelSettings->property_id]);
}
}
}
}
$existMapping = [];
// $mapCollection = InventoryMap::where(
// [
// 'channel_id' => $channelId,
// 'property_id' => $channelSettings->property_id
// ]
// )
//// ->where('room_id', '<>', $id)
// ->lists('inventory_code', 'room_id');
// if ($mapCollection) {
// foreach ($mapCollection as $map) {
// $existMapping[] = $map;
// }
// }>F
$inventories = Channel::find($channelId)->inventory()->where('property_id', Property::getLoggedId());
$inventoryList = [];
$inventoryPlans = [];
foreach ($inventories->get() as $inventory) {
// if (in_array($inventory->code, $existMapping)) {
// continue;
// }
$inventoryList[$inventory->code] = $inventory->name;
$plans = $inventory->plans()->get(['name', 'code']);
for ($i = 0; $i < count($plans); $i++) {
//TODO rewrite to ONE query
$plans[$i]->selected = InventoryMap::getByKeys($channelId, $channelSettings->property_id, $id, $plans[$i]['code'])->first() ? true : false;
}
$inventoryPlans[$inventory->code] = $plans;
}
$inventoryPlans = json_encode($inventoryPlans);
$mapping = InventoryMap::getByKeys($channelId, $channelSettings->property_id, $id)->first();
return View::make('rooms.map', compact('room', 'channel', 'inventoryList', 'inventoryPlans', 'channelId', 'mapping'));
}