本文整理汇总了PHP中Poll::generate方法的典型用法代码示例。如果您正苦于以下问题:PHP Poll::generate方法的具体用法?PHP Poll::generate怎么用?PHP Poll::generate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Poll
的用法示例。
在下文中一共展示了Poll::generate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: compile
/**
* Generate the module
*/
protected function compile()
{
$intPoll = $this->poll;
// Try to find the current poll
if ($this->poll_current) {
$time = time();
$objCurrentPoll = $this->Database->prepare("SELECT id FROM tl_poll WHERE (showStart='' OR showStart<?) AND (showStop='' OR showStop>?)" . (!BE_USER_LOGGED_IN ? " AND published=1" : "") . " ORDER BY showStart DESC, activeStart DESC")->limit(1)->execute($time, $time);
if ($objCurrentPoll->numRows) {
$intPoll = $objCurrentPoll->id;
}
}
// Return if there is no poll
if (!$intPoll) {
$this->Template->poll = '';
return;
}
$objPoll = new \Poll($intPoll);
$this->Template->poll = $objPoll->generate();
}
示例2: compile
/**
* Generate the module
*/
protected function compile()
{
$time = time();
$offset = 0;
$limit = null;
$arrPolls = array();
$arrWhere = array();
// Maximum number of items
if ($this->numberOfItems > 0) {
$limit = $this->numberOfItems;
}
// Build the criteria
if ($this->poll_visible == 'yes') {
$arrWhere[] = "(showStart='' OR showStart<{$time}) AND (showStop='' OR showStop>{$time})";
} elseif ($this->poll_visible == 'no') {
$arrWhere[] = "((showStart!='' AND showStart>={$time}) OR (showStop!='' AND showStop<={$time}))";
}
if ($this->poll_active == 'yes') {
$arrWhere[] = "closed='' AND (activeStart='' OR activeStart<{$time}) AND (activeStop='' OR activeStop>{$time})";
} elseif ($this->poll_active == 'no') {
$arrWhere[] = "(closed=1 OR ((activeStart!='' AND activeStart>={$time}) OR (activeStop!='' AND activeStop<={$time})))";
}
if ($this->poll_featured == 'yes') {
$arrWhere[] = "featured=1";
} elseif ($this->poll_featured == 'no') {
$arrWhere[] = "featured=''";
}
if (!BE_USER_LOGGED_IN) {
$arrWhere[] = "published=1";
}
$total = $this->Database->execute("SELECT COUNT(*) AS total FROM tl_poll" . (!empty($arrWhere) ? " WHERE " . implode(" AND ", $arrWhere) : ""))->total;
// Split the results
if ($this->perPage > 0 && (!isset($limit) || $this->numberOfItems > $this->perPage)) {
// Adjust the overall limit
if (isset($limit)) {
$total = min($limit, $total);
}
// Get the current page
$id = 'page_n' . $this->id;
$page = \Input::get($id) ?: 1;
// Do not index or cache the page if the page number is outside the range
if ($page < 1 || $page > max(ceil($total / $this->perPage), 1)) {
global $objPage;
$objPage->noSearch = 1;
$objPage->cache = 0;
// Send a 404 header
header('HTTP/1.1 404 Not Found');
return;
}
// Set limit and offset
$limit = $this->perPage;
$offset = (max($page, 1) - 1) * $this->perPage;
// Overall limit
if ($offset + $limit > $total) {
$limit = $total - $offset;
}
// Add the pagination menu
$objPagination = new \Pagination($total, $this->perPage, 7, $id);
$this->Template->pagination = $objPagination->generate("\n ");
}
$objPollsStmt = $this->Database->prepare("SELECT * FROM tl_poll" . (!empty($arrWhere) ? " WHERE " . implode(" AND ", $arrWhere) : "") . " ORDER BY closed ASC, showStart DESC, activeStart DESC");
// Limit the result
if (isset($limit)) {
$objPollsStmt->limit($limit, $offset);
}
$objPolls = $objPollsStmt->execute();
// Generate the polls
while ($objPolls->next()) {
$objPoll = new \Poll($objPolls->id);
$arrPolls[] = $objPoll->generate();
}
$this->Template->polls = $arrPolls;
}