Code

Made filter rely on it's own input
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 28 Aug 2009 14:27:12 +0000 (14:27 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 28 Aug 2009 14:27:12 +0000 (14:27 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14163 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/include/class_filter.inc

index 0b5f1778a9263186bbada5d718d35540cb2ffcd6..cce5f48cae679dd4efae6d7e1cfa8bd618e2361b 100644 (file)
@@ -36,6 +36,7 @@ class filter {
   var $scopeMode= "auto";
   var $alphabet= null;
   var $converter= array();
+  var $pid;
 
 
   function filter($filename)
@@ -46,6 +47,8 @@ class filter {
     if (!$this->load($filename)) {
       die("Cannot parse $filename!");
     }
+
+    $this->pid= preg_replace("/[^0-9]/", "", microtime(TRUE)); 
   }
 
 
@@ -344,7 +347,7 @@ class filter {
     }
 
     // Load template
-    return ("<input type='hidden' name='FILTER_LOADED' value='1'>".$smarty->fetch(get_template_path($this->xmlData['definition']['template'], true)));
+    return ("<input type='hidden' name='FILTER_PID' value='".$this->pid."'>".$smarty->fetch(get_template_path($this->xmlData['definition']['template'], true)));
   }
 
 
@@ -434,7 +437,7 @@ class filter {
       }
     }
 
-    if (isset($_POST['FILTER_LOADED'])) {
+    if (isset($_POST['FILTER_PID']) && $_POST['FILTER_PID'] == $this->pid) {
       // Load post values and adapt filter, base and scope accordingly - but
       // only if we didn't get a _GET
       foreach ($this->elements as $tag => $element) {