function admin_language_switcher() { global $wp_admin_bar, $wpdb, $sitepress; $parent = 'WPML_PACKAGE_LANG'; $package_language = $this->package->get_package_language(); if (!$package_language) { $package_language = $sitepress->get_default_language(); } $wpml_pt_meta = new WPML_Package_Translation_Metabox($this->package, $wpdb, $sitepress, $this->args); $package_language_name = $wpml_pt_meta->get_package_language_name(); $wp_admin_bar->add_menu(array('parent' => false, 'id' => $parent, 'title' => '<img src="' . $sitepress->get_flag_url($package_language) . '"> ' . $package_language_name, 'href' => '#')); }
final function change_package_lang_ajax() { global $wpdb, $sitepress; if (!$this->verify_ajax_call('wpml_package_nonce')) { die('verification failed'); } $package_id = $_POST['package_id']; $package = new WPML_Package($package_id); $package->set_strings_language($_POST['package_lang']); $package_job = new WPML_Package_TM($package); $package_job->set_language_details($_POST['package_lang']); $args = json_decode(base64_decode($_POST['args'])); $package_metabox = new WPML_Package_Translation_Metabox($package, $wpdb, $sitepress, $args); $response = array('metabox' => $package_metabox->get_metabox_status(), 'lang' => $package_metabox->get_package_language_name()); wp_send_json($response); }