. /** * * @package local_treestudyplan * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_treestudyplan\local\helpers; use DateTime; class debugger { private $fname; private $tag; private $enabled = false; public function __construct($filename, $tag) { global $CFG; $this->fname = $filename; $this->tag = $tag; // assume debug environment if cachejs is false. $this->enabled = (isset($CFG->cachejs) && $CFG->cachejs == false); } public function dump($object, string $tag="") { if (strlen($tag) > 0) { $tag .= ":\n"; } $o = json_encode($object); $this->writeblock($tag.": ".$o); } public function write($str) { $this->writeblock($str); } private function writeblock($str) { if ($this->enabled) { $now = new DateTime(); $tagline = "[ {$this->tag} - ".$now->format("c")." ]"; $fp = fopen($this->fname, "a"); fwrite($fp, $tagline . ":\n".$str."\n"); fclose($fp); } } }