X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fpersonal%2Fconnectivity%2Fclass_phpgwAccount.inc;h=368ae95222066f60e69fccf38431c261bca3818e;hb=e7b70ce242b052c5e0d0dfd45dfac5e6f9f36ba3;hp=9be083a9f54aafbcab7ac25a85c273783c356c11;hpb=a2842de39347ee62055c6e9b184bd3aae71f7d8d;p=gosa.git diff --git a/plugins/personal/connectivity/class_phpgwAccount.inc b/plugins/personal/connectivity/class_phpgwAccount.inc index 9be083a9f..368ae9522 100644 --- a/plugins/personal/connectivity/class_phpgwAccount.inc +++ b/plugins/personal/connectivity/class_phpgwAccount.inc @@ -5,11 +5,6 @@ class phpgwAccount extends plugin var $plHeadline= "PHPGroupware"; var $plDescription= "This does something"; - /* CLI vars */ - var $cli_summary= "Manage users PHPGroupware account"; - var $cli_description= "Some longer text\nfor help"; - var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser"); - /* GW attributes */ var $phpgwAccountExpires= "-1"; var $phpgwAccountStatus= "A"; @@ -26,6 +21,9 @@ class phpgwAccount extends plugin function execute() { + /* Call parent execute */ +// plugin::execute(); + /* Show tab dialog headers */ $display= ""; @@ -41,11 +39,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')); @@ -56,22 +49,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'); } @@ -101,24 +98,42 @@ 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"); } } + + /* Return plugin informations for acl handling + #FIME ACL attributes arn't translated yet */ + function plInfo() + { + return (array( "plDescription" => _("Intranet account settings"), + "plSelfModify" => TRUE, + "plDepends" => array("objectClass" => "gosaAccount"), + "phpgwAccountExpires" =>"!!! FIXME "._("phpgwAccountExpires"), + "phpgwAccountStatus" =>_("phpgwAccountStatus"), + "phpgwAccountType" =>_("phpgwAccountType"))); + } + + } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: