<?php // This file is part of the Studyplan plugin for Moodle // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <https://www.gnu.org/licenses/>. /** * Ease of debugging tools * @package local_treestudyplan * @copyright 2023 P.M. Kuipers * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace local_treestudyplan; use Exception; defined('MOODLE_INTERNAL') || die(); class debug { /** * @param $object Object to dump * @param $filename File to write to * @return any The object */ public static function &dump(&$object,$filename="/tmp/debug.log") { $f = fopen($filename,"a+"); try { $json = \json_encode($object,JSON_PRETTY_PRINT | JSON_THROW_ON_ERROR ); fwrite($f,$json."\n"); } catch (Exception $x) { fwrite($f,"Error processing json: ". $x->getMessage()."\n"); fwrite($f,"Print_r dump: \n".print_r($object,true)."\n"); } fclose($f); return $object; } /** * @param $object Object to dump * @param $filename File to write to * @return any The object */ public static function &print_r(&$object,$filename="/tmp/debug.log") { $f = fopen($filename,"a+"); fwrite($f,"Print_r dump: \n".print_r($object,true)."\n"); fclose($f); return $object; } /** * @param $object Object to dump * @param $filename File to write to * @return any The object */ public static function write($text,$filename="/tmp/debug.log") { $f = fopen($filename,"a+"); fwrite($f,$text."\n"); fclose($f); } }