*/
class DomainWhitelistPlugin extends Plugin
{
- /**
- * Load related modules when needed
- *
- * @param string $cls Name of the class to be loaded
- *
- * @return boolean hook value; true means continue processing, false
- * means stop.
- */
- function onAutoload($cls) {
- $base = dirname(__FILE__);
- $lower = strtolower($cls);
-
- $files = array("$base/classes/$cls.php",
- "$base/lib/$lower.php");
- if (substr($lower, -6) == 'action') {
- $files[] = "$base/actions/" . substr($lower, 0, -6) . ".php";
- }
- foreach ($files as $file) {
- if (file_exists($file)) {
- include_once $file;
- return false;
- }
- }
- return true;
- }
-
/**
* Get the path to the plugin's installation directory. Used
* to link in js files and whatnot.
} else {
// TRANS: Client exception thrown when a given e-mailaddress is not in the domain whitelist.
// TRANS: %s are whitelisted e-mail domains separated by comma's (localisable).
- $message = sprintf(_('Email address must be in one of these domains: %s.'),
+ $message = sprintf(_m('Email address must be in one of these domains: %s.'),
// TRANS: Separator for whitelisted domains.
implode(_m('SEPARATOR',', '), $whitelist));
}
{
if (!$this->matchesWhitelist($email)) {
// TRANS: Exception thrown when an e-mail address does not match the site's domain whitelist.
- throw new Exception(_('That email address is not allowed on this site.'));
+ throw new Exception(_m('That email address is not allowed on this site.'));
}
return true;
)
);
- array_unshift($orderedWhitelist, $userDomain);
-
+ if (in_array($userDomain, $whitelist)) {
+ array_unshift($orderedWhitelist, $userDomain);
+ }
return $orderedWhitelist;
}