X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fgofon%2Fphoneaccount%2Fclass_phoneAccount.inc;h=0cf7ac03a6684df4a90025ec05e5a1f02382b3cc;hb=9ba37d0ddd9297f3eded1e12d899e939d9f15555;hp=0c4363cde71a74283cca57043a16e1ce085dd439;hpb=d9076ca7458dfb4e8082f5a170ffdea241b9ae01;p=gosa.git diff --git a/plugins/gofon/phoneaccount/class_phoneAccount.inc b/plugins/gofon/phoneaccount/class_phoneAccount.inc index 0c4363cde..0cf7ac03a 100644 --- a/plugins/gofon/phoneaccount/class_phoneAccount.inc +++ b/plugins/gofon/phoneaccount/class_phoneAccount.inc @@ -8,7 +8,7 @@ class phoneAccount extends plugin var $has_mailAccount= FALSE; /* Attributes */ - var $telephoneNumber = ""; + var $telephoneNumber = array(); var $goFonHardware = ""; var $goFonFormat = ""; var $goFonPIN = ""; @@ -34,14 +34,18 @@ class phoneAccount extends plugin var $cli_parameters = array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser"); /* attribute list for save action */ - var $CopyPasteVars = array("phoneNumbers"); + var $CopyPasteVars = array("phoneNumbers","macroarray","macrostillavailable"/*"phoneNumbers" -Reset- */, + "hardware_list","used_hardware"); + var $attributes = array("goFonDeliveryMode", "goFonFormat","uid","cn", "goFonHardware","goFonPIN","goFonVoicemailPIN","telephoneNumber", "goFonMacro","macro"); var $objectclasses= array("goFonAccount"); - function phoneAccount ($config, $dn= NULL) + var $uid; + + function phoneAccount ($config, $dn= NULL, $parent= NULL) { - plugin::plugin ($config, $dn); + plugin::plugin ($config, $dn, $parent); /* Set phone hardware */ if (!isset($this->attrs['goFonHardware'])){ @@ -794,7 +798,7 @@ class phoneAccount extends plugin /* Fill arrays */ $smarty->assign ("goFonHardware", $this->goFonHardware); if (!count($this->phoneNumbers)){ - $smarty->assign ("phoneNumbers", array("")); + $smarty->assign ("phoneNumbers", array()); } else { $smarty->assign ("phoneNumbers", $this->phoneNumbers); } @@ -959,18 +963,18 @@ class phoneAccount extends plugin $ldap= $this->config->get_ldap_link(); $ldap->cd($this->dn); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), _("Saving phone account failed")); /* Optionally execute a command after we're done */ if ($this->initially_was_account == $this->is_account){ if ($this->is_modified){ - $this->handle_post_events("modify"); + $this->handle_post_events("modify",array("uid" => $this->uid)); } } else { - $this->handle_post_events("add"); + $this->handle_post_events("add",array("uid" => $this->uid)); } } @@ -1014,6 +1018,8 @@ $ldap->modify ($this->attrs); function remove_from_parent() { + if(!$this->initially_was_account) return; + foreach($this->attributes as $key=>$val){ if(in_array($val,array("uid","cn"))){ unset($this->attributes[$key]); @@ -1118,13 +1124,13 @@ $ldap->modify ($this->attrs); } $ldap->cd($this->dn); $this->cleanup(); -$ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); - show_ldap_error($ldap->get_error()); + show_ldap_error($ldap->get_error(), _("Removing phone account failed")); /* Optionally execute a command after we're done */ @mysql_close($r_con); - $this->handle_post_events('remove'); + $this->handle_post_events('remove',array("uid"=> $this->uid)); }