summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9a01634)
raw | patch | inline | side by side (parent: 9a01634)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Thu, 15 Sep 2011 09:00:34 +0000 (09:00 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Thu, 15 Sep 2011 09:00:34 +0000 (09:00 +0000) |
-Added adapt from template or netatalk accounts
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.7@20999 594d385d-05f5-0310-b6e9-bd551577e9d8
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.7@20999 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc | patch | blob | history |
diff --git a/gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc b/gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc
index 86303b93776bb39dc042fc9e904b084f289e4437..88b9fc2dd0cef7c84d309131d2871e36f20a6c37 100644 (file)
));
}
+ function adapt_from_template($dn, $skip= array())
+ {
+ /* As the 'apple-user-homeDirectory' LDAP attribute is stored as
+ * 'apple_user_homeDirectory' internally by GOsa (to avoid problem with
+ * dashes as variable names), we need to add the dashed version to
+ * $this->attributes so that the adapt_from_template function in the plugin
+ * class will find the dashed LDAP attribute and substitute possibly
+ * placeholders like %uid. We remove the dashed version of
+ * 'apple_user_homeDirectory' from the attributes again afterwards. */
+ array_push($this->attributes, "apple-user-homeDirectory");
+ plugin::adapt_from_template($dn, $skip);
+ array_pop($this->attributes);
+
+ /* Loop through the available shares and find out which is the share from
+ * 'apple-user-homeDirectory'. Remove its host and directory (as well as
+ * the default 'mountDirectory' prefix) to get 'apple_user_homepath_raw'
+ * and store that share as 'selectedshare' so that it gets displayed by
+ * default in the netatalk tab. */
+ foreach($this->shares as $share) {
+ $apple_user_homepath = $this->mountDirectory."/".
+ $this->shares_settings[$share]["host"].
+ $this->shares_settings[$share]["dir"]."/";
+ if (preg_match("#$apple_user_homepath#", $this->{'apple-user-homeDirectory'})) {
+ $this->apple_user_homepath_raw = preg_replace("#$apple_user_homepath#", "", $this->{'apple-user-homeDirectory'});
+ $this->selectedshare = $share;
+ }
+ }
+ }
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: