1: <?php defined('_JOOS_CORE') or exit();
2:
3: /**
4: * Работа с системными уведомлениями
5: *
6: * @version 1.0
7: * @package Core\Libraries
8: * @subpackage Flashmessage
9: * @category Libraries
10: * @author Joostina Team <info@joostina.ru>
11: * @copyright (C) 2007-2012 Joostina Team
12: * @license MIT License http://www.opensource.org/licenses/mit-license.php
13: * Информация об авторах и лицензиях стороннего кода в составе Joostina CMS: docs/copyrights
14: *
15: * */
16: class joosFlashMessage
17: {
18: /**
19: * Установка системного сообщения
20: * @static
21: *
22: * @param $msg текст сообщения
23: *
24: * @return void
25: */
26: public static function add($msg, $type = 'info')
27: {
28: $msg = joosString::trim($msg);
29:
30: if ($msg != '') {
31: if (joosCore::is_admin()) {
32: $_s = session_id();
33: if (empty($_s)) {
34: session_name(md5(JPATH_SITE));
35: session_start();
36: }
37: } else {
38: session_name(joosSession::session_cookie_name());
39: session_start();
40: }
41:
42: $_SESSION['joostina.mosmsg'] = $msg;
43: }
44: }
45:
46: /**
47: * Получение системного сообщения
48: * @return string - текст сообщения
49: */
50: public static function get()
51: {
52: $_s = session_id();
53:
54: if (!joosCore::is_admin() && empty($_s)) {
55: session_name(joosSession::session_cookie_name());
56: session_start();
57: }
58:
59: $message = joosRequest::session('joostina.mosmsg', false);
60:
61: if ($message != '' && joosString::strlen($message) > 300) { // выводим сообщения не длинее 300 символов
62: $message = joosString::substr($message, 0, 300);
63: }
64:
65: /**
66: @var $_SESSION array */
67: unset($_SESSION['joostina.mosmsg']);
68:
69: return $message ? '<div class="b-system_message">' . $message . '</div>' : '';
70: }
71:
72: /*
73: const SESSION_KEY = 'framework_flash';
74:
75: private static $_previous = array(); // Data that prevous page left in the Flash
76:
77: public static function get_message($var)
78: {
79: return isset(self::$_previous[$var]) ? self::$_previous[$var] : null;
80: }
81:
82: public static function set($var, $value)
83: {
84: $_SESSION[self::SESSION_KEY][$var] = $value;
85: }
86:
87: public static function clear()
88: {
89: $_SESSION[self::SESSION_KEY] = array();
90: }
91:
92: public static function init()
93: {
94: if (!empty($_SESSION[self::SESSION_KEY]) && is_array($_SESSION[self::SESSION_KEY])) {
95: self::$_previous = $_SESSION[self::SESSION_KEY];
96: }
97: $_SESSION[self::SESSION_KEY] = array();
98: }
99: */
100: }
101: