<?php

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";
        }
        $this->writeblock($tag.print_r($object,true));

    }

    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);
        }
    }


}