Code

* Created "old" branch and moved stuff
[gosa.git] / branches / old / gosa-plugins / glpi / admin / systems / services / glpi / class_glpiManufacturer.inc
diff --git a/branches/old/gosa-plugins/glpi/admin/systems/services/glpi/class_glpiManufacturer.inc b/branches/old/gosa-plugins/glpi/admin/systems/services/glpi/class_glpiManufacturer.inc
new file mode 100644 (file)
index 0000000..3afa261
--- /dev/null
@@ -0,0 +1,165 @@
+<?php
+
+class glpiManufacturer extends plugin
+{
+  /* attribute list for save action */
+  var $ignore_account= TRUE;
+  var $attributes= array("name","type","address","website","phonenumber","comments","deleted","fax","email");
+  var $objectclasses= array("whatever");
+
+  var $ui;
+
+  var $editMode = false;
+  var $Edit_Add = "edit";
+
+  var $name       ="";
+  var $type       ="";
+  var $address    ="";
+  var $website    ="";
+  var $phonenumber="";
+  var $comments   ="";
+  var $deleted    ="";
+  var $fax        ="";
+  var $email      ="";
+  var $ID         =-1;
+
+  function glpiManufacturer(&$config, $dn= NULL, $parent= NULL)
+  {
+    plugin::plugin ($config, $dn, $parent);
+    $this->ui = get_userinfo();  
+  }
+
+  function execute()
+  {
+    plugin::execute();
+    $smarty  = get_smarty();
+    $display = "";
+
+    /* Remove enterprise from db */
+    if((isset($_POST['remove_manu']))&&(isset($_POST['manufacturer']))){
+
+      $tmp = $this->parent->handle->is_manufacturerUsed($_POST['manufacturer']);
+      if(count($tmp)){
+
+        $names = "";
+        foreach($tmp as $name){
+          $names .= ", ".$name;
+        }
+        $names = preg_replace("/^, /","",$names);
+        $names = trim($names);
+        if(count($tmp) == 3){
+          $names .= " ...";
+        }
+        print_red(sprintf(_("You can't delete this manufacturer, it is still in use by these system(s) '%s'"),$names));
+      }else{
+        $this->parent->handle->removeEnterprise($_POST['manufacturer']);
+      }
+    }
+
+    /* Add new Manufactuer : Open dialog with empty fields */
+    if(isset($_POST['add_manu'])){
+      $this->editMode = true;
+      $this->Edit_Add = "add";
+      foreach($this->attributes as $atr){
+        $this->$atr = "";
+      }
+    }
+
+    /* Edit existing manuatctuerer data */
+    if((isset($_POST['edit_manu']))&&(isset($_POST['manufacturer']))){
+      $this->editMode = true;
+      $this->Edit_Add = "edit";
+      $tmp = $this->parent->handle->getEnterprise($_POST['manufacturer']);
+      $tmp = $tmp[0];
+      foreach($this->attributes as $atr){
+        $this->$atr = "";
+      }
+      foreach($this->attributes as $atr){
+        if(isset($tmp[$atr])){
+          $this->$atr = $tmp[$atr];
+        }
+      }
+      $this->ID = $_POST['manufacturer'];
+    }
+
+    /* close Dialog without saving */
+    if(isset($_POST['close_manufacturer'])){
+      $this->editMode=false;
+    }
+
+    /* close dialog an save all changes / adds */
+    if(isset($_POST['save_manufacturer'])){
+      $tmp = array();
+      foreach($this->attributes as $attrs){
+        $tmp[$attrs]=$this->$attrs;
+      }
+
+      $allok = true;
+      if(empty($tmp['name'])){
+        print_red(_("Please specify a name."));
+        $allok = false;
+      }
+
+      $attr = $this->parent->handle->getEnterprises();
+
+      if($this->ID == -1 ){
+        if(in_array($tmp['name'],$attr)){
+          $allok = false;
+          print_red(_("Specified name is already in use, please choose another one."));
+        }
+      }else{
+        unset($attr[$this->ID]);
+        if(in_array($tmp['name'],$attr)){
+          $allok = false;
+          print_red(_("Specified name is already in use, please choose another one."));
+        }
+      }
+
+      /* all checks are ok , so save changes */
+      if($allok){
+        if($this->Edit_Add == "add"){
+          $this->parent->handle->addEnterprise($tmp);
+          $this->editMode=false;
+        }else{
+          $this->parent->handle->updateEnterprise($tmp,$this->ID);
+          $this->editMode=false;
+        }
+      }
+    }
+
+    /* As long as this war is true, we have to display the edit dialog */
+    if($this->editMode == true){
+      $this->save_object();
+      foreach($this->attributes as $attrs){
+        $smarty->assign($attrs,$this->$attrs);
+      }
+
+      $display.= $smarty->fetch(get_template_path('glpiManufacturerAdd.tpl',TRUE,dirname(__FILE__)));
+      return($display);
+    }
+
+
+    $smarty->assign("Manus",    $this->parent->handle->getEnterprises());
+    $smarty->assign("ManuKeys", array_flip($this->parent->handle->getEnterprises()));
+    $display.= $smarty->fetch(get_template_path('glpiManufacturer.tpl',TRUE,dirname(__FILE__)));
+    return($display);
+  }
+
+  /* Save to LDAP */
+  function save()
+  {
+  }
+
+  function save_object()
+  {
+    foreach($this->attributes as $attr){
+      if(isset($_POST[$attr])){
+        $this->$attr = stripslashes($_POST[$attr]);
+      }
+    }
+  }
+
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>