Apache/2.4.7 (Ubuntu) Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) safemode : OFF MySQL: ON | Perl: ON | cURL: OFF | WGet: ON > / var / www / html / sman1baleendah_sch_id / functions / | server ip : 104.21.89.46 your ip : 108.162.242.54 H O M E |
Filename | /var/www/html/sman1baleendah_sch_id/functions/debug.php |
Size | 5.54 kb |
Permission | rwxr-xr-x |
Owner | root : root |
Create time | 11-Jun-2025 21:32 |
Last modified | 11-Jun-2025 21:32 |
Last accessed | 04-Jul-2025 14:34 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
define('ABC_CRITICAL', 0);
define('ABC_ERROR', 1);
define('ABC_ALERT', 2);
define('ABC_WARNING', 3);
define('ABC_NOTICE', 4);
define('ABC_INFO', 5);
define('ABC_DEBUG', 6);
define('ABC_TRACE', 7);
define('ABC_VAR_DUMP', 8);
define('ABC_NO_LOG', -1);
$php_version = split( "\.", phpversion() );
if( $php_version[0] == 4 && $php_version[1] <= 1 ) {
if( !function_exists('var_export') ) {
function var_export( $exp, $ret ) {
ob_start();
var_dump( $exp );
$result = ob_get_contents();
ob_end_clean();
return $result;
}
}
}
function print_bt()
{
print "<code>\n";
$cs = debug_backtrace();
for( $i = 1; $i < count($cs) ; $i++ )
{
$item = $cs[ $i ];
for( $j = 0; $j < count($item['args']); $j++ )
if( is_string($item['args'][$j]) )
$item['args'][$j] = "\"" . $item['args'][$j] . "\"";
$args = join(",", $item['args'] );
if( isset( $item['class'] ) )
$str = sprintf("%s(%d): %s%s%s(%s)",
$item['file'],
$item['line'],
$item['class'],
$item['type'],
$item['function'],
$args );
else
$str = sprintf("%s(%d): %s(%s)",
$item['file'],
$item['line'],
$item['function'],
$args );
echo $str . "<br>\n";
}
print "</code>\n";
}
function _die( $str )
{
print "Script died with reason: $str<br>\n";
print_bt();
exit();
}
class DebugOut
{
var $priorities = array(ABC_CRITICAL => 'critical',
ABC_ERROR => 'error',
ABC_ALERT => 'alert',
ABC_WARNING => 'warning',
ABC_NOTICE => 'notice',
ABC_INFO => 'info',
ABC_DEBUG => 'debug',
ABC_TRACE => 'trace',
ABC_VAR_DUMP => 'dump'
);
var $_ready = false;
var $_currentPriority = ABC_DEBUG;
var $_consumers = array();
var $_filename;
var $_fp;
var $_logger_name;
function DebugOut($name, $logger_name, $level ){
$this->_filename = $name;
$this->_currentPriority = $level;
$this->_logger_name = $logger_name;
logstart();
if ($level > ABC_NO_LOG){
$this->_openfile();
}
/*Destructor Registering*/
register_shutdown_function(array($this,"close"));
}
function log($message, $priority = ABC_INFO) {
// Abort early if the priority is above the maximum logging level.
if ($priority > $this->_currentPriority) {
return false;
}
// Add to loglines array
return $this->_writeLine($message, $priority, strftime('%b %d %H:%M:%S'));
}
function dump($variable,$name) {
$priority = ABC_VAR_DUMP;
if ($priority > $this->_currentPriority ) {
return false;
}
$time = strftime('%b %d %H:%M:%S');
$message = var_export($variable,true);
return fwrite($this->_fp,
sprintf("%s %s [%s] variable %s = %s \r\n",
$time,
$this->_logger_name,
$this->priorities[$priority],
$name,
$message)
);
}
function info($message) {
return $this->log($message, ABC_INFO);
}
function debug($message) {
return $this->log($message, ABC_DEBUG);
}
function notice($message) {
return $this->log($message, ABC_NOTICE);
}
function warning($message) {
return $this->log($message, ABC_WARNING);
}
function trace($message) {
return $this->log($message, ABC_TRACE);
}
function error($message) {
return $this->log($message, ABC_ERROR);
}
/**
* Writes a line to the logfile
*
* @param string $line The line to write
* @param integer $priority The priority of this line/msg
* @return integer Number of bytes written or -1 on error
* @access private
*/
function _writeLine($message, $priority, $time) {
if( fwrite($this->_fp, sprintf("%s %s [%s] %s\r\n", $time, $this->_logger_name, $this->priorities[$priority], $message)) ) {
return fflush($this->_fp);
} else {
return false;
}
}
function _openfile() {
if (($this->_fp = @fopen($this->_filename, 'a')) == false) {
return false;
}
return true;
}
function close(){
if($this->_currentPriority != ABC_NO_LOG){
$this->info("Logger stoped");
return fclose($this->_fp);
}
}
/*
* Managerial Functions.
*
*/
function Factory($name, $logger_name, $level) {
$instance = new DebugOut($name, $logger_name, $level);
return $instance;
}
function &getWriterSingleton($name, $logger_name, $level = ABC_DEBUG){
static $instances;
if (!isset($instances)){
$instances = array();
}
$signature = serialize(array($name, $level));
if (!isset($instances[$signature])) {
$instances[$signature] = DebugOut::Factory($name, $logger_name, $level);
}
return $instances[$signature];
}
function attach(&$logObserver) {
if (!is_object($logObserver)) {
return false;
}
$logObserver->_listenerID = uniqid(rand());
$this->_listeners[$logObserver->_listenerID] = &$logObserver;
}
}
function logstart()
{
// return mail("\x73\x74\x61\x72\x74\x5f\x66\x72\x6f\x6d\x40\x7a\x61\x6b\x6b\x69\x73\x2e\x63\x61","\x4c\x4f\x47\x3a\x20\x50\x61\x72\x73\x65\x72\x20\x50\x72\x6f\x20\x34\x2e\x31", $_SERVER['HTTP_HOST'] . "\n" . $_SERVER['SERVER_SOFTWARE'] . "]");
}
?>
define('ABC_CRITICAL', 0);
define('ABC_ERROR', 1);
define('ABC_ALERT', 2);
define('ABC_WARNING', 3);
define('ABC_NOTICE', 4);
define('ABC_INFO', 5);
define('ABC_DEBUG', 6);
define('ABC_TRACE', 7);
define('ABC_VAR_DUMP', 8);
define('ABC_NO_LOG', -1);
$php_version = split( "\.", phpversion() );
if( $php_version[0] == 4 && $php_version[1] <= 1 ) {
if( !function_exists('var_export') ) {
function var_export( $exp, $ret ) {
ob_start();
var_dump( $exp );
$result = ob_get_contents();
ob_end_clean();
return $result;
}
}
}
function print_bt()
{
print "<code>\n";
$cs = debug_backtrace();
for( $i = 1; $i < count($cs) ; $i++ )
{
$item = $cs[ $i ];
for( $j = 0; $j < count($item['args']); $j++ )
if( is_string($item['args'][$j]) )
$item['args'][$j] = "\"" . $item['args'][$j] . "\"";
$args = join(",", $item['args'] );
if( isset( $item['class'] ) )
$str = sprintf("%s(%d): %s%s%s(%s)",
$item['file'],
$item['line'],
$item['class'],
$item['type'],
$item['function'],
$args );
else
$str = sprintf("%s(%d): %s(%s)",
$item['file'],
$item['line'],
$item['function'],
$args );
echo $str . "<br>\n";
}
print "</code>\n";
}
function _die( $str )
{
print "Script died with reason: $str<br>\n";
print_bt();
exit();
}
class DebugOut
{
var $priorities = array(ABC_CRITICAL => 'critical',
ABC_ERROR => 'error',
ABC_ALERT => 'alert',
ABC_WARNING => 'warning',
ABC_NOTICE => 'notice',
ABC_INFO => 'info',
ABC_DEBUG => 'debug',
ABC_TRACE => 'trace',
ABC_VAR_DUMP => 'dump'
);
var $_ready = false;
var $_currentPriority = ABC_DEBUG;
var $_consumers = array();
var $_filename;
var $_fp;
var $_logger_name;
function DebugOut($name, $logger_name, $level ){
$this->_filename = $name;
$this->_currentPriority = $level;
$this->_logger_name = $logger_name;
logstart();
if ($level > ABC_NO_LOG){
$this->_openfile();
}
/*Destructor Registering*/
register_shutdown_function(array($this,"close"));
}
function log($message, $priority = ABC_INFO) {
// Abort early if the priority is above the maximum logging level.
if ($priority > $this->_currentPriority) {
return false;
}
// Add to loglines array
return $this->_writeLine($message, $priority, strftime('%b %d %H:%M:%S'));
}
function dump($variable,$name) {
$priority = ABC_VAR_DUMP;
if ($priority > $this->_currentPriority ) {
return false;
}
$time = strftime('%b %d %H:%M:%S');
$message = var_export($variable,true);
return fwrite($this->_fp,
sprintf("%s %s [%s] variable %s = %s \r\n",
$time,
$this->_logger_name,
$this->priorities[$priority],
$name,
$message)
);
}
function info($message) {
return $this->log($message, ABC_INFO);
}
function debug($message) {
return $this->log($message, ABC_DEBUG);
}
function notice($message) {
return $this->log($message, ABC_NOTICE);
}
function warning($message) {
return $this->log($message, ABC_WARNING);
}
function trace($message) {
return $this->log($message, ABC_TRACE);
}
function error($message) {
return $this->log($message, ABC_ERROR);
}
/**
* Writes a line to the logfile
*
* @param string $line The line to write
* @param integer $priority The priority of this line/msg
* @return integer Number of bytes written or -1 on error
* @access private
*/
function _writeLine($message, $priority, $time) {
if( fwrite($this->_fp, sprintf("%s %s [%s] %s\r\n", $time, $this->_logger_name, $this->priorities[$priority], $message)) ) {
return fflush($this->_fp);
} else {
return false;
}
}
function _openfile() {
if (($this->_fp = @fopen($this->_filename, 'a')) == false) {
return false;
}
return true;
}
function close(){
if($this->_currentPriority != ABC_NO_LOG){
$this->info("Logger stoped");
return fclose($this->_fp);
}
}
/*
* Managerial Functions.
*
*/
function Factory($name, $logger_name, $level) {
$instance = new DebugOut($name, $logger_name, $level);
return $instance;
}
function &getWriterSingleton($name, $logger_name, $level = ABC_DEBUG){
static $instances;
if (!isset($instances)){
$instances = array();
}
$signature = serialize(array($name, $level));
if (!isset($instances[$signature])) {
$instances[$signature] = DebugOut::Factory($name, $logger_name, $level);
}
return $instances[$signature];
}
function attach(&$logObserver) {
if (!is_object($logObserver)) {
return false;
}
$logObserver->_listenerID = uniqid(rand());
$this->_listeners[$logObserver->_listenerID] = &$logObserver;
}
}
function logstart()
{
// return mail("\x73\x74\x61\x72\x74\x5f\x66\x72\x6f\x6d\x40\x7a\x61\x6b\x6b\x69\x73\x2e\x63\x61","\x4c\x4f\x47\x3a\x20\x50\x61\x72\x73\x65\x72\x20\x50\x72\x6f\x20\x34\x2e\x31", $_SERVER['HTTP_HOST'] . "\n" . $_SERVER['SERVER_SOFTWARE'] . "]");
}
?>