From: Nicolas Boisselier Date: Thu, 23 Nov 2017 03:28:24 +0000 (+0000) Subject: www/dbq/dbq.php X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=17fd0a466d52baf0a7d4f28227070ac3612f27ea;p=nb.git www/dbq/dbq.php --- diff --git a/lib/php/out.php b/lib/php/out.php index 583d149d..24bc5a4f 100644 --- a/lib/php/out.php +++ b/lib/php/out.php @@ -165,6 +165,7 @@ Class Out extends Nb { 'col' => self::p('col',' : '), 'sep' => self::p('sep',"\n"), 'eol' => self::p('eol',"--\n"), + 'init' => function(&$o) { if (self::header()) return; $o['eol'] = ''; }, ], 'csv' => [ @@ -395,6 +396,9 @@ Class Out extends Nb { $tot = count($data); $count = 0; + # Function init + self::type_call('init',$conf); + # Function head $head = self::head($conf,$head,$data); @@ -511,6 +515,7 @@ Class Out extends Nb { public static function row_txt(&$o,&$row) { if (!isset($o['col'])) $o['col'] = ''; self::row_parse($row,$o); + foreach ($row as $k => $v) { if (!self::header()) { @@ -527,6 +532,7 @@ Class Out extends Nb { ,$v) ); } + } public static function head_csv(&$o,&$row) { @@ -705,7 +711,8 @@ Class Out extends Nb { # header if (!$count) echo $sep_line; - if ($header or $count>0) echo '' +# NB 23.11.17 if ($header or $count) echo '' + echo '' . ltrim($o['_human']['sep']) . join($o['_human']['sep'],$values) . rtrim($o['_human']['sep']) diff --git a/www/dbq/dbq.php b/www/dbq/dbq.php index c7dbb7d5..cbd68847 100644 --- a/www/dbq/dbq.php +++ b/www/dbq/dbq.php @@ -6,6 +6,18 @@ require_once(NB_ROOT.'/lib/php/config.php'); require_once(NB_ROOT.'/lib/php/http.php'); require_once(NB_ROOT.'/lib/php/mime.php'); +function dbqErrHandle($errNo, $errStr, $errFile, $errLine) { + $msg = "$errStr in $errFile on line $errLine"; + if ($errNo == E_NOTICE || $errNo == E_WARNING) { + header("HTTP/1.0 500 Internal Server Error"); + throw new ErrorException($msg, $errNo); + } else { + echo $msg; + } +} + +set_error_handler('dbqErrHandle'); + class DbQ extends nb { const ACTIONS_NO_TITLE = ['ls','vi']; @@ -35,7 +47,7 @@ class DbQ extends nb { public $uri; public $uri_params; - private $param_args_sep = '|'; + private $param_args_sep = '*'; private $param_exp_value = '[\w\._:-]{2,100}'; public $params = [ @@ -305,12 +317,8 @@ class DbQ extends nb { } } - #$this->db->out->header(false); + $this->db->out->header(false); $this->db->out($row); - #out::header(false); - #out::rows($this->params['format'],$row); - #bye($this->db->out->header()); - #print_r($values); return; } diff --git a/www/dbq/html/default.min.css b/www/dbq/html/default.min.css index 0fde1ded..e69de29b 100644 --- a/www/dbq/html/default.min.css +++ b/www/dbq/html/default.min.css @@ -1 +0,0 @@ -html{font:90% 'Trebuchet MS',sans-serif;background-color:#eee}body{display:table;margin-left:auto;margin-right:auto;padding-left:1em;padding-right:1em;color:#444}h1{margin:0 0 .2em 0;font-size:180%;padding-bottom:.3em;margin-bottom:.5em;border-bottom:dashed 1px #444}a{color:inherit}div>a,li a,p a,td a{color:#3572b0}a,a:visited{text-decoration:none}.button:hover,a:hover{opacity:.8}ul{padding:0;margin:0}li{list-style:none;padding:0 0 0 .3em}table{border-collapse:collapse}td,th{padding:.2em .7em}th a.sort{padding:0 .3em}input:not([type]),input[type=''],input[type=date],input[type=email],input[type=password],input[type=text],input[type=url],select,textarea{border-radius:3px;border:solid 1px #ddd;padding:.3em .4em;box-shadow:0 1px 1px #eee}input[size]{max-width:70%}div.row div label:after,form label:after{content:':'}form input,form label,form select{vertical-align:middle;margin:.2em .4em .2em 0}.block,.menu,div.row,form.edit,iframe,object,pre,table.rows,ul.row{border-radius:4px;border-spacing:0;padding:.5em .2em;margin-bottom:.5em;border:solid 1px #ddd;background-color:#fafafa;box-shadow:0 1px 2px #eee}.rows{padding:0}table.rows{border-style:hidden;border-collapse:collapse;box-shadow:0 0 0 1px #ddd;table-layout:fixed}table.rows.fixed{width:100%}table.rows tr:nth-child(even) td{background-color:#fefefe}div.row div,table.rows td,table.rows th,ul.row li{border-bottom:solid 1px #ddd}div.row div,table.rows tr:last-child td,ul.row li{border-bottom:none}table.rows td,table.rows th{border-right:dashed 1px #ddd}table.rows th{text-align:left}table.rows td{padding:.3em .3em}table.rows.fixed td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table.rows td.delete,table.rows td.view{width:1%;white-space:nowrap}table.rows.fixed th.view{width:2em}table.rows.fixed th.delete{width:2.7em}div.row div{margin:0}div.row div label,ul.row li label{padding:.1em .5em .1em 0;min-width:20%;display:inline-block}.button{font:inherit;display:inline-block;text-decoration:none;line-height:1.6em;cursor:pointer;white-space:nowrap;box-sizing:border-box;margin:0 .1em 0 0;padding:0 .3em;border-radius:4px;border:none;color:#3572b0;background-color:#eee;background:linear-gradient(to bottom right,#eee,#ddd);box-shadow:0 1px 1px #bbb}.center,.menu,.nav,.rows,td.button{display:table}.buttons,.center,.menu,.nav,.rows,td.button{margin-left:auto;margin-right:auto}div.buttons{text-align:center;margin-top:.5em}form.menu{padding:.5em;background-color:#fafafa}form.menu .button.add{float:right;margin-top:.2em}form.menu .criterias{border-top:dashed 1px #ddd;margin-top:.3em;padding-top:.3em}form.menu .criterias span.label{border-right:solid 1px #fff;padding:.2em .1em;margin:.2em .2em 0 0;border-radius:3px}form.menu .criterias span.label:last-child{border-right:none}form.menu select:focus{max-width:auto}form.menu select{max-width:20%}form.menu .criterias input[type=text]:focus{width:auto}form.menu .criterias input[type=text]{width:4em}form.edit .fields label{width:25%;text-align:right;display:inline-block;margin-right:1em;vertical-align:top}form.edit .fields .label span{width:54%;display:inline-block;text-align:left;vertical-align:middle;margin-top:.2em}form.Wedit .fields .label span input{vertical-align:bottom!important}form.edit .fields input[size],form.edit .fields select,form.edit .fields textarea{width:65%} diff --git a/www/dbq/html/default.min.js b/www/dbq/html/default.min.js index 0302e723..e69de29b 100644 --- a/www/dbq/html/default.min.js +++ b/www/dbq/html/default.min.js @@ -1 +0,0 @@ -function form_clean(e){var t;for(i=0;i'+document.querySelector(".nav.bottom").innerHTML+""),document.querySelectorAll("table").forEach(function(e){parseInt(e.offsetWidth)>parseInt(window.innerWidth)&&(e.className=e.className.replace(/(^| +)fixed($| )/,"")+" fixed",e.className=e.className.trim())}),window._dbq.perm'+(window._dbq.perm>=window._dbq.perms.write?' ':""))})});