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})
            })
        }
    })
    
    })