| @@ -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 --> |
| @@ -28,9 +27,9 @@ | ||
| 28 | 27 | <div id="col-left"> |
| 29 | 28 | <div class="col-wrap"> |
| 30 | 29 | |
| 31 | 30 | <div class="form-wrap"> |
| 32 | - <h2><?php echo ! empty( $edit_lang ) ? esc_html__( 'Edit language', 'polylang' ) : esc_html__( 'Add new language', 'polylang' ); ?></h2> | |
| 31 | + <h3><?php echo ! empty( $edit_lang ) ? esc_html__( 'Edit language', 'polylang' ) : esc_html__( 'Add new language', 'polylang' ); ?></h3> | |
| 33 | 32 | <?php |
| 34 | 33 | // Displays the add ( or edit ) language form |
| 35 | 34 | // Adds noheader=true in the action url to allow using wp_redirect when processing the form |
| 36 | 35 | ?> |
| @@ -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> |
| @@ -110,14 +105,14 @@ | ||
| 110 | 105 | <legend><?php esc_html_e( 'Text direction', 'polylang' ); ?></legend> |
| 111 | 106 | <?php |
| 112 | 107 | printf( |
| 113 | 108 | '<label><input name="rtl" type="radio" value="0" %s /> %s</label>', |
| 114 | - checked( ! empty( $edit_lang ) && $edit_lang->is_rtl, false, false ), | |
| 109 | + ! empty( $edit_lang ) && $edit_lang->is_rtl ? '' : 'checked="checked"', | |
| 115 | 110 | esc_html__( 'left to right', 'polylang' ) |
| 116 | 111 | ); |
| 117 | 112 | printf( |
| 118 | 113 | '<label><input name="rtl" type="radio" value="1" %s /> %s</label>', |
| 119 | - checked( ! empty( $edit_lang ) && $edit_lang->is_rtl, true, false ), | |
| 114 | + ! empty( $edit_lang ) && $edit_lang->is_rtl ? 'checked="checked"' : '', | |
| 120 | 115 | esc_html__( 'right to left', 'polylang' ) |
| 121 | 116 | ); |
| 122 | 117 | ?> |
| 123 | 118 | <p><?php esc_html_e( 'Choose the text direction for the language', 'polylang' ); ?></p> |
| @@ -127,15 +122,20 @@ | ||
| 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 | + 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 ) ) ), | |
| 137 | - selected( isset( $edit_lang->flag_code ) && $edit_lang->flag_code === $code, true, false ), | |
| 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 | + isset( $edit_lang->flag_code ) && $edit_lang->flag_code == $code ? ' selected="selected"' : '', | |
| 138 | 138 | esc_html( $label ) |
| 139 | 139 | ); |
| 140 | 140 | } |
| 141 | 141 | ?> |
| @@ -171,9 +171,9 @@ | ||
| 171 | 171 | */ |
| 172 | 172 | do_action( 'pll_language_add_form_fields' ); |
| 173 | 173 | } |
| 174 | 174 | |
| 175 | - submit_button( ! empty( $edit_lang ) ? __( 'Update', 'polylang' ) : __( 'Add new language', 'polylang' ) ); // since WP 3.1 | |
| 175 | + submit_button( ! empty( $edit_lang ) ? __( 'Update' ) : __( 'Add new language', 'polylang' ) ); // since WP 3.1 | |
| 176 | 176 | ?> |
| 177 | 177 | </form> |
| 178 | 178 | </div><!-- form-wrap --> |
| 179 | 179 | </div><!-- col-wrap --> |
| @@ -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> | |