@@ -153,21 +153,37 @@ public function options() {
153
153
$ langs = $ this ->merge_lang_sets ( $ this ->available_langs , $ this ->lang_prefs );
154
154
// Merge in any POSTed field values
155
155
foreach ( $ langs as $ code => & $ lang ) {
156
- $ lang ->url_prefix = ( @ isset ( $ _POST [ 'url_prefix_ ' . $ code ] ) ) ? $ _POST [ "url_prefix_ $ code " ] : @ $ lang ->url_prefix ;
157
- if ( ! $ lang ->url_prefix )
158
- $ lang ->url_prefix = $ lang ->url_prefix ;
159
- $ lang ->text_direction = $ lang ->text_direction ;
156
+ if ( ! empty ( $ _POST [ "url_prefix_ $ code " ] ) ) {
157
+ $ lang ->url_prefix = $ _POST [ "url_prefix_ $ code " ];
158
+ } else if ( empty ( $ lang ->url_prefix ) ) {
159
+ $ parts = explode ( '_ ' , $ lang ->code );
160
+ $ lang ->url_prefix = $ parts [0 ];
161
+ }
162
+ if ( ! in_array ( $ lang ->text_direction , array ( 'ltr ' , 'rtl ' ) ) ) {
163
+ // @TODO is this needed?
164
+ $ lang ->text_direction = 'ltr ' ;
165
+ }
160
166
// This line must come after the text direction value is set
161
167
$ lang ->input_lang_class = ( 'rtl ' == $ lang ->text_direction ) ? 'lang-rtl ' : 'lang-ltr ' ;
162
- $ lang ->display_name = ( @ isset ( $ _POST [ "display_name_ $ code " ] ) ) ? $ _POST [ "display_name_ $ code " ] : @ $ lang ->display_name ;
163
- if ( ! $ lang ->display_name )
168
+
169
+ if ( ! empty ( $ _POST [ "display_name_ $ code " ] ) ) {
170
+ $ lang ->display_name = $ _POST [ "display_name_ $ code " ];
171
+ } else if ( empty ( $ lang ->display_name ) ) {
164
172
$ lang ->display_name = $ lang ->name ;
173
+ }
174
+
165
175
// Note any url_prefix errors
166
- $ lang ->url_prefix_error = ( @ $ this ->errors [ "url_prefix_ $ code " ] ) ? 'babble-error ' : '0 ' ;
176
+ if ( ! empty ( $ this ->errors [ "url_prefix_ $ code " ] ) ) {
177
+ $ lang ->url_prefix_error = 'babble-error ' ;
178
+ } else {
179
+ $ lang ->url_prefix_error = '0 ' ;
180
+ }
181
+
167
182
// Flag the active languages
168
183
$ lang ->active = false ;
169
- if ( in_array ( $ code , $ this ->active_langs ) )
184
+ if ( in_array ( $ code , $ this ->active_langs ) ) {
170
185
$ lang ->active = true ;
186
+ }
171
187
172
188
}
173
189
$ vars = array ();
@@ -342,8 +358,19 @@ protected function maybe_process_languages() {
342
358
$ url_prefixes = array ();
343
359
foreach ( $ this ->available_langs as $ code => $ lang ) {
344
360
$ lang_pref = new stdClass ;
345
- $ lang_pref ->display_name = @ $ _POST [ 'display_name_ ' . $ code ];
346
- $ lang_pref ->url_prefix = @ $ _POST [ 'url_prefix_ ' . $ code ];
361
+
362
+ if ( ! empty ( $ _POST [ 'display_name_ ' . $ code ] ) ) {
363
+ $ lang_pref ->display_name = $ _POST [ 'display_name_ ' . $ code ];
364
+ } else {
365
+ $ lang_pref ->display_name = $ lang ->name ;
366
+ }
367
+
368
+ if ( ! empty ( $ _POST [ 'url_prefix_ ' . $ code ] ) ) {
369
+ $ lang_pref ->url_prefix = $ _POST [ 'url_prefix_ ' . $ code ];
370
+ } else {
371
+ $ lang_pref ->url_prefix = $ lang ->url_prefix ;
372
+ }
373
+
347
374
// Check we don't have more than one language using the same url prefix
348
375
if ( array_key_exists ( $ lang_pref ->url_prefix , $ url_prefixes ) ) {
349
376
$ lang_1 = $ this ->format_code_lang ( $ code );
@@ -363,8 +390,11 @@ protected function maybe_process_languages() {
363
390
if ( ! $ this ->errors ) {
364
391
$ langs = $ this ->merge_lang_sets ( $ this ->available_langs , $ this ->lang_prefs );
365
392
$ active_langs = array ();
366
- foreach ( (array ) @ $ _POST [ 'active_langs ' ] as $ code )
367
- $ active_langs [ $ langs [ $ code ]->url_prefix ] = $ code ;
393
+ if ( ! empty ( $ _POST [ 'active_langs ' ] ) && is_array ( $ _POST [ 'active_langs ' ] ) ) {
394
+ foreach ( $ _POST [ 'active_langs ' ] as $ code ) {
395
+ $ active_langs [ $ langs [ $ code ]->url_prefix ] = $ code ;
396
+ }
397
+ }
368
398
if ( count ( $ active_langs ) < 2 ) {
369
399
$ this ->set_admin_error ( __ ( 'You must set at least two languages as active. ' , 'babble ' ) );
370
400
} else {
@@ -377,8 +407,11 @@ protected function maybe_process_languages() {
377
407
$ this ->set_admin_error ( __ ( 'You must set at least your default language as public. ' , 'babble ' ) );
378
408
} else {
379
409
$ public_langs = (array ) $ _POST [ 'public_langs ' ];
380
- if ( ! in_array ( @ $ _POST [ 'default_lang ' ], $ public_langs ) )
410
+ if ( empty ( $ _POST [ 'default_lang ' ] ) ) {
411
+ $ this ->set_admin_error ( __ ( 'You must choose a default language. ' , 'babble ' ) );
412
+ } else if ( ! in_array ( $ _POST [ 'default_lang ' ], $ public_langs ) ) {
381
413
$ this ->set_admin_error ( __ ( 'You must set your default language as public. ' , 'babble ' ) );
414
+ }
382
415
}
383
416
}
384
417
// Finish up, redirecting if we're all OK
@@ -387,7 +420,7 @@ protected function maybe_process_languages() {
387
420
$ this ->update_option ( 'public_langs ' , $ public_langs );
388
421
389
422
// First the default language
390
- $ default_lang = @ $ _POST [ 'default_lang ' ];
423
+ $ default_lang = $ _POST [ 'default_lang ' ];
391
424
$ this ->update_option ( 'default_lang ' , $ default_lang );
392
425
// Now the prefs
393
426
$ this ->update_option ( 'lang_prefs ' , $ lang_prefs );
0 commit comments