2003-05-04 09:00:14 +00:00
< ? php
/*
$Id $
This code is part of LDAP Account Manager ( http :// www . sourceforge . net / projects / lam )
Copyright ( C ) 2003 Michael Duergner
This program is free software ; you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation ; either version 2 of the License , or
( at your option ) any later version .
This program is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 59 Temple Place , Suite 330 , Boston , MA 02111 - 1307 USA
LDAP Account Manager status messages .
*/
2003-10-19 09:28:15 +00:00
function StatusMessage ( $MessageTyp , $MessageHeadline , $MessageText , $MessageVariables = array ()) {
2003-05-04 21:36:18 +00:00
/* Setting CSS-StyleSheet class depending on the $MessageTyp and rewriting $MessageTyp with a readable string. */
2003-10-18 11:26:49 +00:00
if ( $MessageTyp == " INFO " ) {
2003-08-16 17:30:20 +00:00
$class = " class= \" statusInfo \" " ;
2003-05-04 09:00:14 +00:00
}
2003-10-18 11:26:49 +00:00
elseif ( $MessageTyp == " WARN " ) {
2003-08-16 17:30:20 +00:00
$class = " class= \" statusWarn \" " ;
2003-05-04 09:00:14 +00:00
}
2003-10-18 11:26:49 +00:00
elseif ( $MessageTyp == " ERROR " ) {
2003-08-16 17:30:20 +00:00
$class = " class= \" statusError \" " ;
2003-05-04 09:00:14 +00:00
}
2003-05-04 21:36:18 +00:00
/* Set output-message, when none or false $MessageTyp is submitted. */
2003-10-18 11:26:49 +00:00
else {
2003-08-16 17:30:20 +00:00
$class = " class= \" statusError \" " ;
2003-10-29 19:19:00 +00:00
$MessageTyp = _ ( " LAM Internal Error " );
2003-08-16 17:30:20 +00:00
$MessageHeadline = _ ( " Invalid/Missing Message type " );
$MessageText = _ ( " Please report this error to the Bug-Tracker at { link=http://lam.sf.net}LDAP Account Manager Development Team { endlink}. The error number is { bold}0001:Invalid/Missing Message type. { endbold} Thank you. " );
2003-05-04 09:00:14 +00:00
}
2003-05-04 21:36:18 +00:00
$MessageHeadline = parseMessageString ( $MessageHeadline );
$MessageText = parseMessageString ( $MessageText );
2003-05-04 09:00:14 +00:00
2003-10-18 11:26:49 +00:00
//$MessageTyp = "<h1 " . $class . ">" . $MessageTyp . "</h1>"; // Format $MessageTyp
2003-11-12 20:33:06 +00:00
if ( is_file ( " ../graphics/error.png " )) {
$MessageTyp = " <img src= \" ../graphics/ " . strtolower ( $MessageTyp ) . " .png \" alt= \" " . $MessageTyp . " \" width= \" 50 \" height= \" 50 \" > " ;
}
else {
$MessageTyp = " <img src= \" ../../graphics/ " . strtolower ( $MessageTyp ) . " .png \" alt= \" " . $MessageTyp . " \" width= \" 50 \" height= \" 50 \" > " ;
}
2003-10-29 19:24:01 +00:00
$MessageTyp = " <img src= \" " . $_SESSION [ 'lamurl' ] . " graphics/ " . strtolower ( $MessageTyp ) . " .png \" alt= \" " . $MessageTyp . " \" width= \" 50 \" height= \" 50 \" > " ;
2003-10-18 11:26:49 +00:00
$MessageHeadline = " <h2 " . $class . " > " . $MessageHeadline . " </h2> " ; // Format $MessageHeadline
$MessageText = " <p " . $class . " > " . $MessageText . " </p> " ; // Format $MessageText
$format = " <div " . $class . " ><br><table><tr><td> " . $MessageTyp . " </td><td> " . $MessageHeadline . $MessageText . " </td></tr></table><br></div> " ;
for ( $i = 0 ; $i < count ( $MessageVariables ); $i ++ ) {
$variables .= " , " . $MessageVariables [ $i ];
}
$command = 'printf("' . addslashes ( $format ) . '"' . $variables . ');' ;
eval ( $command );
2003-05-04 09:00:14 +00:00
}
2003-05-04 21:36:18 +00:00
/* Use the three replace functions on the submitted Text. */
2003-10-18 11:26:49 +00:00
function parseMessageString ( $MessageString ) {
2003-05-07 18:21:19 +00:00
return linkText ( colorText ( boldText ( $MessageString )));
2003-05-04 09:00:14 +00:00
}
2003-05-04 21:36:18 +00:00
/* Replace {bold} and {endbold} with <b> and </b> HTML-Tags. */
2003-10-18 11:26:49 +00:00
function boldText ( $text ) {
2003-05-04 21:36:18 +00:00
$pattern = " / \ { bold \ }([^ { ]*) \ { endbold \ }/ " ; // Regular expression matching {bold}[Text]{endbold}
2003-10-18 11:26:49 +00:00
$replace = " <b class= \" status \" > \\ 1</b> " ; // Replace pattern
2003-05-07 18:21:19 +00:00
return preg_replace ( $pattern , $replace , $text );
2003-05-04 09:00:14 +00:00
}
2003-05-04 21:36:18 +00:00
/* Replace {color=#[HEX-Value]} or {color=[HEX-Value]} and {endcolor} with <font color="#[HEX-Value]"> and </font> HTML-Tags. */
2003-10-18 11:26:49 +00:00
function colorText ( $text ) {
2003-05-04 21:36:18 +00:00
$pattern = " / \ { color=#?([0-9,a-f,A-F] { 6}) \ }([^ { ]*) \ { endcolor \ }/ " ; // Regular expression matching {color=#[HEX-Value]}[Text]{endcolor} or {color=[HEX-Value]}[Text]{endcolor}
$replace = " <font color= \" # \\ 1 \" > \\ 2</font> " ; // Replace pattern
2003-05-07 18:21:19 +00:00
return preg_replace ( $pattern , $replace , $text );
2003-05-04 09:00:14 +00:00
}
2003-05-04 21:36:18 +00:00
/* Replace {link=[Link-Target]} and {endlink} with <a href="[Link-Target]" target="_blank"> and </a> HTML-Tags. */
2003-10-18 11:26:49 +00:00
function linkText ( $text ) {
2003-05-04 21:36:18 +00:00
$pattern = " / \ { link=([^}]*) \ }([^ { ]*) \ { endlink \ }/ " ; // Regular expression matching {link=[Link-Target]}[Text]{endlink}
$replace = " <a href= \" \\ 1 \" target= \" _blank \" > \\ 2</a> " ; //Replace pattern
2003-05-07 18:21:19 +00:00
return preg_replace ( $pattern , $replace , $text );
2003-05-04 09:00:14 +00:00
}
2003-05-07 18:21:19 +00:00
?>