mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 16:32:18 +02:00
MDL-16029 Added $extralocations in the function print_error; merged from MOODLE_19_STABLE
This commit is contained in:
parent
4b32776917
commit
c018fde2df
@ -573,7 +573,7 @@ function error($message, $link='') {
|
||||
throw new moodle_exception('notlocalisederrormessage', 'error', $link, $message);
|
||||
}
|
||||
|
||||
_print_normal_error('notlocalisederrormessage', 'error', $message, $link, debug_backtrace(), null, true); // show debug warning
|
||||
_print_normal_error('notlocalisederrormessage', 'error', $message, $link, debug_backtrace(), null, null, true); // show debug warning
|
||||
}
|
||||
|
||||
|
||||
|
@ -18,6 +18,7 @@ class moodle_exception extends Exception {
|
||||
public $a;
|
||||
public $link;
|
||||
public $debuginfo;
|
||||
public $extralocations;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@ -26,19 +27,25 @@ class moodle_exception extends Exception {
|
||||
* @param string $link The url where the user will be prompted to continue. If no url is provided the user will be directed to the site index page.
|
||||
* @param object $a Extra words and phrases that might be required in the error string
|
||||
* @param string $debuginfo optional debugging information
|
||||
* @param array $extralocations An array of strings with other locations to look for string files
|
||||
*/
|
||||
function __construct($errorcode, $module='', $link='', $a=NULL, $debuginfo=null) {
|
||||
if (empty($module) || $module == 'moodle' || $module == 'core') {
|
||||
function __construct($errorcode, $module='error', $link='', $a=NULL, $debuginfo=null, $extralocations=null) {
|
||||
if (empty($module) || $module === 'moodle' || $module === 'core') {
|
||||
$module = 'error';
|
||||
}
|
||||
|
||||
$this->errorcode = $errorcode;
|
||||
$this->module = $module;
|
||||
$this->link = $link;
|
||||
$this->a = $a;
|
||||
$this->debuginfo = $debuginfo;
|
||||
$this->errorcode = $errorcode;
|
||||
$this->module = $module;
|
||||
$this->link = $link;
|
||||
$this->a = $a;
|
||||
$this->debuginfo = $debuginfo;
|
||||
$this->extralocations = $extralocations;
|
||||
|
||||
$message = get_string($errorcode, $module, $a);
|
||||
$message = get_string($errorcode, $module, $a, $extralocations);
|
||||
if ($module === 'error' and strpos($message, '[[') === 0) {
|
||||
//search in moodle file if error specified - needed for backwards compatibility
|
||||
$message = get_string($errorcode, 'moodle', $a, $extralocations);
|
||||
}
|
||||
|
||||
parent::__construct($message, 0);
|
||||
}
|
||||
@ -53,7 +60,7 @@ function default_exception_handler($ex) {
|
||||
array_unshift($backtrace, $place);
|
||||
|
||||
if ($ex instanceof moodle_exception) {
|
||||
_print_normal_error($ex->errorcode, $ex->module, $ex->a, $ex->link, $backtrace, $ex->debuginfo);
|
||||
_print_normal_error($ex->errorcode, $ex->module, $ex->a, $ex->link, $backtrace, $ex->debuginfo, $ex->extralocations);
|
||||
} else {
|
||||
_print_normal_error('generalexceptionmessage', 'error', $ex->getMessage(), '', $backtrace);
|
||||
}
|
||||
|
@ -5546,9 +5546,10 @@ function print_scale_menu_helpbutton($courseid, $scale, $return=false) {
|
||||
* @param string $module name of module
|
||||
* @param string $link The url where the user will be prompted to continue. If no url is provided the user will be directed to the site index page.
|
||||
* @param object $a Extra words and phrases that might be required in the error string
|
||||
* @param array $extralocations An array of strings with other locations to look for string files
|
||||
* @return terminates script, does not return!
|
||||
*/
|
||||
function print_error($errorcode, $module='error', $link='', $a=NULL) {
|
||||
function print_error($errorcode, $module='error', $link='', $a=NULL, $extralocations=NULL) {
|
||||
global $CFG, $UNITTEST;
|
||||
|
||||
// If unittest running, throw exception instead
|
||||
@ -5564,16 +5565,16 @@ function print_error($errorcode, $module='error', $link='', $a=NULL) {
|
||||
|
||||
if (!isset($CFG->theme) or !isset($CFG->stylesheets)) {
|
||||
// error found before setup.php finished
|
||||
_print_early_error($errorcode, $module, $a);
|
||||
_print_early_error($errorcode, $module, $a, $extralocations);
|
||||
} else {
|
||||
_print_normal_error($errorcode, $module, $a, $link, debug_backtrace());
|
||||
_print_normal_error($errorcode, $module, $a, $link, debug_backtrace(), null, $extralocations);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal function - do not use directly!!
|
||||
*/
|
||||
function _print_normal_error($errorcode, $module, $a, $link, $backtrace, $debuginfo=null, $showerrordebugwarning=false) {
|
||||
function _print_normal_error($errorcode, $module, $a, $link, $backtrace, $debuginfo=null, $extralocations=null, $showerrordebugwarning=false) {
|
||||
global $CFG, $SESSION, $THEME, $DB;
|
||||
|
||||
if ($DB) {
|
||||
@ -5587,10 +5588,10 @@ function _print_normal_error($errorcode, $module, $a, $link, $backtrace, $debugi
|
||||
$modulelink = $module;
|
||||
}
|
||||
|
||||
$message = get_string($errorcode, $module, $a);
|
||||
$message = get_string($errorcode, $module, $a, $extralocations);
|
||||
if ($module === 'error' and strpos($message, '[[') === 0) {
|
||||
//search in moodle file if error specified - needed for backwards compatibility
|
||||
$message = get_string($errorcode, 'moodle', $a);
|
||||
$message = get_string($errorcode, 'moodle', $a, $extralocations);
|
||||
}
|
||||
|
||||
if (defined('FULLME') && FULLME == 'cron') {
|
||||
@ -5667,11 +5668,11 @@ function _print_normal_error($errorcode, $module, $a, $link, $backtrace, $debugi
|
||||
* Internal function - do not use directly!!
|
||||
* This function is used if fatal error occures before the themes are fully initialised (eg. in lib/setup.php)
|
||||
*/
|
||||
function _print_early_error($errorcode, $module, $a) {
|
||||
$message = get_string($errorcode, $module, $a);
|
||||
function _print_early_error($errorcode, $module, $a, $extralocations=NULL) {
|
||||
$message = get_string($errorcode, $module, $a, $extralocations);
|
||||
if ($module === 'error' and strpos($message, '[[') === 0) {
|
||||
//search in moodle file if error specified - needed for backwards compatibility
|
||||
$message = get_string($errorcode, 'moodle', $a);
|
||||
$message = get_string($errorcode, 'moodle', $a, $extralocations);
|
||||
}
|
||||
$message = clean_text($message);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user