]> git.nbdom.net Git - nb.git/commitdiff
Move EOL from nb, hangle empty msg
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Sat, 19 Mar 2016 18:43:47 +0000 (18:43 +0000)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Sat, 19 Mar 2016 18:43:47 +0000 (18:43 +0000)
lib/php/db/table.php

index 2d16b843bf32479578c1c37519b32e9f287c161b..e002fe19e33651962ec05b6d0daf4ecf5c0198b5 100644 (file)
@@ -5,6 +5,20 @@ require_once(dirname(__FILE__).'/../out.php');
 
 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&amp;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_');
@@ -434,6 +448,21 @@ FROM pg_catalog.pg_attribute a WHERE a.attrelid = (SELECT c.oid FROM pg_catalog.
       $next = 999999;
     }
 
+  /*
+    if ($prev>=0) $html .= '<li class="prev"><a href="'.$this->url_list('limit',preg_replace('/^0,/','',"$prev,$y")).'">&lt;&lt;</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").'">&gt;&gt;</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")).'">&lt;&lt;</a></span>&nbsp;';
 
     $html .= '<span class="count">'.($tot ? ($x+1) : 0).' - '.( $count<($x+$y) ? $count : ($x+$y) ).' / '.$tot.' results</span>';
@@ -614,7 +643,7 @@ FROM pg_catalog.pg_attribute a WHERE a.attrelid = (SELECT c.oid FROM pg_catalog.
     ).')$/',$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('','');
@@ -1142,7 +1171,103 @@ FROM pg_catalog.pg_attribute a WHERE a.attrelid = (SELECT c.oid FROM pg_catalog.
     $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;
+  }
+
 
 }
 ?>