define('TABLE_INDENT',NB_EOL ? "\t" : "");
define('TABLE_CSV_SEP',nb::p('sep') ? nb::p('sep') : "\t");
+
+if (!defined('DB_HTML_FORM_BUTTONS')) define('DB_HTML_FORM_BUTTONS',''
+ #.'<input type="button" class="button" value="Add" onclick="this.setAttribute(\'type\',\'submit\');this.setAttribute(\'name\',\'edit\')?1:1"/>'
+ #.'<input type="button" class="button" value="Add" onclick="this.setAttribute(\'name\',\'edit\');this.parentElement.submit()?0:0"/>'
+ #.'<input type="button" class="button" onclick="return nb.form_clear(this.parentElement)" value="X"/>'
+// NB 04.08.15 .'<a class="button form_clear" href="#" onclick="nb.form_clear(this.parentElement)?0:0">X</a>'
+ .'<span class="buttons">'
+ .'<input type="submit" class="button submit" value="GO"/>'
+ .'<input type="button" class="button table_add" value="Add" onclick="window.location = \'?action=edit&table=\'+$(\'#table\').val()"/>'
+ .'</span>'
+);
+#if (!defined('DB_HTML_BUTTON_SUBMIT')) define('DB_HTML_BUTTON_SUBMIT','<input type="submit" class="button" value="GO"/>');
+#if (!defined('DB_HTML_BUTTON_ADD')) define('DB_HTML_BUTTON_ADD','<a class="button" href="?" onclick="nb.form_clear(this.parentElement) ? 0: 0">Add</a>');
+#if (!defined('DB_HTML_BUTTON_ADD')) define('DB_HTML_BUTTON_ADD','<input type="submit" class="button" value="Add" onclick="this.setAttribute(\'name\',\'edit\')?0:0"/>');
if (!defined('DB_HTML_EDIT')) define('DB_HTML_EDIT','Edit');
if (!defined('DB_HTML_DELETE')) define('DB_HTML_DELETE','Delete');
if (!defined('DB_TABLE_QUERY_NAME')) define('DB_TABLE_QUERY_NAME','_query_');
$next = 999999;
}
+ /*
+ if ($prev>=0) $html .= '<li class="prev"><a href="'.$this->url_list('limit',preg_replace('/^0,/','',"$prev,$y")).'"><<</a></li>';
+
+ $html .= '<li class="count">'.($tot ? ($x+1) : 0).' - '.( $count<($x+$y) ? $count : ($x+$y) ).' / '.$tot.' results</li>';
+
+ if ($next<$tot) $html .= '<li class="prev"><a href="'.$this->url_list('limit',"$next,$y").'">>></a></li>';
+
+ if ($html) $html = ''
+ .'<nav>'.NB_EOL
+ .'<li>'.NB_EOL
+ .$html
+ .'</li>'.NB_EOL
+ .'</nav>'.NB_EOL
+ ;
+ */
if ($prev>=0) $html .= '<span class="prev"><a href="'.$this->url_list('limit',preg_replace('/^0,/','',"$prev,$y")).'"><<</a></span> ';
$html .= '<span class="count">'.($tot ? ($x+1) : 0).' - '.( $count<($x+$y) ? $count : ($x+$y) ).' / '.$tot.' results</span>';
).')$/',$format))
{
- if (!($out_conf = out::$types[$format])) $this->bye("Unknow format `$format`");
+ if (!($out_conf = out::type($format))) $this->bye("Unknow format `$format`");
$this->params += array_values(out::$types);
if (empty($out_conf['enclose'])) $out_conf['enclose'] = array('','');
$err = $this->db->conn->errorInfo();
$err[] = $sql;
self::bye(join(' | ',$err));
- }
+ }
+
+ public function html_menu() {
+
+ $r = '<form class="db menu" method="get" action="?">'.NB_EOL;
+
+ // Criterias
+ if (!empty($this)) {
+ $r .= '<div class="criterias">';
+ foreach ( array_keys($this->fields()) as $k ) {
+
+ $v = $this->p($k);
+
+ $r .= ''
+ .'<span class="label '.$k.'">'
+ . '<label>'.prettyText($k)
+ .'</label>'
+ . '<input type="text" id="'.$k.'" name="'.$k.'" value="'.$v.'" />'
+ .'</span>'
+ ;
+
+ }
+ $r .= '</div>';
+ #$r .= '<span class=""></span>';
+ }
+
+ //
+ // Hiddens
+ //
+ foreach (array(
+ 'db',
+ 'debug',
+ ) as $v) {
+ $r .= '<input type="hidden" name="'.$v.'" value="'.$this->p($v).'"/>';
+ }
+
+ //
+ // Options
+ //
+ $r .= '<div class="options">';
+
+ // Tables
+ $r .= '<span class="label">';
+ $r .= '<label for="table">Tables</label>'.html_select_array($this->db->tables(),array(
+ 'html' => 'class="tables" name="table" id="table"',
+ 'selected' => $this->p('table'),
+ 'prettyText' => true,
+ ));
+ $r .= '</span>';
+
+ // Format
+ $r .= '<span class="label">';
+
+ #$criteria[] = html_select_array(ar_map('array($a == "html" ? "" : $a,strtoupper($a))',$this->formats));
+# NB 01.03.16 $r .= '<label for="format">Format</label>'.html_select_array(array(
+# NB 01.03.16 'table','div','csv','xml','json','yaml'
+ $r .= '<label for="format">Format</label>'.html_select_array($this->db->formats,array(
+ 'html' => 'class="format" name="format" id="format"',
+ 'selected' => $this->p('format'),
+ 'prettyText' => true,
+ ));
+ $r .= '</span>';
+
+ // Limit
+ if (!empty($this->db->limits)) {
+ $r .= '<span class="label">';
+ $r .= '<label for="limit">Limit</label>'.html_select_array($this->db->limits,array(
+ 'html' => 'class="limit" name="limit" id="limit"',
+ 'selected' => $this->p('limit'),
+ 'prettyText' => true,
+ ));
+ $r .= '</span>';
+ }
+
+ // Dbs
+ if (!empty($this->db->dbs) and count($this->db->dbs)>1) {
+ $r .= '<span class="label">';
+ $r .= '<label for="db">Db</label>'.html_select_array($this->db->dbs,array(
+ 'html' => 'class="dbs" onchange="document.location=\''.preg_replace('/\?.*$/','',$_SERVER['REQUEST_URI']).'?db=\'+this.value"',
+ 'selected' => $this->name,
+ 'prettyText' => true,
+ ));
+ $r .= '</span>';
+ }
+
+ // Buttons
+ $r .= DB_HTML_FORM_BUTTONS;
+
+ $r .= '</div>';
+
+ ///
+ // Bye
+ ///
+ $r .= '</form>'.NB_EOL;
+ return $r;
+ }
+
}
?>