- // ==UserScript==
- // @name ABPVN VNZ-toolkit
- // @namespace ABPVN
- // @author Hoàng Rio
- // @description Hỗ trợ thêm tính năng trên VNZ
- // @homepage http://abpvn.com
- // @icon http://i.imgur.com/vAI2Rxd.png
- // @include http://www.vn-zoom.com/f*
- // @include http://www.vn-zoom.com/newreply.php*
- // @include http://www.vn-zoom.com/editpost.php*
- // @require https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js
- // @version 1.3.8
- // @grant none
- // ==/UserScript==
- String.prototype.ismatch = function (regex){
- return this.match(regex)!==null;
- };
- $.getcookie=function(cookiename){
- var value = "; " + document.cookie;
- var parts = value.split("; " + cookiename + "=");
- if (parts.length == 2) return parts.pop().split(";").shift();
- };
- var img_count=0;
- function VNZ_img_view(){
- $(document).ready(function (){
- $('head').append('<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.css" type="text/css" media="screen" />');
- $('.content img').each(function (){
- if(!$(this).attr('src').ismatch("http://www.vn-zoom.com")){
- this.onclick= function () {};
- $(this).css('cursor','zoom-in');
- $(this).wrap('<a class="abpvn" style="cursor: zoom-in;" title="'+$(this).attr("src")+'" rel="group" href="'+$(this).attr("src")+'"></a>');
- }
-
- });
- $("a.abpvn").fancybox({
- 'padding' : '0',
- 'type' : 'image',
- 'transitionIn' : 'elastic',
- 'transitionOut' : 'elastic',
- 'speedIn' : 300,
- 'speedOut' : 200,
- 'overlayShow' : true,
- 'titlePosition' : 'over',
- 'overlayOpacity': 0.8,
- 'hideOnOverlayClick': true,
- helpers : {
- overlay : {
- css : {
- 'z-index': '0',
- }
- }
- }
- });
- });
-
- }
- function VNZ_toolkit_options(){
- $(document).ready(function (){
- $('body').append("<div id='VNZ-toolkit-options' accesskey='v' style='width: auto; height: auto; top: 0; left: 0; position: fixed; opacity: 0.75;' title='Cài đặt ABPVN VNZ-toolkit'><img src='https://www.webanh.tk/full/h5EKCO.png' style='border-radius: 50%; box-shadow: 0px 0px 25px 5px black; cursor: pointer; width:30px; height:30px;'></img></div>");
-
- $('#VNZ-toolkit-options').append("<div id='VNZ-toolkit-options-area' style='display: none; color: white; background-color: green; margin-left: 32px; padding: 10px; box-shadow: 0px 0px 25px 5px black; border-radius: 10px; border: 1px white solid; font-size: 14px;'><center><div id='msg' style='color: red; height: 20px;'></div></center></div>");
-
- $('#VNZ-toolkit-options-area').append("<label><input id='VNZ-toolkit-img-view' checked='true' type='checkbox'/>Chế độ xem ảnh</label><br/>");
-
- $('#VNZ-toolkit-options-area').append("<label><input id='VNZ-toolkit-img-qUpload' checked='true' type='checkbox'/>Chế độ up ảnh nhanh</label><br/>");
-
- $('#VNZ-toolkit-options-area').append("<center><button id='VNZ-toolkit-options-save' style='align: center; width: 50px;'>Lưu</button><center>");
-
- $('#VNZ-toolkit-options img').mouseover(function(){
- if($.getcookie('ABPVN VNZ-toolkit')!==undefined){
- var ABPVN_VNZ_options=$.getcookie('ABPVN VNZ-toolkit').split(',');
- if(ABPVN_VNZ_options[0]!='true'){
- $('#VNZ-toolkit-img-view').prop('checked',false);
- }
- if(ABPVN_VNZ_options[1]!='true'){
- $('#VNZ-toolkit-img-qUpload').prop('checked',false);
- }
- }
- $('#msg').html('');
- $('#VNZ-toolkit-options-area').fadeIn('slow');
- });
- $('#VNZ-toolkit-options').mouseleave(function(){
- $('#VNZ-toolkit-options-area').fadeOut('slow');
- });
- $('#VNZ-toolkit-options-save').click(function(){
- var now = new Date();
- var time = now.getTime();
- var expireTime = time + 365*24*3600*1000;
- now.setTime(expireTime);
- var cookie_str='ABPVN VNZ-toolkit=';
- $("#VNZ-toolkit-options-area input[type=checkbox]").each(function (){
- cookie_str+=$(this).prop('checked')+',';
- });
- document.cookie=cookie_str+';expires='+now.toGMTString()+';path=/;';
- $('#msg').html('Đã lưu');
- $('#VNZ-toolkit-options-area').fadeOut('slow');
- });
- });
- }
- $.VNZ_tookit_upload=function(file, element){
- var fd=new FormData();
- fd.append('file_up',file);
- $.ajax({
- xhr: function() {
- var xhr = new window.XMLHttpRequest();
- xhr.upload.addEventListener("progress", function(e) {
- if (e.lengthComputable) {
- var percentValue =Math.round((e.loaded / e.total) * 100) + '%';
- $('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count').attr("title","Đang upload "+file.name+" : "+percentValue);
- }
- }, false);
-
- xhr.addEventListener("progress", function(e) {
- if (e.lengthComputable) {
- var percentValue =Math.round((e.loaded / e.total) * 100) + '%';
- $('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count').attr("title","Đang upload "+file.name+" : "+percentValue);
- }
- }, false);
-
- return xhr;
- },
- type: 'POST',
- crossDomain: true,
- url: 'https://www.webanh.tk/ajax?act=upload&from=vnz',
- data: fd,
- processData: false,
- contentType: false,
- success:function(data){
- //console.log('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count')
- $('#cke_contents_'+element+' textarea').val($('#cke_contents_'+element+' textarea').val()+'\n'+data.bbcode);
- //console.log(data.bbcode);
- img_count--;
- $('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count').html("Đang tải lên "+img_count+" ảnh");
- if(img_count===0){
- $(".VNZ_img_qUpload").attr('src','https://www.webanh.tk/css/images/upload.png');
- $('.VNZ_img_qUpload').attr('title','Upload ảnh nhanh lên webanh.tk');
- $('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count').hide();
- $('#cke_top_'+element+' div.cke_toolbox span#ABPVN_VNZ span.cke_toolgroup img.VNZ_img_qUpload').bind('click',function(){
- $('#VNZ_img_up_'+element+'').trigger("click");
- });
- }
- },
- error: function(xhr,status,error){
- /*if(status=='error'){
- $('#progress-'+index+'').attr('class','error');
- $('#progress-'+index+'').attr('style','width: 100%');
- $('#progress-'+index+'').attr('title',status);
- }*/
- alert("Lỗi kết nối");
- }
- });
-
- //console.log(error);
- };
- function VNZ_img_qUpload(){
- var VNZ_img_up=function (element){
- $('#cke_top_'+element+' div.cke_toolbox').append('<span id="ABPVN_VNZ" class="cke_toolbar"><span class="cke_toolgroup" style="width: 20px; height: 20px; border-radius: 50%; border: 2px green solid;"><img title="Upload ảnh nhanh lên webanh.tk" class="VNZ_img_qUpload cke_button" style="width: 20px; height: 20px; border-radius: 50%" src="https://www.webanh.tk/css/images/upload.png"></img><input type="file" id="VNZ_img_up_'+element+'" data-element="'+element+'" name="VNZ_img_up" accept="image/*" multiple="true" style="display: none"/></span></span><span class="cke_button" id="VNZ_img_count" style="display: none; color: white; background-color: black;"></span>');
- $('#cke_top_'+element+' div.cke_toolbox span#ABPVN_VNZ span.cke_toolgroup img.VNZ_img_qUpload').bind('click',{element: element},function(event){
- $('#VNZ_img_up_'+event.data.element+'').trigger("click");
- });
- $('#VNZ_img_up_'+element+'').bind('change',function (event){
- var element=$(this).attr('data-element');
- $('#cke_top_'+element+' div.cke_toolbox span#ABPVN_VNZ span.cke_toolgroup img.VNZ_img_qUpload').attr('src','https://www.webanh.tk/css/images/loading.gif');
- $('#cke_top_'+element+' div.cke_toolbox span#ABPVN_VNZ span.cke_toolgroup img.VNZ_img_qUpload').attr('title','Đang upload');
- var acceptext=['jpg','png','gif','bmp','svg','ico'];
- var files=$(this).prop('files');
- var filenames=$.map(files, function(val) { return val.name; });
- for(var i=0;i<files.length;i++){
- var fileext=filenames[i].substr( (filenames[i].lastIndexOf('.') +1) );
- fileext=fileext.toLowerCase();
- if($.inArray(fileext,acceptext)!=-1){
- $('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count').show();
- $('#cke_top_'+element+' div.cke_toolbox span#VNZ_img_count').html("Đang tải lên "+files.length+" ảnh");
- img_count=files.length;
- $.VNZ_tookit_upload(files[i], element);
- $('#cke_top_'+element+' div.cke_toolbox span#ABPVN_VNZ span.cke_toolgroup img.VNZ_img_qUpload').unbind('click');
- }
- }
- });
- };
- $(window).load(function(){
- VNZ_img_up('vB_Editor_QR_editor');
- VNZ_img_up('vB_Editor_001_editor');
- });
- $('a.editpost').click(function (){
- setTimeout(function(){
- VNZ_img_up('vB_Editor_QE_1_editor');
- VNZ_img_up('vB_Editor_QE_2_editor');
- VNZ_img_up('vB_Editor_QE_3_editor');
-
- },1500);
-
- });
- //console.log("VNZ_img_qUpload fired");
- }
- (function (){
- VNZ_toolkit_options();
- if($.getcookie('ABPVN VNZ-toolkit')!==undefined){
- var ABPVN_VNZ_options=$.getcookie('ABPVN VNZ-toolkit').split(',');
- if(ABPVN_VNZ_options[0]=='true'){
- VNZ_img_view();
- }
- if(ABPVN_VNZ_options[1]=='true'){
- VNZ_img_qUpload();
- }
- }
- else{
- VNZ_img_view();
- VNZ_img_qUpload();
- }
- })();