PluginProbe
Polylang / 2.0.12
Polylang v2.0.12
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
← All changes | settings/view-tab-lang.php +130 -147 2.7.22.0.12 View file →
@@ -1,26 +1,22 @@
1 1 <?php
2 2
3 3 /**
4 - * Displays the languages tab in Polylang settings
4 + * displays the languages tab in Polylang settings
5 5 */
6 6
7 7 if ( ! defined( 'ABSPATH' ) ) {
8 - exit; // Don't access directly
8 + exit; // don't access directly
9 9 };
10 10 ?>
11 11 <div id="col-container">
12 12 <div id="col-right">
13 - <div class="col-wrap">
14 - <?php
15 - // Displays the language list in a table
16 - $list_table->display();
17 - ?>
18 - <div class="metabox-holder">
19 - <?php
13 + <div class="col-wrap"><?php
14 + // displays the language list in a table
15 + $list_table->display();?>
16 + <div class="metabox-holder"><?php
20 17 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
21 - do_meta_boxes( 'toplevel_page_mlang', 'normal', array() );
22 - ?>
18 + do_meta_boxes( 'settings_page_mlang', 'normal', array() );?>
23 19 </div>
24 20 </div><!-- col-wrap -->
25 21 </div><!-- col-right -->
26 22
@@ -27,154 +23,141 @@
27 23 <div id="col-left">
28 24 <div class="col-wrap">
29 25
30 26 <div class="form-wrap">
31 - <h2><?php echo ! empty( $edit_lang ) ? esc_html__( 'Edit language', 'polylang' ) : esc_html__( 'Add new language', 'polylang' ); ?></h2>
32 - <?php
33 - // Displays the add ( or edit ) language form
34 - // Adds noheader=true in the action url to allow using wp_redirect when processing the form
35 - ?>
36 - <form id="add-lang" method="post" action="admin.php?page=mlang&amp;noheader=true" class="validate">
37 - <?php
38 - wp_nonce_field( 'add-lang', '_wpnonce_add-lang' );
27 + <h3><?php echo ! empty( $edit_lang ) ? esc_html__( 'Edit language', 'polylang' ) : esc_html__( 'Add new language', 'polylang' ); ?></h3><?php
39 28
40 - if ( ! empty( $edit_lang ) ) {
41 - ?>
29 + // displays the add ( or edit ) language form
30 + // adds noheader=true in the action url to allow using wp_redirect when processing the form ?>
31 + <form id="add-lang" method="post" action="options-general.php?page=mlang&amp;noheader=true" class="validate"><?php
32 + wp_nonce_field( 'add-lang', '_wpnonce_add-lang' );
33 +
34 + if ( ! empty( $edit_lang ) ) {?>
42 35 <input type="hidden" name="pll_action" value="update" />
43 - <input type="hidden" name="lang_id" value="<?php echo esc_attr( $edit_lang->term_id ); ?>" />
44 - <?php
45 - } else {
46 - ?>
47 - <input type="hidden" name="pll_action" value="add" />
48 - <?php
49 - }
50 - ?>
51 - <div class="form-field">
52 - <label for="lang_list"><?php esc_html_e( 'Choose a language', 'polylang' ); ?></label>
53 - <select name="lang_list" id="lang_list">
54 - <option value=""></option>
55 - <?php
56 - foreach ( $this->get_predefined_languages() as $lg ) {
57 - $lg['flag_code'] = $lg['flag'];
58 - $language = new PLL_Language( $lg );
59 - $language->set_flag();
60 - printf(
61 - '<option value="%1$s:%2$s:%3$s:%4$s" data-flag-html="%6$s">%5$s - %2$s</option>' . "\n",
62 - esc_attr( $lg['code'] ),
63 - esc_attr( $lg['locale'] ),
64 - 'rtl' == $lg['dir'] ? '1' : '0',
65 - esc_attr( $lg['flag'] ),
66 - esc_html( $lg['name'] ),
67 - esc_html( $language->flag )
68 - );
69 - }
70 - ?>
71 - </select>
72 - <p><?php esc_html_e( 'You can choose a language in the list or directly edit it below.', 'polylang' ); ?></p>
73 - </div>
36 + <input type="hidden" name="lang_id" value="<?php echo esc_attr( $edit_lang->term_id );?>" /><?php
37 + } else { ?>
38 + <input type="hidden" name="pll_action" value="add" /><?php
39 + }?>
74 40
75 - <div class="form-field form-required">
76 - <label for="lang_name"><?php esc_html_e( 'Full name', 'polylang' ); ?></label>
77 - <?php
78 - printf(
79 - '<input name="name" id="lang_name" type="text" value="%s" size="40" aria-required="true" />',
80 - ! empty( $edit_lang ) ? esc_attr( $edit_lang->name ) : ''
81 - );
82 - ?>
83 - <p><?php esc_html_e( 'The name is how it is displayed on your site (for example: English).', 'polylang' ); ?></p>
84 - </div>
41 + <div class="form-field">
42 + <label for="lang_list"><?php esc_html_e( 'Choose a language', 'polylang' );?></label>
43 + <select name="lang_list" id="lang_list">
44 + <option value=""></option><?php
45 + include( PLL_SETTINGS_INC.'/languages.php' );
46 + foreach ( $languages as $lg ) {
47 + printf(
48 + '<option value="%1$s:%2$s:%3$s:%4$s">%5$s - %2$s</option>'."\n",
49 + esc_attr( $lg[0] ),
50 + esc_attr( $lg[1] ),
51 + 'rtl' == $lg[3] ? '1' : '0',
52 + esc_attr( $lg[4] ),
53 + esc_html( $lg[2] )
54 + );
55 + } ?>
56 + </select>
57 + <p><?php esc_html_e( 'You can choose a language in the list or directly edit it below.', 'polylang' );?></p>
58 + </div>
85 59
86 - <div class="form-field form-required">
87 - <label for="lang_locale"><?php esc_html_e( 'Locale', 'polylang' ); ?></label>
88 - <?php
89 - printf(
90 - '<input name="locale" id="lang_locale" type="text" value="%s" size="40" aria-required="true" />',
91 - ! empty( $edit_lang ) ? esc_attr( $edit_lang->locale ) : ''
92 - );
93 - ?>
94 - <p><?php esc_html_e( 'WordPress Locale for the language (for example: en_US). You will need to install the .mo file for this language.', 'polylang' ); ?></p>
95 - </div>
60 + <div class="form-field form-required">
61 + <label for="lang_name"><?php esc_html_e( 'Full name', 'polylang' );?></label><?php
62 + printf(
63 + '<input name="name" id="lang_name" type="text" value="%s" size="40" aria-required="true" />',
64 + ! empty( $edit_lang ) ? esc_attr( $edit_lang->name ) : ''
65 + );?>
66 + <p><?php esc_html_e( 'The name is how it is displayed on your site (for example: English).', 'polylang' );?></p>
67 + </div>
96 68
97 - <div class="form-field">
98 - <label for="lang_slug"><?php esc_html_e( 'Language code', 'polylang' ); ?></label>
99 - <?php
100 - printf(
101 - '<input name="slug" id="lang_slug" type="text" value="%s" size="40"/>',
102 - ! empty( $edit_lang ) ? esc_attr( $edit_lang->slug ) : ''
103 - );
104 - ?>
105 - <p><?php esc_html_e( 'Language code - preferably 2-letters ISO 639-1 (for example: en)', 'polylang' ); ?></p>
106 - </div>
69 + <div class="form-field form-required">
70 + <label for="lang_locale"><?php esc_html_e( 'Locale', 'polylang' );?></label><?php
71 + printf(
72 + '<input name="locale" id="lang_locale" type="text" value="%s" size="40" aria-required="true" />',
73 + ! empty( $edit_lang ) ? esc_attr( $edit_lang->locale ) : ''
74 + );?>
75 + <p><?php esc_html_e( 'WordPress Locale for the language (for example: en_US). You will need to install the .mo file for this language.', 'polylang' );?></p>
76 + </div>
107 77
108 - <div class="form-field"><fieldset>
109 - <legend><?php esc_html_e( 'Text direction', 'polylang' ); ?></legend>
110 - <?php
111 - printf(
112 - '<label><input name="rtl" type="radio" value="0" %s /> %s</label>',
113 - checked( ! empty( $edit_lang ) && $edit_lang->is_rtl, false, false ),
114 - esc_html__( 'left to right', 'polylang' )
115 - );
116 - printf(
117 - '<label><input name="rtl" type="radio" value="1" %s /> %s</label>',
118 - checked( ! empty( $edit_lang ) && $edit_lang->is_rtl, true, false ),
119 - esc_html__( 'right to left', 'polylang' )
120 - );
121 - ?>
122 - <p><?php esc_html_e( 'Choose the text direction for the language', 'polylang' ); ?></p>
123 - </fieldset></div>
78 + <div class="form-field">
79 + <label for="lang_slug"><?php esc_html_e( 'Language code', 'polylang' );?></label><?php
80 + printf(
81 + '<input name="slug" id="lang_slug" type="text" value="%s" size="40"/>',
82 + ! empty( $edit_lang ) ? esc_attr( $edit_lang->slug ) : ''
83 + );?>
84 + <p><?php esc_html_e( 'Language code - preferably 2-letters ISO 639-1 (for example: en)', 'polylang' );?></p>
85 + </div>
124 86
125 - <div class="form-field">
126 - <label for="flag_list"><?php esc_html_e( 'Flag', 'polylang' ); ?></label>
127 - <select name="flag" id="flag_list">
128 - <option value=""></option>
129 - <?php
130 - $flags = include PLL_SETTINGS_INC . '/flags.php';
131 - foreach ( $flags as $code => $label ) {
132 - printf(
133 - '<option value="%s" data-flag-html="%s"%s>%s</option>' . "\n",
134 - esc_attr( $code ),
135 - esc_html( PLL_Language::get_flag_html( PLL_Language::get_flag_informations( $code ) ) ),
136 - selected( isset( $edit_lang->flag_code ) && $edit_lang->flag_code === $code, true, false ),
137 - esc_html( $label )
138 - );
139 - }
140 - ?>
141 - </select>
142 - <p><?php esc_html_e( 'Choose a flag for the language.', 'polylang' ); ?></p>
143 - </div>
87 + <div class="form-field"><fieldset>
88 + <legend><?php esc_html_e( 'Text direction', 'polylang' );?></legend><?php
89 + printf(
90 + '<label><input name="rtl" type="radio" value="0" %s /> %s</label>',
91 + ! empty( $edit_lang ) && $edit_lang->is_rtl ? '' : 'checked="checked"',
92 + esc_html__( 'left to right', 'polylang' )
93 + );
94 + printf(
95 + '<label><input name="rtl" type="radio" value="1" %s /> %s</label>',
96 + ! empty( $edit_lang ) && $edit_lang->is_rtl ? 'checked="checked"' : '',
97 + esc_html__( 'right to left', 'polylang' )
98 + );?>
99 + <p><?php esc_html_e( 'Choose the text direction for the language', 'polylang' );?></p>
100 + </fieldset></div>
144 101
145 - <div class="form-field">
146 - <label for="lang_order"><?php esc_html_e( 'Order', 'polylang' ); ?></label>
147 - <?php
148 - printf(
149 - '<input name="term_group" id="lang_order" type="text" value="%d" />',
150 - ! empty( $edit_lang ) ? esc_attr( $edit_lang->term_group ) : ''
151 - );
152 - ?>
153 - <p><?php esc_html_e( 'Position of the language in the language switcher', 'polylang' ); ?></p>
154 - </div>
155 - <?php
156 - if ( ! empty( $edit_lang ) ) {
157 - /**
158 - * Fires after the Edit Language form fields are displayed.
159 - *
160 - * @since 1.7.10
161 - *
162 - * @param object $lang language being edited.
163 - */
164 - do_action( 'pll_language_edit_form_fields', $edit_lang );
165 - } else {
166 - /**
167 - * Fires after the Add Language form fields are displayed.
168 - *
169 - * @since 1.7.10
170 - */
171 - do_action( 'pll_language_add_form_fields' );
172 - }
102 + <div class="form-field">
103 + <label for="flag_list"><?php esc_html_e( 'Flag', 'polylang' );?></label>
104 + <select name="flag" id="flag_list">
105 + <option value=""></option><?php
106 + include( PLL_SETTINGS_INC.'/flags.php' );
107 + foreach ( $flags as $code => $label ) {
108 + printf(
109 + '<option value="%1$s"%2$s>%3$s</option>'."\n",
110 + esc_attr( $code ),
111 + isset( $edit_lang->flag_code ) && $edit_lang->flag_code == $code ? ' selected="selected"' : '',
112 + esc_html( $label )
113 + );
114 + } ?>
115 + </select>
116 + <p><?php esc_html_e( 'Choose a flag for the language.', 'polylang' );?></p>
117 + </div>
173 118
174 - submit_button( ! empty( $edit_lang ) ? __( 'Update', 'polylang' ) : __( 'Add new language', 'polylang' ) ); // since WP 3.1
175 - ?>
119 + <div class="form-field">
120 + <label for="lang_order"><?php esc_html_e( 'Order', 'polylang' );?></label><?php
121 + printf(
122 + '<input name="term_group" id="lang_order" type="text" value="%d" />',
123 + ! empty( $edit_lang ) ? esc_attr( $edit_lang->term_group ) : ''
124 + );?>
125 + <p><?php esc_html_e( 'Position of the language in the language switcher', 'polylang' );?></p>
126 + </div><?php
127 +
128 + if ( ! empty( $edit_lang ) ) {
129 + /**
130 + * Fires after the Edit Language form fields are displayed.
131 + *
132 + * @since 1.7.10
133 + *
134 + * @param object $lang language being edited.
135 + */
136 + do_action( 'pll_language_edit_form_fields', $edit_lang );
137 + } else {
138 + /**
139 + * Fires after the Add Language form fields are displayed.
140 + *
141 + * @since 1.7.10
142 + */
143 + do_action( 'pll_language_add_form_fields' );
144 + }
145 +
146 + submit_button( ! empty( $edit_lang ) ? __( 'Update' ) : __( 'Add new language', 'polylang' ) ); // since WP 3.1 ?>
147 +
176 148 </form>
177 149 </div><!-- form-wrap -->
178 150 </div><!-- col-wrap -->
179 151 </div><!-- col-left -->
180 152 </div><!-- col-container -->
153 +
154 +<script type="text/javascript">
155 + //<![CDATA[
156 + jQuery( document ).ready( function( $ ) {
157 + // close postboxes that should be closed
158 + $( '.if-js-closed' ).removeClass( 'if-js-closed' ).addClass( 'closed' );
159 + // postboxes setup
160 + postboxes.add_postbox_toggles( 'settings_page_mlang' );
161 + } );
162 + //]]>
163 +</script>