FEATURE: Default permission failure message set can be changed

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.2@65263 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Andrew O'Neil 2008-11-05 03:33:34 +00:00 committed by Sam Minnee
parent 903326869a
commit 115d2a7b06

View File

@ -65,6 +65,13 @@ class Security extends Controller {
*/ */
protected static $wordlist = '/usr/share/silverstripe/wordlist.txt'; protected static $wordlist = '/usr/share/silverstripe/wordlist.txt';
/**
* Default message set used in permission failures.
*
* @var array|string
*/
protected static $default_message_set = '';
/** /**
* Get location of word list file * Get location of word list file
*/ */
@ -81,6 +88,15 @@ class Security extends Controller {
Security::$wordlist = $wordListFile; Security::$wordlist = $wordListFile;
} }
/**
* Set the default message set used in permissions failures.
*
* @param string|array $messageSet
*/
static function set_default_message_set($messageSet) {
self::$default_message_set = $messageSet;
}
/** /**
* Register that we've had a permission failure trying to view the given page * Register that we've had a permission failure trying to view the given page
@ -109,6 +125,9 @@ class Security extends Controller {
static function permissionFailure($controller = null, $messageSet = null) { static function permissionFailure($controller = null, $messageSet = null) {
// Prepare the messageSet provided // Prepare the messageSet provided
if(!$messageSet) { if(!$messageSet) {
if(self::$default_message_set) {
$messageSet = self::$default_message_set;
} else {
$messageSet = array( $messageSet = array(
'default' => _t( 'default' => _t(
'Security.NOTEPAGESECURED', 'Security.NOTEPAGESECURED',
@ -121,9 +140,12 @@ class Security extends Controller {
'logInAgain' => _t( 'logInAgain' => _t(
'Security.LOGGEDOUT', 'Security.LOGGEDOUT',
"You have been logged out. If you would like to log in again, enter your credentials below." "You have been logged out. If you would like to log in again, enter your credentials below."
), )
); );
} else if(!is_array($messageSet)) { }
}
if(!is_array($messageSet)) {
$messageSet = array('default' => $messageSet); $messageSet = array('default' => $messageSet);
} }