Code

Excluded encodings in a seperated file
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 18 Jan 2006 11:57:20 +0000 (11:57 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Wed, 18 Jan 2006 11:57:20 +0000 (11:57 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@2520 594d385d-05f5-0310-b6e9-bd551577e9d8

contrib/encodings [new file with mode: 0755]
plugins/admin/systems/class_servNfs.inc

diff --git a/contrib/encodings b/contrib/encodings
new file mode 100755 (executable)
index 0000000..51d6f82
--- /dev/null
@@ -0,0 +1,9 @@
+# Encodings for class_servNfs.inc
+# This file should be placed in /etc/gosa/
+UTF-8=UTF-8
+ISO8859-1=ISO8859-1 (Latin 1)
+ISO8859-2=ISO8859-2 (Latin 2)
+ISO8859-3=ISO8859-3 (Latin 3)
+ISO8859-4=ISO8859-4 (Latin 4)
+ISO8859-5=ISO8859-5 (Latin 5)
+cp850=CP850 (Europe)
index d7012296e3fe621e012fd14cfde02d81579263cf..7a72a47d206411a5edbac73e4a3a86e84dcabeb9 100644 (file)
@@ -28,13 +28,33 @@ class servnfs extends plugin
   {
     plugin::plugin ($config, $dn);
     $this->types   = array("NFS"=>"NFS","samba"=>"samba","NCP"=>"NCP");
-    $this->charsets = array("UTF-8" => "UTF-8",
-        "ISO8859-1"=>"ISO8859-1 (Latin 1)",
-        "ISO8859-2"=>"ISO8859-2 (Latin 2)",
-        "ISO8859-3"=>"ISO8859-3 (Latin 3)",
-        "ISO8859-4"=>"ISO8859-4 (Latin 4)",
-        "ISO8859-5"=>"ISO8859-5 (Latin 5)",
-        "cp850"=>"CP850 (Europe)");
+
+    $this->charsets = array();
+
+    if(!file_exists("/etc/gosa/encodings")){
+      print_red(_("The file '/etc/gosa/encodings' does not exist, can't get supported charsets."));
+    }else{
+      if(!is_readable("/etc/gosa/encodings")){
+        print_red(_("Can't read '/etc/gosa/encodings', please check permissions."));
+      }else{
+        $fp = fopen("/etc/gosa/encodings","r");
+        $i = 100;
+        while(!feof($fp)&&$i){
+          $i -- ;
+          $str = trim(fgets($fp,256));
+      
+          /* Skip comments */
+          if(!preg_match("/^#/",$str)){
+            $arr = split("\=",$str);
+            if(count($arr)==2){
+              $this->charsets[$arr[0]]=$arr[1];
+            }
+          }
+        }
+
+    
+      }
+    }
 
     if($entry){
       $tmp = split("\|",$entry);