Changeset 18433 for lang/javascript

Show
Ignore:
Timestamp:
08/29/08 17:25:02 (3 months ago)
Author:
drry
Message:
  • 日付の処理を修正しました。
  • ほか。
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/userscripts/show-delicious-comment-if-hatena-bookmark-comment-is-disabled.user.js

    r18432 r18433  
    77 
    88(function() { 
    9         if (document.getElementById('bookmarked_user').textContent.replace(/[\s]/g, '') 
     9        if (document.getElementById('bookmarked_user').textContent.replace(/\s+/g, '') 
    1010                != 'ページ作者様の希望によりブックマークの一覧は非表示に設定されています。') return; 
    1111 
     
    1818        } 
    1919 
    20   /* md5.js - MD5 Message-Digest 
    21    * Copyright (C) 1999,2002 Masanao Izumo <iz@onicos.co.jp> 
    22    * Version: 2.0.0 
    23    * LastModified: May 13 2002 
    24    * 
    25    * This program is free software.  You can redistribute it and/or modify 
    26    * it without any warranty.  This library calculates the MD5 based on RFC1321. 
    27    * See RFC1321 for more information and algorism. 
    28    */ 
    29  
    30   /* Interface: 
    31    * md5_128bits = MD5_hash(data); 
    32    * md5_hexstr = MD5_hexhash(data); 
    33    */ 
    34  
    35   /* ChangeLog 
    36    * 2002/05/13: Version 2.0.0 released 
    37    * NOTICE: API is changed. 
    38    * 2002/04/15: Bug fix about MD5 length. 
    39    */ 
    40  
    41   //  md5_T[i] = parseInt(Math.abs(Math.sin(i)) * 4294967296.0); 
    42   var MD5 = {}; 
    43   (function(){ 
    44     var _T = [0x00000000, 0xd76aa478, 0xe8c7b756, 0x242070db, 
    45               0xc1bdceee, 0xf57c0faf, 0x4787c62a, 0xa8304613, 
    46               0xfd469501, 0x698098d8, 0x8b44f7af, 0xffff5bb1, 
    47               0x895cd7be, 0x6b901122, 0xfd987193, 0xa679438e, 
    48               0x49b40821, 0xf61e2562, 0xc040b340, 0x265e5a51, 
    49               0xe9b6c7aa, 0xd62f105d, 0x02441453, 0xd8a1e681, 
    50               0xe7d3fbc8, 0x21e1cde6, 0xc33707d6, 0xf4d50d87, 
    51               0x455a14ed, 0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 
    52               0x8d2a4c8a, 0xfffa3942, 0x8771f681, 0x6d9d6122, 
    53               0xfde5380c, 0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 
    54               0xbebfbc70, 0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 
    55               0x04881d05, 0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 
    56               0xc4ac5665, 0xf4292244, 0x432aff97, 0xab9423a7, 
    57               0xfc93a039, 0x655b59c3, 0x8f0ccc92, 0xffeff47d, 
    58               0x85845dd1, 0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 
    59               0x4e0811a1, 0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391]; 
    60  
    61     var _round1 = [[ 0, 7, 1], [ 1,12, 2], [ 2,17, 3], [ 3,22, 4], 
    62                    [ 4, 7, 5], [ 5,12, 6], [ 6,17, 7], [ 7,22, 8], 
    63                    [ 8, 7, 9], [ 9,12,10], [10,17,11], [11,22,12], 
    64                    [12, 7,13], [13,12,14], [14,17,15], [15,22,16]]; 
    65  
    66     var _round2 = [[ 1, 5,17], [ 6, 9,18], [11,14,19], [ 0,20,20], 
    67                    [ 5, 5,21], [10, 9,22], [15,14,23], [ 4,20,24], 
    68                    [ 9, 5,25], [14, 9,26], [ 3,14,27], [ 8,20,28], 
    69                    [13, 5,29], [ 2, 9,30], [ 7,14,31], [12,20,32]]; 
    70  
    71     var _round3 = [[ 5, 4,33], [ 8,11,34], [11,16,35], [14,23,36], 
    72                    [ 1, 4,37], [ 4,11,38], [ 7,16,39], [10,23,40], 
    73                    [13, 4,41], [ 0,11,42], [ 3,16,43], [ 6,23,44], 
    74                    [ 9, 4,45], [12,11,46], [15,16,47], [ 2,23,48]]; 
    75  
    76     var _round4 = [[ 0, 6,49], [ 7,10,50], [14,15,51], [ 5,21,52], 
    77                    [12, 6,53], [ 3,10,54], [10,15,55], [ 1,21,56], 
    78                    [ 8, 6,57], [15,10,58], [ 6,15,59], [13,21,60], 
    79                    [ 4, 6,61], [11,10,62], [ 2,15,63], [ 9,21,64]]; 
    80  
    81     function _F(x, y, z) { return (x & y) | (~x & z); } 
    82     function _G(x, y, z) { return (x & z) | (y & ~z); } 
    83     function _H(x, y, z) { return x ^ y ^ z;          } 
    84     function _I(x, y, z) { return y ^ (x | ~z);       } 
    85  
    86     var _round = [[_F, _round1], 
    87                   [_G, _round2], 
    88                   [_H, _round3], 
    89                   [_I, _round4]]; 
    90  
    91     function _pack(n32) { 
    92       return String.fromCharCode(n32 & 0xff) + 
    93       String.fromCharCode((n32 >>> 8) & 0xff) + 
    94       String.fromCharCode((n32 >>> 16) & 0xff) + 
    95       String.fromCharCode((n32 >>> 24) & 0xff); 
    96     } 
    97  
    98     function _unpack(s4) { 
    99       return  s4.charCodeAt(0)   | 
    100         (s4.charCodeAt(1) <<  8) | 
    101         (s4.charCodeAt(2) << 16) | 
    102         (s4.charCodeAt(3) << 24); 
    103     } 
    104  
    105     function _number(n) { 
    106       while (n < 0) 
    107         n += 4294967296; 
    108       while (n > 4294967295) 
    109         n -= 4294967296; 
    110       return n; 
    111     } 
    112  
    113     function _apply_round(x, s, f, abcd, r) { 
    114       var a, b, c, d; 
    115       var kk, ss, ii; 
    116       var t, u; 
    117  
    118       a = abcd[0]; 
    119       b = abcd[1]; 
    120       c = abcd[2]; 
    121       d = abcd[3]; 
    122       kk = r[0]; 
    123       ss = r[1]; 
    124       ii = r[2]; 
    125  
    126       u = f(s[b], s[c], s[d]); 
    127       t = s[a] + u + x[kk] + _T[ii]; 
    128       t = _number(t); 
    129       t = ((t<<ss) | (t>>>(32-ss))); 
    130       t += s[b]; 
    131       s[a] = _number(t); 
    132     } 
    133  
    134     MD5.digest = function(data) { 
    135       var abcd, x, state, s; 
    136       var len, index, padLen, f, r; 
    137       var i, j, k; 
    138       var tmp; 
    139  
    140       state = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]; 
    141       len = data.length; 
    142       index = len & 0x3f; 
    143       padLen = (index < 56) ? (56 - index) : (120 - index); 
    144       if(padLen > 0) { 
    145         data += "\x80"; 
    146         for(i = 0; i < padLen - 1; i++) 
    147           data += "\x00"; 
    148       } 
    149       data += _pack(len * 8); 
    150       data += _pack(0); 
    151       len  += padLen + 8; 
    152       abcd = [0, 1, 2, 3]; 
    153       x    = [16]; 
    154       s    = [4]; 
    155  
    156       for(k = 0; k < len; k += 64) { 
    157         for(i = 0, j = k; i < 16; i++, j += 4) { 
    158           x[i] = data.charCodeAt(j) | 
    159             (data.charCodeAt(j + 1) <<  8) | 
    160             (data.charCodeAt(j + 2) << 16) | 
    161             (data.charCodeAt(j + 3) << 24); 
    162         } 
    163         for(i = 0; i < 4; i++) 
    164           s[i] = state[i]; 
    165         for(i = 0; i < 4; i++) { 
    166           f = _round[i][0]; 
    167           r = _round[i][1]; 
    168           for(j = 0; j < 16; j++) { 
    169             _apply_round(x, s, f, abcd, r[j]); 
    170             tmp = abcd[0]; 
    171             abcd[0] = abcd[3]; 
    172             abcd[3] = abcd[2]; 
    173             abcd[2] = abcd[1]; 
    174             abcd[1] = tmp; 
    175           } 
    176         } 
    177  
    178         for(i = 0; i < 4; i++) { 
    179           state[i] += s[i]; 
    180           state[i] = _number(state[i]); 
    181         } 
    182       } 
    183  
    184       return _pack(state[0]) + _pack(state[1]) + _pack(state[2]) + _pack(state[3]); 
    185     } 
    186  
    187     MD5.hexdigest = function(data) { 
    188       var i, out, c; 
    189       var bit128; 
    190  
    191       bit128 = MD5.digest(data); 
    192       out = ""; 
    193       for(i = 0; i < 16; i++) { 
    194         c = bit128.charCodeAt(i); 
    195         out += "0123456789abcdef".charAt((c>>4) & 0xf); 
    196         out += "0123456789abcdef".charAt(c & 0xf); 
    197       } 
    198       return out; 
    199     } 
    200   })(); 
     20        /* md5.js - MD5 Message-Digest 
     21         * Copyright (C) 1999,2002 Masanao Izumo <iz@onicos.co.jp> 
     22         * Version: 2.0.0 
     23         * LastModified: May 13 2002 
     24         * 
     25         * This program is free software.  You can redistribute it and/or modify 
     26         * it without any warranty.  This library calculates the MD5 based on RFC1321. 
     27         * See RFC1321 for more information and algorism. 
     28         */ 
     29        var MD5={};(function(){var F=[0,3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745];var E=[[0,7,1],[1,12,2],[2,17,3],[3,22,4],[4,7,5],[5,12,6],[6,17,7],[7,22,8],[8,7,9],[9,12,10],[10,17,11],[11,22,12],[12,7,13],[13,12,14],[14,17,15],[15,22,16]];var D=[[1,5,17],[6,9,18],[11,14,19],[0,20,20],[5,5,21],[10,9,22],[15,14,23],[4,20,24],[9,5,25],[14,9,26],[3,14,27],[8,20,28],[13,5,29],[2,9,30],[7,14,31],[12,20,32]];var C=[[5,4,33],[8,11,34],[11,16,35],[14,23,36],[1,4,37],[4,11,38],[7,16,39],[10,23,40],[13,4,41],[0,11,42],[3,16,43],[6,23,44],[9,4,45],[12,11,46],[15,16,47],[2,23,48]];var B=[[0,6,49],[7,10,50],[14,15,51],[5,21,52],[12,6,53],[3,10,54],[10,15,55],[1,21,56],[8,6,57],[15,10,58],[6,15,59],[13,21,60],[4,6,61],[11,10,62],[2,15,63],[9,21,64]];function N(O,Q,P){return(O&Q)|(~O&P)}function M(O,Q,P){return(O&P)|(Q&~P)}function L(O,Q,P){return O^Q^P}function J(O,Q,P){return Q^(O|~P)}var A=[[N,E],[M,D],[L,C],[J,B]];function G(O){return String.fromCharCode(O&255)+String.fromCharCode((O>>>8)&255)+String.fromCharCode((O>>>16)&255)+String.fromCharCode((O>>>24)&255)}function H(O){return O.charCodeAt(0)|(O.charCodeAt(1)<<8)|(O.charCodeAt(2)<<16)|(O.charCodeAt(3)<<24)}function K(O){while(O<0){O+=4294967296}while(O>4294967295){O-=4294967296}return O}function I(W,g,R,Q,O){var V,U,T,S;var P,e,Y;var Z,X;V=Q[0];U=Q[1];T=Q[2];S=Q[3];P=O[0];e=O[1];Y=O[2];X=R(g[U],g[T],g[S]);Z=g[V]+X+W[P]+F[Y];Z=K(Z);Z=((Z<<e)|(Z>>>(32-e)));Z+=g[U];g[V]=K(Z)}MD5.digest=function(V){var Q,a,P,b;var Z,Y,W,X,O;var U,S,R;var T;P=[1732584193,4023233417,2562383102,271733878];Z=V.length;Y=Z&63;W=(Y<56)?(56-Y):(120-Y);if(W>0){V+="\x80";for(U=0;U<W-1;U++){V+="\x00"}}V+=G(Z*8);V+=G(0);Z+=W+8;Q=[0,1,2,3];a=[16];b=[4];for(R=0;R<Z;R+=64){for(U=0,S=R;U<16;U++,S+=4){a[U]=V.charCodeAt(S)|(V.charCodeAt(S+1)<<8)|(V.charCodeAt(S+2)<<16)|(V.charCodeAt(S+3)<<24)}for(U=0;U<4;U++){b[U]=P[U]}for(U=0;U<4;U++){X=A[U][0];O=A[U][1];for(S=0;S<16;S++){I(a,b,X,Q,O[S]);T=Q[0];Q[0]=Q[3];Q[3]=Q[2];Q[2]=Q[1];Q[1]=T}}for(U=0;U<4;U++){P[U]+=b[U];P[U]=K(P[U])}}return G(P[0])+G(P[1])+G(P[2])+G(P[3])};MD5.hexdigest=function(R){var Q,P,S;var O;O=MD5.digest(R);P="";for(Q=0;Q<16;Q++){S=O.charCodeAt(Q);P+="0123456789abcdef".charAt((S>>4)&15);P+="0123456789abcdef".charAt(S&15)}return P}})(); 
    20130 
    20231    GM_xmlhttpRequest({ 
     
    21544                                                var t = new Date(bookmarks[n].getElementsByTagName('pubDate')[0].textContent); 
    21645                                                var y = t.getFullYear(); 
    217                                                 var m = t.getMonth(); 
     46                                                var m = t.getMonth() + 1; 
    21847                                                var d = t.getDate(); 
    21948                                                if (m < 10) m = '0' + m; 
     
    22150                                                return y + '年' + m + '月' + d + '日'; 
    22251                                        })(); 
    223                                         var timestamp2 = timestamp.replace(/[^0-9]/g, ''); 
     52                                        var timestamp2 = timestamp.replace(/\D+/g, ''); 
    22453                                        var comment = bookmarks[n].getElementsByTagName('description'); 
    22554                                        if (comment.length) comment = comment[0].textContent;