Update 'src/RR/Flash.php'

This commit is contained in:
ahwelp
2020-04-16 02:04:39 +00:00
parent ebd8d8f439
commit 87e1934a58
+66 -27
View File
@@ -6,12 +6,12 @@ class Flash{
private static $_instance; private static $_instance;
// Message types and shortcuts // Message types and shortcuts
const INFO = 'i'; const FLASH_INFO = 'i';
const SUCCESS = 's'; const FLASH_SUCCESS = 's';
const WARNING = 'w'; const FLASH_WARNING = 'w';
const ERROR = 'e'; const FLASH_ERROR = 'e';
const SESSION_NAME = 'flashes'; const FLASH_SESSION_NAME = 'flashes';
const defaultType = self::INFO; const defaultType = self::INFO;
@@ -22,8 +22,8 @@ class Flash{
self::INFO => 'info', self::INFO => 'info',
]; ];
public $old_messages = Array(); public $oldMessages = Array();
public $new_messages = Array(); public $newMessages = Array();
public $_flashes = Array(); public $_flashes = Array();
//SINGLETON============================================== //SINGLETON==============================================
@@ -33,7 +33,7 @@ class Flash{
session_start(); session_start();
} }
if( isset($_SESSION['flashes']) ){ if( isset($_SESSION['flashes']) ){
$this->old_messages = $_SESSION['flashes']; $this->oldMessages = $_SESSION['flashes'];
} }
unset( $_SESSION[self::SESSION_NAME] ); unset( $_SESSION[self::SESSION_NAME] );
} }
@@ -55,46 +55,80 @@ class Flash{
//======================================================= //=======================================================
public function merge(){ public function merge(){
$this->_flashes = array_merge_recursive($this->new_messages, $this->old_messages); $this->_flashes = array_merge_recursive($this->newMessages, $this->oldMessages);
} }
public function load_to_session(){ public function loadToSession(){
$_SESSION[self::SESSION_NAME] = $this->new_messages; $_SESSION[self::SESSION_NAME] = $this->newMessages;
} }
public static function add_message($type = self::defaultType, $message){ /*
*
* @ctag Flash:addMessage();
* @ctag Flash:addMessage(Flash::FLASH_INFO, '');
* @ctag Flash:addMessage(Flash::FLASH_SUCCESS, '');
* @ctag Flash:addMessage(Flash::FLASH_WARNING, '');
* @ctag Flash:addMessage(Flash::FLASH_ERROR, '');
*
*/
public static function addMessage($type = self::defaultType, $message){
$instance = self::getInstance(); $instance = self::getInstance();
$instance->new_messages[$type] = $message; $instance->newMessages[$type] = $message;
$instance->load_to_session(); $instance->loadToSession();
} }
public static function add_info($message){ /**
*
* @ctag Flash::addInfo('');
*
*/
public static function addInfo($message){
$instance = self::getInstance(); $instance = self::getInstance();
$instance->new_messages[self::INFO] = $message; $instance->newMessages[self::INFO] = $message;
$instance->load_to_session(); $instance->loadToSession();
} }
public static function add_error($message){ /**
*
* @ctag Flash::addError('');
*
*/
public static function addError($message){
$instance = self::getInstance(); $instance = self::getInstance();
$instance->new_messages[self::ERROR] = $message; $instance->newMessages[self::ERROR] = $message;
$instance->load_to_session(); $instance->loadToSession();
} }
public static function get_errors(){ /**
if(!self::has_errors()){ *
* @ctag Flash::getErrors();
*
*/
public static function getErrors(){
if(!self::hasErrors()){
return Array(); return Array();
} }
return self::getInstance()->_flashes[self::ERROR]; return self::getInstance()->_flashes[self::ERROR];
} }
public static function get_infos(){ /**
if(!self::has_info()){ *
* @ctag Flash::addInfos();
*
*/
public static function getInfos(){
if(!self::hasInfo()){
return Array(); return Array();
} }
return self::getInstance()->_flashes[self::INFO]; return self::getInstance()->_flashes[self::INFO];
} }
public static function has_errors(){ /**
*
* @ctag Flash::addErrors();
*
*/
public static function hasErrors(){
$instance = self::getInstance(); $instance = self::getInstance();
$instance->merge(); $instance->merge();
if( array_key_exists(self::ERROR, $instance->_flashes ) ){ if( array_key_exists(self::ERROR, $instance->_flashes ) ){
@@ -104,7 +138,12 @@ class Flash{
} }
} }
public static function has_info(){ /**
*
* @ctag Flash::hasInfo();
*
*/
public static function hasInfo(){
$instance = self::getInstance(); $instance = self::getInstance();
$instance->merge(); $instance->merge();
if( array_key_exists(self::INFO, $instance->_flashes ) ){ if( array_key_exists(self::INFO, $instance->_flashes ) ){