Code

Correctly display and save PPDs when an option is not translated. (TRAC #5063)
authorlhm-gosa <lhm-gosa@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 31 Aug 2010 08:29:44 +0000 (08:29 +0000)
committerlhm-gosa <lhm-gosa@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 31 Aug 2010 08:29:44 +0000 (08:29 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/branches/2.6-lhm@19498 594d385d-05f5-0310-b6e9-bd551577e9d8

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{