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('@</?a>@','',$phpinfo);
-
- # Delete header that could break html columns
- $phpinfo = preg_replace('@<tr><th>.*?</tr>@','',$phpinfo);
-
- # Add class
- $phpinfo = str_replace('<table>','<table class="block">',$phpinfo);
-
- # Pretty h2
- $phpinfo = preg_replace_callback ('@(<h2>(?:<[^>]+>)?)([^<]+)@',function($m){return $m[1].prettyText($m[2]);},$phpinfo);
-
- if (!preg_match_all('@(<h2.*?</table>)@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('@</?a>@','',$phpinfo);
+# NB 25.11.24
+ # NB 25.11.24 # Delete header that could break html columns
+ # NB 25.11.24 $phpinfo = preg_replace('@<tr><th>.*?</tr>@','',$phpinfo);
+# NB 25.11.24
+ # NB 25.11.24 # Add class
+ # NB 25.11.24 $phpinfo = str_replace('<table>','<table class="block">',$phpinfo);
+# NB 25.11.24
+ # NB 25.11.24 # Pretty h2
+ # NB 25.11.24 $phpinfo = preg_replace_callback ('@(<h2>(?:<[^>]+>)?)([^<]+)@',function($m){return $m[1].prettyText($m[2]);},$phpinfo);
+# NB 25.11.24
+ # NB 25.11.24 if (!preg_match_all('@(<h2.*?</table>)@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');
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;