Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content
/
plugins
/
proofreading
:
proofreading.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Plugin Name: 翻译校对 * Plugin URI: # * Description: 翻译校对 * Version: 2.0.00 * Author: zhang chao * Author URI: # */ add_action('admin_menu', 'proofreading'); function proofreading() { add_menu_page('翻译校对', '翻译校对', 7, 'proofreading'); add_submenu_page('proofreading', '翻译校对', '翻译校对', 7, 'proofreading', 'proofreading_data'); } function proofreading_data () { require_once dirname(__FILE__) . '/services/FileService.php'; $service = new FileService(); $pages = $service->pages; $language = file_get_contents(dirname(__FILE__) . '/json/language.json'); $language = json_decode($language, true); file_put_contents(dirname(__FILE__) . '/json/language.json',json_encode($language,JSON_UNESCAPED_UNICODE)); // 缓存平台域名 $cdn_setting = get_option("gd_cdn_setting"); $domain = isset($cdn_setting['weburl']) && !empty($cdn_setting['weburl']) ? $cdn_setting['weburl'] : ''; $wsdomain = parse_url($domain); $testdomain = $_SERVER["HTTP_HOST"]; $service->getUserConfig('web_url_domain', $domain); $service->getUserConfig('home_url_no', home_url()); $service->getUserConfig('home_url', home_url("/")); $link_type = (int)$service->getUserConfig('link_type'); $link_type = $link_type > 0 ? $link_type : 1; $link_select1 = $link_type == 1 ? 'selected' : ''; $link_select2 = $link_type == 2 ? 'selected' : ''; $user_language_path = dirname(__FILE__) . '/json/user_language.json'; if (file_exists($user_language_path)) { $user_language = file_get_contents(dirname(__FILE__) . '/json/user_language.json'); $user_language = json_decode($user_language, true); $user_language_keys = !empty($user_language) || !is_null($user_language) ? array_column($user_language, 'short') : []; } else { $user_language = []; $user_language_keys = []; } // 选择页面 语种选择组装 $choose_language_list = count($user_language) > 0 ? $user_language : $language; $pr_language_html = ''; foreach ($choose_language_list as $ll) { if($ll['short'] == $_GET["language"]){ $pr_language_html .= '<option value="' . $ll['short'] . '" selected>' . $ll['chinese'] . '</option>'; }else{ $pr_language_html .= '<option value="' . $ll['short'] . '">' . $ll['chinese'] . '</option>'; } } // 获取用户所有配置 $user_config = $service->getUserConfigAll(); $is_start = isset($user_config['is_start']) ? (int)$user_config['is_start'] : 2; $is_start_checked = $is_start == 1 ? 'checked' : ''; $is_open_customer_proofreading = isset($user_config['is_open_customer_proofreading']) ? (int)$user_config['is_open_customer_proofreading'] : 2; $is_open_customer_proofreading_checked = $is_open_customer_proofreading == 1 ? 'checked' : ''; $open_customer_proofreading_html = $is_open_customer_proofreading == 1 ? '<div class="form-button form-waring" id="addText">添加校对文本</div>' : ''; $user_password = isset($user_config['password']) ? $user_config['password'] : ''; // 页面选择列表 $pages_html = ''; foreach ($pages as $value) { $path = parse_url($_GET["jump_url"]); if($value['path'] == $path['path']){ $pages_html .= '<option value="' . $value['path'] . '" selected>' . $value['path'] . '</option>'; }else{ $pages_html .= '<option value="' . $value['path'] . '">' . $value['path'] . '</option>'; } } // 所有语言和一选择的语言列表 $language_string = '<ul class="prisna-wp-translate-seo prisna-wp-translate-seo-test" id="prisna-translator-seo">'; foreach ($language as $item) { $is_checked = in_array($item['short'], $user_language_keys) ? 'checked' : ''; $language_string .= '<li class="language-flag language-flag-' . $item['short'] . '" data-value="' . $item['short'] . '"> <label><input type="checkbox" name="check_box_choose" class="check-box check-language" ' . $is_checked . '> <a href="javascript:;"> <b class="country-flag"></b> <span>' . $item['chinese'] . '</span> </a> </label> </li>'; } $language_string .= '</ul>'; // 所有语言和一选择的语言列表 $trans_language_string = '<ul class="prisna-wp-translate-seo prisna-wp-translate-seo-test" id="prisna-translator-seo">'; foreach ($language as $item) { $is_checked = in_array($item['short'], $user_language_keys) ? 'checked' : ''; $trans_language_string .= '<li class="language-flag language-flag-' . $item['short'] . '" data-value="' . $item['short'] . '"> <label><input type="checkbox" name="trans_box_choose" class="check-box check-language" ' . $is_checked . '> <a href="javascript:;"> <b class="country-flag"></b> <span>' . $item['chinese'] . '</span> </a> </label> </li>'; } $trans_language_string .= '</ul>'; // 多语言校对连接 $more_language_url = home_url() . '/admin/plugins/proofreading/index.php'; echo '<!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"> <title></title> <link rel="stylesheet" type="text/css" href="/wp-content/plugins/proofreading/resource/css/global.css"> <link rel="stylesheet" type="text/css" href="/wp-content/plugins/proofreading/resource/css/pages.css?v=10"> <link rel="stylesheet" type="text/css" href="/wp-content/plugins/proofreading/resource/css/language.css"> <link rel="stylesheet" type="text/css" href="/wp-content/plugins/proofreading/resource/select2/select2.min.css"> <style> .nav_information_items_wrap > li .form-group .form-item.radio_item,.table-language-list{display:none;} .radio_label{margin-right:20px;} .radio_label input[name=source_type]{ margin-right:6px} .content_image{width:80px;cursor: pointer;} .content_text{width:80px;cursor: pointer;} .content_lable{display:flex;text-align:center;border-bottom:1px solid #e9efff;margin-bottom:10px} .content_lable .active{ background:#e9efff } .src-img{ height:200px } .json_img_tr{ border-bottom:1px solid #e9efff; } .json_img_td{ text-align:center; padding:5px; width:49% } .layui-progress{ position: relative; border-radius: 20px; background-color: #eee; height: 18px; line-height: 18px; } .layui-progress-bar{ position: absolute; left: 0; top: 0; width: 0; max-width: 100%; height: 18px; border-radius: 20px; text-align: right; background-color: #5FB878; transition: all .3s; -webkit-transition: all .3s; } .layui-progress-text{ position: static; padding: 0 10px; color: #fff; line-height: 18px; font-size: 12px; word-break: normal; } </style> </head> <body> <div class="sys-page"> <div class="ai-biz-panel ai-biz-top"> <div class="panel-body"> <div class="d-table d-table-middle"> <div class="fee-tips tb-cell"> <p class="fee-tips-msg"><b>翻译校对:</b>翻译校对已正式上线 </p> </div> </div> </div> </div> <div class="ai-biz-panel ai-biz-list "> <div class="ai-trade-panel add_ai_content"> <div class="add_ai_content_left full-left"> <div class="add_ai_content_left_title pages-title-style"> <ul class="pages-title-tab"> <li class="tab-item active"><span>翻译校对</span></li> <li class="tab-item"><span>校对配置</span></li> <li class="tab-item"><span>专业校对</span></li> <li class="tab-item" id="clear-cache"><span>清除翻译缓存</span></li> <!-- <li class="tab-item" id="trans" domain="'.$wsdomain["host"].'"><span>翻译全部</span></li> --> </ul> </div> <div class="information_items nav_information_items"> <ul class="nav_information_items_wrap loading"> <li class="active"> <div class="form-group"> <div class="form-item"> <p class="form-title">选择页面:</p> <div class="form-input"> <select class="form-control" name="path" id="id_select2_demo1" style="width: 280px"> <option value="">请选择需要校对的页面</option> ' . $pages_html . ' </select> </div> </div> <div class="form-item"> <p class="form-title">选择语种:</p> <div class="form-input"> <select class="form-control" name="language" id="id_select2_demo2" style="width: 280px"> <option value="">请选择需要校对的语种</option> '. $pr_language_html .' </select> </div> <div data-t="0" class="form-button getJson" > 确认 </div> <div data-t="1" class="form-button getJson"> 同步翻译 </div> ' . $open_customer_proofreading_html . ' </div> </div> <div class="table-language-list"> <div class="content_lable"> <div class="content_text active">文本</div> <div class="content_image">图片</div> </div> <table id="json-table"></table> <table id="json-table-img" wpnonce = '.wp_create_nonce('media-form').'> <tr> <td>还没有图片数据<td> </tr> </table> </div> </li> <li> <div class="all-choose-box" style="margin: 20px 0;"> <label class="ipt-addon-group"> <input type="checkbox" class="check-box check-all"> <span class="mb-show-only" style="display: inline;">全选</span> </label> </div> <div class="language-list"> ' . $language_string . ' </div> </li> <li> <div class="form-group"> <div class="form-item"> <p class="form-title">设置校对密码:</p> <div class="form-input"> <input type="text" name="password" placeholder="请设置密码" value="' . $user_password . '"> </div> <div class="form-button" id="confirm"> 确认 </div> </div> <div class="form-item"> <p class="form-title"> <a href="' . $more_language_url . '" target="_blank" style="color: #4680fe">专业校对链接: ' . $more_language_url . ' </a> </p> </div> </div> <div class="table-language-list"> <table id="json-table"></table> </div> </li> <li></li> <li> <div class="all-choose-box" style="margin: 20px 0;"> <label class="ipt-addon-group"> <input type="checkbox" class="check-box check-all"> <span class="mb-show-only" style="display: inline;">全选</span> </label> </div> <div class="language-list"> ' . $trans_language_string . ' </div> </li> </ul> <div id="page" class="page_btn tab-button-list"> <ul> <li class="active"> <div class="button-list"> <button class="button button-pri change-button" data-type="1">修改当前页面</button> <button class="button button-war change-button" data-type="2">修改所有页面</button> <!--<button class="button button-war " style="background: #e2a818;" id="clear-bakfile">清除较对备份</button>--> </div> </li> <li> <div class="choose_language_button"> <div class="choose_all_box"> <label>选择链接格式:</label> <select name="link_type" style="width: 180px;"> <option value="1" ' . $link_select1 .'>二级域名</option> <option value="2" ' . $link_select2 .'>二级目录</option> </select> <label class="ipt-addon-group"> <input type="checkbox" class="check-box is_start" ' . $is_start_checked . '> <span class="mb-show-only" style="display: inline;">是否启用</span> </label> <label class="ipt-addon-group"> <input type="checkbox" class="check-box is_open_customer_proofreading" ' . $is_open_customer_proofreading_checked . '> <span class="mb-show-only" style="display: inline;">是否开启自定义校对文本</span> </label> </div> <div class="choose_true_button"> <button class="button button-pri save-language">确认</button> </div> </div> </li> <li></li> <li></li> <li> <div class="choose_true_button"> <button class="button button-pri save-trans" domain="'.$wsdomain["host"].'">确认</button> </div> </li> </ul> </div> </div> </div> </div> </div> </div> </body> <script src="/wp-content/plugins/proofreading/resource/js/jquery-2.1.4.min.js"></script> <script src="/wp-content/plugins/proofreading/resource/select2/select2.min.js"></script> <script src="/wp-content/plugins/proofreading/resource/layer/layer.js"></script> <script src="/wp-content/plugins/proofreading/resource/sortable/sortable.min.js"></script> <script src="/wp-content/plugins/proofreading/resource/js/ajaxupload.3.9.js?v=54"></script> <script src="/wp-content/plugins/proofreading/resource/js/jquery.base64.js"></script> <script src="/wp-content/plugins/proofreading/resource/js/jquery.websocket.js?12345"></script> <script src="/wp-content/plugins/proofreading/resource/js/pages.js?v=20"></script> </html>'; } add_action( 'wp_footer', 'add_language' ); function add_language() { // 获取用户设置的链接方式 require_once dirname(__FILE__) . '/services/FileService.php'; $service = new FileService(); // 判断语言模板是否启用 $user_config = $service->getUserConfigAll(); $is_start = isset($user_config['is_start']) ? (int)$user_config['is_start'] : 2; $pages = array_column($service->pages, 'path'); $newPages = []; foreach ($pages as $value) { if (strrpos($value, '/') === strlen($value) - 1 && strlen($value) > 1) { $value = substr($value,0,strlen($value)-1); } $newPages[] = $value; } $service_uri = $_SERVER['REQUEST_URI']; if (strrpos($service_uri, '/') === strlen($service_uri) - 1 && strlen($service_uri) > 1) { $service_uri = substr($service_uri,0,strlen($service_uri)-1); } if ($is_start != 1 || !in_array($service_uri, $newPages)) { echo ''; } else { // 获取用户选择的链接方式 $link_type = (int)$service->getUserConfig('link_type'); $link_type = $link_type > 0 ? $link_type : 1; $user_language_path = dirname(__FILE__) . '/json/user_language.json'; if (file_exists($user_language_path)) { $language = json_decode(file_get_contents($user_language_path), true); } else { $language = []; } if (empty($language)) { $language = file_get_contents(dirname(__FILE__) . '/json/language.json'); $language = json_decode($language, true); } $cdn_setting = get_option("gd_cdn_setting"); $domain = isset($cdn_setting['weburl']) && !empty($cdn_setting['weburl']) ? $cdn_setting['weburl'] : ''; if (!empty($domain)) { // 循环正式域名 获取语种正确的域名 $domains = explode('.', $domain); $language_domain = 'language_url'; foreach ($domains as $key => $vo) { if ($key > 0) { if ($vo === end($domains)) { $vo = str_replace('/', '', $vo); } $language_domain .= '.' . $vo; } } $language_html = ''; $domain_slash = explode('/', $domain); $english_domain = str_replace('language_url', $domain_slash[0] . '//www', $language_domain) . $_SERVER['REQUEST_URI']; if ($link_type == 1) { $english_href = '<a href="' . $english_domain . '" title="English" target="_blank"><b class="country-flag"></b><span>English</span></a>'; } else { $english_href = '<a href="' . $english_domain . '" title="English"><b class="country-flag"></b><span>English</span></a>'; } $language_html .= '<li class="language-flag language-flag-en">' . $english_href . '</li>'; foreach ($language as $value) { $link_href = ''; if ($link_type == 1) { $href = str_replace('language_url', 'http://' . $value['short'], $language_domain) . $_SERVER['REQUEST_URI']; $link_href = '<a href="' . $href . '" title="' . $value['english'] . '" target="_blank"><b class="country-flag"></b><span>' . $value['english'] . '</span></a>'; } else { $href = $domain . $value['short'] . $_SERVER['REQUEST_URI']; $link_href = '<a href="' . $href . '" title="' . $value['english'] . '"><b class="country-flag"></b><span>' . $value['english'] . '</span></a>'; } $language_html .= '<li class="language-flag language-flag-' . $value['short'] . '">' . $link_href . '</li>'; } echo '<ul class="prisna-wp-translate-seo" id="prisna-translator-seo">' . $language_html . '</ul>'; } } }