]> git.nbdom.net Git - nb.git/commitdiff
fix bug on actions tables
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 16 Sep 2016 16:30:50 +0000 (18:30 +0200)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Fri, 16 Sep 2016 16:30:50 +0000 (18:30 +0200)
etc/dbs.php
etc/dbs/owncloud.php
lib/php/db.php
lib/php/nb.php
lib/php/out.php

index a9e352f6d4b4d7747e9f1979657f84250f81982d..9e690ca86bd019942fdb341e186f91d293585cdb 100644 (file)
@@ -95,11 +95,12 @@ foreach ($CONF as $id => $db) {
   ) continue;
   $fname = basename($db['host'],'.db');
   $CONF['all']['types']['exec'][] = "ATTACH DATABASE '".$db['host']."' as ".$fname."";
-  conf_merge($CONF[$id],$CONF['all']);
+  conf_merge($CONF[$fname],$CONF['all']);
 
 }
 
-conf_merge($CONF['nb'],$CONF['all']);
+#conf_merge($CONF['owncloud'],$CONF['all']);
+#conf_merge($CONF['nb'],$CONF['all']);
 return 1;
 
 function conf_merge(&$c1,&$c2) {
index 70abbaa7c638dee9990e1ef457b8ebaa83a2d8ae..fd39f5730d7e0c1e05505515d5de63eeb35fba29 100644 (file)
@@ -18,16 +18,9 @@ $CONF['owncloud'] = [
           .",' ',"
           ."(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"
+      . " FROM oc_cards c GROUP BY c.id HAVING name IS NOT NULL AND name<>''"
       ,
       'row_parse_pre' => 'owncloud_row_parse',
     ],
@@ -39,9 +32,11 @@ $CONF['owncloud'] = [
     ],
   ],
 ];
+
 function owncloud_row_parse(&$r) {
   foreach ($r as $k=>$v) {
-    $r[$k] = str_replace(chr(194).chr(160),' ',$v);
+    $v = str_replace(chr(194).chr(160),' ',$v);
+    $r[$k] = $v;
   }
 }
 ?>
index a1a167b74431c0c648eca77408d95dec2226f343..e862fd58fc26735ee87e72d107a5ac84314de400 100644 (file)
@@ -552,7 +552,7 @@ class Db extends nb {
     # Emulate hash pointer _import
     foreach ($h as $db=>$o) {
 
-      foreach ($o as $k => $v) {
+      foreach ((array)$o as $k => $v) {
         if ($k != '_import') continue;
 
         $import = is_array($v) ? $v : explode(',',$v);
index e349f95d3dfbfcfbb69c7e5ba42749c353781599..ab2f8813993e7fd567ca1396f9289c31802a0c5e 100644 (file)
@@ -787,5 +787,10 @@ class NB {
     }
     return $rows;
   }
+
+  public static function mb_str_pad($input, $pad_length, $pad_string=' ', $pad_type=STR_PAD_RIGHT,$encoding='UTF-8'){
+    $mb_diff=mb_strlen($input, $encoding)-strlen($input);
+    return str_pad($input,$pad_length-$mb_diff,$pad_string,$pad_type);
+  } 
 } # < Class
 ?>
index 6bbceee6f3f28ec9ffb13348ea520d06949a8ae7..8f6d59dcc6f1d8f82e0ddb47845a0cf1c67fdbd1 100644 (file)
@@ -564,8 +564,8 @@ function out_human_end(&$o) {
     $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);
+      #if ($v=='Comunicación') $values[] = str_pad($v, $len[$i]+1, ' ', STR_PAD_LEFT);
+      $values[] = out::mb_str_pad($v, $len[$i], ' ', STR_PAD_RIGHT);
       $i++;
     }