Code

Some changes, no execute in save
[gosa.git] / plugins / gofon / macro / class_gofonMacro.inc
index 88ad31f5eac99b3b74a9d27a09edf04b09bc3d38..373a4838e9df79a1103f0f8d5ae97f5de78a5c3f 100755 (executable)
@@ -11,21 +11,17 @@ class macro extends plugin
   var $description= "";
   var $base= "";
   var $displayName = "";
-  var $goFonMacroParameter =array();
   var $goFonMacroContent;
   var $goFonMacroVisible=0;
 
   /* attribute list for save action */
-  var $attributes= array("cn","base", "description","displayName","goFonMacroParameter","goFonMacroContent","goFonMacroVisible");
+  var $attributes= array("cn","base", "description","displayName","goFonMacroContent","goFonMacroVisible");
   var $objectclasses= array("top", "goFonMacro");
 
   function macro ($config, $dn= NULL)
   {
     plugin::plugin ($config, $dn);
 
-    $tmp = array();  // temporary Var 
-    $tmp2 = array(); // temporary Var ...
-    $tmp3 = "";
     $ldap= $config->get_ldap_link();
 
     $this->dn = $dn;
@@ -40,37 +36,6 @@ class macro extends plugin
     } else {
       $this->base= dn2base($this->dn);
     }
-
-    /* initialising macro parameter */
-    unset($this->attrs['goFonMacroParameter']['count']);
-
-    /* Set Parameters, or a new array if ther are no parameters */
-    if(isset($this->attrs['goFonMacroParameter'])){
-      $this->goFonMacroParameter = $this->attrs['goFonMacroParameter'];
-    }else{
-      $this->goFonMacroParameter =array();
-    }
-
-    /* Create an array for parameters if not given yet */
-    if(!is_array($this->goFonMacroParameter)){
-      $tmp3 = $this->goFonMacroParameter;
-      $this->goFonMacroParameter =array();     
-      if(!empty($tmp3)) {
-        $this->goFonMacroParameter[] = $tmp3;
-      }
-    }
-
-    /* Create a better sorted array */
-    foreach($this->goFonMacroParameter as $para)    {
-      $tmp = split("!",$para);
-      $tmp2[$tmp[0]]['name']           = $tmp[1];  
-      $tmp2[$tmp[0]]['type']           = $tmp[2];  
-      $tmp2[$tmp[0]]['default']        = $tmp[3];  
-    }
-
-    /* Assign this array */
-    $this->goFonMacroParameter = $tmp2;        
-
   }
 
   function execute()
@@ -83,7 +48,7 @@ class macro extends plugin
     /* Do we represent a valid group? */
     if (!$this->is_account && $this->parent == NULL){
       $display= "<img alt=\"\" src=\"images/stop.png\" align=\"middle\">&nbsp;<b>".
-        _("This 'dn' is no application.")."</b>";
+        _("This 'dn' is no phone macro.")."</b>";
       return ($display);
     }
 
@@ -95,76 +60,6 @@ class macro extends plugin
     foreach($this->attributes as $ar){
       $smarty->assign($ar, $this->$ar);
     }
-
-    /* Add an empty Parameter */
-    if(isset($_POST['addvar'])){
-      if(!is_array($this->goFonMacroParameter)){
-        $vars = $this->goFonMacroParameter;
-        $this->goFonMacroParameter = array();
-        $this->goFonMacroParameter[]= $vars;
-      }
-      $number= count($this->goFonMacroParameter);
-      $number++;
-      $this->goFonMacroParameter[]=array("name"=>"new","type"=>"string","default"=>"test");
-    }
-
-    /* read out post data, and assign it to the parameters */
-    /* And or delete */
-    foreach($_POST as $name=>$value){  
-
-      /* Test if there is a variable begining with "del" */
-      if(preg_match("/del/",$name)){
-
-        /* Extract entry id to delete */
-        $nr = str_replace("del","",$name)      ;
-
-        /* unset entry */                      
-        unset($this->goFonMacroParameter[$nr]);
-
-      }elseif(preg_match("/number/",$name)){
-        /* Set Post vars */
-        $key = $_POST[$name];
-        $this->goFonMacroParameter[$key]['name']               =$_POST["varname".$key];                
-        $this->goFonMacroParameter[$key]['type']               =$_POST["vartype".$key];                
-        $this->goFonMacroParameter[$key]['default']            =$_POST["default".$key];                
-      }
-    } 
-
-    /*generate Table which shows als parameters */
-    foreach($this->goFonMacroParameter as $key=>$para) {
-
-      if($para['type']=="string") {
-        $sel1 = "selected";
-        $sel2 = "";
-      }else{
-        $sel1 = "";
-        $sel2 = "selected";
-      }
-
-      $vars .="<tr>
-        <td>".$key."<input name=\"number".$key."\" value='".$key."' type='hidden'> </td>
-        <td><input name='varname".$key."'   value='".$para['name']."'></td>
-        <td>
-        <select name='vartype".$key."'>
-        <option name='vartype".$key."' value='string' ".$sel1.">string</option>
-        <option name='vartype".$key."' value='combo'   ".$sel2.">combo</option>
-        <option name='vartype".$key."' value='bool'   ".$sel2.">bool</option>
-        </select>
-        </td>
-        <td><input name='default".$key."'   value='".$para['default']."'></td>
-        <td><input name='del".$key."' value='delete' type='submit'></td>
-        </tr>";
-
-
-    }
-
-    /* Display add renew button */
-    $vars .="<tr>      
-      <td colspan=5>
-      <input name='addvar' value="._("Add")." type='submit'>
-      <input name='actvar' value="._("Refresh")." type='submit'>
-      </td>
-      </tr>";
     /* Checkboxes */
     $smarty->assign("base_select", $this->base);
     $smarty->assign("vars", $vars);
@@ -185,7 +80,6 @@ class macro extends plugin
       }
     }
 
-
     /* Show main page */
     return($smarty->fetch (get_template_path('generic.tpl', TRUE)));
   }
@@ -202,11 +96,10 @@ class macro extends plugin
     $ldap->cd ($this->config->current['BASE']);
     $ldap->search ("(&(objectClass=gosaGroupOfNames)(member=".$this->dn."))", array("cn"));
     while ($ldap->fetch()){
-      $og= new ogroup($this->config, $ldap->getDN());
-      unset($og->member[$this->dn]);
-      $og->save ();
+        $og= new ogroup($this->config, $ldap->getDN());
+        unset($og->member[$this->dn]);
+        $og->save ();
     }
-
   }
 
 
@@ -231,10 +124,14 @@ class macro extends plugin
         return(array($str));
         }
       }
-
     if(($this->cn != strtolower($this->cn))||(empty($this->cn))){
       $message[] = "The attribute 'cn' must be lowercase and a least one char.";
     }
+    
+    if(count(split("\n",$this->goFonMacroContent))>100){
+      $message[] = _("Makro length must be lower than 100 lines");
+    }
+    
     return $message;
   }
 
@@ -247,12 +144,6 @@ class macro extends plugin
 
     plugin::save();
 
-    $this->attrs['goFonMacroParameter']=array();
-
-    foreach($this->goFonMacroParameter as $key=>$fonpara){
-      $this->attrs['goFonMacroParameter'][]=$key."!".$fonpara['name']."!".$fonpara['type']."!".$fonpara['default'];
-    }
-
     unset($this->attrs['base']);
 
     /* Write back to ldap */
@@ -265,10 +156,6 @@ class macro extends plugin
       $ldap->modify($this->attrs);
       $this->handle_post_events("modify");
     } else {
-      if(count($this->attrs['goFonMacroParameter']==0)){
-        unset($this->attrs['goFonMacroParameter']);
-      }                
-
       $ldap->cd($this->dn);
       $ldap->create_missing_trees( $this->dn);
       $ldap->cd($this->dn);