X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fadmin%2Fsystems%2Fclass_glpiAccount.inc;h=4323dfa7d439da9fadc91d88e5cc996878b6958f;hb=6cb5be59b017449b99265b7ab8dead4eeab15b19;hp=c3015a316e6b9da784bac736b591bc41dfac8efb;hpb=783f7134cb859b55c89b11bde80f4f0a11602fbe;p=gosa.git diff --git a/plugins/admin/systems/class_glpiAccount.inc b/plugins/admin/systems/class_glpiAccount.inc index c3015a316..4323dfa7d 100644 --- a/plugins/admin/systems/class_glpiAccount.inc +++ b/plugins/admin/systems/class_glpiAccount.inc @@ -8,50 +8,54 @@ class glpiAccount extends plugin var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser"); /* attribute list for save action */ - var $ignore_account= TRUE; + var $ignore_account= FALSE; var $attributes= array("ID","name","contact", "tech_num","comments","date_mod","os","location","domain","network","contact_num", "model","type","is_template","FK_glpi_enterprise","deleted"); - var $ID ; - var $name =""; - var $contact =""; - var $contact_num =""; - - var $tech_num =""; - var $comments =""; - - var $addUser =""; + var $ID ; // Is set if this entry is edited + var $name = ""; // This should be the dn of this entry + var $contact = ""; // Empty + + var $comments = ""; // Comment + + var $contact_num = ""; // Contact person + var $tech_num = ""; // Technical responsible person + + var $addUser = ""; // This is used to remember if a dialog was opened for tech_num or contact_num - var $date_mod =""; - var $os =0; - var $location =0; - var $domain =0; - var $network =0; + var $date_mod = ""; // Modification timestamp + var $os = 0; // Operating system + var $location = 0; // Not used yet + var $domain = 0; // ? Set to 0 + var $network = 0; // ? Set to 0 - var $model =0; - var $type =0; - var $is_template =0; - var $FK_glpi_enterprise =0; - var $deleted ="N"; + var $model = 0; // ? Can't remember this, it isn't used in GOsa + var $type = 0; // System type id + var $is_template = 0; // Used as template ? + var $FK_glpi_enterprise = 0; // Manufacturer id + var $deleted = "N"; // Deleted entries should have this set to Y + /* Not necessary, cause we use mysql databse */ var $objectclasses= array("whatever"); + /* Used to remember if this was an account (simply: is this an edited entry) */ var $initialy_was_account = false; - var $edit_type =false; - var $edit_os =false; + /* Remember current dialog */ + var $edit_type = false; + var $edit_os = false; var $data; - var $handle = NULL; + var $handle = NULL; // Glpi class handle used to query database - var $cur_dialog = NULL; + var $cur_dialog = NULL; // This contains the sub dialog handle - var $orig_dn; - var $ui; + var $orig_dn; // To check if dn, has changed + var $ui; // Some GOsa specific user informations - var $usedDevices = array(); - var $usedAttachments = array(); + var $usedDevices = array(); // Which devices are currently selected + var $usedAttachments = array(); // Used Attachments /* Contructor Sets default values and checks if we already have an existing glpi account @@ -61,22 +65,27 @@ class glpiAccount extends plugin plugin::plugin ($config, $dn); $this->ui= get_userinfo(); + /* Abort class construction, if no db is defined */ if(!isset($this->config->data['SERVERS']['GLPI'])){ return; } + // Get informations about databse connection $this->data = $this->config->data['SERVERS']['GLPI']; + // Abort if mysql extension is missing if(!is_callable("mysql_connect")){ return; } + // Create handle of glpi class, and check if database connection is established $this->handle = new glpiDB($this->data['SERVER'],$this->data['LOGIN'],$this->data['PASSWORD'],$this->data['DB']); if(!$this->handle->is_connected){ return; } + // If this dn is already used in database, then get all informations for this entry if($this->handle->is_account($this->dn)){ $this->is_account = true; $tmp = ($this->handle->getComputerInformations($this->dn)); @@ -94,8 +103,9 @@ class glpiAccount extends plugin $this->is_account = false; } - $this->name = $this->dn; - $this->orig_dn = $this->dn; + /* set defaults */ + $this->name = $this->dn; + $this->orig_dn = $this->dn; $this->initialy_was_account = $this->is_account; @@ -114,7 +124,7 @@ class glpiAccount extends plugin To avoid undefined indexes, if there is an error with the glpi db */ foreach(array("SystemTypes","SystemTypeKeys","Manufacturers", - "OSs","TechnicalResponsibles","InstalledDevices","Attachments", + "OSs","TechnicalResponsibles","InstalledDevices","Attachments","AttachmentKeys", "OSKeys","OSs","ManufacturerKeys","InstalledDeviceKeys") as $attr){ $smarty->assign($attr,array()); $smarty->assign($attr."ACL"," disabled "); @@ -151,13 +161,31 @@ class glpiAccount extends plugin return($smarty->fetch(get_template_path('glpi.tpl', TRUE))); } - /* All check are ok + /* All checks are ok Lets handle Posts, templates etc below ... */ $users = $this->handle->getUsers(); $ldap= $this->config->get_ldap_link(); - + + /* Check for Trading button Post + */ + if(isset($_POST['Trading'])){ + print_red(_("This feature is not implemented yet.")); + } + + /* Check for Software button Post + */ + if(isset($_POST['Software'])){ + print_red(_("This feature is not implemented yet.")); + } + + /* Check for Contract button Post + */ + if(isset($_POST['Contracts'])){ + print_red(_("This feature is not implemented yet.")); + } + /* Add Device was requested, open new dialog */ if(isset($_POST['AddDevice'])){ @@ -491,13 +519,22 @@ class glpiAccount extends plugin function remove_from_parent() { + $this->handle = new glpiDB($this->data['SERVER'],$this->data['LOGIN'],$this->data['PASSWORD'],$this->data['DB']); + if($this->initialy_was_account){ + $this->handle->removeComputerInformations($this->dn); + } + } function getDevices(){ $ret = array(); foreach($this->usedDevices as $type => $entries){ foreach($entries as $ent){ - $ret[] = $ent['designation']." [".$type."]"; + if(isset($ent['designation'])){ + $ret[] = $ent['designation']." [".$type."]"; + }else{ + $ret[] = $ent['name']." [".$type."]"; + } } } return($ret); @@ -551,6 +588,7 @@ class glpiAccount extends plugin } } + /* Return used attachments */ function getUsedAttachments() { $atts =$this->handle->getAttachments();