return true;
}
- function html_menu() {
+ function html_menu($table=null) {
- $r = '<form class="db menu center" method="get">'.PHP_EOL;
+ $html = ' onchange="this.parentElement.submit()"';
+ $r = '<form class="db menu center border rad" method="get">'.PHP_EOL;
+
+ if (!empty($table)) foreach ( array_keys($table->fields()) as $k ) {
+
+ $v = $this->p($k);
+
+ $r .= ''
+ . '<label>'.prettyText($k).'</label>'
+ . '<input type="text" id="'.$k.'" name="'.$k.'" value="'.$v.'" />'
+ ;
- /// Tables
- $r .= '<label>Tables</label>'
- .'<select class="tables" name="table" onchange="this.parentElement.submit()">'
- ;
- foreach ($this->tables() as $table) {
- $r .= '<option value="'.$table.'"';
- $r .= $table == $this->p('table') ? ' selected="selected"' : '';
- $r .= '>'.prettyText($table).'</option>'.PHP_EOL;
}
- $r .= '</select>'.PHP_EOL;
+
+ /// Tables
+ $r .= '<label>Tables</label>'.html_select_array($this->tables(),array(
+ 'html' => 'class="tables" name="table"'.$html,
+ 'selected' => $this->p('table'),
+ 'prettyText' => true,
+ ));
// Format
- $r .= '<label>Format</label>'
- .'<select class="format" name="format" onchange="this.parentElement.submit()">'
- ;
- foreach (array('table','div','csv','xml','json','yaml') as $format) {
- $r .= '<option value="'.$format.'"';
- $r .= $format == $this->p('format') ? ' selected="selected"' : '';
- $r .= '>'.prettyText($format).'</option>'.PHP_EOL;
- }
- $r .= '</select>'.PHP_EOL;
+ $r .= '<label>Format</label>'.html_select_array(array(
+ 'table','div','csv','xml','json','yaml'
+ ),array(
+ 'html' => 'class="format" name="format"'.$html,
+ 'selected' => $this->p('table'),
+ 'prettyText' => true,
+ ));
// Limit
- $r .= '<label>Format</label>'
- .'<select class="limit" name="limit" onchange="this.parentElement.submit()">'
- ;
- foreach (array('10','20','50','100','500','1000') as $limit) {
- // - NB 10.07.15
- $r .= '<option value="'.$limit.'"';
- $r .= $limit == $this->p('limit') ? ' selected="selected"' : '';
- $r .= '>'.prettyText($limit).'</option>'.PHP_EOL;
- }
- $r .= '</select>'.PHP_EOL;
+ $r .= '<label>Limit</label>'.html_select_array(array(
+ '10','20','50','100','500','1000'
+ ),array(
+ 'html' => 'class="limit" name="limit"'.$html,
+ 'selected' => $this->p('table'),
+ 'prettyText' => true,
+ ));
// Bye
+ $r .= '<input type="submit" class="button" value="GO"/>';
$r .= '</form>'.PHP_EOL;
return $r;
}
/*
* Function: pset
- * Set a value for param, deleteit if null
+ * Set a value for param, delete it if null
*/
function pset($name,$value) {
if ($value === null) {
return $v ? $v[0] : null;
}
+
+function html_select_array($data,$opt=array()) {
+
+ $html = '<select';
+ if (!empty($opt['html'])) $html .= ' '.preg_replace('/^\s+/','',$opt['html']);
+ if (!empty($opt['readonly'])) $html.=' disabled="disabled"';
+ $html .= '>'.PHP_EOL;
+
+ if (!empty($opt['blank'])) {
+ if (empty($opt['blank_lib'])) $opt['blank_lib'] = $opt['blank'];
+ $html .= '<option value="'.$opt['blank_val'].'"'.(strcmp((string)$opt['selected'],$opt['blank_val']) == 0 ?' selected="selected"':'').'>';
+ $html .= $opt['blank_lib'];
+ $html .= '</option>'.PHP_EOL;
+ }
+
+ foreach ($data as $d) {
+
+ if (is_array($d)) {
+ $val = $lib = $d[0];
+ if (count($d)>1) $lib = $d[1];
+ } else {
+ $val = $lib = $d;
+ }
+
+ $lib = htmlentities($lib);
+ if (!empty($opt['prettyText'])) $lib = prettyText($lib);
+
+ $html .= '<option value="'.$val.'"'
+ .( ($opt['selected']!==NULL and strcmp((string)$opt['selected'],$val)===0) ?' selected="selected"':'')
+ .'>'.$lib.'</option>'.PHP_EOL;
+
+ }
+
+ $html .= '</select>'.PHP_EOL;
+
+ return $html;
+
+}
?>