aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2005-04-30 14:36:57 +0000
committerplegall <plg@piwigo.org>2005-04-30 14:36:57 +0000
commit9cfba96167a8d6e67d6e3a257e87e27483c478ec (patch)
treed09a6d441b18e3e561dbce61ddb1c9295816c820 /include
parent5293402be5299d3c7b6b0f55b4130223ece04dd6 (diff)
- 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
Diffstat (limited to 'include')
-rw-r--r--include/functions.inc.php30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php
index a9c48f33b..ce64148a7 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -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.