Revize 201
Přidáno uživatelem Jiří Sviták před více než 15 roky(ů)
freenetis/trunk/kohana/application/i18n/cs_CZ/texts.php | ||
---|---|---|
'export members to xls file' => 'Exportovat členy do xls souboru',
|
||
'fee' => 'Poplatek',
|
||
'fee or penalty comment' => 'Komentář k poplatku/pokutě',
|
||
'filter' => 'Filtrovat',
|
||
'former member' => 'Bývalý člen',
|
||
'from/to' => 'Od/komu',
|
||
'from' => 'Od',
|
freenetis/trunk/kohana/application/models/member.php | ||
---|---|---|
parent::__construct($id);
|
||
}
|
||
|
||
|
||
/**
|
||
* Gets list of all members from database.
|
||
* @param $limit_from starting row
|
||
* @param $limit_results number of rows
|
||
* @param $order_by sorting column
|
||
* @param $order_by_direction sorting direction
|
||
* @param $filter_values used for filtering
|
||
* @return unknown_type
|
||
*/
|
||
public function get_all_members($limit_from = 0, $limit_results = 50, $order_by = 'm.id', $order_by_direction = 'ASC', $filter_values = array())
|
||
{
|
||
|
||
// old version without filtering
|
||
//return self::$db->query('select m.id, m.registration, concat(u.surname,\' \',u.name) as name, ifnull(m.street,\'-\') as street,
|
||
// ifnull(m.street_number,\'-\') as street_number,ifnull(m.town,\'-\') as town from members m
|
||
// left join users u on m.id = u.member_id group by m.id order by name limit '.$min.','.$limit_results);
|
||
|
||
$where = '';
|
||
|
||
if(count($filter_values)>0) $where .= 'WHERE ';
|
||
|
||
$where = '';
|
||
$phone = '';
|
||
$first = true;
|
||
foreach($filter_values as $key => $value)
|
||
{
|
||
if($key!='submit')
|
||
{
|
||
if($where!='WHERE ') $where .= ' AND ';
|
||
$where .= $key.' LIKE \'%'.trim($value).'%\' COLLATE utf8_general_ci';
|
||
{
|
||
if ($key != 'submit')
|
||
{
|
||
// used for creating WHERE clausule
|
||
if ($first)
|
||
{
|
||
$where = 'WHERE ';
|
||
$first = false;
|
||
}
|
||
else
|
||
{
|
||
$where .= ' AND ';
|
||
}
|
||
if ($key == 'phone')
|
||
{
|
||
// joins table users to get phone number from user assigned to this member
|
||
$phone = ' JOIN users u ON m.id = u.member_id';
|
||
$where .= 'u.phone = \''.$value.'\'';
|
||
}
|
||
else
|
||
{
|
||
// may filter name, street and town
|
||
$where .= 'm.'.$key.' LIKE \'%'.trim($value).'%\' COLLATE utf8_general_ci';
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
return self::$db->query('select m.id, m.registration, m.name, m.street, m.street_number, m.town from members m '.$where.' order by '.$order_by.' '.$order_by_direction.' LIMIT '.$limit_from.','.$limit_results);
|
||
}
|
||
return self::$db->query('SELECT m.id, m.registration, m.name, m.street, m.street_number, m.town FROM members m '.$phone.' '.$where.' ORDER BY '.$order_by.' '.$order_by_direction.' LIMIT '.$limit_from.','.$limit_results);
|
||
}
|
||
|
||
}
|
||
|
||
/**
|
||
* to do - comment
|
||
* @param $limit
|
||
* @param $limit_results
|
||
* @return unknown_type
|
||
*/
|
||
public function get_all_members_to_registration($limit = 0, $limit_results = 50)
|
||
{
|
||
|
||
return self::$db->query('select m.id, m.registration, concat(u.surname,\' \',u.name) as name, m.street, m.street_number, m.town from members m join users u on m.id = u.member_id order by u.surname limit '.$limit.', '.$limit_results);
|
||
|
||
}
|
||
|
||
|
||
/**
|
||
* Counts all members.
|
||
* to do - should be rewritten like get_all_members?
|
||
* @param $filter_values
|
||
* @return unknown_type
|
||
*/
|
||
public function count_all_members($filter_values = array())
|
||
{
|
||
|
freenetis/trunk/kohana/application/controllers/members.php | ||
---|---|---|
// creates fields for filtering members
|
||
$filter=new Table_Form(url_lang::base()."members/show_all", "get", array(
|
||
new Table_Form_Item('text','name','Name'),
|
||
new Table_Form_Item('text','town','Town'),
|
||
new Table_Form_Item('text','town','Town'),
|
||
"tr",
|
||
new Table_Form_Item('text','street','street'),
|
||
"td",
|
||
new Table_Form_Item('submit','submit','Filter')
|
||
new Table_Form_Item('text','street','Street'),
|
||
new Table_Form_Item('text','phone','Phone'),
|
||
"tr", "td", "td", "td",
|
||
new Table_Form_Item('submit','submit','Filter')
|
||
)
|
||
);
|
||
|
Také k dispozici: Unified diff
U zobrazeni vsech clenu pridano filtrovani podle telefonniho cisla jejich primarniho uzivatele.