Code

Correctly display and save PPDs when an option is not translated. (TRAC #5063)
[gosa.git] / trunk / gosa-plugins / goto / admin / systems / ppd / class_ppdManager.inc
index 64d23e3fd7b0e6001cf0125f5f807e1edc858501..4a6d16556e00330cab372ada37b23a165a77a666 100644 (file)
@@ -279,8 +279,16 @@ class ppdManager
                                /* Possible value? */
                                if (preg_match("@^\*$eoption\s+@", $line)){
 #*PageSize Letter/US Letter: "<>setpagedevice"
-                                       $c= preg_replace("@^\*$eoption\s+([^/]+).*$@", "$1", $line);
+                                       /* Options can have one of 2 forms:
+                                          *OptionName OptionValue/TranslationOfValue: ...
+                                          *OptionName OptionValue: ...
+                                          i.e. there may be a translation or not.
+                                       */
+                                       $c= preg_replace("@^\*$eoption\s+([^/:]+).*$@", "$1", $line);
                                        $d= preg_replace("@^\*$eoption\s+[^/]+/([^:]+).*$@", "$1", $line);
+                                       if ($d == $line) { /* if there is no translation, use untranslated value*/
+                                               $d = "$c";
+                                       }
                                        if(empty($group)){
                                                $properties["NO_SECTION"][$option][trim($c)]= trim($d);
                                        }else{