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;
// Message types and shortcuts
const INFO = 'i';
const SUCCESS = 's';
const WARNING = 'w';
const ERROR = 'e';
const FLASH_INFO = 'i';
const FLASH_SUCCESS = 's';
const FLASH_WARNING = 'w';
const FLASH_ERROR = 'e';
const SESSION_NAME = 'flashes';
const FLASH_SESSION_NAME = 'flashes';
const defaultType = self::INFO;
@@ -22,8 +22,8 @@ class Flash{
self::INFO => 'info',
];
public $old_messages = Array();
public $new_messages = Array();
public $oldMessages = Array();
public $newMessages = Array();
public $_flashes = Array();
//SINGLETON==============================================
@@ -33,7 +33,7 @@ class Flash{
session_start();
}
if( isset($_SESSION['flashes']) ){
$this->old_messages = $_SESSION['flashes'];
$this->oldMessages = $_SESSION['flashes'];
}
unset( $_SESSION[self::SESSION_NAME] );
}
@@ -55,46 +55,80 @@ class Flash{
//=======================================================
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(){
$_SESSION[self::SESSION_NAME] = $this->new_messages;
public function loadToSession(){
$_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->new_messages[$type] = $message;
$instance->load_to_session();
$instance->newMessages[$type] = $message;
$instance->loadToSession();
}
public static function add_info($message){
/**
*
* @ctag Flash::addInfo('');
*
*/
public static function addInfo($message){
$instance = self::getInstance();
$instance->new_messages[self::INFO] = $message;
$instance->load_to_session();
$instance->newMessages[self::INFO] = $message;
$instance->loadToSession();
}
public static function add_error($message){
/**
*
* @ctag Flash::addError('');
*
*/
public static function addError($message){
$instance = self::getInstance();
$instance->new_messages[self::ERROR] = $message;
$instance->load_to_session();
$instance->newMessages[self::ERROR] = $message;
$instance->loadToSession();
}
public static function get_errors(){
if(!self::has_errors()){
/**
*
* @ctag Flash::getErrors();
*
*/
public static function getErrors(){
if(!self::hasErrors()){
return Array();
}
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 self::getInstance()->_flashes[self::INFO];
}
public static function has_errors(){
/**
*
* @ctag Flash::addErrors();
*
*/
public static function hasErrors(){
$instance = self::getInstance();
$instance->merge();
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->merge();
if( array_key_exists(self::INFO, $instance->_flashes ) ){