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