force sync from /var/www/html/panel: 2025-09-08T20:36:30Z
This commit is contained in:
commit
4f717c9ee8
18119 changed files with 2566034 additions and 0 deletions
168
ControlPanel/modules/ftp/includes/errorhandling.inc.php
Executable file
168
ControlPanel/modules/ftp/includes/errorhandling.inc.php
Executable file
|
|
@ -0,0 +1,168 @@
|
|||
<?php
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
// | net2ftp: a web based FTP client |
|
||||
// | Copyright (c) 2003-2013 by David Gartner |
|
||||
// | |
|
||||
// | This program 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 2 |
|
||||
// | of the License, or (at your option) any later version. |
|
||||
// | |
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
/* -------------------------------------------------------------------------
|
||||
This is how error-handing works within net2ftp
|
||||
-------------------------------------------------------------------------
|
||||
|
||||
There are 3 global variables:
|
||||
- $net2ftp_result["success"], which is true or false
|
||||
- $net2ftp_result["errormessage"], which contains an error message
|
||||
- $net2ftp_result["debug_backtrace"], which contains the debugging backtrace (to indicate *where* the error happened)
|
||||
|
||||
---------------------------------
|
||||
Low-level function executes a standard PHP function
|
||||
- If everything goes OK, the low-level function simply returns its $finalresult
|
||||
- If there is an error, the global variable $net2ftp_result["success"] is set to false, and
|
||||
$net2ftp_result["errormessage"] will be filled with the error message
|
||||
---------------------------------
|
||||
function low_level {
|
||||
$result = php_function();
|
||||
if ($result == false) { setErrorVars(false, "errormessage", debug_backtrace(), __FILE, __LINE__); return false; }
|
||||
...
|
||||
return $finalresult;
|
||||
}
|
||||
|
||||
---------------------------------
|
||||
Middle-level function executes a low-level function (it may also execute standard PHP functions)
|
||||
- If everything goes OK, the middle-level function simply returns its $finalresult
|
||||
- If there is an error, the function can either return to its parent, or continue
|
||||
---------------------------------
|
||||
function middle_level {
|
||||
global $net2ftp_result;
|
||||
$result = low_level();
|
||||
// Return to its parent, leave the error message as is:
|
||||
if ($net2ftp_result["success"] == false) { return false; }
|
||||
// Return to its parent, change the error message (leave the debug backtrace as is):
|
||||
if ($net2ftp_result["success"] == false) { setErrorVars(false, "errormessage2", $net2ftp_result["debug_backtrace"], __FILE, __LINE__); return false; }
|
||||
// Reset the error variables and continue:
|
||||
if ($net2ftp_result["success"] == false) { setErrorVars(true, "", "", "", ""); }
|
||||
...
|
||||
return $finalresult;
|
||||
// Print error message and exit -- THIS IS NOT DONE ANY MORE, as exit() calls must be avoided at all cost to
|
||||
// keep net2ftp integrateable within other web applications.
|
||||
// This case is replaced by case 1: return to the parent function, and leave the error message as is.
|
||||
//// if ($net2ftp_result["success"] == false) { printErrorMessage(); }
|
||||
}
|
||||
|
||||
---------------------------------
|
||||
High-level function executes a middle-level function (it may also execute standard PHP functions)
|
||||
- If everything goes OK, the high-level function simply returns its $finalresult
|
||||
- If there is an error, the function returs to its parent (the script which called the net2ftp() function). It is
|
||||
up to the parent to see if and how an error message should be printed -- see index.php for an example.
|
||||
---------------------------------
|
||||
function high_level {
|
||||
global $net2ftp_result;
|
||||
$result = middle_level();
|
||||
if ($net2ftp_result["success"] == false) { return false; }
|
||||
...
|
||||
return $finalresult;
|
||||
}
|
||||
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// **************************************************************************************
|
||||
// **************************************************************************************
|
||||
// ** **
|
||||
// ** **
|
||||
|
||||
function setErrorVars($success, $errormessage, $debug_backtrace, $file, $line) {
|
||||
|
||||
// --------------
|
||||
// This function modifies the 3 global error-handling variables
|
||||
// --------------
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Global variables
|
||||
// -------------------------------------------------------------------------
|
||||
global $net2ftp_result, $net2ftp_settings;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Set the error-handling variables
|
||||
// -------------------------------------------------------------------------
|
||||
$net2ftp_result["success"] = $success;
|
||||
$net2ftp_result["errormessage"] = $errormessage;
|
||||
$net2ftp_result["debug_backtrace"] = $debug_backtrace;
|
||||
$net2ftp_result["file"] = $file;
|
||||
$net2ftp_result["line"] = $line;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Log the error if an error occured ($success == false)
|
||||
// If the error vars are set to true again ($success == true), don't log the error once more
|
||||
// -------------------------------------------------------------------------
|
||||
// DON'T LOG THE ERROR HERE, AS THE FUNCTION logError() MAY CALL setErrorVars() AGAIN,
|
||||
// CAUSING AN INFINITE LOOP!
|
||||
// if ($success == false) {
|
||||
// logError();
|
||||
// }
|
||||
|
||||
} // end setErrorVars
|
||||
|
||||
// ** **
|
||||
// ** **
|
||||
// **************************************************************************************
|
||||
// **************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// **************************************************************************************
|
||||
// **************************************************************************************
|
||||
// ** **
|
||||
// ** **
|
||||
|
||||
function net2ftpErrorHandler($errno, $errmsg, $file, $line, $vars) {
|
||||
|
||||
// --------------
|
||||
// This function processes PHP notices, warnings and errors
|
||||
// --------------
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Global variables
|
||||
// -------------------------------------------------------------------------
|
||||
global $net2ftp_output;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Put error details in variable
|
||||
// -------------------------------------------------------------------------
|
||||
if ($errno == E_USER_ERROR || $errno == E_ERROR || $errno == E_PARSE) {
|
||||
$net2ftp_output["php_error"][] = "Error [$errno] $errstr in file $file on line $line";
|
||||
echo "Error [$errno] $errstr in file $file on line $line";
|
||||
exit();
|
||||
}
|
||||
elseif ($errorno == E_USER_WARNING || $errno == E_WARNING) {
|
||||
$net2ftp_output["php_warning"][] = "Warning [$errno] $errstr in file $file on line $line";
|
||||
}
|
||||
elseif ($errorno == E_USER_NOTICE) {
|
||||
$net2ftp_output["php_notice"][] = "Notice [$errno] $errstr in file $file on line $line";
|
||||
}
|
||||
else {
|
||||
$net2ftp_output["php_error"][] = "Unknown error type [$errno] $errstr in file $file on line $line";
|
||||
}
|
||||
|
||||
} // end setErrorVars
|
||||
|
||||
// ** **
|
||||
// ** **
|
||||
// **************************************************************************************
|
||||
// **************************************************************************************
|
||||
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue