first commit

This commit is contained in:
2023-09-12 21:41:04 +02:00
commit 3361a7f053
13284 changed files with 2116755 additions and 0 deletions

View File

@@ -0,0 +1 @@
.wpml-media-selector td{padding-top:0}.wpml-media-selector a{cursor:pointer}.wpml-media-selector-wrapper-inner{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.wpml-media-selector-wrapper .explanation-text{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.wpml-media-selector-wrapper label{display:block;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-bottom:.8em}.wpml-media-selector-wrapper label+label{-webkit-margin-start:5px;-moz-webkit-start:5px;margin-start:5px}.wpml-media-selector-wrapper input[type="checkbox"]{margin-top:0}.wpml-media-selector-zoom{display:block;margin:0 auto 3px;position:relative;height:60px;width:60px}.wpml-media-selector-zoom.translated::before{position:absolute;top:3px;right:3px;color:#fff;content:"\63";font-family:otgs-icons;font-size:9px;background:#46b450;border-radius:30px;width:13px;height:13px;line-height:13px}.wpml-media-selector-zoom.translated::before .rtl{right:auto;left:3px}.wpml-media-selector-zoom::after{content:"\f179";font-family:Dashicons;font-size:24px;color:rgba(255,255,255,0.45);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.wpml-media-selector-zoom img{max-width:100%;height:auto;-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear, -webkit-transform .1s linear}.wpml-media-selector-placeholder{width:60px;height:60px;background:#e0e0e0}.wpml-media-selector-placeholder+.wpml-media-selector-placeholder{-webkit-margin-start:5px;-moz-webkit-start:5px;margin-start:5px}.wpml-media-selector-wrapper label:hover img,.wpml-media-selector-wrapper label:focus img{-webkit-transform:scale(2.5);transform:scale(2.5);z-index:10;position:absolute;bottom:45px;left:-2px;-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,0.3);box-shadow:0 0 10px 0 rgba(0,0,0,0.3);background-color:#fff}.wpml-media-selector-wrapper label:hover .wpml-media-selector-zoom::after,.wpml-media-selector-wrapper label:focus .wpml-media-selector-zoom::after{display:none}.wpml-media-selector-toggle{color:#666;margin-bottom:.6em;display:inline-block}.wpml-media-selector-toggle::after{content:"\f140";font-family:Dashicons;font-size:18px;vertical-align:bottom;line-height:1}.wpml-media-selector-toggle.collapsed::after{content:"\f139"}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
.wpml-media-welcome-notice{padding:0;padding-right:30px;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;border:1px solid #ccd0d4}.rtl .wpml-media-welcome-notice{padding:0;padding-left:30px}.wrap .wpml-media-welcome-notice{margin:15px 0 40px}@media (max-width: 480px){.wpml-media-welcome-notice{display:block}}.wpml-media-welcome-notice *{-webkit-transition:all .2s linear;transition:all .2s linear}.wpml-media-welcome-notice-bg{-webkit-box-flex:0;-ms-flex:0 0 85px;flex:0 0 85px;background:#21759b url("../img/welcome-notice-bg.jpg") no-repeat;background-position:-80px -20px;padding:15px;-webkit-margin-end:20px;margin-inline-end:20px;position:relative}.minimized .wpml-media-welcome-notice-bg{-webkit-box-flex:0;-ms-flex:0 0 60px;flex:0 0 60px;background-position:-80px -105px}@media (max-width: 640px){.wpml-media-welcome-notice-bg{display:none}}.wpml-media-welcome-notice-bg i{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.wpml-media-welcome-notice-bg i::before{color:#fff;font-size:80px}.minimized .wpml-media-welcome-notice-bg i::before{font-size:50px}.wpml-media-welcome-notice-content{padding:20px;color:#666}.minimized .wpml-media-welcome-notice-content{-ms-flex-item-align:center;align-self:center;padding:15px}.wpml-media-welcome-notice-header{margin-top:0;color:#555}@media (max-width: 480px){.wpml-media-welcome-notice-header{text-align:center}}.minimized .wpml-media-welcome-notice-header{margin-bottom:0}.minimized .wpml-media-welcome-notice-body{display:none}.wpml-media-welcome-notice-action{-ms-flex-item-align:center;align-self:center;padding:15px}@media (max-width: 480px){.wpml-media-welcome-notice-action{text-align:center;padding:0 15px 20px}}.wpml-media-welcome-notice .button-wpml{background:#21759b;border-color:#1d6586;-webkit-box-shadow:0 1px 0 #1d6586;box-shadow:0 1px 0 #1d6586;color:#fff;text-shadow:0 -1px 1px #1d6586,1px 0 1px #1d6586,0 1px 1px #1d6586,-1px 0 1px #1d6586}.wpml-media-welcome-notice .button-wpml:hover,.wpml-media-welcome-notice .button-wpml:focus,.wpml-media-welcome-notice .button-wpml:active{background:#1d688a;border-color:#1d6586}.wpml-media-welcome-notice-toggle{font-size:.85em;position:absolute;bottom:5px;right:15px;color:#aaa;cursor:pointer}.rtl .wpml-media-welcome-notice-toggle{right:auto;left:15px}@media (max-width: 640px){.wpml-media-welcome-notice-toggle{bottom:0}}.wpml-media-welcome-notice-toggle::after{content:'';vertical-align:middle;-webkit-margin-start:.3em;margin-inline-start:.3em;display:inline-block;border:.3em solid transparent}.expanded .wpml-media-welcome-notice-toggle::after{border-bottom:.45em solid;margin-top:-.25em}.minimized .wpml-media-welcome-notice-toggle::after{border-left:.5em solid}.rtl .minimized .wpml-media-welcome-notice-toggle::after{border-left:.3em solid transparent;border-right:.5em solid}.icl_tm_wrap{position:relative}.icl_tm_wrap .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,0.95);z-index:10}.icl_tm_wrap .wpml-media-welcome-notice{position:absolute;top:105px;left:50%;width:80%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -0,0 +1,136 @@
var WPML_Media_Batch_Url_Translation = WPML_Media_Batch_Url_Translation || {
hasDialog: false,
dialog: jQuery('#batch-media-translation-wrap'),
form: jQuery('#batch-media-translation-form'),
globalScope: 0,
attachmentId: 0,
createDialog: function (attachmentId, postsList) {
this.hasDialog = true;
this.attachmentId = attachmentId;
if (postsList.length > 0) {
this.dialog.find('.usage').show();
var ul = this.dialog.find('.usage ul');
for (var i in postsList) {
var li = postsList[i].url ?
'<a href="' + postsList[i].url + '">' + postsList[i].title + '</a>' :
postsList[i].title;
ul.append('<li>' + li + '</li>');
}
} else {
this.dialog.find('.no-usage').show();
}
},
showDialog: function () {
this.dialog.show();
this.dialog.scrollTop(0);
},
closeDialog: function (event) {
var self = WPML_Media_Batch_Url_Translation;
if (typeof event !== 'undefined') {
event.preventDefault();
}
self.dialog.hide();
self.reset();
},
setInProgress: function (on) {
this.form.find('input.button-primary:submit').prop('disabled', on);
this.form.find('input[name=global-scan-scope]').prop('disabled', on);
},
runScan: function () {
var self = WPML_Media_Batch_Url_Translation;
var form = jQuery(this);
self.globalScope = form.find('input[name=global-scan-scope]:checked').val();
var nextAction = [];
nextAction['wpml_media_translate_media_url_in_posts'] = 'wpml_media_translate_media_url_in_custom_fields';
if ( wpml_media_batch_translation.is_st_enabled ) {
nextAction['wpml_media_translate_media_url_in_custom_fields'] = 'wpml_media_translate_media_url_in_strings';
}
self.setInProgress(true);
jQuery.ajax({
url: ajaxurl,
type: 'post',
dataType: 'json',
data: form.serialize(),
success: function (response) {
self.setStatus(response.message);
self.scan(null, 'wpml_media_translate_media_url_in_posts', nextAction);
}
})
return false;
},
reset: function () {
this.dialog.find('.usage').hide();
this.dialog.find('.no-usage').hide();
this.dialog.find('.usage ul').html('');
this.attachmentId = 0;
this.setStatus('');
this.dialog.hide();
this.hasDialog = false;
},
setStatus: function (text) {
this.dialog.find('.status').html(text);
},
setComplete: function (text) {
this.setStatus(text);
this.setInProgress(false);
this.form.hide();
this.dialog.removeClass('notice-info').addClass('notice-success');
window.setTimeout(this.closeDialog, 3000);
},
scan: function (offset, action, nextAction) {
var self = WPML_Media_Batch_Url_Translation;
if (typeof offset === 'undefined') {
offset = 0;
}
jQuery.ajax(
{
url: ajaxurl,
type: 'POST',
data: {
action: action,
global: self.globalScope,
attachment_id: self.attachmentId,
offset: offset
},
dataType: 'json',
success: function (response) {
self.setStatus(response.data.message);
if (response.data.continue > 0) {
self.scan(response.data.offset, action, nextAction);
} else {
if (nextAction[action]) {
self.scan(null, nextAction[action], nextAction);
} else {
self.setComplete(wpml_media_batch_translation.complete);
}
}
}
}
);
}
};
jQuery(function ($) {
"use strict";
WPML_Media_Batch_Url_Translation.form.on('submit', WPML_Media_Batch_Url_Translation.runScan);
WPML_Media_Batch_Url_Translation.dialog.on('click', '.js-close', WPML_Media_Batch_Url_Translation.closeDialog);
});

View File

@@ -0,0 +1,116 @@
var WPML_Media_Selector = WPML_Media_Selector || {};
jQuery(function ($) {
"use strict";
var dashboardTable = $('#icl-tm-translation-dashboard');
dashboardTable.find('tbody :checkbox').on('change', showMediaSelector);
function showMediaSelector() {
var hasMedia = $(this).closest('tr').data('has-media');
if (hasMedia) {
var checkbox = $(this);
var postSelected = checkbox.prop('checked');
var currentRow = $(this).closest('tr');
var postId = currentRow.attr('id').replace(/^row_/, '');
var mediaSelectorRow = $('#js-wpml-media-selector-' + postId);
}
if (postSelected) {
if (mediaSelectorRow.length) {
mediaSelectorRow.show();
} else {
loadMediaSelectorContent(currentRow, postId, checkbox);
}
} else if ( mediaSelectorRow ) {
mediaSelectorRow.find('label :checkbox').prop('checked', false);
mediaSelectorRow.hide();
}
}
function loadMediaSelectorContent(currentRow, postId, checkbox) {
var mediaSelectorContainer = {};
var rowWidth = currentRow.find('td:visible').length;
var data = {
action: "wpml_media_load_image_selector",
post_id: postId,
languages: getTargetLanguages()
};
var mediaSelectorRow = $(
'<tr class="hidden"><td colspan="' + rowWidth + '"></td></tr>' +
'<tr id="js-wpml-media-selector-' + postId + '" class="wpml-media-selector">' +
'<td colspan="' + rowWidth + '"></td>' +
'</tr>'
);
mediaSelectorRow.insertAfter(currentRow);
var postType = currentRow.data('post-type');
var preLoader = $('#wpml-media-selector-preloader').html().replace(/%POST_TYPE%/, postType);
mediaSelectorContainer = $('#js-wpml-media-selector-' + postId).find('td');
mediaSelectorContainer.html(preLoader);
checkbox.prop('disabled', true);
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
if (response.success && response.data.media_files_count) {
mediaSelectorContainer.find('.wpml-media-selector-wrapper-inner').html(response.data.html);
} else {
mediaSelectorRow.remove();
}
checkbox.prop('disabled', false);
}
});
}
function getTargetLanguages() {
var languages = [];
$(':radio[name^="tr_action"][value="1"]:checked', '#icl_tm_languages').each(function () {
languages.push($(this).attr('name').replace(/^tr_action\[/, '').replace(/\]$/, ''));
});
return languages;
}
$('#wpml-media-basket-notice').on('click', hideBasketNotice);
function hideBasketNotice() {
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: {action: 'dismiss_media_basket_notice'},
success: function (response) {
if (response.data.status) {
$('#wpml-media-basket-notice').fadeOut();
}
}
});
}
$('body').on('click', '.js-wpml-media-selector-toggle', toogleMediaList);
function toogleMediaList(event) {
event.preventDefault();
$(this).toggleClass('collapsed');
$('.wpml-media-selector-wrapper').toggle();
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: {action: 'wpml_media_toogle_show_media_selector'}
});
return false;
}
});

View File

@@ -0,0 +1,448 @@
/* globals wpml_media_popup */
jQuery(function ($) {
var dialogBox = $('#wpml-media-dialog');
var dialogForm = $('#wpml-media-dialog-form');
var mediaFileUploadForm = $('#wpml-media-file-upload-form');
dialogBox.dialog({
resizable: false,
draggable: false,
height : 'auto',
width : 800,
autoOpen : false,
modal: true,
closeOnEscape: false,
dialogClass: 'otgs-ui-dialog wpml-media-dialog wpml-dialog-translate',
title: wpml_media_popup.title,
create: function () {
$('#jquery-ui-style-css').prop('disabled', true);
},
open: function (event, ui) {
$('.ui-dialog-titlebar-close', ui.dialog | ui).hide();
repositionDialog();
if (WPML_Media_Batch_Url_Translation.hasDialog) {
WPML_Media_Batch_Url_Translation.reset();
}
},
close: function () {
$('#jquery-ui-style-css').prop('disabled', false);
if (WPML_Media_Batch_Url_Translation.hasDialog) {
WPML_Media_Batch_Url_Translation.showDialog();
}
},
buttons: [
{
text: wpml_media_popup.cancel,
class: 'alignleft',
click: function () {
$(this).find('.spinner').remove();
$(this).dialog('close');
}
},
{
text: wpml_media_popup.save,
class: 'button-primary alignright',
disabled: true,
click: function () {
var thisDialog = $(this);
disableFormSave();
var ajaxLoader = $('<span class="spinner"></span>');
var translationForm = thisDialog.find('form');
ajaxLoader.insertBefore('.wpml-media-dialog .button-primary').css({
visibility: 'visible',
float: 'none'
});
$.ajax({
url: ajaxurl,
type: 'POST',
dataType: 'json',
data: translationForm.serialize(),
success: function (response) {
if (response.success) {
var originalAttachmentId = translationForm.find('input[name="original-attachment-id"]').val();
var translatedLanguage = translationForm.find('input[name="translated-language"]').val();
var mediaTranslationWrap = $('#media-attachment-' + originalAttachmentId + '-' + translatedLanguage);
var batchMediaTranslationWrap = $('#batch-media-translation-wrap');
var isMediaUpload = false;
var isRestoreMedia = false;
if (response.data.thumb) {
mediaTranslationWrap.find('img').attr('src', response.data.thumb).fadeIn();
mediaTranslationWrap.data('thumb', response.data.thumb);
mediaTranslationWrap.data('media-is-translated', 1);
mediaTranslationWrap.find('.otgs-ico-edit').hide();
isMediaUpload = translationForm.find('input[name=update-media-file]').val();
} else {
mediaTranslationWrap.find('img').attr('src', '').hide();
mediaTranslationWrap.data('thumb', '');
mediaTranslationWrap.find('.otgs-ico-edit').show();
mediaTranslationWrap.find('img')
.closest('.js-open-media-translation-dialog')
.removeClass('wpml-media-translation-image');
mediaTranslationWrap.data('media-is-translated', 0);
isRestoreMedia = translationForm.find('input[name=restore-media]').val();
}
if (isMediaUpload || isRestoreMedia) {
WPML_Media_Batch_Url_Translation.createDialog(originalAttachmentId, response.data.usage);
batchMediaTranslationWrap.find('#batch-media-translation-form').show();
batchMediaTranslationWrap.removeClass('notice-success');
batchMediaTranslationWrap.addClass('notice-info');
}
mediaTranslationWrap.attr('title', mediaTranslationWrap.data('language-name') + ': ' +
wpml_media_popup.status_labels[response.data.status]);
mediaTranslationWrap.data('title', $('#media-title-translation').val());
mediaTranslationWrap.data('caption', $('#media-caption-translation').val());
mediaTranslationWrap.data('alt_text', $('#media-alt-text-translation').val());
mediaTranslationWrap.data('description', $('#media-description-translation').val());
if (response.data.attachment_id) {
mediaTranslationWrap.data('attachment-id', response.data.attachment_id);
}
if (mediaTranslationWrap.find('.otgs-ico-add:visible').length) {
var addIcon = mediaTranslationWrap.find('.otgs-ico-add');
addIcon.removeClass('otgs-ico-add').addClass('otgs-ico-edit');
if (response.data.thumb) {
addIcon.hide();
}
if (response.data.thumb) {
mediaTranslationWrap.find('img')
.closest('.js-open-media-translation-dialog')
.addClass('wpml-media-translation-image');
}
}
thisDialog.dialog('close');
ajaxLoader.remove();
translationForm.find('input[name=restore-media]').val(0);
translationForm.find('input[name=update-media-file]').val(0);
}
}
});
}
}
]
});
function disableFormSave() {
$('.wpml-media-dialog .ui-dialog-buttonset .button-primary').prop('disabled', true);
}
function enableFormSave(e) {
if (typeof e !== 'undefined') {
var charCode = (e.which) ? e.which : e.keyCode;
}
if (typeof e === 'undefined' || charCode >= 32 || charCode === 8) {
$('.wpml-media-dialog .ui-dialog-buttonset .button-primary').prop('disabled', false);
}
}
dialogForm.on('keyup', 'input, textarea', enableFormSave);
$(window).resize(repositionDialog);
function repositionDialog() {
var winH = $(window).height() - 180;
$('.wpml-media-dialog').css({
'max-width': '95%'
});
$('.wpml-media-dialog .ui-dialog-content').css({
'max-height': winH
});
dialogBox.dialog('option', 'position', {
my: 'center',
at: 'center',
of: window
});
}
$('.js-open-media-translation-dialog').click(function () {
var attachmentRow = $(this).closest('.wpml-media-attachment-row');
var translatedMedia = $(this).closest('.wpml-media-wrapper');
hideAllMediaTextFields();
resetProgressAnimation();
updateDialogImages(attachmentRow, translatedMedia);
if (translatedMedia.data('media-is-translated')) {
enableUsingTranslatedMediaFile();
} else {
enableUsingOriginalMediaFile();
}
updateDialogFormFields(attachmentRow, translatedMedia);
updateDialogHiddenFormFields(attachmentRow, translatedMedia);
dialogBox.dialog('open');
});
function updateDialogImages(attachmentRow, translatedMedia) {
dialogBox.find('.wpml-header-original .wpml-title-flag img').attr('src', attachmentRow.data('flag'));
dialogBox.find('.wpml-header-translation .wpml-title-flag img').attr('src', translatedMedia.data('flag'));
$('.wpml-media-original-image .wpml-media-original-title')
.html(attachmentRow.data('is-image') ? '' : attachmentRow.data('file-name'));
$('.wpml-media-upload-handle .wpml-media-translated-title')
.html(attachmentRow.data('is-image') || !translatedMedia.data('media-is-translated') ? '' : translatedMedia.data('file-name'));
dialogBox.find('.wpml-header-original strong').html(attachmentRow.data('language-name'));
dialogBox.find('.wpml-header-translation strong').html(translatedMedia.data('language-name'));
var originalImg = dialogBox.find('.wpml-form-row .wpml-media-original-image img');
var translatedImg = dialogBox.find('.wpml-form-row .wpml-media-upload-handle img');
originalImg.attr('src', attachmentRow.data('thumb')).attr('alt', attachmentRow.data('language-code'));
translatedImg.attr('src', translatedMedia.data('thumb') ? translatedMedia.data('thumb') : attachmentRow.data('thumb')).attr('alt', translatedMedia.data('language-code'));
if (!attachmentRow.data('is-image')) {
originalImg.addClass('is-non-image');
translatedImg.addClass('is-non-image');
} else {
originalImg.removeClass('is-non-image');
translatedImg.removeClass('is-non-image');
}
mediaFileUploadForm.find('input:file').attr('accept', attachmentRow.data('mime-type'));
}
function updateDialogFormFields(attachmentRow, translatedMedia) {
if (attachmentRow.data('title')) {
$('#media-title-original').val(attachmentRow.data('title'));
$('#media-title-translation').val(translatedMedia.data('title'));
$('.wpml-form-row-title').show();
}
if (attachmentRow.data('caption')) {
$('#media-caption-original').val(attachmentRow.data('caption'));
$('#media-caption-translation').val(translatedMedia.data('caption'));
$('.wpml-form-row-caption').show();
}
if (attachmentRow.data('alt_text')) {
$('#media-alt-text-original').val(attachmentRow.data('alt_text'));
$('#media-alt-text-translation').val(translatedMedia.data('alt_text'));
$('.wpml-form-row-alt-text').show();
}
if (attachmentRow.data('description')) {
$('#media-description-original').val(attachmentRow.data('description'));
$('#media-description-translation').val(translatedMedia.data('description'));
$('.wpml-form-row-description').show();
}
}
function updateDialogHiddenFormFields(attachmentRow, translatedMedia) {
dialogForm.find('input[name=original-attachment-id]').val(attachmentRow.data('attachment-id'));
dialogForm.find('input[name=translated-attachment-id]').val(translatedMedia.data('attachment-id'));
dialogForm.find('input[name=translated-language]').val(translatedMedia.data('language-code'));
dialogForm.find('input[name=restore-media]').val(0);
mediaFileUploadForm.find('input[name=attachment-id]').val(translatedMedia.data('attachment-id'));
mediaFileUploadForm.find('input[name=original-attachment-id]').val(attachmentRow.data('attachment-id'));
mediaFileUploadForm.find('input[name=language]').val(translatedMedia.data('language-code'));
}
function enableUsingTranslatedMediaFile() {
dialogForm.find('.wpml-media-upload-text').hide();
dialogForm.find('.js-wpml-media-revert').show();
}
function enableUsingOriginalMediaFile() {
dialogForm.find('.wpml-media-upload-text').show();
dialogForm.find('.js-wpml-media-revert').hide();
}
function hideAllMediaTextFields() {
dialogBox
.find('.wpml-form-row-title, .wpml-form-row-caption, .wpml-form-row-alt-text, .wpml-form-row-description')
.hide();
}
function resetProgressAnimation() {
$('.wpml-media-dialog').find('.spinner').remove();
}
dialogBox.find('.js-button-copy').click(function (event) {
event.preventDefault();
var formRow = $(this).closest('.wpml-form-row');
var originalInput = formRow.find('input[id$="original"],textarea[id$="original"]');
var translationInput = formRow.find('input[id$="translation"],textarea[id$="translation"]');
if (translationInput.val() !== originalInput.val()) {
translationInput.val(originalInput.val());
enableFormSave();
}
return false;
});
function triggerMediaUpload(event) {
event.preventDefault();
mediaFileUploadForm.find('input[type=file]').trigger('click');
return false;
}
function restoreMediaFile(event) {
event.preventDefault();
var imagesRow = $(this).closest('.wpml-form-row');
var originalImage = imagesRow.find('.wpml-media-original-image img');
var translatedImage = imagesRow.find('.wpml-media-translation-image img');
dialogForm.find('input[name=update-media-file]').val(0);
translatedImage.attr('src', originalImage.attr('src'));
dialogForm.find('input[name=restore-media]').val(1);
enableUsingOriginalMediaFile();
enableFormSave();
return false;
}
$('.js-wpml-media-revert').on('click', 'a', restoreMediaFile);
dialogBox.find('.wpml-form-row').on('click', '.wpml-media-translation-image', triggerMediaUpload);
mediaFileUploadForm.find('input[type=file]').change(
function () {
var file = $(this)[0].files[0];
var upload = new Upload(file);
upload.doUpload();
}
);
// Async file upload
var Upload = function (file) {
this.file = file;
this.progressBar = $('#wpml-media-upload-progress-animation');
};
Upload.prototype.getType = function () {
return this.file.type;
};
Upload.prototype.getSize = function () {
return this.file.size;
};
Upload.prototype.getName = function () {
return this.file.name;
};
Upload.prototype.doUpload = function () {
var that = this;
var formData = new FormData();
this.resetError();
var attachmentId = 0;
formData.append('file', this.file, this.getName());
var fields = mediaFileUploadForm.serializeArray();
$.each(fields, function (i, field) {
formData.append(field.name, field.value);
if (field.name === 'attachment-id') {
attachmentId = field.value;
}
});
that.progressBar.show();
$.ajax({
type: 'POST',
url: ajaxurl,
xhr: function () {
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) {
myXhr.upload.addEventListener('progress', that.progressHandling, false);
}
return myXhr;
},
success: function (response) {
that.progressBar.hide();
if (response.success) {
var translatedImgTag = dialogBox.find('.wpml-form-row .wpml-media-upload-handle img');
translatedImgTag.attr('src', response.data.thumb);
dialogForm.find('input[name=translated-attachment-id]').val(response.data.attachment_id);
if (translatedImgTag.hasClass('is-non-image')) {
dialogForm.find('.wpml-media-translated-title').html(response.data.name);
}
enableFormSave();
dialogForm.find('input[name=update-media-file]').val(1);
enableUsingTranslatedMediaFile();
// Reset 'file' field
mediaFileUploadForm.find('input[type=file]').val('');
} else {
that.setError(response.data);
}
},
async: true,
data: formData,
cache: false,
contentType: false,
processData: false,
timeout: 60000
});
};
Upload.prototype.progressHandling = function (event) {
var percent = 0;
var position = event.loaded || event.position;
var total = event.total;
var progress_bar_id = '#wpml-media-upload-progress-animation';
if (event.lengthComputable) {
percent = Math.ceil(position / total * 100);
}
$(progress_bar_id + ' .upload-progress-bar').css('width', +percent + '%');
$(progress_bar_id + ' .status').text(percent + '%');
};
Upload.prototype.setError = function (text) {
$('#wpml-media-upload-error').html(text);
};
Upload.prototype.resetError = function () {
this.setError('');
};
function showTextsChangedNotice(e) {
var charCode = (e.which) ? e.which : e.keyCode;
if (charCode >= 32 || charCode === 8) {
dialogBox.find('.text-change-notice').show();
}
}
dialogForm.on('keyup', 'input, textarea', showTextsChangedNotice);
function dismissTextsChangedNotice() {
dialogBox.find('.text-change-notice').fadeOut();
$.ajax({
type: 'POST',
url: ajaxurl,
data: {action: 'wpml_media_editor_text_edit_notice_dismissed'},
success: function () {
},
});
return false;
}
dialogBox.find('.text-change-notice').on('click', '.notice-dismiss', dismissTextsChangedNotice);
});

View File

@@ -0,0 +1,63 @@
jQuery(function ($) {
"use strict";
var notice = $('#wpml-media-welcome-notice');
notice.on('click', '.js-toggle', toggleWelcomeNotice);
notice.on('click', '.js-dismiss', dismissWelcomeNotice);
function toggleWelcomeNotice() {
notice.toggleClass('minimized expanded');
var a = $(this);
var altText = a.html();
a.html(a.data('alt-text'));
a.data('alt-text', altText);
jQuery.ajax({
url: ajaxurl,
type: 'post',
data: {
action: wpmlMediaWelcomeNotice.toggleAjaxAction,
nonce: wpmlMediaWelcomeNotice.nonce
}
})
return false;
}
function dismissWelcomeNotice() {
notice.fadeOut(function () {
$(this).remove();
$('.icl_tm_wrap .overlay').remove();
});
jQuery.ajax({
url: ajaxurl,
type: 'post',
data: {
action: wpmlMediaWelcomeNotice.dismissAjaxAction,
nonce: wpmlMediaWelcomeNotice.nonce
}
})
return false;
}
if (!notice.is(':visible')) {
var overlay = $('<div class="overlay"></div>');
var tmWrap = $('.icl_tm_wrap');
overlay.append(notice)
tmWrap.prepend(overlay);
notice.show();
}
notice.on('click', '.wpml-external-link, .button-lg', function (event) {
var url = $(this).attr('href');
window.open(url, $(this).attr('target'));
notice.find('.js-dismiss').show();
event.preventDefault();
return false;
})
});

View File

@@ -0,0 +1,58 @@
/* globals wpml_media_basket_notice_data */
var WPML_Media_Submitted_Basket_Notice = WPML_Media_Submitted_Basket_Notice || {};
jQuery(function ($) {
"use strict";
var form = jQuery('#translation-jobs-translators-form');
form.on('wpml-tm-basket-submitted', function(){
var dialogBox = $('#submitted-basket-notice-dialog');
dialogBox.dialog({
modal:true,
closeOnEscape: false,
dialogClass: "no-close otgs-ui-dialog",
resizable: false,
draggable: false,
width: 600,
open: function() {
repositionDialog();
wpmlTMBasket.dialogs.push( 'media' );
wpmlTMBasket.redirect = false;
},
buttons: [
{
text: wpml_media_basket_notice_data.button_label,
class: 'button-primary',
click: function() {
dialogBox.dialog('close');
}
}
],
close: function() {
wpmlTMBasket.dialogs.splice( wpmlTMBasket.dialogs.indexOf( 'media' ), 1 );
if(0 === wpmlTMBasket.dialogs.length) {
location.href = dialogBox.data('redirect-url');
}
}
});
$(window).resize(repositionDialog);
function repositionDialog() {
var winH = $(window).height() - 180;
$(".otgs-ui-dialog .ui-dialog-content").css({
"max-height": winH
});
$(".otgs-ui-dialog").css({
"max-width": "95%"
});
dialogBox.dialog("option", "position", {
my: "center",
at: "center",
of: window
});
}
});
});

View File

@@ -0,0 +1,101 @@
var WPML_Media_2_3_0_Upgrade = WPML_Media_2_3_0_Upgrade || {};
jQuery(function ($) {
"use strict";
var updateContainer = $("#wpml-media-2-3-0-update");
var updateButton = updateContainer.find(".button-primary");
var spinner = updateContainer.find(".spinner");
var nonce = updateContainer.find("input[name=nonce]").val();
var statusContainer = updateContainer.find('.status');
var mediaFlagNoticeContainer = false;
if ($('#wpml-media-posts-media-flag').length) {
mediaFlagNoticeContainer = $('#wpml-media-posts-media-flag');
} else if ($('.otgs-notice[data-id=wpml-media-posts-media-flag]').length) {
mediaFlagNoticeContainer = $('.otgs-notice[data-id=wpml-media-posts-media-flag]');
}
if (mediaFlagNoticeContainer) {
mediaFlagNoticeContainer.hide();
$('.wrap-wpml-media-upgrade h2').hide();
}
updateButton.on("click", function () {
showProgress();
runUpgrade();
});
function showProgress() {
spinner.css({visibility: "visible"});
updateButton.prop("disabled", true);
}
function hideProgress() {
spinner.css({visibility: "hidden"});
updateButton.prop("disabled", false);
}
function setStatus(statusText) {
statusContainer.html(statusText);
}
function runUpgrade() {
var data = {
action: "wpml_media_2_3_0_upgrade",
nonce: nonce,
step: "reset-new-content-settings"
};
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
if (response.data.status) {
setStatus(response.data.status);
}
runAttachmentMigration(0, 1, 0);
}
});
}
function runAttachmentMigration(offset, batchSizeFactor, timestamp) {
var data = {
action: "wpml_media_2_3_0_upgrade",
nonce: nonce,
step: "migrate-attachments",
offset: offset,
batch_size_factor: batchSizeFactor,
timestamp: timestamp
};
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
if (response.data.status) {
setStatus(response.data.status);
}
if (response.data.goon) {
runAttachmentMigration(response.data.offset, response.data.batch_size_factor, response.data.timestamp);
} else {
if (mediaFlagNoticeContainer) {
$('#wpml-media-2-3-0-update').hide();
if (mediaFlagNoticeContainer.find('input.button-primary').length) {
mediaFlagNoticeContainer.show();
mediaFlagNoticeContainer.find('input.button-primary').trigger('click');
} else {
location.href = mediaFlagNoticeContainer.find('a').attr('href')+'&run_setup=1&redirect_to='+location.href;
}
} else {
hideProgress();
location.reload();
}
}
}
});
}
});

View File

@@ -0,0 +1,164 @@
var WPML_Media_Posts_Media_Flag = WPML_Media_Posts_Media_Flag || {};
jQuery(function ($) {
"use strict";
var updateContainer = $('#wpml-media-posts-media-flag');
var updateButton = updateContainer.find('.button-primary');
var spinner = updateContainer.find('.spinner');
var prepareAction = updateContainer.data('prepareAction');
var prepareNonce = updateContainer.data('prepareNonce');
var processAction = updateContainer.data('processAction');
var processNonce = updateContainer.data('processNonce');
var statusContainer = updateContainer.find('.status');
function getQueryParams(qs) {
qs = qs.split('+').join(' ');
var params = {},
tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
}
return params;
}
var queryParams = getQueryParams(location.search);
if (queryParams.run_setup) {
showProgress();
runSetup();
}
updateButton.on("click", function () {
showProgress();
runSetup();
});
function showProgress() {
spinner.css({visibility: "visible"});
updateButton.prop("disabled", true);
}
function hideProgress() {
spinner.css({visibility: "hidden"});
updateButton.prop("disabled", false);
}
function setStatus(statusText) {
statusContainer.html(statusText);
}
function runSetup() {
var data = {
action: prepareAction,
nonce: prepareNonce
};
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
handleResponse(response);
if (!response.success) {
return;
}
if (response.data.status) {
setStatus(response.data.status);
}
setInitialLanguage();
},
error: function (jqXHR, status, error) {
statusContainer.html(jqXHR.statusText || status || error);
}
});
}
function handleResponse(response) {
var error = [];
if (response.error) {
error.push(response.error);
}
if (!response.success && response.data) {
error.push(response.data);
}
if (error.length) {
statusContainer.html('<pre>' + error.join('</pre><pre>') + '</pre>');
}
}
function setInitialLanguage() {
var data = {
action: processAction,
nonce: processNonce
};
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
handleResponse(response);
if (!response.success) {
return;
}
var message = response.message ? response.message : response.data.message;
setStatus(message);
setHasMediaFlag(0);
},
error: function (jqXHR, status, error) {
statusContainer.html(jqXHR.statusText || status || error);
}
});
}
function setHasMediaFlag(offset) {
var data = {
action: processAction,
nonce: processNonce,
offset: offset
};
$.ajax({
url: ajaxurl,
type: "POST",
dataType: "json",
data: data,
success: function (response) {
handleResponse(response);
if (!response.success) {
return;
}
if (response.data.status) {
setStatus(response.data.status);
}
if (response.data.continue) {
setHasMediaFlag(response.data.offset);
} else {
if (queryParams.redirect_to) {
location.href = queryParams.redirect_to;
} else {
location.reload();
}
}
},
error: function (jqXHR, status, error) {
statusContainer.html(jqXHR.statusText || status || error);
}
});
}
});