1function auto_grow(o) { 2 o.style.height = "5px", o.style.height = o.scrollHeight + "px" 3} 4 5$(function() { 6 $('[data-toggle="tooltip"]').tooltip() 7}), $(".modal-wide").on("show.bs.modal", function() { 8 var o = $(window).height() - 200; 9 $(this).find(".modal-body").css("max-height", o) 10}), $(function() { 11 $(window).scroll(function() { 12 $(this).scrollTop() > 400 ? $("#Back-to-top").fadeIn() : $("#Back-to-top").fadeOut() 13 }), $("#Back-to-top").click(function() { 14 $("body,html").animate({ 15 scrollTop: 0 16 }, 300).animate({ 17 scrollTop: 40 18 }, 200).animate({ 19 scrollTop: 0 20 }, 130).animate({ 21 scrollTop: 15 22 }, 100).animate({ 23 scrollTop: 0 24 }, 70) 25 }) 26}); 27 28function htmlEntities(str) { 29 return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 30} 31 32function auto_link(str) { 33 var re = /(?![^<]*>|[^<>]*<\/)((https?:)\/\/[a-z0-9&#=.\/\-?_]+)/gi; 34 var val = re.exec(str); 35 var subst = '<a target="_BLANK" href="$1">$1</a>'; 36 var result = str.replace(re, subst); 37 return result; 38} 39 40function stripslashes(str) { 41 return (str + '').replace(/\\(.?)/g, function (s, n1) { 42 switch (n1) { 43 case '\\': 44 return '\\'; 45 case '0': 46 return '\u0000'; 47 case '': 48 return ''; 49 default: 50 return n1; 51 } 52 }); 53} 54 55function nl2br(str, is_xhtml) { 56 if (typeof str === 'undefined' || str === null) { 57 return ''; 58 } 59 var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>'; 60 return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2'); 61} 62 63String.prototype.replaceArray = function(find, replace) { 64 var find = ["<i>", "<b>", "</i>", "</b>"]; 65 var replace = ["<i>", "<b>", "</i>", "</b>"]; 66 67 var replaceString = this; 68 var regex; 69 for (var i = 0; i < find.length; i++) { 70 regex = new RegExp(find[i], "g"); 71 replaceString = replaceString.replace(regex, replace[i]); 72 } 73 return replaceString; 74}; 75 76function timeAgo(date) { 77 let minute = 60; 78 let barusaja = 5 * 60; 79 let hour = minute * 60; 80 let day = hour * 24; 81 let month = day * 30; 82 let year = day * 365; 83 84 let suffix = ' yang lalu'; 85 86 let elapsed = Math.floor((Date.now() - date) / 1000); 87 88 if (elapsed < minute) { 89 return 'Online'; 90 } 91 92 if (elapsed < barusaja) { 93 return 'Baru saja'; 94 } 95 96 // get an array in the form of [number, string] 97 let a = elapsed < hour && [Math.floor(elapsed / minute), 'Menit'] || 98 elapsed < day && [Math.floor(elapsed / hour), 'Jam'] || 99 elapsed < month && [Math.floor(elapsed / day), 'Hari'] || 100 elapsed < year && [Math.floor(elapsed / month), 'Bulan'] || 101 [Math.floor(elapsed / year), 'Tahun']; 102 103 // pluralise and append suffix 104 return a[0] + ' ' + a[1] + (a[0] === 1 ? '' : '') + suffix; 105} 106 107function get_gravatar(email, size) { 108 // MD5 (Message-Digest Algorithm) by WebToolkit 109 var MD5=function(s){function L(k,d){return(k<<d)|(k>>>(32-d))}function K(G,k){var I,d,F,H,x;F=(G&2147483648);H=(k&2147483648);I=(G&1073741824);d=(k&1073741824);x=(G&1073741823)+(k&1073741823);if(I&d){return(x^2147483648^F^H)}if(I|d){if(x&1073741824){return(x^3221225472^F^H)}else{return(x^1073741824^F^H)}}else{return(x^F^H)}}function r(d,F,k){return(d&F)|((~d)&k)}function q(d,F,k){return(d&k)|(F&(~k))}function p(d,F,k){return(d^F^k)}function n(d,F,k){return(F^(d|(~k)))}
109function u(G,F,aa,Z,k,H,I){G=K(G,K(K(r(F,aa,Z),k),I));return K(L(G,H),F)}function f(G,F,aa,Z,k,H,I){G=K(G,K(K(q(F,aa,Z),k),I));return K(L(G,H),F)}function D(G,F,aa,Z,k,H,I){G=K(G,K(K(p(F,aa,Z),k),I));return K(L(G,H),F)}function t(G,F,aa,Z,k,H,I){G=K(G,K(K(n(F,aa,Z),k),I));return K(L(G,H),F)}function e(G){var Z;var F=G.length;var x=F+8;var k=(x-(x%64))/64;var I=(k+1)*16;var aa=Array(I-1);var d=0;var H=0;while(H<F){Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=(aa[Z]|(G.charCodeAt(H)<<d));H++}Z=(H-(H%4))/4;d=(H%4)*8;aa[Z]=aa[Z]|(128<<d);aa[I-2]=F<<3;aa[I-1]=F>>>29;return aa}function B(x){var k="",F="",G,d;for(d=0;d<=3;d++){G=(x>>>(d*8))&255;F="0"+G.toString(16);k=k+F.substr(F.length-2,2)}return k}function J(k){k=k.replace(/rn/g,"n");var d="";for(var F=0;F<k.length;F++){var x=k.charCodeAt(F);if(x<128){d+=String.fromCharCode(x)}else{if((x>127)&&(x<2048)){d+=String.fromCharCode((x>>6)|192);d+=String.fromCharCode((x&63)|128)}else{d+=String.fromCharCode((x>>12)|224);d+=String.fromCharCode(((x>>6)&63)|128);d+=String.fromCharCode((x&63)|128)}}}return d}var C=Array();var P,h,E,v,g,Y,X,W,V;var S=7,Q=12,N=17,M=22;var A=5,z=9,y=14,w=20;var o=4,m=11,l=16,j=23;var U=6,T=10,R=15,O=21;s=J(s);C=e(s);Y=1732584193;X=4023233417;W=2562383102;V=271733878;for(P=0;P<C.length;P+=16){h=Y;E=X;v=W;g=V;Y=u(Y,X,W,V,C[P+0],S,3614090360);V=u(V,Y,X,W,C[P+1],Q,3905402710);W=u(W,V,Y,X,C[P+2],N,606105819);X=u(X,W,V,Y,C[P+3],M,3250441966);Y=u(Y,X,W,V,C[P+4],S,4118548399);V=u(V,Y,X,W,C[P+5],Q,1200080426);W=u(W,V,Y,X,C[P+6],N,2821735955);X=u(X,W,V,Y,C[P+7],M,4249261313);Y=u(Y,X,W,V,C[P+8],S,1770035416);V=u(V,Y,X,W,C[P+9],Q,2336552879);W=u(W,V,Y,X,C[P+10],N,4294925233);X=u(X,W,V,Y,C[P+11],M,2304563134);Y=u(Y,X,W,V,C[P+12],S,1804603682);V=u(V,Y,X,W,C[P+13],Q,4254626195);W=u(W,V,Y,X,C[P+14],N,2792965006);X=u(X,W,V,Y,C[P+15],M,1236535329);Y=f(Y,X,W,V,C[P+1],A,4129170786);V=f(V,Y,X,W,C[P+6],z,3225465664);W=f(W,V,Y,X,C[P+11],y,643717713);X=f(X,W,V,Y,C[P+0],w,3921069994);Y=f(Y,X,W,V,C[P+5],A,3593408605);V=f(V,Y,X,W,C[P+10],z,38016083);W=f(W,V,Y,X,C[P+15],y,3634488961);X=f(X,W,V,Y,C[P+4],w,3889429448);Y=f(Y,X,W,V,C[P+9],A,568446438);V=f(V,Y,X,W,C[P+14],z,3275163606);W=f(W,V,Y,X,C[P+3],y,4107603335);X=f(X,W,V,Y,C[P+8],w,1163531501);Y=f(Y,X,W,V,C[P+13],A,2850285829);V=f(V,Y,X,W,C[P+2],z,4243563512);W=f(W,V,Y,X,C[P+7],y,1735328473);X=f(X,W,V,Y,C[P+12],w,2368359562);Y=D(Y,X,W,V,C[P+5],o,4294588738);V=D(V,Y,X,W,C[P+8],m,2272392833);W=D(W,V,Y,X,C[P+11],l,1839030562);X=D(X,W,V,Y,C[P+14],j,4259657740);Y=D(Y,X,W,V,C[P+1],o,2763975236);V=D(V,Y,X,W,C[P+4],m,1272893353);W=D(W,V,Y,X,C[P+7],l,4139469664);X=D(X,W,V,Y,C[P+10],j,3200236656);Y=D(Y,X,W,V,C[P+13],o,681279174);V=D(V,Y,X,W,C[P+0],m,3936430074);W=D(W,V,Y,X,C[P+3],l,3572445317);X=D(X,W,V,Y,C[P+6],j,76029189);Y=D(Y,X,W,V,C[P+9],o,3654602809);V=D(V,Y,X,W,C[P+12],m,3873151461);W=D(W,V,Y,X,C[P+15],l,530742520);X=D(X,W,V,Y,C[P+2],j,3299628645);Y=t(Y,X,W,V,C[P+0],U,4096336452);V=t(V,Y,X,W,C[P+7],T,1126891415);W=t(W,V,Y,X,C[P+14],R,2878612391);X=t(X,W,V,Y,C[P+5],O,4237533241);Y=t(Y,X,W,V,C[P+12],U,1700485571);V=t(V,Y,X,W,C[P+3],T,2399980690);W=t(W,V,Y,X,C[P+10],R,4293915773);X=t(X,W,V,Y,C[P+1],O,2240044497);Y=t(Y,X,W,V,C[P+8],U,1873313359);V=t(V,Y,X,W,C[P+15],T,4264355552);W=t(W,V,Y,X,C[P+6],R,2734768916);X=t(X,W,V,Y,C[P+13],O,1309151649);Y=t(Y,X,W,V,C[P+4],U,4149444226);V=t(V,Y,X,W,C[P+11],T,3174756917);W=t(W,V,Y,X,C[P+2],R,718787259);X=t(X,W,V,Y,C[P+9],O,3951481745);Y=K(Y,h);X=K(X,E);W=K(W,v);V=K(V,g)}var i=B(Y)+B(X)+B(W)+B(V);return i.toLowerCase()}; 110 var size = size || 80; 111 return 'https://www.gravatar.com/avatar/' + MD5(email) + '.jpg?s=' + size; 112} 113 114function getFileSize(url){ 115 var fileSize = ''; 116 var http = new XMLHttpRequest(); 117 http.open('HEAD', url, false); // false = Synchronous 118 119 http.send(null); // it will stop here until this http request is complete 120 121 // when we are here, we already have a response, b/c we used Synchronous XHR 122 123 if (http.status === 200) { 124 fileSize = http.getResponseHeader('content-length'); 125 //console.log('fileSize = ' + fileSize); 126 127 var fSExt = new Array('Bytes', 'KB', 'MB', 'GB'), 128 i=0;while(fileSize>900){fileSize/=1024;i++;} 129 exactSize = (Math.round(fileSize*100)/100)+' '+fSExt[i]; 130 } 131 return exactSize; 132} 133 134$(document).ready(function() { 135 var description = $('textarea[name="ff"]'); 136 description.on ('change', (function(e){
137 e.preventDefault(); 138 var checkValue = description.val().replace(/\+?([ -]?\d+)+|\(\d+\)([ -]\d+)/, ''); 139 description.val(checkValue); 140 })); 141 142 var keyword = $('textarea[name="keyword"]'); 143 keyword.on ('change', (function(e){ 144 e.preventDefault(); 145 var checkValue = keyword.val().replace(/\+?([ -]?\d+)+|\(\d+\)([ -]\d+)/, ''); 146 keyword.val(checkValue); 147 })); 148});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.