MDL-55207 adminlib: Improve help and validation errors for configiplist

This commit is contained in:
Brendan Heywood 2016-07-13 14:50:53 +10:00
parent 36a19ecc26
commit 685e5b002c
2 changed files with 8 additions and 4 deletions

View file

@ -3526,21 +3526,24 @@ class admin_setting_configiplist extends admin_setting_configtextarea {
return true;
}
$result = true;
$badips = array();
foreach($ips as $ip) {
$ip = trim($ip);
if (empty($ip)) {
continue;
}
if (preg_match('#^(\d{1,3})(\.\d{1,3}){0,3}$#', $ip, $match) ||
preg_match('#^(\d{1,3})(\.\d{1,3}){0,3}(\/\d{1,2})$#', $ip, $match) ||
preg_match('#^(\d{1,3})(\.\d{1,3}){3}(-\d{1,3})$#', $ip, $match)) {
$result = true;
} else {
$result = false;
break;
$badips[] = $ip;
}
}
if($result) {
return true;
} else {
return get_string('validateerror', 'admin');
return get_string('validateiperror', 'admin', join(', ', $badips));
}
}
}