[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] phpgwapi/inc/class.nextmatchs.inc.php, 1.68
From: |
nomail |
Subject: |
[Phpgroupware-cvs] phpgwapi/inc/class.nextmatchs.inc.php, 1.68 |
Date: |
Thu, 30 Dec 2004 07:47:31 +0100 |
Update of /phpgwapi/inc
Added Files:
Branch:
class.nextmatchs.inc.php
date: 2004/12/30 06:47:31; author: skwashd; state: Exp; lines: +162 -220
Log Message:
new HEAD
=====================================================================
<?php
/**
* Handles limiting number of rows displayed
* @author Joseph Engo <address@hidden>
* @author Bettina Gille <address@hidden>
* @copyright Copyright (C) 2000-2004 Free Software Foundation, Inc.
http://www.fsf.org/
* @license http://www.fsf.org/licenses/lgpl.html GNU Lesser General
Public License
* @package phpgwapi
* @subpackage gui
* @version $Id: class.nextmatchs.inc.php,v 1.68 2004/12/30 06:47:31
skwashd Exp $
*/
/**
* Handles limiting number of rows displayed
*
* @package phpgwapi
* @subpackage gui
*/
class nextmatchs
{
var $maxmatches;
var $action;
var $template;
var $extra_filters = array();
function nextmatchs($website=False)
{
if(!$website)
{
$this->template =
createobject('phpgwapi.Template',PHPGW_TEMPLATE_DIR);
$this->template->set_file(array(
'_nextmatchs' => 'nextmatchs.tpl'
));
$this->template->set_block('_nextmatchs','nextmatchs');
$this->template->set_block('_nextmatchs','filter');
$this->template->set_block('_nextmatchs','form');
$this->template->set_block('_nextmatchs','icon');
$this->template->set_block('_nextmatchs','link');
$this->template->set_block('_nextmatchs','search');
$this->template->set_block('_nextmatchs','cats');
$this->template->set_block('_nextmatchs','search_filter');
$this->template->set_block('_nextmatchs','cats_search_filter');
}
if(isset($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'])
&&
intval($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']) >
0)
{
$this->maxmatches =
intval($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs']);
}
else
{
$this->maxmatches = 15;
}
if(isset($GLOBALS['phpgw_info']['menuaction']))
{
$this->action =
$GLOBALS['phpgw_info']['menuaction'];
}
}
/*!
@function get_var
@abstract Fetch commonly-used GP(C) vars
@discussion This calls get_var() from functions.inc.php
*/
function get_var()
{
return array(
get_var('filter',array('GLOBAL','POST','GET')),
get_var('qfield',array('GLOBAL','POST','GET')),
get_var('start',array('GLOBAL','POST','GET')),
get_var('order',array('GLOBAL','POST','GET')),
get_var('sort',array('GLOBAL','POST','GET'))
);
}
/*!
@function set_icon
@abstract ?
@param $align ?
@param $img_src ?
@param $label ?
*/
function set_icon($align,$img,$label)
{
switch(strtolower($GLOBALS['phpgw_info']['user']['account_lid']))
{
case 'ceb':
$border = 2;
break;
default:
$border = 0;
break;
}
$var = array(
'align' => $align,
'img' =>
$GLOBALS['phpgw']->common->image('phpgwapi',$img),
'label' => lang($label),
'border' => $border
);
$this->template->set_var($var);
return $this->template->fp('out','link');
}
/*!
@function page
@abstract ?
*/
function page($extravars='')
{
if($extravars && is_string($extravars) &&
substr($extravars,0,1)!='&')
{
$extras = '&'.$extravars;
}
elseif($extravars && is_array($extravars))
{
@reset($extravars);
while(list($var,$value) = each($extravars))
{
if($var != 'menuaction')
{
$t_extras[] = $var.'='.$value;
}
}
//jarg-SOG s
$extras = '&'.implode($t_extras,'&');
//jarg-SOG e
}
return
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->action.$extras);
}
/*!
@function set_link
@abstract ?
@param $img_src ?
@param $label ?
@param $link ?
@param $extravars ?
*/
function set_link($align,$img,$link,$alt,$extravars)
{
$hidden = '';
while(list($var,$value) = each($extravars))
{
if((is_int($value) && $value == 0) || $value)
{
// if(is_int($value))
// {
// $param = intval($value);
// }
// else
// {
$param = '"'.$value.'"';
// }
$hidden .= ' <input type="hidden"
name="'.$var.'" value='.$param.'>'."\n";
}
}
$border = 0;
$var = Array(
'align' => $align,
//jarg-SOG s
'action' =>
($this->action?$this->page($extravars):$GLOBALS['phpgw']->link($link)),
//jarg-SOG e
'form_name' => $img,
'hidden' =>
substr($hidden,0,strlen($hidden)-1),
'img' =>
$GLOBALS['phpgw']->common->image('phpgwapi',$img),
'label' => $alt,
'border' => $border,
'start' => $extravars['start']
);
$this->template->set_var($var);
return $this->template->fp('out','form');
}
/*!
@function show_tpl
@abstract ?
@param $sn ?
@param $start ?
@param $total ?
@param $extra ?
@param $twidth ?
@param $bgtheme ?
@param $search_obj ?
@param $filter_obj ?
@param $showsearch ?
*/
function show_tpl($sn,$localstart,$total,$extra, $twidth,
$bgtheme,$search_obj=0,$filter_obj=1,$showsearch=1,$yours=0,$cat_id=0,$cat_field='fcat_id')
{
list($filter,$qfield,$start,$order,$sort) =
$this->get_var();
$start = $localstart;
$cats = CreateObject('phpgwapi.categories');
$extravars = Array();
$extravars = $this->split_extras($extravars,$extra);
$var = array(
'form_action' =>
($this->action?$this->page($extra):$GLOBALS['phpgw']->link($sn, $extra)),
'lang_category' => lang('Category'),
'lang_all' => lang('All'),
'lang_select' => lang('Select'),
'cat_field' => $cat_field,
'categories' =>
$cats->formated_list('select','all',$cat_id,'True'),
'filter_value' => $filter,
'qfield' => $qfield,
'start_value' => $start,
'order_value' => $order,
'sort_value' => $sort,
'query_value' =>
urlencode(stripslashes($GLOBALS['query'])),
'table_width' => $twidth,
'th_bg' =>
$GLOBALS['phpgw_info']['theme']['th_bg'],
'left' =>
$this->left($sn,$start,$total,$extra),
'search' =>
($showsearch?$this->search($search_obj):''),
'filter' =>
($filter_obj?$this->filter($filter_obj,$yours):''),
'right' =>
$this->right($sn,$start,$total,$extra)
);
$this->template->set_var($var);
$this->template->parse('cats','cats');
$this->template->parse('cats_search_filter_data','cats_search_filter');
return $this->template->fp('out','nextmatchs');
}
function split_extras($extravars,$extradata)
{
if($extradata)
{
if(is_string($extradata))
{
$extraparams = explode('&',$extradata);
$c_extraparams = count($extraparams) +
1;
for($i=0;$i<$c_extraparams;$i++)
{
if($extraparams[$i])
{
list($var,$value) =
explode('=',$extraparams[$i]);
if($var != 'menuaction')
{
$extravars[$var] = $value;
}
else
{
$this->action =
$value;
}
}
}
}
elseif(is_array($extradata))
{
while(list($var,$value) =
each($extradata))
{
if($var != 'menuaction')
{
$extravars[$var] =
$value;
}
else
{
$this->action = $value;
}
}
}
}
return $extravars;
}
function extras_to_string($extra)
{
if(is_array($extra))
{
@reset($extra);
while(list($var,$value) = each($extra))
{
$t_extras[] = $var . '=' . $value;
}
$extra_s = '&' . implode('&',$t_extras);
}
return $extra_s;
}
/*!
@function left
@abstract ?
@param $scriptname ?
@param $start ?
@param $total ?
@param $extradate ?
*/
function left($scriptname,$start,$total,$extradata = '')
{
list($filter,$qfield,,$order,$sort) = $this->get_var();
$extravars = Array(
'order' => $order,
'filter' => $filter,
'q_field' => $qfield,
'sort' => $sort,
'query' =>
urlencode(stripslashes($GLOBALS['query']))
);
$extravars = $this->split_extras($extravars,$extradata);
$ret_str = '';
if (($start != 0) &&
($start > $this->maxmatches))
{
$extravars['start'] = 0;
$ret_str .=
$this->set_link('left','first.gif',$scriptname,lang('First page'),$extravars);
}
else
{
$ret_str .=
$this->set_icon('left','first-grey.gif',lang('First page'));
}
if ($start != 0)
{
// Changing the sorting order screaws up the
starting number
if (($start - $this->maxmatches) < 0)
{
$extravars['start'] = 0;
}
else
{
$extravars['start'] = ($start -
$this->maxmatches);
}
$ret_str .=
$this->set_link('left','left.gif',$scriptname,lang('Previous page'),$extravars);
}
else
{
$ret_str .=
$this->set_icon('left','left-grey.gif',lang('Previous page'));
}
return $ret_str;
} /* left() */
/*!
@function right
@abstract ?
@param $scriptname ?
@param $start ?
@param $total ?
@param $extradate ?
*/
function right($scriptname,$start,$total,$extradata = '')
{
list($filter,$qfield,,$order,$sort) = $this->get_var();
$extravars = Array(
'order' => $order,
'filter' => $filter,
'q_field' => $qfield,
'sort' => $sort,
'query' =>
urlencode(stripslashes($GLOBALS['query']))
);
$extravars = $this->split_extras($extravars,$extradata);
$ret_str = '';
if (($total > $this->maxmatches) &&
($total > $start + $this->maxmatches))
{
$extravars['start'] = ($start +
$this->maxmatches);
$ret_str .=
$this->set_link('right','right.gif',$scriptname,lang('Next page'),$extravars);
}
else
{
$ret_str .=
$this->set_icon('right','right-grey.gif',lang('Next page'));
}
if (($start != $total - $this->maxmatches) &&
(($total - $this->maxmatches) > ($start +
$this->maxmatches)))
{
$extravars['start'] = ($total -
$this->maxmatches);
$ret_str .=
$this->set_link('right','last.gif',$scriptname,lang('Last page'),$extravars);
}
else
{
$ret_str .=
$this->set_icon('right','last-grey.gif',lang('Last page'));
}
return $ret_str;
} /* right() */
/*!
@function search_filter
@abstract ?
@param $search_obj default 0
*/
function
search_filter($search_obj=0,$filter_obj=1,$yours=0,$link='',$extra='')
{
list($filter,$qfield,$start,$order,$sort) =
$this->get_var();
$start = $localstart;
$var = array(
'form_action' =>
($this->action?$this->page($extra):$GLOBALS['phpgw']->link($sn, $extra)),
'filter_value' => $filter,
'qfield' => $qfield,
'start_value' => $start,
'order_value' => $order,
'sort_value' => $sort,
'query_value' =>
urlencode(stripslashes($GLOBALS['query'])),
'th_bg' =>
$GLOBALS['phpgw_info']['theme']['th_bg'],
'search' => $this->search($search_obj),
'filter' =>
($filter_obj?$this->filter($filter_obj,$yours):'')
);
$this->template->set_var($var);
return $this->template->fp('out','search_filter');
}
/*!
@function cats_search_filter
@abstract ?
@param $search_obj default 0
*/
function
cats_search_filter($search_obj=0,$filter_obj=1,$yours=0,$cat_id=0,$cat_field='fcat_id',$link='',$extra='')
{
list($filter,$qfield,$start,$order,$sort) =
$this->get_var();
$start = $localstart;
$cats = CreateObject('phpgwapi.categories');
$var = array(
'form_action' =>
($this->action?$this->page($extra):$GLOBALS['phpgw']->link($sn, $extra)),
'lang_category' => lang('Category'),
'lang_all' => lang('All'),
'lang_select' => lang('Select'),
'cat_field' => $cat_field,
'categories' =>
$cats->formated_list('select','all',$cat_id,'True'),
'filter_value' => $filter,
'qfield' => $qfield,
'start_value' => $start,
'order_value' => $order,
'sort_value' => $sort,
'query_value' =>
urlencode(stripslashes($GLOBALS['query'])),
'th_bg' =>
$GLOBALS['phpgw_info']['theme']['th_bg'],
'search' => $this->search($search_obj),
'filter' =>
($filter_obj?$this->filter($filter_obj,$yours):'')
);
$this->template->set_var($var);
return $this->template->fp('out','cats_search_filter');
}
/*!
@function search
@abstract ?
@param $search_obj default 0
*/
function search($search_obj=0)
{
if(is_array($search_obj))
{
$params = $search_obj;
$_query = stripslashes($params['query']);
$search_obj = $params['search_obj'];
}
else
{
$_query = stripslashes($GLOBALS['query']);
}
// If the place a '"' in there search, it will mess
everything up
// Our only option is to remove it
if (ereg('"',$_query))
{
$_query = ereg_replace('"','',$_query);
}
$var = array
(
'query_value' => stripslashes($_query),
'lang_search' => lang('Search')
);
if (is_array($search_obj))
{
$var['searchby'] = $this->searchby($search_obj);
}
$this->template->set_var($var);
return $this->template->fp('out','search');
} /* search() */
/*!
@function filterobj
@abstract ?
@param $filtertable
@param $indxfieldname ?
@param $strfieldname ?
*/
function filterobj($filtertable, $idxfieldname, $strfieldname)
{
$filter_obj = array(array('none','show all'));
$index = 0;
$GLOBALS['phpgw']->db->query("SELECT $idxfieldname,
$strfieldname FROM $filtertable",__LINE__,__FILE__);
while($GLOBALS['phpgw']->db->next_record())
{
$index++;
$filter_obj[$index][0] =
$GLOBALS['phpgw']->db->f($idxfieldname);
$filter_obj[$index][1] =
$GLOBALS['phpgw']->db->f($strfieldname);
}
return $filter_obj;
} /* filterobj() */
/*!
@function searchby
@abstract ?
@param $search_obj ?
*/
function searchby($search_obj)
{
$qfield = get_var('qfield',Array('GET','POST'));
$str = '';
if (is_array($search_obj))
{
$indexlimit = count($search_obj);
for ($index=0; $index<$indexlimit; $index++)
{
if ($qfield == '')
{
$qfield =
$search_obj[$index][0];
}
$str .= '<option value="' .
$search_obj[$index][0] . '"' . ($qfield == $search_obj[$index][0]?'
selected':'') . '>' . lang($search_obj[$index][1]) . '</option>';
}
$str = '<select name="qfield">' . $str .
'</select>' . "\n";
}
return $str;
} /* searchby() */
/*!
@function filter
@abstract ?
@param $filter_obj
*/
function filter($filter_obj,$yours=0)
{
if (is_array($yours))
{
$params = $yours;
$filter = $params['filter'];
$yours = $params['yours'];
}
else
{
$filter = $_POST['filter'] ? $_POST['filter'] :
$_GET['filter'];
}
if (is_long($filter_obj))
{
if ($filter_obj == 1)
{
// $user_groups =
$GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
$indexlimit = count($user_groups);
if ($yours)
{
$filter_obj = array
(
array('none',lang('Show
all')),
array('yours',lang('Only yours')),
array('private',lang('private'))
);
}
else
{
$filter_obj = array
(
array('none',lang('Show
all')),
array('private',lang('private'))
);
}
while (is_array($this->extra_filters)
&& (list(,$efilter) = each($this->extra_filters)))
{
$filter_obj[] = $efilter;
}
for ($index=0; $index<$indexlimit;
$index++)
{
$filter_obj[2+$index][0] =
$user_groups[$index]['account_id'];
$filter_obj[2+$index][1] =
'Group - ' . $user_groups[$index]['account_name'];
}
}
}
if (is_array($filter_obj))
{
$str = '';
$indexlimit = count($filter_obj);
for ($index=0; $index<$indexlimit; $index++)
{
if ($filter == '')
{
$filter =
$filter_obj[$index][0];
}
$str .= ' <option value="' .
$filter_obj[$index][0] . '"'.($filter == $filter_obj[$index][0]?' selected':'')
. '>' . $filter_obj[$index][1] . '</option>'."\n";
}
$str = ' <select name="filter"
onChange="this.form.submit()">'."\n" . $str . ' </select>';
$this->template->set_var('select',$str);
$this->template->set_var('lang_filter',lang('Filter'));
}
return $this->template->fp('out','filter');
} /* filter() */
/* replacement for function filter */
function new_filter($data=0)
{
if(is_array($data))
{
$filter =
(isset($data['filter'])?$data['filter']:'');
$format =
(isset($data['format'])?$data['format']:'all');
}
else
{
//$filter =
get_var('filter',Array('GET','POST'));
$filter = $data;
$format = 'all';
}
switch($format)
{
case 'yours':
$filter_obj = array
(
array('none',lang('show all')),
array('yours',lang('only
yours'))
);
break;
case 'private':
$filter_obj = array
(
array('none',lang('show all')),
array('private',lang('only
private'))
);
break;
default:
$filter_obj = array
(
array('none',lang('show all')),
array('yours',lang('only
yours')),
array('private',lang('only
private'))
);
}
$str = '';
$indexlimit = count($filter_obj);
for($index=0; $index<$indexlimit; $index++)
{
if($filter == '')
{
$filter = $filter_obj[$index][0];
}
$str .= ' <option value="' .
$filter_obj[$index][0] . '"'.($filter == $filter_obj[$index][0]?' selected':'')
. '>' . $filter_obj[$index][1] . '</option>'."\n";
}
$str = ' <select name="filter"
onChange="this.form.submit()">'."\n" . $str . ' </select>';
$this->template->set_var('select',$str);
$this->template->set_var('lang_filter',lang('Filter'));
return $this->template->fp('out','filter');
} /* filter() */
/*!
@function alternate_row_color
@abstract alternate row colour
@param $currentcolor default ''
*/
function alternate_row_color($currentcolor = '')
{
if (! $currentcolor)
{
$currentcolor = $GLOBALS['tr_color'];
}
if ($currentcolor ==
$GLOBALS['phpgw_info']['theme']['row_on'])
{
$GLOBALS['tr_color'] =
$GLOBALS['phpgw_info']['theme']['row_off'];
}
else
{
$GLOBALS['tr_color'] =
$GLOBALS['phpgw_info']['theme']['row_on'];
}
return $GLOBALS['tr_color'];
}
// If you are using the common bgcolor="{tr_color}"
// This function is a little cleanier approch
/*!
@function template_alternate_row_color
@abstract ?
@param $tpl ?
*/
function template_alternate_row_color(&$tpl)
{
$tpl->set_var('tr_color',$this->alternate_row_color());
}
/*!
@function show_sort_order
@abstract ?
@param $sort ?
@param $var ?
@param $order ?
@param $program ?
@param $text ?
@param $extra default ''
@param $build_an_href default True
*/
function show_sort_order($sort, $var = '', $order = '',
$program = '', $text = '', $extra='', $build_an_href = True)
{
if(is_array($sort))
{
$temp_format = $sort['sort'];
$var =
(isset($sort['var'])?$sort['var']:'');
$order =
(isset($sort['order'])?$sort['order']:'');
$program =
(isset($sort['program'])?$sort['program']:'/index.php');
$text =
(isset($sort['text'])?$sort['text']:'xslt');
$extra =
(isset($sort['extra'])?$sort['extra']:'');
$build_an_href =
(isset($sort['build_an_href'])?$sort['build_an_href']:True);
settype($sort,'string');
$sort = $temp_format;
unset($temp_format);
}
list($filter,$qfield,$start,$NULL1,$NULL) =
$this->get_var();
if(($order == $var) && ($sort == 'ASC'))
{
$sort = 'DESC';
}
elseif(($order == $var) && ($sort == 'DESC'))
{
$sort = 'ASC';
}
else
{
$sort = 'ASC';
}
if(is_array($extra))
{
$extra = $this->extras_to_string($extra);
}
$extravar =
'order='.$var.'&sort='.$sort.'&filter='.$filter.'&qfield='.$qfield.'&start='.$start.'&query='.urlencode(stripslashes($GLOBALS['query'])).$extra;
$link =
($this->action?$this->page($extravar):$GLOBALS['phpgw']->link($program,$extravar));
if ($text == 'xslt')
{
return $link;
}
elseif($build_an_href)
{
return '<a href="' . $link . '">' . $text .
'</a>';
}
else
{
return $link;
}
}
function show_hits($total_records='',$start=0)
{
if ($total_records > $this->maxmatches)
{
if ($start + $this->maxmatches > $total_records)
{
$end = $total_records;
}
else
{
$end = $start + $this->maxmatches;
}
return lang('showing %1 - %2 of %3',($start +
1),$end,$total_records);
}
else
{
return lang('showing %1',$total_records);
}
}
/*!
@function show_sort_order_imap
@abstract ?
@param $old_sort : the current sort value
@param $new_sort : the sort value you want if you click on this
@param $default_order : users preference for ordering list
items (force this when a new [different] sorting is requested)
@param $order : the current order (will be flipped if old_sort
= new_sort)
@param $program : script file name
@param $text : Text the link will show
@param $extra : any extra stuff you want to pass, url style
*/
function
show_sort_order_imap($old_sort,$new_sort,$default_order,$order,$program,$text,$extra='')
{
if(is_array($extra))
{
$extra = $this->extras_to_string($extra);
}
if($old_sort == $new_sort)
{
// alternate order, like on outkrook, click on
present sorting reverses order
if((int)$order == 1)
{
$our_order = 0;
}
elseif((int)$order == 0)
{
$our_order = 1;
}
else
{
// we should never get here
$our_order = 1;
}
}
else
{
//user has selected a new sort scheme, reset
the order to users default
$our_order = $default_order;
}
$extravar =
'order='.$our_order.'&sort='.$new_sort.$extra;
$link =
($this->action?$this->page($extravar):$GLOBALS['phpgw']->link($program,$extravar));
return '<a href="' .$link .'">' .$text .'</a>';
}
/*!
@function nav_left_right_imap
@abstract same code as left and right (as of Dec 07, 2001)
except all combined into one function
@param feed_vars : array with these elements: <br>
start
total
cmd_prefix
cmd_suffix
@return array, combination of functions left and right above,
with these elements:
first_page
prev_page
next_page
last_page
@author: jengo, some changes by Angles
*/
function nav_left_right_imap($feed_vars)
{
$return_array = Array(
'first_page' => '',
'prev_page' => '',
'next_page' => '',
'last_page' => ''
);
$out_vars = array();
// things that might change
$out_vars['start'] = $feed_vars['start'];
// things that stay the same
$out_vars['common_uri'] = $feed_vars['common_uri'];
$out_vars['total'] = $feed_vars['total'];
// first page
if(($feed_vars['start'] != 0) &&
($feed_vars['start'] > $this->maxmatches))
{
$out_vars['start'] = 0;
$return_array['first_page'] =
$this->set_link_imap('left','first.gif',lang('First page'),$out_vars);
}
else
{
$return_array['first_page'] =
$this->set_icon_imap('left','first-grey.gif',lang('First page'));
}
// previous page
if($feed_vars['start'] != 0)
{
// Changing the sorting order screaws up the
starting number
if(($feed_vars['start'] - $this->maxmatches) <
0)
{
$out_vars['start'] = 0;
}
else
{
$out_vars['start'] =
($feed_vars['start'] - $this->maxmatches);
}
$return_array['prev_page'] =
$this->set_link_imap('left','left.gif',lang('Previous page'),$out_vars);
}
else
{
$return_array['prev_page'] =
$this->set_icon_imap('left','left-grey.gif',lang('Previous page'));
}
// re-initialize the out_vars
// things that might change
$out_vars['start'] = $feed_vars['start'];
// next page
if(($feed_vars['total'] > $this->maxmatches) &&
($feed_vars['total'] > $feed_vars['start'] +
$this->maxmatches))
{
$out_vars['start'] = ($feed_vars['start'] +
$this->maxmatches);
$return_array['next_page'] =
$this->set_link_imap('right','right.gif',lang('Next page'),$out_vars);
}
else
{
$return_array['next_page'] =
$this->set_icon_imap('right','right-grey.gif',lang('Next page'));
}
// last page
if(($feed_vars['start'] != $feed_vars['total'] -
$this->maxmatches) &&
(($feed_vars['total'] - $this->maxmatches) >
($feed_vars['start'] + $this->maxmatches)))
{
$out_vars['start'] = ($feed_vars['total'] -
$this->maxmatches);
$return_array['last_page'] =
$this->set_link_imap('right','last.gif',lang('Last page'),$out_vars);
}
else
{
$return_array['last_page'] =
$this->set_icon_imap('right','last-grey.gif',lang('Last page'));
}
return $return_array;
}
/*!
@function set_link_imap
@abstract ?
@param $img_src ?
@param $label ?
@param $link ?
@param $extravars ?
*/
function set_link_imap($align,$img,$alt_text,$out_vars)
{
$img_full =
$GLOBALS['phpgw']->common->image('phpgwapi',$img);
$image_part = '<img src="'.$img_full.'" border="0"
alt="'.$alt_text.'" width="12" height="12">';
return '<a
href="'.$out_vars['common_uri'].'&start='.$out_vars['start'].'">'.$image_part.'</a>';
}
function set_icon_imap($align,$img,$alt_text)
{
$img_full =
$GLOBALS['phpgw']->common->image('phpgwapi',$img);
return '<img src="'.$img_full.'" border="0" width="12"
height="12" alt="'.$alt_text.'">'."\r\n";
}
function xslt_filter($data=0)
{
$GLOBALS['phpgw']->xslttpl->add_file($GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
. SEP . 'filter_select');
if(is_array($data))
{
$filter =
(isset($data['filter'])?$data['filter']:'');
$format =
(isset($data['format'])?$data['format']:'all');
$link_data =
(isset($data['link_data'])?$data['link_data']:'');
}
else
{
//$filter =
get_var('filter',Array('GET','POST'));
//$filter = $data;
//$format = 'all';
return False;
}
switch($format)
{
case 'yours':
$filter_obj = array
(
array('key' => 'none','lang' =>
lang('show all')),
array('key' => 'yours','lang'
=> lang('only yours'))
);
break;
case 'private':
$filter_obj = array
(
array('key' => 'none','lang' =>
lang('show all')),
array('key' => 'private','lang'
=> lang('only private'))
);
break;
default:
$filter_obj = array
(
array('key' => 'none','lang' =>
lang('show all')),
array('key' => 'yours','lang'
=> lang('only yours')),
array('key' => 'private','lang'
=> lang('only private'))
);
}
for($i=0;$i<count($filter_obj);$i++)
{
if($filter_obj[$i]['key'] == $filter)
{
$filter_obj[$i]['selected'] = 'yes';
}
}
$filter_data = array
(
'filter_list' =>
$filter_obj,
'lang_filter_statustext' => lang('Select
the filter. To show all entries select SHOW ALL'),
'lang_submit' =>
lang('submit'),
'select_url' =>
$GLOBALS['phpgw']->link('/index.php',$link_data)
);
return $filter_data;
}
} // End of nextmatchs class
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] phpgwapi/inc/class.nextmatchs.inc.php, 1.68,
nomail <=