summaryrefslogtreecommitdiff
path: root/smartyplugins/function.pagination.php
blob: 4963171e8bc2a5baf5a0cecc71abaf560d4d5f8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
/**
 * Smarty {pagination} function plugin
 * @package Smarty
 * @subpackage plugins
 * @link http://www.bitweaver.org/wiki/function_pagination function_pagination
 */

/**
 * Smarty {pagination} function plugin
 *
 * Type:     function<br>
 * Name:     pagination<br>
 * Input:<br>
 *           - <attribute>=<value>  (optional) - pass in any attributes and they will be added to the pagination string<br>
 * Output:   url of the form: $PHP_SELF?attribute1=value1&attribute2=value2
 */
function smarty_function_pagination( $params, &$gBitSmarty ) {
    $pgnUrl = $gBitSmarty->get_template_vars('returnURL');
    if ( isset( $params['url'] ) ) {
     	  $pgnUrl = $params['url'];
        unset( $params['url'] );
    }
    if( empty( $pgnUrl ) ) {
        $pgnUrl = $_SERVER['PHP_SELF'];
	}

    $gBitSmarty->assign( 'pgnUrl', $pgnUrl );

	$pgnVars = '';
	foreach( $params as $form_param => $form_val ) {
		$pgnVars .= "&amp;".$form_param."=".$form_val;
		$pgnHidden[$form_param] = $form_val;
	}
    $gBitSmarty->assign( 'pgnVars', $pgnVars );
	$gBitSmarty->assign( 'pgnHidden', $pgnHidden );
    $gBitSmarty->display('bitpackage:kernel/pagination.tpl');
}
?>