Jump to content

ᱵᱮᱵᱷᱟᱨᱤᱭᱟᱹ:Tiven2240/advance site notice

ᱣᱤᱠᱤᱯᱤᱰᱤᱭᱟ, ᱨᱟᱲᱟ ᱜᱮᱭᱟᱱ ᱯᱩᱛᱷᱤ ᱠᱷᱚᱱ

mw.loader.using( ['jquery.cookie', 'mediawiki.util'] ).done( function () {

(function ($, mw) {

   /** Advanced Site Notices ********
    * Allow to custom dynamic site notices
    * Maintainer: zh:User:PhiLiP
    */
   if (typeof(window.customASNInterval) == 'undefined') {
       window.customASNInterval = 10;
   }
   $(function () {
       $('#mw-dismissable-notice').css('display', 'none');
       if (window.closeASNForever || mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit') {
           return;
       }
       var ln = $('#siteNotice');
       if (!ln.length) {
           return;
       }
       var cname = 'dismissASN';
       var cval = $.cookie(cname);
       if (cval == ) {
           cval = 0;
       }
       var rev = 0;
       var toid = null;

var tb = $('

'); var ct = $('
');
       var sd = $('<a href="#" title="बंद करा (ब्राउझरमध्ये डिसमॅस एयसन कुकी काढून टाकून पुन्हा उघडा)"><img src="//upload.wikimedia.org/wikipedia/commons/f/f9/Closewindow14x14.png" alt="बंद करा (ब्राउझरमध्ये डिसमॅस एयसन कुकी काढून टाकून पुन्हा उघडा)" border="0"></a>');
tb.append($('
').append($('
').append(ct)).append($('').append(sd)));
       var nts = null;
       sd.click(function () {
           $.cookie(cname, rev, {
               expires: 30,
               path: '/'
           });
           clearTimeout(toid);
           tb.remove();
           return false;
       });
       var getAttrs = function (nt) {
           var only = {
               sysop: nt.hasClass('only_sysop'),
               logged: nt.hasClass('only_logged'),
               anon: nt.hasClass('only_anon'),
           };
           only['usr'] = only['sysop'] || only['logged'] || only['anon'];
           return only;
       };
       var loadNotices = function (pos) {
           if (!tb.length) {
               return;
           }
           ct.css('min-height', ct.height() + 'px');
           var l = nts.length;
           var nt = null;
           var rt = 0;
           while (!nt || nt.attr('class')) {
               if (nt) {
                   var only = getAttrs(nt);
                   if (!only['usr'] || (($.inArray('sysop', mw.config.get('wgUserGroups')) != -1) && only['sysop']) || (mw.config.get('wgUserName') && only['logged']) || (!mw.config.get('wgUserName') && only['anon'])) {
                       break;
                   }
               }
               pos = pos % l;
               nt = $(nts[pos++]);
               rt++;
               if (rt == l) {
                   return;
               }
           }
           nt = nt.html();
           if (ct.html()) {
               ct.stop().fadeOut(function () {
                   ct.html(nt).fadeIn();
               });
           } else if (rev == cval) {
               return;
           } else {
               tb.appendTo(ln);
               ct.html(nt).fadeIn();
           }
           toid = setTimeout(function () {
               loadNotices(pos)
           }, window.customASNInterval * 1000);
       };
       $.get(mw.util.wikiScript( 'api' ), {
           page: 'Template:AdvancedSiteNotices/ajax',
           prop: 'text',
           action: 'parse',
           format: 'json',
           maxage: 3600,
           smaxage: 3600
       }, function (d) {
d = $( '
' ).html( d.parse.text['*'] ).find( 'ul.sitents' );
           nts = $('li', d);
           rev = d.data( 'asn-version' );
           var l = nts.length;
           loadNotices(Math.floor(Math.random() * l));
       });
   });

})(jQuery, mediaWiki);

} );