#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 {
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] : '');
'quote_name' => '',
'quote' => function($v) { return $v; },
'nosql' => true,
+
'_connect' => function($db) {
require_once(NB_ROOT.'/lib/php/ldap.php');
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 [];
$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,[
]);
return $r;
},
+
'html_edit_row' => function(&$table,&$values,$add) {
# Get row
#if ($add) bye($row);
return $row;
},
+
'insert' => function(&$table,&$values) {
$dn = $values['dn']; unset($values['dn']);
foreach ($values as $k=>$v) {
#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);