X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fpersonal%2Fconnectivity%2Fclass_phpgwAccount.inc;h=37162cea9c254e289205dc98e7d8b5315095db7a;hb=26dbc488fc745965586ec6ce8854c29fa69a38d3;hp=5d60d3c13b32be7392298ea8af1e70b5e675e0bb;hpb=2bbe8bf456e82e3d603fa56bb9f169ea1a0718d8;p=gosa.git diff --git a/plugins/personal/connectivity/class_phpgwAccount.inc b/plugins/personal/connectivity/class_phpgwAccount.inc index 5d60d3c13..37162cea9 100644 --- a/plugins/personal/connectivity/class_phpgwAccount.inc +++ b/plugins/personal/connectivity/class_phpgwAccount.inc @@ -28,7 +28,7 @@ class phpgwAccount extends plugin { /* Call parent execute */ // plugin::execute(); - + /* Show tab dialog headers */ $display= ""; @@ -44,11 +44,6 @@ class phpgwAccount extends plugin $smarty->assign("phpgwState", "checked"); } else { $smarty->assign("phpgwState", ""); - $smarty->assign("fstate", "disabled"); - } - - if ($this->parent != NULL){ - $smarty->assign("tabbed", 1); } $smarty->assign('phpgwAccountACL', chkacl($this->acl, 'phpgwAccount')); @@ -59,22 +54,26 @@ class phpgwAccount extends plugin function remove_from_parent() { - /* Cancel if there's nothing to do here */ - if (!$this->initially_was_account){ - return; + if(chkacl($this->acl,"phpgwAccount") == ""){ + /* Cancel if there's nothing to do here */ + if (!$this->initially_was_account){ + return; + } + + plugin::remove_from_parent(); + $ldap= $this->config->get_ldap_link(); + + $ldap->cd($this->dn); + @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, + $this->attributes, "Save"); + $this->cleanup(); + $ldap->modify ($this->attrs); + + show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/PHPgw account with dn '%s' failed."),$this->dn)); + + /* Optionally execute a command after we're done */ + $this->handle_post_events('remove'); } - - plugin::remove_from_parent(); - $ldap= $this->config->get_ldap_link(); - - $ldap->cd($this->dn); - @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, - $this->attributes, "Save"); - $ldap->modify($this->attrs); - show_ldap_error($ldap->get_error()); - - /* Optionally execute a command after we're done */ - $this->handle_post_events('remove'); } @@ -104,24 +103,27 @@ class phpgwAccount extends plugin /* Save to LDAP */ function save() { - plugin::save(); - - /* Write back to ldap */ - $ldap= $this->config->get_ldap_link(); - $ldap->cd($this->dn); - $ldap->modify($this->attrs); - show_ldap_error($ldap->get_error()); - - /* Optionally execute a command after we're done */ - if ($this->initially_was_account == $this->is_account){ - if ($this->is_modified){ - $this->handle_post_events("mofify"); + if(chkacl($this->acl,"phpgwAccount") == ""){ + plugin::save(); + + /* Write back to ldap */ + $ldap= $this->config->get_ldap_link(); + $ldap->cd($this->dn); + $this->cleanup(); + $ldap->modify ($this->attrs); + + show_ldap_error($ldap->get_error(), sprintf(_("Saving of user/PHPgw account with dn '%s' failed."),$this->dn)); + + /* Optionally execute a command after we're done */ + if ($this->initially_was_account == $this->is_account){ + if ($this->is_modified){ + $this->handle_post_events("mofify"); + } + } else { + $this->handle_post_events("add"); } - } else { - $this->handle_post_events("add"); } } - } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: