HTML block to output * @author Patrick Cool , Ghent University * @version November 2006 */ public function printr($variable) { echo '
';
		print_r($variable);
		echo '
'; } /** * This function displays all the information of the dokeos $_course array * This array stores all the information of the current course if the user is in a course. * This is why this array is used to check weither the user is currently is in the course. * @author Patrick Cool , Ghent University * @version November 2006 */ public function course() { global $_course; self::printr($_course); } /** * This function displays all the information of the dokeos $_user array * This array stores all the information of the current user. * @author Patrick Cool , Ghent University * @version November 2006 */ public function user() { global $_user; self::printr($_user); } /** * This function displays an overview of the different path constants that can be used with the api_get_path function * @author Patrick Cool , Ghent University * @version November 2006 * @return void */ public function debug_paths() { echo 'WEB_PATH :'.api_get_path(WEB_PATH).'
'; echo 'SYS_PATH :'.api_get_path(SYS_PATH).'
'; echo 'REL_PATH :'.api_get_path(REL_PATH).'
'; echo 'WEB_COURSE_PATH :'.api_get_path(WEB_COURSE_PATH).'
'; echo 'SYS_COURSE_PATH :'.api_get_path(SYS_COURSE_PATH).'
'; echo 'REL_COURSE_PATH :'.api_get_path(REL_COURSE_PATH).'
'; echo 'REL_CLARO_PATH :'.api_get_path(REL_CODE_PATH).'
'; echo 'WEB_CODE_PATH :'.api_get_path(WEB_CODE_PATH).'
'; echo 'SYS_CODE_PATH :'.api_get_path(SYS_CODE_PATH).'
'; echo 'SYS_LANG_PATH :'.api_get_path(SYS_LANG_PATH).'
'; echo 'WEB_IMG_PATH :'.api_get_path(WEB_IMG_PATH).'
'; echo 'PLUGIN_PATH :'.api_get_path(PLUGIN_PATH).'
'; echo 'SYS_ARCHIVE_PATH :'.api_get_path(SYS_ARCHIVE_PATH).'
'; echo 'INCLUDE_PATH :'.api_get_path(INCLUDE_PATH).'
'; echo 'LIBRARY_PATH :'.api_get_path(LIBRARY_PATH).'
'; echo 'CONFIGURATION_PATH :'.api_get_path(CONFIGURATION_PATH).'
'; } /** * Dump variable contents on screen in a nice format * @param mixed Variable to dump * @param string Variable name to print * @return void */ public function print_var($var, $varName = "@") { GLOBAL $DEBUG; if ($DEBUG) { echo "
\n"; echo "[$varName]"; echo "
"; echo "
\n";
			var_dump($var);
			echo "
\n"; echo "
"; echo "
\n"; } else { echo ""; echo "DEBUG is OFF"; } } /** * Log the given string into the default log if mode confirms it * @param string String to be logged * @param bool Whether to force the log even in production mode or not * @return bool True on success, false on failure */ public function log_s($msg, $force_log = false) { $server_type = api_get_setting('server_type'); if ($server_type == 'production' && !$force_log) { //not logging in production mode return false; } $backtrace = debug_backtrace(); // Retrieving information about the caller statement. $backtrace_string = self::_get_backtrace_raw_string($backtrace); return error_log($msg.$backtrace_string); } /** * Log the given variables' dump into the default log if mode confirms it * @param string String to be logged * @param bool Whether to force the log even in production mode or not * @return bool True on success, false on failure */ public function log_v($variable, $force_log = false) { $server_type = api_get_setting('server_type'); if ($server_type == 'production' && !$force_log) { //not logging in production mode return null; } $backtrace = debug_backtrace(); // Retrieving information about the caller statement. $backtrace_string = self::_get_backtrace_raw_string($backtrace); return error_log(print_r($variable,1).$backtrace_string); } /** * Get a string formatted with all backtrace info * @param array Backtrace data * @return string Backtrace formatted string */ private function _get_backtrace_raw_string($backtrace=array()) { $file = $line = $type = $function = $class = ''; if (isset($backtrace[0])) { $caller = & $backtrace[0]; } else { $caller = array(); } if (isset($backtrace[1])) { $owner = & $backtrace[1]; } else { $owner = array(); } $file = $caller['file']; $line = $caller['line']; $type = $owner['type']; $function = $owner['function']; $class = $owner['class']; $info = ' CHAMILO LOG INFO :: FILE: ' . (empty($file) ? ' unknown ' : $file) . ' LINE: ' . (empty($line) ? ' unknown ' : $line).' ' ; if (empty($type)) { if (!empty($function)) { $info .= 'FUNCTION: ' . $function; } } else { if (!empty($class) && !empty($function)) { $info .= 'CLASS: ' . $class; $info .= 'METHOD: ' . $function; } } return $info; } }