developer.jelix.org is not used any more and exists only for
history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.
Ticket #644: jmessage.patch
File jmessage.patch, 4.5 KB (added by bballizlife, 13 years ago) |
---|
-
build/manifests/jelix-lib.mn
239 239 * jJsonRpc.class.php 240 240 jLog.class.php 241 241 jMailer.class.php 242 jMessage.class.php 242 243 jSmtp.class.php 243 244 jTcpdf.class.php 244 245 * jWiki.class.php … … 452 453 block.swfjs.php 453 454 function.link_to_remote.php 454 455 function.breadcrumb.php 456 function.jmessage.php 455 457 456 458 cd lib/jelix/plugins/tpl/ltx2pdf 457 459 function.jlocale.php -
lib/jelix/plugins/tpl/html/function.jmessage.php
1 <?php 2 /** 3 * @package Jelix 4 * @subpackage jtpl_plugin 5 * @author Loic Mathaud 6 * @copyright 2008 Loic Mathaud 7 * @link http://www.jelix.org 8 * @licence GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 9 */ 10 11 /** 12 * function plugin : Display messages from jMessage 13 */ 14 15 function jtpl_function_html_jmessage($tpl, $type = '') { 16 // Get messages 17 if ($type == '') { 18 $messages = jMessage::getAll(); 19 } else { 20 $messages = jMessage::get($type); 21 } 22 // Not messages, quit 23 if (!$messages) { 24 return; 25 } 26 27 // Display messages 28 if ($type == '') { 29 echo '<ul class="jelix-msg">'; 30 foreach ($messages as $types) { 31 foreach ($types as $type => $msg) { 32 echo '<li class="jelix-msg-item-'.$type.'">'.htmlspecialchars($msg).'</li>'; 33 } 34 } 35 } else { 36 echo '<ul class="jelix-msg-'. $type .'">'; 37 foreach ($messages as $msg) { 38 echo '<li class="jelix-msg-item-'.$type.'">'.htmlspecialchars($msg).'</li>'; 39 } 40 } 41 echo '</ul>'; 42 43 if ($type == '') { 44 jMessage::clearAll();; 45 } else { 46 jMessage::clear($type); 47 } 48 49 } -
lib/jelix/utils/jMessage.class.php
1 <?php 2 /** 3 * @package jelix 4 * @subpackage utils 5 * @author Loic Mathaud 6 * @copyright 2008 Loic Mathaud 7 * @link http://www.jelix.org 8 * @licence GNU Lesser General Public Licence see LICENCE file or http://www.gnu.org/licenses/lgpl.html 9 */ 10 11 /** 12 * Utility class to log some message in session in order to be displayed in a template 13 * @package jelix 14 * @subpackage utils 15 * @static 16 */ 17 class jMessage { 18 19 protected static $session_name = 'JELIX_MESSAGE'; 20 21 22 /** 23 * Add a message 24 * @param string $message the message 25 * @param string $type the message type ('default' by default) 26 */ 27 public static function add($message, $type = 'default') { 28 if (!isset($_SESSION[self::$session_name])) { 29 $_SESSION[self::$session_name] = array(); 30 } 31 if (!isset($_SESSION[self::$session_name][$type])) { 32 $_SESSION[self::$session_name][$type] = array(); 33 } 34 35 // Add message 36 $_SESSION[self::$session_name][$type][] = $message; 37 } 38 39 /** 40 * Clear messages for the given type 41 * @param string $type the message type ('default' by default) 42 */ 43 public static function clear($type = 'default') { 44 if (isset($_SESSION[self::$session_name][$type])) { 45 $_SESSION[self::$session_name][$type] = array(); 46 } 47 } 48 49 /** 50 * Clear all messages 51 */ 52 public static function clearAll() { 53 if (isset($_SESSION[self::$session_name])) { 54 $_SESSION[self::$session_name] = array(); 55 } 56 } 57 58 /** 59 * Get messages for the given type 60 * @param string $type the message type ('default' by default) 61 * @return mixed array/null 62 */ 63 public static function get($type = 'default') { 64 if (isset($_SESSION[self::$session_name][$type])) { 65 return $_SESSION[self::$session_name][$type]; 66 } 67 68 return null; 69 } 70 71 /** 72 * Get all messages 73 */ 74 public static function getAll() { 75 if (isset($_SESSION[self::$session_name])) { 76 return $_SESSION[self::$session_name]; 77 } 78 79 return null; 80 } 81 }