X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=plugins%2Fpersonal%2Fconnectivity%2Fclass_pptpAccount.inc;h=fff0bcf3c4d5b86d19d52f53e8189fb4ffb2a8a9;hb=e7b70ce242b052c5e0d0dfd45dfac5e6f9f36ba3;hp=3a23148bc1e90fe490c181551b300554cdded296;hpb=9f72e98e0b2361df1b06c56c27995142d2ec18e5;p=gosa.git diff --git a/plugins/personal/connectivity/class_pptpAccount.inc b/plugins/personal/connectivity/class_pptpAccount.inc index 3a23148bc..fff0bcf3c 100644 --- a/plugins/personal/connectivity/class_pptpAccount.inc +++ b/plugins/personal/connectivity/class_pptpAccount.inc @@ -26,11 +26,6 @@ class pptpAccount extends plugin var $plHeadline= "PPTP"; var $plDescription= "This does something"; - /* CLI vars */ - var $cli_summary= "Manage users pptp account"; - var $cli_description= "Some longer text\nfor help"; - var $cli_parameters= array("eins" => "Eins ist toll", "zwei" => "Zwei ist noch besser"); - /* attribute list for save action */ var $attributes= array(); var $objectclasses= array("pptpServerAccount"); @@ -43,7 +38,7 @@ class pptpAccount extends plugin function execute() { /* Call parent execute */ - plugin::execute(); +// plugin::execute(); /* Show tab dialog headers */ $display= ""; @@ -58,10 +53,6 @@ class pptpAccount extends plugin $smarty->assign("wstate", "disabled"); } - if ($this->parent != NULL){ - $smarty->assign("tabbed", 1); - } - $smarty->assign('gosapptpACL', chkacl($this->acl, 'gosapptp')); $display.= $smarty->fetch (get_template_path('pptp.tpl', TRUE, dirname(__FILE__))); @@ -70,22 +61,26 @@ class pptpAccount extends plugin function remove_from_parent() { - /* Cancel if there's nothing to do here */ - if (!$this->initially_was_account){ - return; - } + if(chkacl($this->acl, 'gosapptp') == ""){ + /* Cancel if there's nothing to do here */ + if (!$this->initially_was_account){ + return; + } - plugin::remove_from_parent(); - $ldap= $this->config->get_ldap_link(); + 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()); + $ldap->cd($this->dn); + @DEBUG (DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, + $this->attributes, "Save"); + $this->cleanup(); + $ldap->modify ($this->attrs); - /* Optionally execute a command after we're done */ - $this->handle_post_events('remove'); + show_ldap_error($ldap->get_error(), sprintf(_("Removing of user/PPTP account with dn '%s' failed."),$this->dn)); + + /* Optionally execute a command after we're done */ + $this->handle_post_events('remove'); + } } @@ -115,25 +110,41 @@ class pptpAccount 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, 'gosapptp') == ""){ + 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/PPTP 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 + #FIXME This is only an enable/disable checkbox for this account, there is possibly a better solution available later */ + function plInfo() + { + return (array( + "plDescription" => _("PPTP account"), + "plSelfModify" => TRUE, + "plDepends" => array("objectClass" => "gosaAccount"), + "pptpServerAccount" => "!!! FIXME "._("PPTP account"))); } + } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: