Code

Added diabled picture to render funktion
[gosa.git] / include / smarty / plugins / block.render.php
index 96381c9f064bf9ac5f9d102991f8c7c5e8ad290a..831009fda1921b1a682ff363cb8c8dd14f841a1d 100755 (executable)
@@ -5,20 +5,39 @@ function smarty_block_render($params, $text, &$smarty)
        $text = stripslashes($text);
        $acl = "";
 
+       /* Skip closing tag </render> */        
+       if(empty($text)) {
+               return("");
+       }
+
+       /* Get acl parameter */
        if (isset($params['acl'])) {
                $acl = $params['acl'];
                unset($params['acl']);
        }
 
+//     echo "<font color='blue' size='2'>".$acl."</font>";
+
        /* Read / Write*/
        if(preg_match("/w/i",$acl)){
                return ($text);
        }
 
-       $from   =  array("/name=/i");
-       $to     =  array("disabled name=");
-       $text = preg_replace($from,$to,$text);
-               
+       /* Disable objects, but keep those active that have mode=read_active */
+       if(!(isset($params['mode']) && $params['mode']=='readable')){
+               $from   =  array("/name=/i");
+               $to     =  array("disabled name=");
+               $text = preg_replace($from,$to,$text);
+
+               /* Replace picture if object is disabled */
+               if(isset($params['disable_picture'])){
+                       $syn = "/src=['\"][a-z0-9\/.]*['\"]/i";
+                       $new = "src=\"".$params['disable_picture']."\"";
+                       $text = preg_replace($syn,$new,$text);
+               }
+
+       }               
+
        /* Read only */
        if(preg_match("/r/i",$acl)){
                return($text);