From 154f4c7cf973e5b9a189e56f5e81cffde7c3b0c4 Mon Sep 17 00:00:00 2001 From: hickert Date: Fri, 14 Jan 2011 13:43:17 +0000 Subject: [PATCH] Added netatalk patch from 'mba' closes #1120 git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20585 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../personal/netatalk/class_netatalk.inc | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc b/gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc index 8620a262f..fef9a66da 100644 --- a/gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc +++ b/gosa-plugins/netatalk/personal/netatalk/class_netatalk.inc @@ -377,6 +377,34 @@ class netatalk extends plugin { )); } + 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: -- 2.30.2