- user list updated : ability to filter list on status. Function get_enums
comes back to retrieve the list of possible status in the database. git-svn-id: http://piwigo.org/svn/trunk@777 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
5293402be5
commit
9cfba96167
4 changed files with 81 additions and 0 deletions
|
|
@ -155,6 +155,29 @@ while ($row = mysql_fetch_array($result))
|
|||
));
|
||||
}
|
||||
|
||||
$blockname = 'status_option';
|
||||
|
||||
$template->assign_block_vars(
|
||||
$blockname,
|
||||
array(
|
||||
'VALUE'=> -1,
|
||||
'CONTENT' => '------------',
|
||||
'SELECTED' => ''
|
||||
));
|
||||
|
||||
foreach (get_enums(USERS_TABLE, 'status') as $status)
|
||||
{
|
||||
$selected = (isset($_GET['status']) and $_GET['status'] == $status) ?
|
||||
'selected="selected"' : '';
|
||||
$template->assign_block_vars(
|
||||
$blockname,
|
||||
array(
|
||||
'VALUE' => $status,
|
||||
'CONTENT' => $lang['user_status_'.$status],
|
||||
'SELECTED' => $selected
|
||||
));
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | filter |
|
||||
// +-----------------------------------------------------------------------+
|
||||
|
|
@ -186,6 +209,11 @@ if (isset($_GET['group'])
|
|||
$filter['group'] = $_GET['group'];
|
||||
}
|
||||
|
||||
if (isset($_GET['status'])
|
||||
and in_array($_GET['status'], get_enums(USERS_TABLE, 'status')))
|
||||
{
|
||||
$filter['status'] = $_GET['status'];
|
||||
}
|
||||
|
||||
// +-----------------------------------------------------------------------+
|
||||
// | navigation bar |
|
||||
|
|
@ -205,6 +233,11 @@ if (isset($filter['group']))
|
|||
$query.= '
|
||||
AND group_id = '.$filter['group'];
|
||||
}
|
||||
if (isset($filter['status']))
|
||||
{
|
||||
$query.= '
|
||||
AND status = \''.$filter['status']."'";
|
||||
}
|
||||
$query.= '
|
||||
;';
|
||||
list($counter) = mysql_fetch_row(pwg_query($query));
|
||||
|
|
@ -258,6 +291,11 @@ if (isset($filter['group']))
|
|||
$query.= '
|
||||
AND group_id = '.$filter['group'];
|
||||
}
|
||||
if (isset($filter['status']))
|
||||
{
|
||||
$query.= '
|
||||
AND status = \''.$filter['status']."'";
|
||||
}
|
||||
$query.= '
|
||||
ORDER BY '.$order_by.' '.$direction.'
|
||||
LIMIT '.$start.', '.$conf['users_page'].'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,9 @@
|
|||
2005-04-30 Pierrick LE GALL
|
||||
|
||||
* user list updated : ability to filter list on status. Function
|
||||
get_enums comes back to retrieve the list of possible status in
|
||||
the database.
|
||||
|
||||
2005-04-28 Pierrick LE GALL
|
||||
|
||||
* user list updated : ability to filter list on group
|
||||
|
|
|
|||
|
|
@ -34,6 +34,36 @@ include_once( PHPWG_ROOT_PATH .'include/functions_html.inc.php' );
|
|||
|
||||
//----------------------------------------------------------- generic functions
|
||||
|
||||
/**
|
||||
* returns an array containing the possible values of an enum field
|
||||
*
|
||||
* @param string tablename
|
||||
* @param string fieldname
|
||||
*/
|
||||
function get_enums($table, $field)
|
||||
{
|
||||
// retrieving the properties of the table. Each line represents a field :
|
||||
// columns are 'Field', 'Type'
|
||||
$result = pwg_query('desc '.$table);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
// we are only interested in the the field given in parameter for the
|
||||
// function
|
||||
if ($row['Field'] == $field)
|
||||
{
|
||||
// retrieving possible values of the enum field
|
||||
// enum('blue','green','black')
|
||||
$options = explode(',', substr($row['Type'], 5, -1));
|
||||
foreach ($options as $i => $option)
|
||||
{
|
||||
$options[$i] = str_replace("'", '',$option);
|
||||
}
|
||||
}
|
||||
}
|
||||
mysql_free_result($result);
|
||||
return $options;
|
||||
}
|
||||
|
||||
// get_boolean transforms a string to a boolean value. If the string is
|
||||
// "false" (case insensitive), then the boolean value false is returned. In
|
||||
// any other case, true is returned.
|
||||
|
|
|
|||
|
|
@ -22,6 +22,13 @@
|
|||
|
||||
username <input type="text" name="username" value="{F_USERNAME}" />
|
||||
|
||||
status
|
||||
<select name="status">
|
||||
<!-- BEGIN status_option -->
|
||||
<option value="{status_option.VALUE}" {status_option.SELECTED} > {status_option.CONTENT}</option>
|
||||
<!-- END status_option -->
|
||||
</select>
|
||||
|
||||
group
|
||||
<select name="group">
|
||||
<!-- BEGIN group_option -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue