%PDF- %PDF-
| Direktori : /home/gachan/www/wp-content/plugins/sitepress-multilingual-cms/res/js/ |
| Current File : /home/gachan/www/wp-content/plugins/sitepress-multilingual-cms/res/js/post-edit-terms.js |
/*globals ajaxurl, icl_post_edit_messages */
jQuery(document).ready(
function () {
var language_selector;
/* Check if we have a language switcher present. */
language_selector = jQuery('select[name="icl_post_language"]');
if (jQuery('[name="_wpml_root_page"]').length !== 0) {
jQuery('#edit-slug-box').hide();
}
if (language_selector.length !== 0) {
language_selector.on('change', iclPostLanguageAskConfirmation);
iclSetPostLang();
iclSwitchPostLanguage();
} else {
// just add a hidden field with the information and the same id as the language switcher to the dom
jQuery.ajax(
{
type: "POST",
url: ajaxurl,
dataType: 'json',
data: {
action: 'wpml_get_default_lang'
},
success: function (response) {
var hidden_language_field = jQuery('<input id="icl_post_language" type="hidden"/>');
hidden_language_field.val(response.data);
jQuery(".wrap").append(hidden_language_field);
iclSetPostLang();
iclSwitchPostLanguage();
}
}
);
}
}
);
function iclGetSwitchLanguageConfirmation(){
var lang_switch_confirm_html;
var defer = jQuery.Deferred();
/** @namespace icl_post_edit_messages.switch_language_title */
/** @namespace icl_post_edit_messages.switch_language_alert */
/** @namespace icl_post_edit_messages.connection_loss_alert */
lang_switch_confirm_html = '<div id="icl_confirm_lang_switch">';
lang_switch_confirm_html += '<h2>{switch_language_title}</h2>';
lang_switch_confirm_html += '<p>{switch_language_message}</p>';
lang_switch_confirm_html += '<p>{switch_language_confirm}</p>';
lang_switch_confirm_html += '</div>';
// make sure the title is html entities encoded.
var post_name = WPML_core.htmlentities(jQuery('#title').val());
lang_switch_confirm_html = lang_switch_confirm_html.replace('{switch_language_title}',icl_post_edit_messages.switch_language_title);
lang_switch_confirm_html = lang_switch_confirm_html.replace('{switch_language_message}',icl_post_edit_messages.switch_language_message);
lang_switch_confirm_html = lang_switch_confirm_html.replace('{switch_language_confirm}',icl_post_edit_messages.switch_language_confirm);
lang_switch_confirm_html = lang_switch_confirm_html.replace('{post_name}', '<i>' + post_name + '</i>');
jQuery(lang_switch_confirm_html).dialog(
{
modal : true,
width : 'auto',
buttons: {
Ok : function () {
defer.resolve();
jQuery(this).dialog("close");
},
Cancel: function () {
defer.reject();
jQuery(this).dialog("close");
}
}
}
);
return defer.promise();
}
function iclPostLanguageAskConfirmation() {
var post_language_switcher = jQuery('#icl_post_language');
var previous_post_language = post_language_switcher.data('last_lang');
jQuery('#edit-slug-buttons').find('> .cancel').click();
iclGetSwitchLanguageConfirmation().done(function() {
iclSwitchPostLanguage();
}).fail(function() {
post_language_switcher.val(previous_post_language);
});
}
function iclSwitchPostLanguage() {
var post_language_switcher = jQuery('#icl_post_language');
var new_post_language = post_language_switcher.val();
var previous_post_language = post_language_switcher.data('last_lang');
var post_id = jQuery('#post_ID').val();
if (!previous_post_language) {
post_language_switcher.data('last_lang', new_post_language);
} else {
jQuery.ajax(
{
type: "POST",
url: ajaxurl,
dataType: 'json',
data: {
wpml_from: previous_post_language,
action: 'wpml_switch_post_language',
_icl_nonce: icl_post_edit_messages._nonce,
wpml_to: new_post_language,
wpml_post_id: post_id
},
success: function () {
post_language_switcher.data('last_lang', new_post_language);
var url = jQuery(location).attr('href');
if (/lang=/.test(url)){
url = url.replace(/([\?&])(lang=)[^&#]*/, '$1$2' + new_post_language);
}else{
var sep = (url.indexOf('?') > -1) ? '&' : '?';
url = url + sep + 'lang=' + new_post_language;
}
window.location.replace(url);
}
}
);
}
}
function iclSetPostLang() {
var lang = jQuery('#icl_post_language').attr('value');
jQuery.ajax(
{
type: "POST",
url: ajaxurl,
dataType: 'json',
data: {
wpml_post_lang: lang,
action: 'wpml_set_post_edit_lang'
},
success: function (response) {
}
}
);
}