From 59e9d6dbdd63ec3270b7f8f04d8f848efdab29e3 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Fri, 29 May 2026 00:28:48 +0200 Subject: [PATCH] lib/php/db/table.php --- bin/shell-replace | 18 ------------------ lib/php/db/table.php | 3 ++- lib/php/db/types/ldap.php | 8 ++++++++ 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/bin/shell-replace b/bin/shell-replace index 0fda7f41..46e807df 100755 --- a/bin/shell-replace +++ b/bin/shell-replace @@ -194,31 +194,13 @@ sub wanted { #use IPC::Run; sub cmd { my $cmd = join(' ',@_); - #$cmd = 'echo zaza'; - # NB 15.12.22 #$cmd =~ s/(')/\\$1/g; - # NB 15.12.22 my @cmd = `$cmd`; - # NB 15.12.22 die "ERR:$! $?" if $?; - # NB 15.12.22 return wantarray ? @cmd : join('',@cmd); -# NB 15.12.22 my $hcmd; open($hcmd,"-|",$cmd) or die "$!: $?: $@"; my @cmd = <$hcmd>; close $hcmd; return wantarray ? @cmd : join('',@cmd); - # NB 15.12.22 my $hcmd; - # NB 15.12.22 my $pid; - # NB 15.12.22 die $! unless defined ($pid = open($hcmd,"-|")); - # NB 15.12.22 if ($pid == 0) { - # NB 15.12.22 exec "$cmd"; - # NB 15.12.22 die 'Can not exec: $cmd'; - # NB 15.12.22 } - # NB 15.12.22 my @cmd = <$hcmd>; - # NB 15.12.22 close $hcmd; - # NB 15.12.22 die "ERROR $cmd: $!" if $? != 0; - # NB 15.12.22 #waitpid $pid,0; - # NB 15.12.22 return wantarray ? @cmd : join('',@cmd); } sub shell_replace { diff --git a/lib/php/db/table.php b/lib/php/db/table.php index f917a8c4..668b98df 100644 --- a/lib/php/db/table.php +++ b/lib/php/db/table.php @@ -1343,9 +1343,10 @@ Class Table extends nb { foreach ($fields as $f => $field) { if (!$this->field($f)) continue; + # # Mime content - if ($opt['is_html']) $row[$f] = $field->htmlValue($row[$f]); + if ($opt['is_html'] and isset($row[$f])) $row[$f] = $field->htmlValue($row[$f]); $row[$f] = $field->out(isset($row[$f]) ? $row[$f] : ''); diff --git a/lib/php/db/types/ldap.php b/lib/php/db/types/ldap.php index f506f11a..da78b0f6 100644 --- a/lib/php/db/types/ldap.php +++ b/lib/php/db/types/ldap.php @@ -8,6 +8,7 @@ $DB_TYPES['ldap'] = [ 'quote_name' => '', 'quote' => function($v) { return $v; }, 'nosql' => true, + '_connect' => function($db) { require_once(NB_ROOT.'/lib/php/ldap.php'); @@ -20,11 +21,13 @@ $DB_TYPES['ldap'] = [ return $GLOBALS['LDAP_CONN']->connect(); }, + 'rows_prepare' => function($table,$sql) { $fields = (empty($table->fields_only) ? array_keys($table->fields()) : $table->fields_only); $table->replace_fields($fields); $GLOBALS['LDAP_CONN']->prepare($sql,['attrs'=>$fields]); return $GLOBALS['LDAP_CONN']; }, + 'rows_fetch' => function($table) { $row = $GLOBALS['LDAP_CONN']->fetch(); if (!$row) return []; @@ -33,6 +36,7 @@ $DB_TYPES['ldap'] = [ $table->fields_only($row,$fields); # reorder by fields return $row; }, + 'html_edit_multi' => function($field) { #if (isset($GLOBALS['html_edit_add'])) return false; $r = !in_array($field->name,[ @@ -48,6 +52,7 @@ $DB_TYPES['ldap'] = [ ]); return $r; }, + 'html_edit_row' => function(&$table,&$values,$add) { # Get row @@ -82,6 +87,7 @@ $DB_TYPES['ldap'] = [ #if ($add) bye($row); return $row; }, + 'insert' => function(&$table,&$values) { $dn = $values['dn']; unset($values['dn']); foreach ($values as $k=>$v) { @@ -92,10 +98,12 @@ $DB_TYPES['ldap'] = [ #bye([$dn,$values]); return (int)$GLOBALS['LDAP_CONN']->add($dn,$values); }, + 'delete' => function(&$table,&$values) { $dn = $values['dn']; unset($values['dn']); return (int)$GLOBALS['LDAP_CONN']->delete($dn); }, + 'update' => function(&$table,&$values) { $dn = $values['dn']; unset($values['dn']); return (int)$GLOBALS['LDAP_CONN']->update($dn,$values); -- 2.47.3