From: Alan Knowles Date: Thu, 17 Jan 2019 05:17:47 +0000 (+0800) Subject: _translations_/Bjs.php X-Git-Url: http://git.roojs.org/?a=commitdiff_plain;h=f6cf4805f744414ebc7ceb451051bd16c2aad2af;p=Pman.Core _translations_/Bjs.php --- diff --git a/_translations_/Bjs.php b/_translations_/Bjs.php index 6d0a72b4..e6c38a7d 100644 --- a/_translations_/Bjs.php +++ b/_translations_/Bjs.php @@ -8,15 +8,66 @@ class Pman_Core_Bjs { + var $json; + var $fields = array(); static function formFields($file) { - $a = new Pman_Core_Bjs(); - $json = json_decode(file_get_contents($file)); + + $this->json = json_decode(file_get_contents($file)); - return $a->iterateFields($json->items,$res); + $this->iterateFields($this->json->items); } + function iterateFields($ar, $res) + { + foreach($ar as $o) { + + switch ($o->xtype) { + case "ComboBox": + $res[] = $o->{'String hiddenName'}; + // fall throught.. + $k = isset($o->{'String name'}) ? 'String name' : 'string name'; + + if (!isset($o->{$k})) { + break; // allowed to not exit. + } + $res[] = $o->{$k}; + + case "Input": + case "TextArea": + case "CheckBox": + case "DateField": + case "Radio": + case "RadioSet": + case "PhoneInput": + case "NumberField": + $k = isset($o->{'String name'}) ? 'String name' : 'string name'; + + if (!isset($o->{$k})) { + echo "missing string name"; + print_r($o);exit; + } + $res[] = $o->{$k}; + break; + + case "MoneyField": + $k = isset($o->{'String currencyName'}) ? 'String currencyName' : 'string currencyName'; + + $res[] = $o->{$k}; + $k = isset($o->{'String name'}) ? 'String name' : 'string name'; + $res[] = $o->{$k}; + break; + default: + if (isset($o->items)) { + $res = $this->iterateFields($o->items,$res); + } + } + + } + + return $res; + } }