[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
--- /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:
+?>