From 3af8299b0b0b6522094b4c77eaec32e19421c1f0 Mon Sep 17 00:00:00 2001 From: Andrew O'Neil Date: Wed, 25 Jun 2008 04:05:28 +0000 Subject: [PATCH] Merged revisions 56719 via svnmerge from svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.2.2 ........ r56719 | aoneil | 2008-06-23 16:00:25 +1200 (Mon, 23 Jun 2008) | 2 lines FEATURE: Deault permission failure message set can be changed. ........ git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@56914 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- security/Security.php | 52 ++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/security/Security.php b/security/Security.php index 7725cf11d..92581f9da 100644 --- a/security/Security.php +++ b/security/Security.php @@ -66,6 +66,13 @@ class Security extends Controller { */ public static $template_main = 'Page'; + /** + * Default message set used in permission failures. + * + * @var array|string + */ + protected static $default_message_set = ''; + /** * Get location of word list file */ @@ -81,6 +88,15 @@ class Security extends Controller { static function set_word_list($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; + } /** @@ -110,21 +126,27 @@ class Security extends Controller { static function permissionFailure($controller = null, $messageSet = null) { // Prepare the messageSet provided if(!$messageSet) { - $messageSet = array( - 'default' => _t( - 'Security.NOTEPAGESECURED', - "That page is secured. Enter your credentials below and we will send you right along." - ), - 'alreadyLoggedIn' => _t( - 'Security.ALREADYLOGGEDIN', - "You don't have access to this page. If you have another account that can access that page, you can log in below." - ), - 'logInAgain' => _t( - 'Security.LOGGEDOUT', - "You have been logged out. If you would like to log in again, enter your credentials below." - ), - ); - } else if(!is_array($messageSet)) { + if(self::$default_message_set) { + $messageSet = self::$default_message_set; + } else { + $messageSet = array( + 'default' => _t( + 'Security.NOTEPAGESECURED', + "That page is secured. Enter your credentials below and we will send you right along." + ), + 'alreadyLoggedIn' => _t( + 'Security.ALREADYLOGGEDIN', + "You don't have access to this page. If you have another account that can access that page, you can log in below." + ), + 'logInAgain' => _t( + 'Security.LOGGEDOUT', + "You have been logged out. If you would like to log in again, enter your credentials below." + ) + ); + } + } + + if(!is_array($messageSet)) { $messageSet = array('default' => $messageSet); }