| @@ -17,9 +17,9 @@ | ||
| 17 | 17 | ?> |
| 18 | 18 | <div class="metabox-holder"> |
| 19 | 19 | <?php |
| 20 | 20 | wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); |
| 21 | - do_meta_boxes( 'toplevel_page_mlang', 'normal', array() ); | |
| 21 | + do_meta_boxes( 'settings_page_mlang', 'normal', array() ); | |
| 22 | 22 | ?> |
| 23 | 23 | </div> |
| 24 | 24 | </div><!-- col-wrap --> |
| 25 | 25 | </div><!-- col-right --> |
| @@ -53,19 +53,15 @@ | ||
| 53 | 53 | <select name="lang_list" id="lang_list"> |
| 54 | 54 | <option value=""></option> |
| 55 | 55 | <?php |
| 56 | 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 | 57 | printf( |
| 61 | - '<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", | |
| 62 | 59 | esc_attr( $lg['code'] ), |
| 63 | 60 | esc_attr( $lg['locale'] ), |
| 64 | 61 | 'rtl' == $lg['dir'] ? '1' : '0', |
| 65 | 62 | esc_attr( $lg['flag'] ), |
| 66 | - esc_html( $lg['name'] ), | |
| 67 | - esc_html( $language->flag ) | |
| 63 | + esc_html( $lg['name'] ) | |
| 68 | 64 | ); |
| 69 | 65 | } |
| 70 | 66 | ?> |
| 71 | 67 | </select> |
| @@ -128,12 +124,17 @@ | ||
| 128 | 124 | <option value=""></option> |
| 129 | 125 | <?php |
| 130 | 126 | $flags = include PLL_SETTINGS_INC . '/flags.php'; |
| 131 | 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 | + | |
| 132 | 131 | printf( |
| 133 | - '<option value="%s" data-flag-html="%s"%s>%s</option>' . "\n", | |
| 132 | + '<option value="%s" data-url="%s"%s%s%s>%s</option>' . "\n", | |
| 134 | 133 | esc_attr( $code ), |
| 135 | - 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'] ) ), | |
| 136 | 137 | selected( isset( $edit_lang->flag_code ) && $edit_lang->flag_code === $code, true, false ), |
| 137 | 138 | esc_html( $label ) |
| 138 | 139 | ); |
| 139 | 140 | } |
| @@ -177,4 +178,15 @@ | ||
| 177 | 178 | </div><!-- form-wrap --> |
| 178 | 179 | </div><!-- col-wrap --> |
| 179 | 180 | </div><!-- col-left --> |
| 180 | 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> | |