Overview

Namespaces

  • Core
    • Auth
    • Exceptions
    • Helpers
    • Providers
  • Kernel
    • Dispatch
    • Providers
  • None
  • Vendor
    • ExampleVendor

Classes

  • Controller
  • Core\AbstractClass
  • Core\Auth\AuthenticateController
  • Core\Auth\PasswordModel
  • Core\ErrorController
  • Core\Exceptions\Exception
  • Core\Helpers\Flash
  • Core\Helpers\Hooks
  • Core\Language
  • Core\ParentController
  • Core\ParentModel
  • Core\Providers\Config
  • Core\Providers\Service
  • Core\Providers\Session
  • ErrorController
  • HomeController
  • HomeModel
  • Kernel\AppKernel
  • Kernel\Dispatch\Logger
  • Kernel\Dispatch\Mailer
  • Kernel\Dispatch\Mailer_PHP
  • Kernel\Providers\Permission
  • Kernel\Providers\Router
  • LoginController
  • LoginModel
  • Model
  • Vendor\ExampleVendor\ExampleVendorController
  • Vendor\ExampleVendor\ExampleVendorModel
  • Vendor\VendorController

Functions

  • _die
  • asset
  • clock_end
  • clock_start
  • clock_time
  • config
  • ddie
  • deleteDir
  • email_png
  • env
  • folder_action
  • folder_recurse
  • generateFile
  • getClientIP
  • getClientUserAgent
  • getVersion
  • isAjax
  • isAuth
  • isDev
  • isLocalServer
  • isProd
  • nocache
  • php
  • ppie
  • query
  • queryIndexed
  • save_ini_file
  • t
  • versioning
  • view
  • write_ini
  • Overview
  • Namespace
  • Class
  • Download
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 
<?php

namespace Core\Helpers;
use Core\Providers\Session;

/**
 * Manages flash messages
 *
 * @package Core
 */
class Flash
{

    private static $defaultMessage = 'Success!';
    private static $defaultMessageType = 'success';

    /**
     * Sets a <b>flash message</b> with a <b>message type</b>.
     * @param string $message The message to display
     * @param string $messageType The type of message: success|info|warning|danger
     * @return string The data: [message => $message, type => $type]
     */
    public static function set($message = null, $messageType = null) {
        $message     = $message     ?: self::$defaultMessage;
        $messageType = $messageType ?: self::$defaultMessageType;

        if (!in_array($messageType, ['success', 'info', 'warning', 'danger'])) {
            $messageType = 'success';
        }

        $flash = ['message' => $message, 'type' => $messageType];

        Session::set('flash_message', $flash);
        return $flash;
    }

    /**
     * Alias for Flash::flush(): Syntactic sugar to retrieve and delete the message
     * @alias Flash::flush()
     * @see \Core\Flash::flush()
     */
    public static function get() {
        return self::flush();
    }

    /**
     * Gets the value of the flash <b>flash message</b> and the <b>flash message type</b>.
     * @return array|bool The whole data if there's a flash message, <b>FALSE</b> otherwise. Flushes de data afterwards.
     */
    public static function flush() {
        if ($flashMessage = Session::get('flash_message')) {
            Session::clean('flash_message');
            return $flashMessage;
        }
        return FALSE;
    }

    /**
     * Returns whether there's a flash message or not TRUE|FALSE
     * @return bool
     */
    public static function hasMessage() {
        return !empty(Session::get('flash_message'));
    }

    /**
     * @param bool|false $flush Whether to flush the data or not.
     * @return string The message.
     */
    public static function message($flush = false) {
        $flashMessage = Session::get('flash_message');

        if ($flush) {
            self::flush();
        }
        return $flashMessage['message'];
    }

    /**
     * @param bool|false $flush Whether to flush the data or not.
     * @return string The type of message.
     */
    public static function type($flush = false) {
        $flashMessage = Session::get('flash_message');

        if ($flush) {
            self::flush();
        }
        return $flashMessage['type'];
    }


}
Ribosome API documentation generated by ApiGen