本文整理汇总了PHP中SmartyPaginate类的典型用法代码示例。如果您正苦于以下问题:PHP SmartyPaginate类的具体用法?PHP SmartyPaginate怎么用?PHP SmartyPaginate使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SmartyPaginate类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: smarty_function_paginate_next
/**
* Project: SmartyPaginate: Pagination for the Smarty Template Engine
* File: function.paginate_next.php
* Author: Monte Ohrt <monte at newdigitalgroup dot com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link http://www.phpinsider.com/php/code/SmartyPaginate/
* @copyright 2001-2005 New Digital Group, Inc.
* @author Monte Ohrt <monte at newdigitalgroup dot com>
* @package SmartyPaginate
* @version 1.6-dev
*/
function smarty_function_paginate_next($params, &$smarty)
{
global $startUp, $conf, $cat_id;
$_id = 'default';
$_attrs = array();
if (!class_exists('SmartyPaginate')) {
$smarty->trigger_error("paginate_next: missing SmartyPaginate class");
return;
}
if (!isset($_SESSION['SmartyPaginate'])) {
$smarty->trigger_error("paginate_next: SmartyPaginate is not initialized, use connect() first");
return;
}
foreach ($params as $_key => $_val) {
switch ($_key) {
case 'id':
if (!SmartyPaginate::isConnected($_val)) {
$smarty->trigger_error("paginate_next: unknown id '{$_val}'");
return;
}
$_id = $_val;
break;
default:
$_attrs[] = $_key . '="' . $_val . '"';
break;
}
}
if (SmartyPaginate::getTotal($_id) === false) {
$smarty->trigger_error("paginate_next: total was not set");
return;
}
$_url = SmartyPaginate::getURL($_id);
$_attrs = !empty($_attrs) ? ' ' . implode(' ', $_attrs) : '';
if (($_item = SmartyPaginate::_getNextPageItem($_id)) !== false) {
$_show = true;
$_text = isset($params['text']) ? $params['text'] : SmartyPaginate::getNextText($_id);
$_url .= strpos($_url, '?') === false ? '?' : '&';
$_url .= SmartyPaginate::getUrlVar($_id) . '=' . $_item;
} else {
$_show = false;
}
if ($cat_id != 'NULL') {
if (!empty($_GET["sortedBy"]) || !empty($_GET["axis"])) {
$final_url = $startUp->makeUrl(array('page' => $startUp->paginatePage, 'gost' => 'cat', 'catid' => $cat_id, 'next' => $_item, 'sortedBy' => $_GET["sortedBy"], 'axis' => $_GET["axis"]));
} else {
$final_url = $startUp->makeUrl(array('page' => $startUp->paginatePage, 'gost' => 'cat', 'catid' => $cat_id, 'next' => $_item));
}
} elseif ($_GET['page'] === "admincp") {
$final_url = $startUp->makeUrl(array('page' => $startUp->paginatePage, 'next' => $_item)) . '?tokenAdmin=' . $_COOKIE['tokenAdmin'];
} else {
if (!empty($_GET["sortedBy"]) || !empty($_GET["axis"])) {
$final_url = $startUp->makeUrl(array('page' => $startUp->paginatePage, 'next' => $_item, 'sortedBy' => $_GET["sortedBy"], 'axis' => $_GET["axis"]));
} else {
$final_url = $startUp->makeUrl(array('page' => $startUp->paginatePage, 'next' => $_item));
}
}
return $_show ? '<a href="' . $conf['baseurl'] . '/' . $final_url . '"' . $_attrs . '>' . $_text . '</a>' : '';
// return $_show ? '<a href="' . str_replace('&','&', $_url) . '"' . $_attrs . '>' . $_text . '</a>' : '';
}
示例2: get_db_results
function get_db_results()
{
// normally you would have an SQL query here,
// for this example we fabricate a 100 item array
// (emulating a table with 100 records)
// and slice out our pagination range
// (emulating a LIMIT X,Y MySQL clause)
$_data = range(1, 100);
SmartyPaginate::setTotal(count($_data));
return array_slice($_data, SmartyPaginate::getCurrentIndex(), SmartyPaginate::getLimit());
}
示例3: getSearchResults
function getSearchResults(&$dbcon, $searchSpec)
{
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT * FROM sionapros_news WHERE 1 {$searchSpec} ORDER BY pub_date DESC LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
foreach ($result as $row) {
$data[] = $row;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_news WHERE 1 {$searchSpec}";
$dbcon->query($rowsSQL);
SmartyPaginate::setTotal($dbcon->getValue());
return $data;
}
示例4: smarty_function_paginate_next
/**
* Project: SmartyPaginate: Pagination for the Smarty Template Engine
* File: function.paginate_next.php
* Author: Monte Ohrt <monte at newdigitalgroup dot com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link http://www.phpinsider.com/php/code/SmartyPaginate/
* @copyright 2001-2005 New Digital Group, Inc.
* @author Monte Ohrt <monte at newdigitalgroup dot com>
* @package SmartyPaginate
* @version 1.5
*/
function smarty_function_paginate_next($params, &$smarty) {
$_id = 'default';
$_attrs = array();
if (!class_exists('SmartyPaginate')) {
$smarty->trigger_error("paginate_next: missing SmartyPaginate class");
return;
}
if (!isset($_SESSION['SmartyPaginate'])) {
$smarty->trigger_error("paginate_next: SmartyPaginate is not initialized, use connect() first");
return;
}
foreach($params as $_key => $_val) {
switch($_key) {
case 'id':
if (!SmartyPaginate::isConnected($_val)) {
$smarty->trigger_error("paginate_next: unknown id '$_val'");
return;
}
$_id = $_val;
break;
default:
$_attrs[] = $_key . '="' . $_val . '"';
break;
}
}
if (SmartyPaginate::getTotal($_id) === false) {
$smarty->trigger_error("paginate_next: total was not set");
return;
}
$_url = SmartyPaginate::getURL($_id);
$_attrs = !empty($_attrs) ? ' ' . implode(' ', $_attrs) : '';
if(($_item = SmartyPaginate::_getNextPageItem($_id)) !== false) {
$_show = true;
$_text = isset($params['text']) ? $params['text'] : SmartyPaginate::getNextText($_id);
$_url .= (strpos($_url, '?') === false) ? '?' : '&';
$_url .= SmartyPaginate::getUrlVar($_id) . '=' . $_item;
} else {
$_show = false;
}
return $_show ? '<a href="' . str_replace('&','&', $_url) . '"' . $_attrs . '>' . $_text . '</a>' : '';
}
示例5: getSearchResults
function getSearchResults(&$dbcon)
{
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT * FROM sionapros_news WHERE 1 ORDER BY news_no DESC LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
foreach ($result as $row) {
// collect each record into $_data
$data[] = $row;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_news WHERE 1";
$dbcon->query($rowsSQL);
#$rowNo = $rows[0];
SmartyPaginate::setTotal($dbcon->getValue());
$dbcon->free();
return $data;
}
示例6: getSearchResults
function getSearchResults(&$dbcon, $proj_no)
{
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT p.*,c.value FROM sionapros_pubs AS p INNER JOIN sionapros_categories AS c";
$searchSQL .= " ON p.category = c.id WHERE 1 {$_SESSION['search']} ORDER BY id DESC LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
foreach ($result as $row) {
// collect each record into $_data
$data[] = $row;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_pubs AS p WHERE 1 {$_SESSION['search']}";
$dbcon->query($rowsSQL);
#$rowNo = $rows[0];
SmartyPaginate::setTotal($dbcon->getValue());
$dbcon->free();
return $data;
}
示例7: getSearchResults
function getSearchResults(&$dbcon)
{
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT firstname,lastname,identifier FROM sionapros_users";
$searchSQL .= " WHERE 1 {$_SESSION['search']} ORDER BY identifier ASC LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
foreach ($result as $row) {
// collect each record into $_data
$data[] = $row;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_users WHERE 1 {$_SESSION['search']}";
$dbcon->query($rowsSQL);
#$rowNo = $rows[0];
SmartyPaginate::setTotal($dbcon->getValue());
$dbcon->free();
return $data;
}
示例8: getSearchResults
function getSearchResults(&$dbcon)
{
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT fq.*,C.value FROM sionapros_faqs AS fq INNER JOIN sionapros_categories";
$searchSQL .= " AS C ON fq.category = C.id ORDER BY C.id,fq.id LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
echo $dbcon->error;
foreach ($result as $row) {
// collect each record into $_data
$data[] = $row;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_faqs WHERE 1";
$dbcon->query($rowsSQL);
#$rowNo = $rows[0];
SmartyPaginate::setTotal($dbcon->getValue());
$dbcon->free();
return $data;
}
示例9: smarty_function_paginate_last
/**
* Project: SmartyPaginate: Pagination for the Smarty Template Engine
* File: function.paginate_last.php
* Author: Monte Ohrt <monte at newdigitalgroup dot com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link http://www.phpinsider.com/php/code/SmartyPaginate/
* @copyright 2001-2005 New Digital Group, Inc.
* @author Monte Ohrt <monte at newdigitalgroup dot com>
* @package SmartyPaginate
* @version 1.6-dev
*/
function smarty_function_paginate_last($params, &$smarty)
{
$_id = 'default';
$_attrs = array();
if (!class_exists('SmartyPaginate')) {
$smarty->trigger_error("paginate_last: missing SmartyPaginate class");
return;
}
if (!isset($_SESSION['SmartyPaginate'])) {
$smarty->trigger_error("paginate_last: SmartyPaginate is not initialized, use connect() first");
return;
}
foreach ($params as $_key => $_val) {
switch ($_key) {
case 'id':
if (!SmartyPaginate::isConnected($_val)) {
$smarty->trigger_error("paginate_last: unknown id '{$_val}'");
return;
}
$_id = $_val;
break;
default:
$_attrs[] = $_key . '="' . $_val . '"';
break;
}
}
if (SmartyPaginate::getTotal($_id) === false) {
$smarty->trigger_error("paginate_last: total was not set");
return;
}
$_url = SmartyPaginate::getURL($_id);
//$_url = full_url();
$_total = SmartyPaginate::getTotal($_id);
$_limit = SmartyPaginate::getLimit($_id);
$_attrs = !empty($_attrs) ? ' ' . implode(' ', $_attrs) : '';
$_text = isset($params['text']) ? $params['text'] : SmartyPaginate::getLastText($_id);
$_url .= strpos($_url, '?') === false ? '?' : '&';
$_url .= SmartyPaginate::getUrlVar($_id) . '=';
$_url .= $_total % $_limit > 0 ? $_total - $_total % $_limit + 1 : $_total - $_limit + 1;
return '<a href="' . str_replace('&', '&', $_url) . '"' . $_attrs . '>' . $_text . '</a>';
}
示例10: getSearchResults
function getSearchResults(&$dbcon)
{
#$searchSQL = sprintf("SELECT * FROM ehmis_personnel_main WHERE 1 {$_SESSION['search']} ORDER BY identifier ASC LIMIT %d,%d",
# SmartyPaginate::getCurrentIndex(), SmartyPaginate::getLimit());
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT n.*,c.value FROM sionapros_news AS n INNER JOIN sionapros_categories AS c ON";
$searchSQL .= " n.category = c.id WHERE 1 {$_SESSION['search']} ORDER BY n.news_no DESC LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
foreach ($result as $row) {
// collect each record into $_data
$data[] = $row;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_news AS n WHERE 1 {$_SESSION['search']}";
$dbcon->query($rowsSQL);
#$rowNo = $rows[0];
SmartyPaginate::setTotal($dbcon->getValue());
$dbcon->free();
return $data;
}
示例11: getSearchResults
function getSearchResults(&$dbcon, $searchSpec)
{
$X = SmartyPaginate::getCurrentIndex();
$Y = SmartyPaginate::getLimit();
$searchSQL = "SELECT * FROM sionapros_pubs WHERE 1 {$searchSpec} ORDER BY pub_date DESC LIMIT {$X},{$Y}";
$result = $dbcon->execute($searchSQL);
$i = 0;
foreach ($result as $row) {
#$path = './admin'.substr($row['doc'], 1, strlen($row['doc']));
$data[$i] = $row;
#$data[$i]['path'] = $path;
$i++;
}
// now we get the total number of records from the table
$rowsSQL = "SELECT COUNT(*) FROM sionapros_pubs WHERE 1 {$searchSpec}";
$dbcon->query($rowsSQL);
#$rowNo = $rows[0];
SmartyPaginate::setTotal($dbcon->getValue());
return $data;
}
示例12: assign
/**
* assign $paginate var values
*
* @param obj &$smarty the smarty object reference
* @param string $var the name of the assigned var
* @param string $id the pagination id
*/
public static function assign(&$smarty, $var = 'paginate', $id = 'default')
{
if (is_object($smarty) && (strtolower(get_class($smarty)) == 'smarty' || is_subclass_of($smarty, 'smarty'))) {
$_paginate['total'] = SmartyPaginate::getTotal($id);
$_paginate['first'] = SmartyPaginate::getCurrentItem($id);
$_paginate['last'] = SmartyPaginate::getLastItem($id);
$_paginate['page_current'] = ceil(SmartyPaginate::getLastItem($id) / SmartyPaginate::getLimit($id));
$_paginate['page_total'] = ceil(SmartyPaginate::getTotal($id) / SmartyPaginate::getLimit($id));
$_paginate['size'] = $_paginate['last'] - $_paginate['first'];
$_paginate['url'] = SmartyPaginate::getUrl($id);
$_paginate['urlvar'] = SmartyPaginate::getUrlVar($id);
$_paginate['current_item'] = SmartyPaginate::getCurrentItem($id);
$_paginate['prev_text'] = SmartyPaginate::getPrevText($id);
$_paginate['next_text'] = SmartyPaginate::getNextText($id);
$_paginate['limit'] = SmartyPaginate::getLimit($id);
$_item = 1;
$_page = 1;
while ($_item <= $_paginate['total']) {
$_paginate['page'][$_page]['number'] = $_page;
$_paginate['page'][$_page]['item_start'] = $_item;
$_paginate['page'][$_page]['item_end'] = $_item + $_paginate['limit'] - 1 <= $_paginate['total'] ? $_item + $_paginate['limit'] - 1 : $_paginate['total'];
$_paginate['page'][$_page]['is_current'] = $_item == $_paginate['current_item'];
$_item += $_paginate['limit'];
$_page++;
}
$smarty->assign($var, $_paginate);
} else {
trigger_error("SmartyPaginate: [assign] I need a valid Smarty object.");
return false;
}
}
示例13: readLangfile
$locale = $settings['locale'];
$_SESSION['userlocale'] = $locale;
}
// Set locale directory
$template->config_dir = CL_ROOT . "/language/{$locale}/";
// Smarty 3 seems to have a problem with re-compiling the config if the user config is different than the system config.
// this forces a compile of the config.
// uncomment this if you have issues with language switching
// $template->compileAllConfig('.config',true);
// read language file into PHP array
$langfile = readLangfile($locale);
$template->assign("langfile", $langfile);
$template->assign("locale", $locale);
// css classes for headmenue
// this indicates which of the 3 main stages the user is on
$mainclasses = array("desktop" => "desktop", "profil" => "profil", "admin" => "admin");
$template->assign("mainclasses", $mainclasses);
// get current year and month
$they = date("Y");
$them = date("n");
$template->assign("theM", $them);
$template->assign("theY", $they);
// Get the user's projects for the quickfinder in the sidebar
if (isset($userid)) {
$project = new project();
$myOpenProjects = $project->getMyProjects($userid);
$template->assign("openProjects", $myOpenProjects);
}
// clear session data for pagination
SmartyPaginate::disconnect();
示例14: getProjectMembers
/**
* Lists all the users in a project
*
* @param int $project Eindeutige Projektnummer
* @param int $lim Maximum auszugebender Mitglieder
* @return array $members Projektmitglieder
*/
function getProjectMembers($project, $lim = 10, $paginate = true)
{
global $conn;
$project = (int) $project;
$lim = (int) $lim;
$project = (int) $project;
$lim = (int) $lim;
$members = array();
if ($paginate) {
$num = $conn->query("SELECT COUNT(*) FROM projekte_assigned WHERE projekt = {$project}")->fetch();
$num = $num[0];
$lim = (int) $lim;
SmartyPaginate::connect();
// set items per page
SmartyPaginate::setLimit($lim);
SmartyPaginate::setTotal($num);
$start = SmartyPaginate::getCurrentIndex();
$lim = SmartyPaginate::getLimit();
} else {
$start = 0;
}
$sel1 = $conn->query("SELECT user FROM projekte_assigned WHERE projekt = {$project} LIMIT {$start},{$lim}");
$usr = new user();
while ($user = $sel1->fetch()) {
$theuser = $usr->getProfile($user[0]);
array_push($members, $theuser);
}
if (!empty($members)) {
return $members;
} else {
return false;
}
}
示例15: viewlist
function viewlist($parameter = null, $layout = true, $model = false)
{
$options = array();
$assigns = array();
$model = $model ? $model : $this->getDefaultModel();
$this->page_title = Inflector::humanize($this->name);
$this->auto_render = false;
$this->base_dir = APP_DIR;
$assigns['TITLE'] = Inflector::humanize($this->name);
if ($model) {
$this->get_search_field($model, $options);
$this->get_viewlist_options($model, $options);
$this->get_sort_options($model, $options);
$this->set_pagination($model);
$model->find($options);
$page_content =& NController::singleton('page_content');
$page_content_model =& $page_content->getDefaultModel();
$pk = $model->primaryKey();
$models = array();
$headline = $model->getHeadline() ? $model->getHeadline() : 'cms_headline';
$i = 0;
while ($model->fetch()) {
$arr = $model->toArray();
$arr['_headline'] = isset($arr['cms_headline']) && $arr['cms_headline'] ? $arr['cms_headline'] : $model->makeHeadline();
$arr['_remove_delete'] = $page_content_model->isWorkflowContent($this->name, $arr[$pk]) ? 1 : 0;
// Remove delete for models that have specified this.
$arr['_remove_delete'] = isset($model->remove_delete) && $model->remove_delete == true ? 1 : 0;
$models[] = $arr;
unset($arr);
}
// Override standard paging limit if chosen in the model file.
$paging = isset($model->paging) ? $model->paging : $this->paging;
// If paging is not disabled in the model AND the records are > than the paging size AND not searching.
if ($paging > 0 && count($models) > $paging && !$options['is_search']) {
SmartyPaginate::connect($this->name);
SmartyPaginate::setLimit($paging, $this->name);
SmartyPaginate::setTotal(count($models), $this->name);
$view =& NView::singleton($this);
SmartyPaginate::assign($view, 'paginate', $this->name);
// TODO: Could be more efficient and only get records it needs to.
$models = array_slice($models, SmartyPaginate::getCurrentIndex($this->name), SmartyPaginate::getLimit($this->name));
$this->set('paging', true);
}
$this->set(array('rows' => $models, 'asset' => $this->name, 'asset_name' => $this->page_title));
unset($models);
}
$this->render(array('layout' => 'default'));
}