From 031e6fb0732acacf1e334156c0a6fff59c87aee4 Mon Sep 17 00:00:00 2001 From: Arcturus Date: Sat, 15 Nov 2025 09:08:28 +0900 Subject: [PATCH] add appendHTML, prependHTML, addRegexReplace --- .../classes/htmlprocess/htmlprocess.class.php | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/AvocadoAmber/classes/htmlprocess/htmlprocess.class.php b/AvocadoAmber/classes/htmlprocess/htmlprocess.class.php index 34d6861..547afab 100644 --- a/AvocadoAmber/classes/htmlprocess/htmlprocess.class.php +++ b/AvocadoAmber/classes/htmlprocess/htmlprocess.class.php @@ -4,6 +4,9 @@ class html_process protected $latecss = []; protected $css = []; protected $js = []; + protected $beforeBuffer = ""; + protected $afterBuffer = ""; + protected $replacer = []; private function updateLoginTable() { @@ -188,9 +191,24 @@ class html_process }*/ } + public function appendHtml($html) + { + $this->afterBuffer .= $html; + } + + public function prependHtml($html) + { + $this->beforeBuffer .= $html; + } + + public function addRegexReplace($pattern, $replace) + { + $this->replacer[] = [$pattern, $replace]; + } + public function run() { - global $config, $g5, $member; + global $config; $this->updateLoginTable(); $this->cleanOldLoginRecords($config['cf_login_minutes']); @@ -203,6 +221,13 @@ class html_process $buffer = $this->injectStyles($buffer, $stylesheet, $latestylesheet); $buffer = $this->injectJavascript($buffer, $javascript); + foreach($this->replacer as $v) { + $buffer = preg_replace($v[0], $v[1], $buffer); + } + + $buffer = preg_replace('#([^<]*]*>)#', "$1{$this->beforeBuffer}", $buffer); + $buffer = preg_replace('##', "" . $this->afterBuffer, $buffer); + if (class_exists("EventHandler")) { EventHandler::triggerEvent("amber.renderhtml_before_print", $buffer); }