MDL-25763 tool_replace: Returning correct error code

This commit is contained in:
David Monllao 2014-11-21 10:40:06 +08:00
parent ee4b11e0a6
commit 06bb6478fd
2 changed files with 9 additions and 8 deletions

View File

@ -72,12 +72,12 @@ try {
$search = validate_param($options['search'], PARAM_RAW);
$replace = validate_param($options['replace'], PARAM_RAW);
} catch (invalid_parameter_exception $e) {
cli_error(get_string('clibadparametertext', 'tool_replace'));
cli_error(get_string('invalidcharacter', 'tool_replace'));
}
if (!$options['non-interactive']) {
echo get_string('excludedtables', 'tool_replace') . "\n\n";
echo get_string('cliconfirmation', 'tool_replace') . "\n\n";
echo get_string('notsupported', 'tool_replace') . "\n\n";
$prompt = get_string('cliyesnoprompt', 'admin');
$input = cli_input($prompt, '', array(get_string('clianswerno', 'admin'), get_string('cliansweryes', 'admin')));
if ($input == get_string('clianswerno', 'admin')) {
@ -85,7 +85,10 @@ if (!$options['non-interactive']) {
}
}
db_replace($search, $replace);
if (!db_replace($search, $replace)) {
cli_heading(get_string('error'));
exit(1);
}
cli_heading(get_string('success'));
exit(0);

View File

@ -27,14 +27,12 @@ $string['cannotfit'] = 'The replacement is longer than original and shortening i
$string['disclaimer'] = 'I understand the risks of this operation';
$string['doit'] = 'Yes, do it!';
$string['excludedtables'] = 'Several tables are not updated as part of the text replacement. This include configuration, log, events, and session tables.';
$string['pageheader'] = 'Search and replace text throughout the whole database';
$string['clibadparametertext'] = 'Invalid characters were found in the search or replacement text. Aborting.';
$string['cliconfirmation'] = 'This script is not supported and the operation cannot be reverted, so always make a complete backup before proceeding.
Are you sure you want to begin?';
$string['invalidcharacter'] = 'Invalid characters were found in the search or replacement text.';
$string['notifyfinished'] = '...finished';
$string['notifyrebuilding'] = 'Rebuilding course cache...';
$string['notimplemented'] = 'Sorry, this feature is not implemented in your database driver.';
$string['notsupported'] ='This script is not supported, always make complete backup before proceeding!<br />This operation can not be reverted!';
$string['notsupported'] = 'This script should be considered experimental and the changes it makes can not be reverted. Please make a complete backup for running this script!';
$string['pageheader'] = 'Search and replace text throughout the whole database';
$string['pluginname'] = 'DB search and replace';
$string['replacewith'] = 'Replace with this string';
$string['replacewithhelp'] = 'usually new server URL';