On Wednesday 09 February 2011 08:30:14 Denis Linvinus wrote:
> Hello Nicolas!
Hello,

> As we have problem only with template condition, better decode only
> condition.
Ok, what about this patch for you?
 
--- inc/notificationtemplate.class.php.orig     2011-01-24 01:52:54.000000000 
+0100
+++ inc/notificationtemplate.class.php  2011-02-10 00:06:53.000000000 +0100
@@ -324,13 +324,13 @@
 
    static function processIf($string, $data) {
 
-      if (preg_match_all("/##IF([a-z\.]*)[=]?([\w ]*)##/i",$string,$out)) {
+      if (preg_match_all("/##IF([a-z\.]*)[=]?(.*?)##/i",$string,$out)) {
          foreach ($out[1] as $key => $tag_infos) {
             $if_field = $tag_infos;
             //Get the field tag value (if one)
-            $regex_if = "/##IF".$if_field."[=]?[\w 
]*##(.*)##ENDIF".$if_field."##/Uis";
+            $regex_if = 
"/##IF".$if_field."[=]?.*##(.*)##ENDIF".$if_field."##/Uis";
             //Get the else tag value (if one)
-            $regex_else = "/##ELSE".$if_field."[=]?[\w 
]*##(.*)##ENDELSE".$if_field."##/Uis";
+            $regex_else = 
"/##ELSE".$if_field."[=]?.*##(.*)##ENDELSE".$if_field."##/Uis";
             if (empty($out[2][$key])){ // No = : check if ot empty or not null
                if (isset($data['##'.$if_field.'##'])
                   && $data['##'.$if_field.'##'] != ''
@@ -342,7 +342,7 @@
                }
             } else { // check exact match
                if (isset($data['##'.$if_field.'##'])
-                  && $data['##'.$if_field.'##'] == $out[2][$key]) {
+                  && html_entity_decode_deep($data['##'.$if_field.'##']) == 
html_entity_decode_deep($out[2][$key])) {
                   $condition_ok=true;
                } else {
                   $condition_ok=false;

It modifies patterns to match HTML or UTF8 strings and adds a comparison 
between UTF8 strings (for text and html template).
I works fine with my template (html and text too).

Thanks,

Nicolas

_______________________________________________
Glpi-dev mailing list
[email protected]
https://mail.gna.org/listinfo/glpi-dev

Reply via email to