]> git.nbdom.net Git - nb.git/commitdiff
Bed
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 16 Sep 2016 00:10:14 +0000 (01:10 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 16 Sep 2016 00:10:14 +0000 (01:10 +0100)
etc/dbs/owncloud.php
etc/dbs/wp.php
lib/php/config.php
lib/php/db/table.php
lib/php/functions.php
lib/php/out.php

index 3f5952bad515ae52632a35f1f88fa9c080cc51c6..2d4a7fab8078a78ac4d2260037d11332ced9ed9f 100644 (file)
@@ -7,6 +7,30 @@ $CONF['owncloud'] = [
   #'default_table' => 'oc_users',
   'default_table' => 'last_files',
   'tables' => [
+    'view_contact' => [
+      #'sql' => "SELECT * FROM oc_contacts_cards_properties",
+      'sql' => "SELECT c.id"
+        #.",org.value as org"
+        #.",name.value as name"
+        #.",tel.value as tel"
+        .",TRIM(CONCAT("
+          ."(SELECT value FROM oc_cards_properties p WHERE p.name='ORG' AND p.cardid=c.id AND p.addressbookid=c.addressbookid)"
+          .",' ',"
+          ."(SELECT value FROM oc_cards_properties p WHERE p.name='FN' AND p.cardid=c.id AND p.addressbookid=c.addressbookid)"
+        .")) as name"
+        #.",(SELECT value FROM oc_cards_properties p WHERE p.name='ORG' AND p.cardid=c.id AND p.addressbookid=c.addressbookid) as org"
+        #.",(SELECT value FROM oc_cards_properties p WHERE p.name='FN' AND p.cardid=c.id AND p.addressbookid=c.addressbookid) as name"
+        .",(SELECT value FROM oc_cards_properties p WHERE p.name='TEL' AND p.cardid=c.id AND p.addressbookid=c.addressbookid ORDER BY preferred DESC LIMIT 1) as tel"
+        #.",(SELECT GROUP_CONCAT(',',value) FROM oc_cards_properties p WHERE p.name='EMAIL' AND p.cardid=c.id AND p.addressbookid=c.addressbookid) as emails"
+        .",(SELECT value FROM oc_cards_properties p WHERE p.name='EMAIL' AND p.cardid=c.id AND p.addressbookid=c.addressbookid ORDER BY preferred DESC LIMIT 1) as email"
+      . " FROM oc_cards c"
+      #." LEFT JOIN oc_cards_properties name ON name.name='FN' AND name.cardid=c.id AND name.addressbookid=c.addressbookid"
+      #." LEFT JOIN oc_cards_properties tel ON tel.name='TEL' AND tel.cardid=c.id AND tel.addressbookid=c.addressbookid"
+      #." LEFT JOIN oc_cards_properties org ON org.name='ORG' AND org.cardid=c.id AND org.addressbookid=c.addressbookid"
+      #." GROUP BY c.id"
+      ,
+      'row_parse_pre' => 'owncloud_row_parse',
+    ],
     'last_files' => [
       'sql' => "SELECT path,mtime FROM oc_filecache WHERE path NOT LIKE 'files_versions/%' ORDER BY fileid DESC LIMIT 10",
       'row_parse_pre' => function(&$r) {
@@ -15,4 +39,9 @@ $CONF['owncloud'] = [
     ],
   ],
 ];
+function owncloud_row_parse(&$r) {
+  foreach ($r as $k=>$v) {
+    $r[$k] = str_replace(chr(194).chr(160),' ',$v);
+  }
+}
 ?>
index 97ca1dd96ea24447e31fcd241defffb14289a393..8940b04b6f6fd121c0c812bbcab413fbe1d6e85e 100644 (file)
@@ -7,11 +7,7 @@ $CONF['wp'] = [
   'default_table' => 'wp_blogs',
   'tables' => [
     'wp_options' => [
-      'row_parse_pre' => function(&$r) {
-        foreach ($r as $k=>$v) {
-          $r[$k] = str_replace("\0",'',$v);
-        }
-      },
+      'row_parse_pre' => function(&$r) { foreach ($r as $k=>$v) { $r[$k] = str_replace("\0",'',$v); } },
     ],
   ],
 ];
index 324f5ee9a3bf74bf2005338a12182230e19efda1..6f259fb244baab3636d078af92fabcbfc932d762 100644 (file)
@@ -9,16 +9,23 @@
 #define('NB_EOL','');
 #define('NB_PROD',true);
 require(dirname(__FILE__).'/nb.php');
-if (nb::php_cli()) argv2request();
+if (nb::php_cli()) {
+  argv2request();
+  if (nb::p('txt_errors')) ini_set('html_errors', false);
+}
 
-if (!empty($_SERVER['PROD'])) return;
+ini_set('display_errors',
+  empty($_SERVER['PROD'])
+  && !nb::php_cli()
+);
 
-error_reporting(E_ALL | E_STRICT | E_NOTICE);
-if (!nb::php_cli()) ini_set('display_errors', 1);
-if (nb::php_cli() or nb::p('txt_errors')) ini_set('html_errors', false);
+if (!ini_get('UTC')) date_default_timezone_set('UTC');
+if (empty($_SERVER['PROD'])) error_reporting(E_ALL | E_STRICT | E_NOTICE);
 
 // Should be done in php.ini for performance
-date_default_timezone_set('Europe/London');
+#bye(date_default_timezone_get());
+#if (!date_default_timezone_get()) date_default_timezone_set('Europe/London');
+#bye(ini_get('date.timezone'));
 
 # NB 05.03.16 ini_set('include_path', realpath(dirname(__FILE__).'/../lib').':'.realpath(dirname(__FILE__)).':'.ini_get('include_path'));
 ini_set('include_path',''
index 1a0d0ba6092bfb182a00858d1d9101ee85364261..a856b80e29277c06a8b3a871beb6a0561f231289 100644 (file)
@@ -271,7 +271,6 @@ Class Table extends nb {
       $this->fields = array();
       $conf = str_replace('<NAME>',$this->name,$this->db()->type('table.fields',true));
       if (is_scalar($conf)) $conf = array('sql'=>$conf);
-      #debug($conf);
       $rows = $this->db()->conn->query($conf['sql']);
       $rows->setFetchMode(PDO::FETCH_ASSOC);
 
index 6a2c44828db60e89672cb9abea4a4eb664bc1aab..19f3326e23387ab2bca0bccf0c3f5f0ce0749529 100644 (file)
@@ -63,6 +63,7 @@ function txt2md($txt) {
 function bye($msg='__bye__',$backtrace_deep=0) {
   #if ($msg) err($msg,'bye',$backtrace_deep === 0 ? 1 : $backtrace_deep);
   if ($msg!=='__bye__') {
+    #throw new Exception($msg);
     err($msg,'bye',( $backtrace_deep !== false ? (1+-1+$backtrace_deep) : $backtrace_deep ));
     exit(1);
   }
@@ -181,7 +182,7 @@ function cmd2str($cmd,$write=null) {
 
 }
 
-function argv2request() { return nb::argv2request(); }
+function argv2request($args=null) { return nb::argv2request($args); }
 
 function html_select_array($data,$opt=array()) {
 
index fb56deb73c2de1508337473effc9b8a181274259..6bbceee6f3f28ec9ffb13348ea520d06949a8ae7 100644 (file)
@@ -147,21 +147,21 @@ Class Out extends Nb {
     if (is_scalar($v)) return $v;
     #if (is_array($v) and !self::is_hash($v)) return join(', ',$v);
     #return var_export($v,true);
-    return trim(preg_replace(array(
+    return trim(preg_replace([
       '/^\s*\'(.*?)\' => \'?(.*?)\'?,$/m', # hash
       '/^\s*(array \(|\),?)$/m', # sub array
       '/ *\'(.*?)\' =>\s*$\r?\n/m', # sub hash
       '/\s*\d+ => \'(.*?)\'(,)?\r?\n/m', # aray
       '/,\s*$/m', # last ,
       '/$(\r?\n)+$/m', # blank lines
-    ),array(
+    ],[
       '$1=$2',
       '',
       '$1=',
       '$1 ', #'$1$2 ',
       '',
       '',
-    ),var_export($v,true)));
+    ],var_export($v,true)));
     return var_export($v,true);
     return is_scalar($v) ? $v : json_encode($v);
   }
@@ -525,11 +525,11 @@ function out_human(&$row,&$o) {
   $line = out_csv($row,$o);
   $i = 0;
   foreach (explode($o['sep'],$line) as $v) {
-# NB 07.09.16     if (out::$charset == 'utf-8') {
-# NB 07.09.16       $len = strlen(utf8_decode($v));
-# NB 07.09.16     } else {
-# NB 07.09.16       $len = mb_strlen($v,out::$charset);
-# NB 07.09.16     }
+# NB 16.09.16     if (preg_match('/^utf-?8$/i',out::$charset)) {
+# NB 16.09.16       $len = strlen( utf8_decode( $v ) );
+# NB 16.09.16     } else {
+# NB 16.09.16       $len = mb_strlen($v,out::$charset);
+# NB 16.09.16     }
     $len = mb_strlen($v,out::$charset);
     if (0
       or empty($GLOBALS['_human_len'][$i])
@@ -545,7 +545,7 @@ function out_human(&$row,&$o) {
 function out_human_end(&$o) {
 #debug($GLOBALS['_human_len']);
   $len = $GLOBALS['_human_len'];
-  #debug($len);
+  #bye($len);
   fseek($o['tmpfile'], 0);
 
   $sep_line = '';
@@ -560,9 +560,11 @@ function out_human_end(&$o) {
   $header = empty($o['_human']['head']) ? 0 : 1;
   $count = 0;
   while (($line = fgets($o['tmpfile'])) !== false) {
+
     $values = [];
     $i = 0;
     foreach (explode($o['sep'],rtrim($line,"\n")) as $v) {
+      #if ($v=='00 33 6 10 18 22 21') $v.=$len[$i];
       $values[] = sprintf("%".'-'.$len[$i]."s",$v);
       $i++;
     }