From: Nicolas Boisselier Date: Mon, 25 Nov 2024 09:17:35 +0000 (+0000) Subject: lib/php/page.php X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=047710fa690eb55e345f61896815624a30fba048;p=nb.git lib/php/page.php --- diff --git a/lib/php/page.php b/lib/php/page.php index b5a05598..0847f0da 100644 --- a/lib/php/page.php +++ b/lib/php/page.php @@ -534,57 +534,49 @@ class Page extends nb { return [$title,$nav,$hash]; } - public static function phpinfo($text=null) { - if ($text===null) $text = self::php_cli(); - - ob_start(); - phpinfo(INFO_ALL - INFO_LICENSE); - $phpinfo = ob_get_contents(); - ob_end_clean(); - # NB 11.10.24 if ($text) { - # NB 11.10.24 $datas = []; - # NB 11.10.24 $section = 'php'; - # NB 11.10.24 foreach (explode("\n",$phpinfo) as $line) { - # NB 11.10.24 debug($line); - # NB 11.10.24 } - # NB 11.10.24 return []; - # NB 11.10.24 } - - # Only tags without attrs - $phpinfo = preg_replace('/(<\w+)\s+[^>]+/','$1',$phpinfo); - - # No anchors - $phpinfo = preg_replace('@@','',$phpinfo); - - # Delete header that could break html columns - $phpinfo = preg_replace('@.*?@','',$phpinfo); - - # Add class - $phpinfo = str_replace('','
',$phpinfo); - - # Pretty h2 - $phpinfo = preg_replace_callback ('@(

(?:<[^>]+>)?)([^<]+)@',function($m){return $m[1].prettyText($m[2]);},$phpinfo); - - if (!preg_match_all('@()@s',$phpinfo,$m)) return ''; - #bye($m[0]); - if ($text) return strip_tags(join("\n",$m[0])); - return join("\n",$m[0]); - } - - public function status() { - $out = [ - 'path' => self::path() - ]; - foreach (get_class_vars(get_class($this)) as $k=>$v) { - if (!empty($this->$k)) $out[$k] = is_scalar($this->$k) ? $this->$k : out::scalar($this->$k); - } - foreach (self::p() as $k=>$v) $out['p.'.$k] = $v; - #foreach ($_SERVER as $k=>$v) $out['_SERVER.'.$k] = $v; - #foreach ($_ENV as $k=>$v) $out['_ENV.'.$k] = $v; - - $out = array_map(function($k, $v) { return ["name"=>$k,"value"=>$v]; },array_keys($out),$out); - return $out; - } + # NB 25.11.24 public static function phpinfo($text=null) { + # NB 25.11.24 if ($text===null) $text = self::php_cli(); +# NB 25.11.24 + # NB 25.11.24 ob_start(); + # NB 25.11.24 phpinfo(INFO_ALL - INFO_LICENSE); + # NB 25.11.24 $phpinfo = ob_get_contents(); + # NB 25.11.24 ob_end_clean(); +# NB 25.11.24 + # NB 25.11.24 # Only tags without attrs + # NB 25.11.24 $phpinfo = preg_replace('/(<\w+)\s+[^>]+/','$1',$phpinfo); +# NB 25.11.24 + # NB 25.11.24 # No anchors + # NB 25.11.24 $phpinfo = preg_replace('@@','',$phpinfo); +# NB 25.11.24 + # NB 25.11.24 # Delete header that could break html columns + # NB 25.11.24 $phpinfo = preg_replace('@

@','',$phpinfo); +# NB 25.11.24 + # NB 25.11.24 # Add class + # NB 25.11.24 $phpinfo = str_replace('
.*?
','
',$phpinfo); +# NB 25.11.24 + # NB 25.11.24 # Pretty h2 + # NB 25.11.24 $phpinfo = preg_replace_callback ('@(

(?:<[^>]+>)?)([^<]+)@',function($m){return $m[1].prettyText($m[2]);},$phpinfo); +# NB 25.11.24 + # NB 25.11.24 if (!preg_match_all('@()@s',$phpinfo,$m)) return ''; + # NB 25.11.24 #bye($m[0]); + # NB 25.11.24 if ($text) return strip_tags(join("\n",$m[0])); + # NB 25.11.24 return join("\n",$m[0]); + # NB 25.11.24 } +# NB 25.11.24 + # NB 25.11.24 public function status() { + # NB 25.11.24 $out = [ + # NB 25.11.24 'path' => self::path() + # NB 25.11.24 ]; + # NB 25.11.24 foreach (get_class_vars(get_class($this)) as $k=>$v) { + # NB 25.11.24 if (!empty($this->$k)) $out[$k] = is_scalar($this->$k) ? $this->$k : out::scalar($this->$k); + # NB 25.11.24 } + # NB 25.11.24 foreach (self::p() as $k=>$v) $out['p.'.$k] = $v; + # NB 25.11.24 #foreach ($_SERVER as $k=>$v) $out['_SERVER.'.$k] = $v; + # NB 25.11.24 #foreach ($_ENV as $k=>$v) $out['_ENV.'.$k] = $v; +# NB 25.11.24 + # NB 25.11.24 $out = array_map(function($k, $v) { return ["name"=>$k,"value"=>$v]; },array_keys($out),$out); + # NB 25.11.24 return $out; + # NB 25.11.24 } public function action() { $action = self::p('action'); @@ -596,8 +588,8 @@ class Page extends nb { out::typeRows($format,$out); return true; - } elseif ($action == 'page.phpinfo' or $action == 'phpinfo') { - echo self::phpinfo(); return true; + # NB 25.11.24 } elseif ($action == 'page.phpinfo' or $action == 'phpinfo') { + # NB 25.11.24 echo self::phpinfo(); return true; } elseif ($r=self::class_action_out($this,$action)) { return $r;