Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/sitepres.../menu
File: wpml-admin-lang-switcher.class.php
<?php
[0] Fix | Delete
[1] Fix | Delete
class WPML_Admin_Language_Switcher {
[2] Fix | Delete
[3] Fix | Delete
private $flag_kses_tags = array(
[4] Fix | Delete
'img' => array(
[5] Fix | Delete
'src' => array(),
[6] Fix | Delete
'class' => array(),
[7] Fix | Delete
'height' => array(),
[8] Fix | Delete
'width' => array(),
[9] Fix | Delete
),
[10] Fix | Delete
'i' => array (
[11] Fix | Delete
'class' => array(),
[12] Fix | Delete
)
[13] Fix | Delete
);
[14] Fix | Delete
[15] Fix | Delete
function render() {
[16] Fix | Delete
[17] Fix | Delete
wp_enqueue_script( OTGS_Assets_Handles::POPOVER_TOOLTIP );
[18] Fix | Delete
wp_enqueue_style( OTGS_Assets_Handles::POPOVER_TOOLTIP );
[19] Fix | Delete
[20] Fix | Delete
/** @var $wp_admin_bar WP_Admin_Bar */
[21] Fix | Delete
global $wpdb, $wp_admin_bar, $pagenow, $mode, $sitepress;
[22] Fix | Delete
[23] Fix | Delete
$all_languages_enabled = true;
[24] Fix | Delete
$current_page = basename( $_SERVER[ 'SCRIPT_NAME' ] );
[25] Fix | Delete
$post_type = false;
[26] Fix | Delete
$trid = false;
[27] Fix | Delete
$translations = false;
[28] Fix | Delete
$languages_links = array();
[29] Fix | Delete
[30] Fix | Delete
// individual translations
[31] Fix | Delete
$is_post = false;
[32] Fix | Delete
$is_tax = false;
[33] Fix | Delete
$is_menu = false;
[34] Fix | Delete
[35] Fix | Delete
$current_language = $sitepress->get_current_language();
[36] Fix | Delete
$current_language = $current_language ? $current_language : $sitepress->get_default_language();
[37] Fix | Delete
[38] Fix | Delete
switch ( $pagenow ) {
[39] Fix | Delete
case 'post.php':
[40] Fix | Delete
$is_post = true;
[41] Fix | Delete
$post_id = @intval( $_GET[ 'post' ] );
[42] Fix | Delete
$post = get_post( $post_id );
[43] Fix | Delete
[44] Fix | Delete
$post_language = $sitepress->get_language_for_element( $post_id, 'post_' . get_post_type( $post_id ) );
[45] Fix | Delete
if ( $post_language && $post_language != $current_language ) {
[46] Fix | Delete
$sitepress->switch_lang( $post_language );
[47] Fix | Delete
$current_language = $sitepress->get_current_language();
[48] Fix | Delete
}
[49] Fix | Delete
$trid = $sitepress->get_element_trid( $post_id, 'post_' . $post->post_type );
[50] Fix | Delete
$translations = $sitepress->get_element_translations( $trid, 'post_' . $post->post_type, true );
[51] Fix | Delete
[52] Fix | Delete
break;
[53] Fix | Delete
case 'post-new.php':
[54] Fix | Delete
$all_languages_enabled = false;
[55] Fix | Delete
if ( isset( $_GET[ 'trid' ] ) ) {
[56] Fix | Delete
$trid = intval( $_GET[ 'trid' ] );
[57] Fix | Delete
$post_type = isset( $_GET[ 'post_type' ] ) ? $_GET[ 'post_type' ] : 'post';
[58] Fix | Delete
$translations = $sitepress->get_element_translations( $trid, 'post_' . $post_type, true );
[59] Fix | Delete
$is_post = true;
[60] Fix | Delete
}
[61] Fix | Delete
break;
[62] Fix | Delete
case 'edit-tags.php':
[63] Fix | Delete
case 'term.php':
[64] Fix | Delete
$is_tax = true;
[65] Fix | Delete
if ( $sitepress->get_wp_api()->is_term_edit_page() ) {
[66] Fix | Delete
$all_languages_enabled = false;
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
$taxonomy = $_GET['taxonomy'];
[70] Fix | Delete
$term_tax_id = 0;
[71] Fix | Delete
[72] Fix | Delete
if ( isset( $_GET[ 'tag_ID' ] ) ) {
[73] Fix | Delete
$term_id = @intval( $_GET[ 'tag_ID' ] );
[74] Fix | Delete
$term_tax_id = $wpdb->get_var( $wpdb->prepare( "SELECT term_taxonomy_id FROM {$wpdb->term_taxonomy} WHERE taxonomy=%s AND term_id=%d", $taxonomy, $term_id ) );
[75] Fix | Delete
}
[76] Fix | Delete
if ( $term_tax_id ) {
[77] Fix | Delete
$trid = $sitepress->get_element_trid( $term_tax_id, 'tax_' . $taxonomy );
[78] Fix | Delete
}
[79] Fix | Delete
if ( $trid ) {
[80] Fix | Delete
$translations = $sitepress->get_element_translations( $trid, 'tax_' . $taxonomy, true );
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
break;
[84] Fix | Delete
case 'nav-menus.php':
[85] Fix | Delete
$is_menu = true;
[86] Fix | Delete
if ( isset( $_GET[ 'menu' ] ) && $_GET[ 'menu' ] ) {
[87] Fix | Delete
$menu_id = $_GET[ 'menu' ];
[88] Fix | Delete
$trid = $trid = $sitepress->get_element_trid( $menu_id, 'tax_nav_menu' );
[89] Fix | Delete
$translations = $sitepress->get_element_translations( $trid, 'tax_nav_menu', true );
[90] Fix | Delete
}
[91] Fix | Delete
$all_languages_enabled = false;
[92] Fix | Delete
break;
[93] Fix | Delete
case 'upload.php':
[94] Fix | Delete
if ( $mode == 'grid' ) {
[95] Fix | Delete
$all_languages_enabled = false;
[96] Fix | Delete
}
[97] Fix | Delete
break;
[98] Fix | Delete
[99] Fix | Delete
}
[100] Fix | Delete
[101] Fix | Delete
$active_languages = $sitepress->get_active_languages();
[102] Fix | Delete
if ( 'all' !== $current_language ) {
[103] Fix | Delete
$current_active_language = isset( $active_languages[ $current_language ] ) ? $active_languages[ $current_language ] : null;
[104] Fix | Delete
}
[105] Fix | Delete
$active_languages = apply_filters( 'wpml_admin_language_switcher_active_languages', $active_languages );
[106] Fix | Delete
if ( 'all' !== $current_language && ! isset( $active_languages[ $current_language ] ) ) {
[107] Fix | Delete
array_unshift( $active_languages, $current_active_language );
[108] Fix | Delete
}
[109] Fix | Delete
[110] Fix | Delete
foreach ( $active_languages as $lang ) {
[111] Fix | Delete
$current_page_lang = $current_page;
[112] Fix | Delete
[113] Fix | Delete
if ( isset( $_SERVER[ 'QUERY_STRING' ] ) ) {
[114] Fix | Delete
parse_str( $_SERVER[ 'QUERY_STRING' ], $query_vars );
[115] Fix | Delete
unset( $query_vars[ 'lang' ], $query_vars[ 'admin_bar' ] );
[116] Fix | Delete
} else {
[117] Fix | Delete
$query_vars = array();
[118] Fix | Delete
}
[119] Fix | Delete
// individual translations
[120] Fix | Delete
if ( $is_post ) {
[121] Fix | Delete
if ( isset( $translations[ $lang[ 'code' ] ] ) && isset( $translations[ $lang[ 'code' ] ]->element_id ) ) {
[122] Fix | Delete
$query_vars[ 'post' ] = $translations[ $lang[ 'code' ] ]->element_id;
[123] Fix | Delete
unset( $query_vars[ 'source_lang' ] );
[124] Fix | Delete
$current_page_lang = 'post.php';
[125] Fix | Delete
$query_vars[ 'action' ] = 'edit';
[126] Fix | Delete
} else {
[127] Fix | Delete
$current_page_lang = 'post-new.php';
[128] Fix | Delete
if ( isset( $post ) ) {
[129] Fix | Delete
$query_vars[ 'post_type' ] = $post->post_type;
[130] Fix | Delete
$query_vars[ 'source_lang' ] = $current_language;
[131] Fix | Delete
} else {
[132] Fix | Delete
$query_vars[ 'post_type' ] = $post_type;
[133] Fix | Delete
}
[134] Fix | Delete
$query_vars[ 'trid' ] = $trid;
[135] Fix | Delete
unset( $query_vars[ 'post' ], $query_vars[ 'action' ] );
[136] Fix | Delete
}
[137] Fix | Delete
} elseif ( $is_tax ) {
[138] Fix | Delete
if ( isset( $translations[ $lang[ 'code' ] ] ) && isset( $translations[ $lang[ 'code' ] ]->term_id ) ) {
[139] Fix | Delete
$query_vars[ 'tag_ID' ] = $translations[ $lang[ 'code' ] ]->term_id;
[140] Fix | Delete
} else {
[141] Fix | Delete
$query_vars[ 'trid' ] = $trid;
[142] Fix | Delete
$query_vars[ 'source_lang' ] = $current_language;
[143] Fix | Delete
unset( $query_vars[ 'tag_ID' ], $query_vars[ 'action' ] );
[144] Fix | Delete
}
[145] Fix | Delete
} elseif ( $is_menu ) {
[146] Fix | Delete
if ( !empty( $menu_id ) ) {
[147] Fix | Delete
if ( isset( $translations[ $lang[ 'code' ] ]->element_id ) ) {
[148] Fix | Delete
$query_vars[ 'menu' ] = $translations[ $lang[ 'code' ] ]->element_id;
[149] Fix | Delete
} else {
[150] Fix | Delete
$query_vars[ 'menu' ] = 0;
[151] Fix | Delete
$query_vars[ 'trid' ] = $trid;
[152] Fix | Delete
$query_vars[ 'action' ] = 'edit';
[153] Fix | Delete
}
[154] Fix | Delete
}
[155] Fix | Delete
}
[156] Fix | Delete
[157] Fix | Delete
$query_string = http_build_query( $query_vars );
[158] Fix | Delete
[159] Fix | Delete
$query = '?';
[160] Fix | Delete
if ( !empty( $query_string ) ) {
[161] Fix | Delete
$query .= $query_string . '&';
[162] Fix | Delete
}
[163] Fix | Delete
$query .= 'lang=' . $lang[ 'code' ]; // the default language need to specified explicitly yoo in order to set the lang cookie
[164] Fix | Delete
[165] Fix | Delete
$link_url = admin_url( $current_page_lang . $query );
[166] Fix | Delete
[167] Fix | Delete
$flag = $sitepress->get_flag( $lang[ 'code' ] );
[168] Fix | Delete
[169] Fix | Delete
if ( $flag ) {
[170] Fix | Delete
if ( $flag->from_template ) {
[171] Fix | Delete
$wp_upload_dir = wp_upload_dir();
[172] Fix | Delete
$flag_url = $wp_upload_dir[ 'baseurl' ] . '/flags/' . $flag->flag;
[173] Fix | Delete
} else {
[174] Fix | Delete
$flag_url = ICL_PLUGIN_URL . '/res/flags/' . $flag->flag;
[175] Fix | Delete
}
[176] Fix | Delete
} else {
[177] Fix | Delete
$flag_url = ICL_PLUGIN_URL . '/res/flags/';
[178] Fix | Delete
}
[179] Fix | Delete
[180] Fix | Delete
$languages_links[ $lang[ 'code' ] ] = array(
[181] Fix | Delete
'url' => $link_url . '&admin_bar=1',
[182] Fix | Delete
'current' => $lang[ 'code' ] == $current_language,
[183] Fix | Delete
'anchor' => $lang[ 'display_name' ],
[184] Fix | Delete
'flag' => '<img class="icl_als_iclflag" src="' . esc_url( $flag_url ) . '" alt="' . esc_attr( $lang[ 'code' ] ) . '" width="18" height="12" />'
[185] Fix | Delete
);
[186] Fix | Delete
[187] Fix | Delete
}
[188] Fix | Delete
[189] Fix | Delete
if ( $all_languages_enabled ) {
[190] Fix | Delete
$query = '?';
[191] Fix | Delete
if ( !empty( $query_string ) ) {
[192] Fix | Delete
$query .= $query_string . '&';
[193] Fix | Delete
}
[194] Fix | Delete
$query .= 'lang=all';
[195] Fix | Delete
$link_url = admin_url( basename( $_SERVER[ 'SCRIPT_NAME' ] ) . $query );
[196] Fix | Delete
[197] Fix | Delete
$languages_links[ 'all' ] = array(
[198] Fix | Delete
'url' => $link_url, 'current' => 'all' == $current_language, 'anchor' => __( 'All languages', 'sitepress' ),
[199] Fix | Delete
'flag' => '<i class="otgs-ico-wpml"></i>'
[200] Fix | Delete
);
[201] Fix | Delete
} else {
[202] Fix | Delete
// set the default language as current
[203] Fix | Delete
if ( 'all' == $current_language ) {
[204] Fix | Delete
$current_language = $sitepress->get_default_language();
[205] Fix | Delete
$languages_links[ $current_language ][ 'current' ] = true;
[206] Fix | Delete
}
[207] Fix | Delete
}
[208] Fix | Delete
[209] Fix | Delete
$current_language_item = isset( $languages_links[ $current_language ] ) ? $languages_links[ $current_language ] : null;
[210] Fix | Delete
$languages_links = apply_filters( 'wpml_admin_language_switcher_items', $languages_links );
[211] Fix | Delete
if ( ! isset( $languages_links[ $current_language ] ) ) {
[212] Fix | Delete
$languages_links = array_merge( array( $current_language => $current_language_item ), $languages_links );
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
$parent = 'WPML_ALS';
[216] Fix | Delete
$lang = $languages_links[ $current_language ];
[217] Fix | Delete
$help_tip_text = __( 'This language selector determines which content to display. You can choose items in a specific language or in all languages. To change the language of the WordPress Admin interface, go to your profile.', 'sitepress' );
[218] Fix | Delete
[219] Fix | Delete
// Current language
[220] Fix | Delete
$wp_admin_bar->add_menu( array(
[221] Fix | Delete
'parent' => false,
[222] Fix | Delete
'id' => $parent,
[223] Fix | Delete
'title' => '<span title="' . __( 'Showing content in:', 'sitepress' ) . ' ' . $lang[ 'anchor' ] .'">'
[224] Fix | Delete
. wp_kses( $lang[ 'flag' ], $this->flag_kses_tags ) . '&nbsp;' . esc_html( $lang[ 'anchor' ] )
[225] Fix | Delete
. '</span>'
[226] Fix | Delete
. '&nbsp;<i class="otgs-ico-help js-otgs-popover-tooltip" data-tippy-zIndex="999999" title="' . $help_tip_text . '" ></i>',
[227] Fix | Delete
'href' => false
[228] Fix | Delete
) );
[229] Fix | Delete
[230] Fix | Delete
if ( $languages_links ) {
[231] Fix | Delete
foreach ( $languages_links as $code => $lang ) {
[232] Fix | Delete
if ( $code == $current_language )
[233] Fix | Delete
continue;
[234] Fix | Delete
$wp_admin_bar->add_menu( array(
[235] Fix | Delete
'parent' => $parent, 'id' => $parent . '_' . $code, 'title' => wp_kses( $lang[ 'flag' ], $this->flag_kses_tags ) . '&nbsp;' . esc_html( $lang[ 'anchor' ] ), 'href' => $lang[ 'url' ], 'meta' => array(
[236] Fix | Delete
'title' => __( 'Show content in:', 'sitepress' ) . ' ' . $lang[ 'anchor' ],
[237] Fix | Delete
)
[238] Fix | Delete
) );
[239] Fix | Delete
}
[240] Fix | Delete
}
[241] Fix | Delete
}
[242] Fix | Delete
[243] Fix | Delete
}
[244] Fix | Delete
[245] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function