TruyenCV.com QuickPaste

QuickPaste for Add Chapter

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         TruyenCV.com QuickPaste
// @namespace    http://tampermonkey.net/
// @version      0.8
// @description  QuickPaste for Add Chapter
// @author       Mkbyme
// @match        http://*.truyencv.com/account/add_chapter/*
// @grant        none
// @required https://code.jquery.com/jquery-3.2.1.min.js
// ==/UserScript==
//create element
function ce(n)
{
    return document.createElement(n);
}
//add style
function addStyle(style)
{
    var s = ce("style"),h = document.head || document.getElementsByTagName("head")[0];
    s.type="text/css";
    s.appendChild(document.createTextNode(style));
    h.appendChild(s);
}
//add CSS
function addCss()
{
    var s = "";
    s+="#qpmk{background-color: #2d2d2d;padding: 3px 15px;color: #ebebeb;border-radius: 5px 5px 0px 0px;margin-bottom: 15px;}";
    s+="#qpmk>.form-group>div{font-size: 13px;color: #bef385;}";
    s+="#qpmk>p{font-size:13px;color: #c7c7c7;text-align: right;}";
    addStyle(s);
}
function createInjectHTML()
{
    var h = "";
    h+="<div id=\"qpmk\"><h3>Đăng Truyện Nhanh  Script</h3><div class=\"form-group\">";
    h+="<div>Ví dụ tên Chương 1, Chương 2, Chương n thì điền \"Chương \" để thực hiện dán tự động<br>";
    h+="<ol><li>Nhập số chương cần đăng = số_hiện_tại + số_chương_đăng</li>";
    h+="<li>Mở tệp chứa nội dung đã convert chọn và copy đoạn chứa số_chương_đăng</li><li>Dán vào DÁN VÀO ĐÂY</li>";
    h+="<li>Nhấn <b>1-Tiếp Tục</b></li><li>Sau khi chuyển trang lần 2 dà soát tên chương và số chương.</li><li>Nhấn <b>2-Đăng Chương</b></li></ol>";
    h+="<span style=\"color:red\">* </span>Trước khi nhấn nút <b class=\"text-info\">Đăng Chương</b> thì phải thực hiện sao chép nội dung truyện trước.</div>";

    h+="<label>Tiêu Đề Chương(để chia tách các chương truyện)</label>";
    h+="<input type=\"text\" id=\"qpmks\" class=\"form-control\" value=\"	Chương \" placeholder=\"Nhập tiêu đề chứa từ cách chương/chapter\"></div>";

    //sign
    h+="<div class=\"form-group\"><label>Chữ Ký (chèn ở cuối mỗi chương)</label><textarea placeholder=\"Nội dung chữ ký, sẽ được thêm vào ở cuối mỗi chương...\" id=\"qpsv\" class=\"form-control\" rows=\"1\"></textarea></div>";
    //end sign
    //option
    h+="<div class=\"form-group\"><label>Tùy chọn</label>";
    h+="<div class=\"form-inline\"><label>Tiêu đề chương lặp <input type=\"checkbox\" id=\"qpoloop\" class=\"form-control\"></label> (dạng Chương 1 abc Chương 1 abc - Nội dung chương)</div>";

    h+="<div class=\"form-group\"><input type=\"button\" value=\"Lưu Thiết Lập\" class=\"form-control btn btn-success\" id=\"qpsaveconfig\"></div>";
    h+="</div>";
    //end option

    h+="<div class=\"form-group\"><label>Dán Vào Đây(CTRL + V)</label>";
    h+="<textarea placeholder=\"dán nội dung vào đây - CTRL + V\" id=\"qpv\" class=\"form-control\" rows=\"5\"></textarea></div>";

    h+="<button type=\"submit\" id=\"qpmkd\" class=\"btn btn-disable\" onclick=\"javascript:;\">1-Tiếp Tục</button><span id=\"qpn\" style=\"margin:0px 15px;font-weight:bold\"></span>";
    h+="<button class=\"btn btn-read\"onclick=\"document.getElementById('btnAddchapter2').click();\">2-Đăng Chương</button><span id=\"qpn\" style=\"margin-left:15px;font-weight:bold\"></span>";
    h+="<p>© by <a href=\"fb.me/mkbyme\">Mkbyme</a></p></div>";
    $(".form-horizontal").before(h);
}
function process()
{
    $("#qpv").on("paste",function(e){
        $(this).val("");

        setTimeout(function(){
            var a = $("#qpv").val(),s=$("#qpmks").val(),st=s.trim(),ta=$("textarea[id^=url]"),loop = $("#qpoloop")[0].checked,error=false,sign=$("#qpsv").val();
            a = a.split("\n"+s).filter(function(entry){return entry.trim()!=="";});
            if(!loop && a.length < ta.length )
                error=true;
            if(loop && (a.length/2) < ta.length )
                error=true;
            //error
            if(error)
            {
                $("#qpn").html("Số chương copy chưa đủ,Cần sao thêm " + ( ta.length - 1 - (loop===true?a.length/2:a.length)) + " chương nữa, Hãy thử lại! <button class=\"btn btn-danger\" onclick=\"javascript:document.getElementById('ok').click();\">Vẫn Đăng</button>").removeClass("text-notify").addClass("text-danger");
                $("#qpv").val("");
                $("#qpmkd").attr("onclick","javascript:void();").removeClass("btn-read").addClass("btn-disable");
                //go on work
                //return false;
            }
            //not loop chapter title do
            if(!loop)
            {
                $.each(ta, (function(k, v) {    
                    if(k < a.length)
                    {
                        var at = a[k],ats=at.substring(0,300).trim().toLowerCase();
                        if(ats.startsWith(st.toLowerCase()))
                            $(this).val(at+"\r\n"+sign);
                        else
                            $(this).val(st+" "+at+"\r\n"+sign);
                    }
                    else
                    {
                        $("#qpv").val("Đã thực hiện được "+k+" /"+(ta.length )+" nhập ban đầu, có thể nhấn Vẫn Đăng để tiếp tục");
                        return false;
                    }
                }));

            }
            //loop chapter title do
            else
            {
                var j = 0,ha = a.length/2;
                $.each(ta, (function(k, v) {    
                    if(k < ha)
                    {
                        var at = a[++j],ats=at.substring(0,300).trim().toLowerCase();
                        if(ats.startsWith(st.toLowerCase()))
                            $(this).val(at+"\r\n"+sign);
                        else
                            $(this).val(st+" "+at+"\r\n"+sign);
                    }
                    else
                    {
                        $("#qpv").val("Đã thực hiện được "+k+" /"+(ta.length)+" nhập ban đầu, có thể nhấn Vẫn Đăng để tiếp tục");
                        return false;
                    }
                    j++;

                }));
            }
            //after insert do
            if(!error){
                $("#qpmkd").attr("onclick","javascript:document.getElementById('ok').click();").removeClass("btn-disable").addClass("btn-read");
                $("#qpn").removeClass("text-danger").addClass("text-notify").text("OK, 1-Nhấn Tiếp Tục sau đó nhấn 2-Đăng Chương");
                $("#qpv").val("Đã thực hiện xong, OK");
            }

        },500);
    });

    $("#qpsaveconfig").on("click",function(e){
        var value="splitTitle="+$("#qpmks").val()+"&optionLoop="+$("#qpoloop")[0].checked+"&sign="+$("#qpsv").val();
        cookieStr = "qpmkconfig=" + escape(value) + "; ";

        var today = new Date();
        var expr = new Date(today.getTime() + 30 * 24 * 60 * 60 * 1000);
        cookieStr += "expires=" + expr.toGMTString() + "; ";

        cookieStr += "path=/; ";
        cookieStr += "domain=truyencv.com; ";

        document.cookie = cookieStr;

        alert("Đã lưu lại thiết lập");
    });
    qpreadCookies();

}
function qpreadCookies()
{
    cName = "";
    pCOOKIES = new Array();
    pCOOKIES = document.cookie.split('; ');
    for(bb = 0; bb < pCOOKIES.length; bb++){
        NmeVal  = new Array();
        NmeVal  = pCOOKIES[bb].split('=');
        if(NmeVal[0] === "qpmkconfig"){
            cName = unescape(NmeVal[1]);
        }
    }

    var arr = cName.split("&");

    if(arr.length < 2)
        return;
    $("#qpmks").val(arr[0].split("=")[1]);
    $("#qpoloop")[0].checked = (arr[1].split("=")[1] == "true"?true:false);
    $("#qpsv").val(arr[2].split("=")[1]);

}
function init()
{
    addCss();
    createInjectHTML();
    process();
    $("#qpv").focus();
}
init();