PluginProbe
Polylang / 2.6.3
Polylang v2.6.3
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 +23 -12 2.92.6.3 View file →
@@ -1,9 +1,8 @@
1 1 <?php
2 +
2 3 /**
3 4 * Displays the languages tab in Polylang settings
4 - *
5 - * @package Polylang
6 5 */
7 6
8 7 if ( ! defined( 'ABSPATH' ) ) {
9 8 exit; // Don't access directly
@@ -18,9 +17,9 @@
18 17 ?>
19 18 <div class="metabox-holder">
20 19 <?php
21 20 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
22 - do_meta_boxes( 'toplevel_page_mlang', 'normal', array() );
21 + do_meta_boxes( 'settings_page_mlang', 'normal', array() );
23 22 ?>
24 23 </div>
25 24 </div><!-- col-wrap -->
26 25 </div><!-- col-right -->
@@ -54,19 +53,15 @@
54 53 <select name="lang_list" id="lang_list">
55 54 <option value=""></option>
56 55 <?php
57 56 foreach ( $this->get_predefined_languages() as $lg ) {
58 - $lg['flag_code'] = $lg['flag'];
59 - $language = new PLL_Language( $lg );
60 - $language->set_flag();
61 57 printf(
62 - '<option value="%1$s:%2$s:%3$s:%4$s" data-flag-html="%6$s">%5$s - %2$s</option>' . "\n",
58 + '<option value="%1$s:%2$s:%3$s:%4$s">%5$s - %2$s</option>' . "\n",
63 59 esc_attr( $lg['code'] ),
64 60 esc_attr( $lg['locale'] ),
65 61 'rtl' == $lg['dir'] ? '1' : '0',
66 62 esc_attr( $lg['flag'] ),
67 - esc_html( $lg['name'] ),
68 - esc_html( $language->flag )
63 + esc_html( $lg['name'] )
69 64 );
70 65 }
71 66 ?>
72 67 </select>
@@ -127,14 +122,19 @@
127 122 <label for="flag_list"><?php esc_html_e( 'Flag', 'polylang' ); ?></label>
128 123 <select name="flag" id="flag_list">
129 124 <option value=""></option>
130 125 <?php
131 - $flags = include __DIR__ . '/flags.php';
126 + $flags = include PLL_SETTINGS_INC . '/flags.php';
132 127 foreach ( $flags as $code => $label ) {
128 + /** This filter is documented in include/language.php */
129 + $flag = apply_filters( 'pll_flag', array( 'url' => plugins_url( "/flags/{$code}.png", POLYLANG_FILE ) ), $code );
130 +
133 131 printf(
134 - '<option value="%s" data-flag-html="%s"%s>%s</option>' . "\n",
132 + '<option value="%s" data-url="%s"%s%s%s>%s</option>' . "\n",
135 133 esc_attr( $code ),
136 - esc_html( PLL_Language::get_flag_html( PLL_Language::get_flag_informations( $code ) ) ),
134 + esc_url( $flag['url'] ),
135 + ( empty( $flag['width'] ) ? '' : sprintf( ' data-width="%s"', (int) $flag['width'] ) ),
136 + ( empty( $flag['height'] ) ? '' : sprintf( ' data-height="%s"', (int) $flag['height'] ) ),
137 137 selected( isset( $edit_lang->flag_code ) && $edit_lang->flag_code === $code, true, false ),
138 138 esc_html( $label )
139 139 );
140 140 }
@@ -178,4 +178,15 @@
178 178 </div><!-- form-wrap -->
179 179 </div><!-- col-wrap -->
180 180 </div><!-- col-left -->
181 181 </div><!-- col-container -->
182 +
183 +<script type="text/javascript">
184 + //<![CDATA[
185 + jQuery( document ).ready( function( $ ) {
186 + // close postboxes that should be closed
187 + $( '.if-js-closed' ).removeClass( 'if-js-closed' ).addClass( 'closed' );
188 + // postboxes setup
189 + postboxes.add_postbox_toggles( 'settings_page_mlang' );
190 + } );
191 + //]]>
192 +</script>