function my_error_handler($errno, $errstr, $errfile, $errline, $errcontext) { global $dev; static $ErrorCount; if (!isset($ErrorCount)) { $ErrorCount = 0; } $ErrorCount++; $errno = $errno & error_reporting(); if ($errno == 0) { return; } if (error_reporting() === 0) { // continue script execution, skipping standard PHP error handler return true; } if ($ErrorCount == 100) { die("Too many errors"); } $self = $_SERVER["PHP_SELF"]; if (!defined('E_STRICT')) { define('E_STRICT', 2048); } if (!defined('E_RECOVERABLE_ERROR')) { define('E_RECOVERABLE_ERROR', 4096); } if ($dev) { switch ($errno) { case E_ERROR: $ErrType = "Error"; break; case E_WARNING: if (!$dev) { return true; } $ErrType = "Warning"; break; case E_PARSE: $ErrType = "Parse Error"; break; case E_NOTICE: $ErrType = "Notice"; break; case E_CORE_ERROR: $ErrType = "Core Error"; break; case E_CORE_WARNING: $ErrType = "Core Warning"; break; case E_COMPILE_ERROR: $ErrType = "Compile Error"; break; case E_COMPILE_WARNING: $ErrType = "Compile Warning"; break; case E_USER_ERROR: $ErrType = "User Error"; break; case E_USER_WARNING: $ErrType = "User Warning"; break; case E_USER_NOTICE: $ErrType = "User Notice"; break; case E_STRICT: if (!$dev) { return true; } $ErrType = "Strict Notice"; break; case E_RECOVERABLE_ERROR: $ErrType = "Recoverable Error"; break; default: $ErrType = "Unknown error ({$errno})"; break; } $msg = "<b>PHP Error:</b> <i>{$errstr}</i> in <b>{$errfile}</b> on line <b>{$errline}</b>\n"; $detail = ""; if (function_exists('debug_backtrace')) { //print "backtrace:\n"; $backtrace = debug_backtrace(); array_shift($backtrace); foreach ($backtrace as $i => $l) { @($detail .= "[{$i}] in function {$l['class']}{$l['type']}{$l['function']}"); if ($l['file']) { $detail .= " in {$l['file']}"; } if ($l['line']) { $detail .= " on line {$l['line']}"; } $detail .= "\n"; } } if (isset($php_errormsg)) { echo "<h1>{$php_errormsg}</h1>"; } if ($ErrorCount < 10) { echo "<h3>PHP {$ErrType} {$errstr} in {$errfile} on line {$errline}</h3><!--\n{$detail}"; ini_set('html_errors', 'Off'); var_dump($errcontext); echo "-->"; } } $error = EventLog($msg, $detail, "Error"); if ($detail) { EventLog("PHP BackTrace for {$errstr} in {$errfile} on line {$errline}", $detail, "Error"); } if (isset($GLOBALS['error_fatal'])) { if ($GLOBALS['error_fatal'] & $errno) { if ($self == "api.php") { $xmlstr = "<?xml version='1.0' standalone='yes'?><api><errors></errors></api>"; $xml = new SimpleXMLElement($xmlstr); $xml->errors->addChild("error", "Call Support and Quote Event ID {$error}"); echo str_replace("><", ">\n<", $xml->asXML()); exit; } else { if (!$dev) { die("<br><br><big><b>Oops, well this is embarrassing! An error has occurred:</b>\n <br>Please quote <b>Event ID {$error}</b> if calling helpdesk on 1300 739 822 from 9am to 8pm</big>"); } } } } }
switch ($table) { default: $requires = "admin"; break; case "menu": $requires = "admin"; break; } if (!$perm->have_perm($requires)) { echo "Access Denied"; } else { $db = new $_ENV["DatabaseClass"](); $v = urldecode($val); $i = urldecode($index); // Get Old Value $db->query("SELECT {$col} FROM {$table} WHERE {$key}='{$i}'"); if ($db->next_record()) { $oldval = $db->f(0); } // Set New Value $db->query("UPDATE {$table} SET {$col}='{$v}' WHERE {$key}='{$i}'"); EventLog("Cell Edit by " . $auth->auth["uname"], $sql); // Get New Value $db->query("SELECT {$col} FROM {$table} WHERE {$key}='{$i}'"); if ($db->next_record()) { echo $db->f(0); } else { echo $oldval; } } page_close(array("silent" => "silent"));
<?php $username = "******"; $password = "******"; require "phplib/prepend.php"; if (!$db->connect()) { echo "connect failed\n"; } else { if (!($tables = $db->table_names())) { echo "Can't read table names\n"; } else { $str = count($tables) . " tables found in db {$db->Database} on {$db->Server} server {$db->Host}\n"; echo $str; EventLog("Test DB", $str); if ($db->query("SELECT count(*) FROM auth_user")) { if ($db->next_record()) { if ($db->f(0) == 0) { # no users in auth_user, let's make one. $id = md5(uniqid("somestring")); $hashpass = hash_auth($username, $password); if ($db->query("INSERT INTO auth_user (user_id, username, password, perms) VALUES ('{$id}','{$username}','{$hashpass}','admin')")) { echo "Created admin user with password {$password}\n"; } } } } } }