File "pages.js"
Full Path: /www/wwwroot/shphe-en.com/wp-content/plugins/proofreading/resource/js/pages.js
File size: 25.29 KB
MIME-type: --
Charset: utf-8
$(function () {
function langConTab(){
$(".nav_information_items_wrap > li .form-group .form-item.radio_item").css("display","flex");
$(".table-language-list").show();
$("#json-table-img").hide();
$(".content_text").click(function() {
$(this).addClass("active");
$("#json-table").show();
$("#json-table-img").hide();
$(".content_image").removeClass("active");
});
$(".content_image").click(function() {
$(this).addClass("active");
$("#json-table").hide();
$("#json-table-img").show();
$(".content_text").removeClass("active");
});
$('.change_image').each(function(k,v){
var button = $("#chandgeimage"+k);
new AjaxUpload(button, {
//action: 'upload-test.php',文件上传服务器端执行的地址
action: '/wp-admin/async-upload.php?action=upload-attachment&_wpnonce='+$("#json-table-img").attr("wpnonce"),
name: 'async-upload',
onSubmit: function (file, ext) {
if (!(ext && /^(jpg|jpeg|JPG|JPEG|png|PNG)$/.test(ext))) {
alert('图片格式不正确,请选择 jpg,png 格式的文件!', '系统提示');
return false;
}
// change button text, when user selects file
// layer.msg("上传中");
layer.msg("上传中",{
icon:16,
time:-1
})
},
onComplete: function (file, response) {
layer.closeAll();
var res = JSON.parse(response);
var src = res.data.url;
button.attr("src",src);
button.parent().find(".change_value").val(src);
}
});
});
}
// tab 切换选项卡
$('#page_tables a').click(function (e) {
e.preventDefault()
$(this).tab('show')
})
new Sortable($(".prisna-wp-translate-seo-test").get(0), {
handle: ".language-flag",
ghostClass: "blue-background-class",
animation: 150
});
// 语言选择充值
$('select[name=language], select[name=path]').change(function () {
$('#json-table').html('');
})
let is_sure = false
function getJson(t){
let path = $('select[name=path]').val()
let language = $('select[name=language]').val()
if (!path) {
layer.msg('请选择需要校对的页面!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000});
return false;
}
if (!language) {
layer.msg('请选择需要校对的语言!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
return false;
}
let lay_index = layer.load(1, {
shade: [0.5,'#000']
});
$.post('/wp-content/plugins/proofreading/api.php?type=get_json', {'path': path, 'language': language,"t":t}, function (result) {
layer.close(lay_index);
result = JSON.parse(result);
if (result['status'] == 1) {
is_sure = true
let data = result['data'];
$('#json-table').html('');
for (let i in data) {
var k = 0;
if(i == "imgs"){
$('#json-table-img').html('');
console.log(data[i]);
for (let src in data[i]) {
let ns = data[i][src];
let html = '<tr class="old_string json_img_tr" >'
+ ' <td class="json_img_td">'
+ ' <input type="hidden" data-value="'+src+'" class="source" value="'+src+'">'
+ ' <input type="hidden" class="default_value" value="'+src+'"> '
+ ' <img class="src-img" src="'+src+'"></td> '
+ ' <td style="text-align: center; vertical-align: middle; width: 50px;"> >> </td>'
+ ' <td class="json_img_td"><input type="hidden" class="change_value" data-type="imgs" value="'+ns+'"> <img class="src-img change_image" id="chandgeimage'+k+'" src="'+ns+'"> </td> '
+ ' </tr>'
$('#json-table-img').append(html);
k++;
}
layer.closeAll();
}else if(i == "imgs_js"){
for (let file in data[i]) {
let ns = data[i][file];
for (let src in ns) {
var newjs = data[i][file][src];
let html = '<tr class="old_string json_img_tr" >'
+ ' <td class="json_img_td">'
+ ' <input type="hidden" data-value="'+src+'" class="source" value="'+src+'">'
+ ' <input type="hidden" class="default_value" value="'+src+'"> '
+ ' <img class="src-img" src="'+src+'"></td> '
+ ' <td style="text-align: center; vertical-align: middle; width: 50px;"> >> </td>'
+ ' <td class="json_img_td"><input type="hidden" class="change_value" data-type="imgs_js" value="'+newjs+'"> <img class="src-img change_image" id="chandgeimage'+k+'" src="'+newjs+'"> </td> '
+ ' </tr>'
$('#json-table-img').append(html);
k++;
}
}
layer.closeAll();
}else{
for (let j in data[i]) {
let json = data[i][j]
if (json != '' || j != '') {
var key = $.base64.encode(j);
html = '<tr class="old_string"> <td> <textarea class="language-textarea source" data-value=\'' + key+ '\' rows="4" disabled>' + j + '</textarea> </td> <td style="text-align: center; vertical-align: middle; width: 50px;"> >> </td> <td> <textarea class="language-textarea change_value" data-type="texts" rows="4">' + json + '</textarea><textarea class="default_value" rows="4" style="display: none">' + json + '</textarea> </td> </tr>';
$('#json-table').append(html);
}
}
$('.json-box').show();
layer.closeAll();
}
}
langConTab()
} else {
layer.msg(result.msg, {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
}
})
}
var path = $("select[name=path]").val()
var language = $("select[name=language]").val()
if(path && language){
getJson()
}
// 获取需要校对的语言
$('.getJson').on('click', function () {
var t = $(this).attr("data-t");
getJson(t);
})
// 添加校对文本
$('#addText').unbind('click').bind('click', function () {
if (is_sure === false) {
layer.msg('请先确定校对语言和页面!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000});
return false;
}
let html = '<tr class="new-string"> <td> <textarea class="language-textarea new_string_key" rows="4"></textarea> </td> <td style="text-align: center; vertical-align: middle; width: 50px;"> >> </td> <td> <textarea class="language-textarea new_string_value" rows="4"></textarea></tr>';
$('#json-table').prepend(html);
})
// 修改按钮提交
$('.change-button').unbind('click').bind('click', function () {
let chang_data = [];
let new_data = [];
let status = $(this).attr('data-type');
// 组合修改的数据
$('#json-table .change_value').each(function () {
let old_string = $(this).parents('tr').find('.default_value').val();
let new_string = $(this).val();
let type = $(this).attr("data-type");
let source_string = $(this).parents('tr').find('.source').attr('data-value');
if (old_string != new_string) {
chang_data.push({
'source': source_string,
'new_string': new_string,
'type':type
})
}
})
// 组合修改的数据
$('#json-table-img .change_value').each(function () {
let old_string = $(this).parents('tr').find('.default_value').val();
let new_string = $(this).val();
let type = $(this).attr("data-type");
let source_string = $(this).parents('tr').find('.source').attr('data-value');
if (old_string != new_string) {
chang_data.push({
'source': source_string,
'new_string': new_string,
'type':type
})
}
})
// 组合新添加的数据
$('#json-table .new-string').each(function () {
let key = $(this).find('.new_string_key').val()
let value = $(this).find('.new_string_value').val()
if (key !== null && key !== undefined && key !== '' && value !== null && value !== undefined && value !== '') {
new_data.push({
key: key,
value: value
})
}
})
if (chang_data.length > 0 || new_data.length > 0) {
let path = $('select[name=path]').val()
let language = $('select[name=language]').val()
if (!path) {
layer.msg('请选择需要校对的页面!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000});
return false;
}
if (!language) {
layer.msg('请选择需要校对的语言!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
return false;
}
let ajax_data = {
'status' : status,
'path' : path,
'language' : language,
'language_data': {
change_data: chang_data,
new_data: new_data
}
};
let lay_index = layer.load(1, {
shade: [0.5,'#000']
});
var iner_index ;
$.post('/wp-content/plugins/proofreading/api.php?type=proofreading', ajax_data, function (result) {
result = JSON.parse(result);
if (parseInt(result.status) === 1) {
layer.close(lay_index);
layer.msg(result.msg, {icon: 1, shade: [0.3, '#393D49'], shadeClose: true, time: 1000}, function () {
getJson();
language = language.toLowerCase();
let domain_host = window.location.host
let location_url = '/wp-content/cache/all/' + language + path
if (domain_host.indexOf('quanqiusou.cn') === -1 && domain_host.indexOf('goodao.net') === -1) {
location_url = '/' + language + path
}
if (parseInt(status) === 2) {
$.post('/wp-content/plugins/proofreading/api.php?type=proofreading_success', {'language' : language})
}
window.open(location_url);
})
}else if(parseInt(result.status) === 2){
iner_index = setInterval(function(){
$.get('/wp-content/plugins/proofreading/api.php?type=get_num', {'language' : language},function(res){
console.log(res);
if(res <1){
clearInterval(iner_index);
layer.close(lay_index);
layer.msg(result.msg, {icon: 1, shade: [0.3, '#393D49'], shadeClose: true, time: 1000}, function () {
getJson();
language = language.toLowerCase();
let domain_host = window.location.host
let location_url = '/wp-content/cache/all/' + language + path
if (domain_host.indexOf('quanqiusou.cn') === -1 && domain_host.indexOf('goodao.net') === -1) {
location_url = '/' + language + path
}
if (parseInt(status) === 2) {
$.post('/wp-content/plugins/proofreading/api.php?type=proofreading_success', {'language' : language})
}
window.open(location_url);
})
}
});
},3000);
} else {
layer.close(lay_index);
layer.msg(result.msg, {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
}
})
} else {
layer.msg('没有做任何修改!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000});
return false;
}
})
// 语言选择页面 js
// 未封装
// 全选、反选
let all_box = $('input.check-all');
let one_box = $("input.check-language");
all_box.on('click', function (event) {
if($(this).attr('checked')){
$(this).attr('checked',false);
one_box.attr({'checked': false})
one_box.prop({'checked': false})
}else{
$(this).attr('checked',true)
one_box.attr({'checked': true})
one_box.prop({'checked': true})
}
})
// 单个选择
one_box.on('click', function(event) {
if($(this).attr('checked')){
$(this).attr('checked',false);
}else{
$(this).attr('checked',true)
}
is_all_checked()
});
function is_all_checked()
{
let flag = false
one_box.each(function(index, val) {
if($(val).attr('checked')){
flag = true;
}else{
flag = false;
return false;
}
});
if (flag) {
all_box.attr('checked', true);
all_box.prop('checked', true);
}else{
all_box.attr('checked', false);
all_box.prop('checked', false);
}
}
$(function () {
is_all_checked()
})
$(".save-trans").unbind("click").bind("click", function () {
let language_all = [];
let language_choose = [];
let link_type = $('select[name=link_type]').find('option:selected').val()
let is_start = $('input.is_start').is(':checked') ? 1 : 2;
let is_open_customer_proofreading = $('input.is_open_customer_proofreading').is(':checked') ? 1 : 2;
$("input[name=trans_box_choose]:checkbox").each(function () {
let value = $(this).parents(".language-flag").attr("data-value");
if (true === $(this).is(":checked")) {
language_choose.push(value)
}
language_all.push(value)
})
var domain = $(this).attr("domain");
let data = {
domain: $(this).attr("domain"),
language_choose: language_choose,
link_type: link_type,
is_start: is_start,
is_open_customer_proofreading: is_open_customer_proofreading
}
$.get("/wp-content/plugins/proofreading/api.php?type=getlen", {domain:domain}, function (result) {
result = JSON.parse(result);
if(result.leng == 0){
layer.open({
title: '翻译进度',
area: '500px',
shadeClose: false,
shade: 0.35,
skin: 'contanct-class',
anim: Math.ceil(Math.random() * 6),
btn:false,
content: '<div class="layui-progress"><div class="layui-progress-bar" lay-percent="70%"><span class="layui-progress-text">0/'+result.total+'</span></div></div>',
success:function(){
}
});
$.post("/wp-content/plugins/proofreading/api.php?type=transLanguage", data, function (result) {
setTimeout(function(){
$.get("https://"+domain+"/trans/run.php", {domain:domain}, function (result) {
console.log(result);
})
},3000);
setTimeout(function(){
var timer = setInterval(function(){
$.get("/wp-content/plugins/proofreading/api.php?type=getlen", {domain:domain}, function (result) {
result = JSON.parse(result);
if(result.leng == 0){
clearInterval(timer);
$(".layui-progress-bar").css("width",result.prent);
$(".layui-progress-text").html("完成");
}else{
$(".layui-progress-bar").css("width",result.prent);
$(".layui-progress-text").html(result.page+"/"+result.total);
}
})
},3000)
},2000)
})
}else{
layer.open({
title: '翻译进度',
area: '500px',
shadeClose: false,
shade: 0.35,
skin: 'contanct-class',
anim: Math.ceil(Math.random() * 6),
btn:false,
content: '<div class="layui-progress"><div class="layui-progress-bar" lay-percent="70%"><span class="layui-progress-text">'+result.page+'/'+result.total+'</span></div></div>',
success:function(){
var timer = setInterval(function(){
$.get("/wp-content/plugins/proofreading/api.php?type=getlen", {domain:domain}, function (result) {
result = JSON.parse(result);
if(result.leng == 0){
clearInterval(timer);
$(".layui-progress-bar").css("width",result.prent);
$(".layui-progress-text").html("完成");
}else{
$(".layui-progress-bar").css("width",result.prent);
$(".layui-progress-text").html(result.page+"/"+result.total);
}
})
},3000)
}
});
}
})
})
$(".save-language").unbind("click").bind("click", function () {
let language_all = [];
let language_choose = [];
let link_type = $('select[name=link_type]').find('option:selected').val()
let is_start = $('input.is_start').is(':checked') ? 1 : 2;
let is_open_customer_proofreading = $('input.is_open_customer_proofreading').is(':checked') ? 1 : 2;
$("input[name=check_box_choose]:checkbox").each(function () {
let value = $(this).parents(".language-flag").attr("data-value");
if (true === $(this).is(":checked")) {
language_choose.push(value)
}
language_all.push(value)
})
let data = {
language_all: language_all,
language_choose: language_choose,
link_type: link_type,
is_start: is_start,
is_open_customer_proofreading: is_open_customer_proofreading
}
$.post("/wp-content/plugins/proofreading/api.php?type=chooseLanguage", data, function (result) {
result = JSON.parse(result);
if (parseInt(result.status) === 1) {
layer.msg(result.msg, {icon: 1, shade: [0.3, "#393D49"], shadeClose: true, time: 1000})
} else {
layer.msg(result.msg, {icon: 5, shade: [0.3, "#393D49"], shadeClose: true, time: 1000})
}
})
})
// 输入密码页面样式
$('#confirm').unbind('click').bind('click', function() {
let password = $('input[name=password]').val()
if (!password || password.length < 6) {
layer.msg('请输入至少6位数的密码!', {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
return false;
}
$.post('/wp-content/plugins/proofreading/api.php?type=changePassword', {password: password}, function (result) {
result = JSON.parse(result);
if (parseInt(result.status) === 1) {
layer.msg(result.msg, {icon: 1, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
} else {
layer.msg(result.msg, {icon: 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
}
})
})
$("#id_select2_demo1").select2();
$("#id_select2_demo2").select2();
$("#clear-bakfile").click(function(){
let path = $('select[name=path]').val()
let language = $('select[name=language]').val()
layer.confirm('清空较对缓存后较对文本将不会保留,确认清空较对缓存吗?',{
btn:['确定','取消'],
cancel:function(index, layero){
console.log('关闭x号');
}
},function () {
layer.close(layer.index);
$.post('/wp-content/plugins/proofreading/api.php?type=clearPFilebak',{path:path,language:language}, function (result) {
result = JSON.parse(result);
layer.msg(result.msg, {icon: parseInt(result.status) === 1 ? 1 : 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
})
},function(){
console.log(22);
});
})
$('.pages-title-tab > li').unbind('click').bind('click', function () {
let id = $(this).attr('id');
var domain = $(this).attr('domain');
let index = $(this).index()
if (id !== 'clear-cache') {
$(this).addClass('active').siblings('li').removeClass('active')
$('.tab-button-list >ul > li').eq(index).addClass('active').siblings('li').removeClass('active')
$('.nav_information_items_wrap > li').eq(index).addClass('active').siblings('li').removeClass('active')
if(id == "trans"){
}
} else {
$.post('/wp-content/plugins/proofreading/api.php?type=clearPagesCache', function (result) {
result = JSON.parse(result);
layer.msg(result.msg, {icon: parseInt(result.status) === 1 ? 1 : 5, shade: [0.3, '#393D49'], shadeClose: true, time: 1000})
})
}
})
})