"मीडियाविकि:Gadget-dropdown-menus.js": अवतरणों में अंतर
भारत डिस्कवरी प्रस्तुति
आदित्य चौधरी (वार्ता | योगदान) No edit summary |
आदित्य चौधरी (वार्ता | योगदान) No edit summary |
||
पंक्ति 211: | पंक्ति 211: | ||
menus[menus.length] = createMenu('user',true,Array( | menus[menus.length] = createMenu('user',true,Array( | ||
['c-u-logs', 'User logs >', '#'] , | ['c-u-logs', 'User logs >', '#'] , | ||
['c-u-rfx', ' | ['c-u-rfx', 'अनुपलब्ध', '#'] , | ||
['c-u-blocks', 'Blocks >', '#'] , | ['c-u-blocks', 'Blocks >', '#'] , | ||
['c-u-contribs', 'Contributions', wgScript+'?title=Special:Contributions/'+uname+'&action=view'] , | ['c-u-contribs', 'Contributions', wgScript+'?title=Special:Contributions/'+uname+'&action=view'] , | ||
पंक्ति 234: | पंक्ति 234: | ||
['c-ux-rfa', 'RfAs', wgScript+'?title=Special:PrefixIndex/Wikipedia:Requests_for_adminship/'+uname+'&action=view'] , | ['c-ux-rfa', 'RfAs', wgScript+'?title=Special:PrefixIndex/Wikipedia:Requests_for_adminship/'+uname+'&action=view'] , | ||
['c-ux-rfb', 'RfBs', wgScript+'?title=Special:PrefixIndex/Wikipedia:Requests_for_bureaucratship/'+uname+'&action=view'] , | ['c-ux-rfb', 'RfBs', wgScript+'?title=Special:PrefixIndex/Wikipedia:Requests_for_bureaucratship/'+uname+'&action=view'] , | ||
['c-ux-rfar', 'RfAr', wgScript+'?title= | ['c-ux-rfar', 'RfAr', wgScript+'?title=भारतकोश:'+uname'] , | ||
['c-ux-rfc', 'RfC', wgScript+'?title=Wikipedia:Requests_for_comment/'+uname+'&action=view'] , | ['c-ux-rfc', 'RfC', wgScript+'?title=Wikipedia:Requests_for_comment/'+uname+'&action=view'] , | ||
['c-ux-rfcu', 'RfCU', wgScript+'?title=Wikipedia:Requests_for_checkuser/Case/'+uname+'&action=view'] , | ['c-ux-rfcu', 'RfCU', wgScript+'?title=Wikipedia:Requests_for_checkuser/Case/'+uname+'&action=view'] , |
06:19, 25 जुलाई 2011 का अवतरण
/********************************************************************* ** ***WARNING: GLOBAL GADGET FILE*** ** ** any changes to this file will affect many users ** ** please discuss changes on the talk page or at ** ** [[Wikipedia talk:Gadget]] before editing ** ** (consider dropping the script author a note as well...) ** ** ** ********************************************************************** ** Script: Drop-down menus ** ** Version: 4.51g ** ** Author: Haza-w ** ** Documentation: [[User:Haza-w/Drop-down menus]] ** ** ** *********************************************************************/ // "Fail gracefully" if skin not supported switch (skin) { case 'modern': case 'monobook': case 'vector': // Global variables var _cactions = { admin: wgUserGroups.join().indexOf('sysop') > -1 ? true : false, areqs: [], hovms: skin == 'vector' ? 50 : 400, menus: [], mouse: null, pname: encodeURIComponent(wgPageName), timer: [], vectr: skin == 'vector' ? true : false }; // Process XMLHttpRequests function xhr(request,url,orsc) { with (request) { open('GET',url,true); onreadystatechange = orsc; send(null); } } // Find absolute position of element function findPos(eid,offset) { var obj = document.getElementById(eid), pos = [0,0]; do with (obj) { pos[0] += offsetLeft; pos[1] += offsetTop; } while (obj = obj.offsetParent); pos[0] += offset[0]; pos[1] += offset[1]; return pos; } // Create menu div element function createMenu(mid,vectorise,html) { var menu = document.createElement('div'); with (menu) { id = 'opt-' + mid; className = 'ca-menu'; style.display = 'none'; } menu.onmouseover = function () {showMenu('opt-'+mid)}; menu.onmouseout = function () {hideMenu('opt-'+mid)}; var elements = { ul: document.createElement('ul'), li: null, a: null, txt: null }; with (elements) { for (var i = 0; i < html.length; i++) if (html[i].length) { li = document.createElement('li'); li.id = html[i][0]; a = document.createElement('a'); a.href = html[i][2]; txt = document.createTextNode(html[i][1]); a.appendChild(txt); li.appendChild(a); ul.appendChild(li); } menu.appendChild(ul); } document.body.appendChild(menu); if (vectorise) createTab(mid); return 'opt-' + mid; } // Create cactions LI tab function createTab(mid) { var mtitle = mid.charAt(0).toUpperCase() + mid.substr(1); if (_cactions.vectr) { var cid = 'p-' + mid; var elements = { div: document.createElement('div'), h5: document.createElement('h5'), span: document.createElement('span'), a: document.createElement('a'), txt: null }; with (elements) { div.id = cid; div.className = 'vectorMenu extraMenu'; txt = document.createTextNode(mtitle); span.appendChild(txt); h5.appendChild(span); a.href = '#'; a.onmouseover = function () {showMenu('opt-'+mid,findPos(cid,[0,40]))}; a.onmouseout = function () {hideMenu('opt-'+mid)}; span = document.createElement('span'); txt = document.createTextNode(mtitle); span.appendChild(txt); a.appendChild(span); h5.appendChild(a); div.appendChild(h5); document.getElementById('right-navigation').insertBefore(div,document.getElementById('p-search')); } } else { var cid = 'ca-' + mid; var elements = { li: document.createElement('li'), a: document.createElement('a'), txt: document.createTextNode(mtitle) }; with (elements) { li.id = cid; a.href = '#'; a.onmouseover = function () {showMenu('opt-'+mid,findPos(cid,[-10,20]))}; a.onmouseout = function () {hideMenu('opt-'+mid)}; a.appendChild(txt); li.appendChild(a); document.getElementById('p-cactions').getElementsByTagName('div')[0].getElementsByTagName('ul')[0].appendChild(li); } } } // CSS hide elements function hideElements(elements,conditionals) { if (typeof(conditionals) == 'undefined') { for (var i = 0; i < elements.length; i++) if (document.getElementById(elements[i])) document.getElementById(elements[i]).style.display = 'none'; } else for (var i = 0; i < elements.length; i++) if (document.getElementById(elements[i])) { document.getElementById(elements[i]).style.display = 'none'; if (conditionals[i]) document.getElementById(conditionals[i]).style.display = 'none'; } } // Show/hide menu functions function showMenu(mid,pos) { with (_cactions) { mouse = mid; if (pos) for (var i = 0; i < menus.length; i++) { if (timer[menus[i]]) { clearTimeout(timer[menus[i]]); timer[menus[i]] = null; } if (mid.replace(/-[^-]+$/,'') == menus[i]) continue; document.getElementById(menus[i]).style.display = 'none'; } if (!timer[mid]) with (document.getElementById(mid).style) { display = ''; if (pos) { left = pos[0]+'px'; top = pos[1]+'px'; } } else { clearTimeout(timer[mid]); timer[mid] = null; } } } function hideMenu(mid) { with (_cactions) { if (mid == mouse.replace(/-[^-]+$/,'')) timer[mid] = null; if (timer[mid]) { timer[mid] = null; document.getElementById(mid).style.display = 'none'; if (mid == mouse && mid.search(/opt-.*-/) != -1) document.getElementById(mid.replace(/-[^-]+$/,'')).style.display = 'none'; } else timer[mid] = setTimeout('hideMenu(\''+mid+'\');',hovms); } } // Delink element function removeLink(eid) { var element = document.getElementById(eid); if (!element.getElementsByTagName('a').length) return false; var a = element.getElementsByTagName('a')[0]; element.appendChild(a.removeChild(a.firstChild)); element.removeChild(a); element.className = 'ca-disabled'; } // User options hook addOnloadHook(function () { switch (wgNamespaceNumber) { case 2: case 3: _cactions['uname'] = encodeURIComponent(wgTitle.split('/')[0].replace(/ /g,'_')); } if (wgCanonicalSpecialPageName == 'Contributions') for (var i = 0, hl; hl = document.getElementById('contentSub').getElementsByTagName('a')[i]; i++) { if (hl.href.indexOf('user=') > -1) { _cactions['uname'] = hl.href.split('user=')[1].split('&')[0]; break; } } if (_cactions.uname) { with (_cactions) { menus[menus.length] = createMenu('user',true,Array( ['c-u-logs', 'User logs >', '#'] , ['c-u-rfx', 'अनुपलब्ध', '#'] , ['c-u-blocks', 'Blocks >', '#'] , ['c-u-contribs', 'Contributions', wgScript+'?title=Special:Contributions/'+uname+'&action=view'] , ['c-u-subpages', 'Userspace', wgScript+'?title=Special:PrefixIndex/User:'+uname+'/&action=view'] , ['c-u-email', 'E-mail user', wgScript+'?title=Special:EmailUser/'+uname+'&action=view'] , ['c-u-groups', 'User groups', wgScript+'?title=Special:ListUsers&action=view&limit=1&username='+uname] , ['c-u-rightslog', 'Rights changes', wgScript+'?title=Special:Log&action=view&type=rights&page=User:'+uname] )); menus[menus.length] = createMenu('user-logs',false,Array( ['c-ul-logs', 'All user logs', wgScript+'?title=Special:Log&action=view&user='+uname] , ['c-ul-blocks', 'Blocks', wgScript+'?title=Special:Log&action=view&type=block&user='+uname] , ['c-ul-deletes', 'Deletions', wgScript+'?title=Special:Log&action=view&type=delete&user='+uname] , ['c-ul-moves', 'Moves', wgScript+'?title=Special:Log&action=view&type=move&user='+uname] , ['c-ul-patrols', 'Patrols', wgScript+'?title=Special:Log&action=view&type=patrol&user='+uname] , ['c-ul-protects', 'Protections', wgScript+'?title=Special:Log&action=view&type=protect&user='+uname] , ['c-ul-uploads', 'Uploads', wgScript+'?title=Special:Log&action=view&type=upload&user='+uname] , ['c-ul-rights', 'User rights', wgScript+'?title=Special:Log&action=view&type=rights&user='+uname] )); menus[menus.length] = createMenu('user-rfx',false,Array( ['c-ux-rfa', 'RfAs', wgScript+'?title=Special:PrefixIndex/Wikipedia:Requests_for_adminship/'+uname+'&action=view'] , ['c-ux-rfb', 'RfBs', wgScript+'?title=Special:PrefixIndex/Wikipedia:Requests_for_bureaucratship/'+uname+'&action=view'] , ['c-ux-rfar', 'RfAr', wgScript+'?title=भारतकोश:'+uname'] , ['c-ux-rfc', 'RfC', wgScript+'?title=Wikipedia:Requests_for_comment/'+uname+'&action=view'] , ['c-ux-rfcu', 'RfCU', wgScript+'?title=Wikipedia:Requests_for_checkuser/Case/'+uname+'&action=view'] , ['c-ux-spi', 'SPI', wgScript+'?title=Wikipedia:Sockpuppet_investigations/'+uname+'&action=view'] )); menus[menus.length] = createMenu('user-blocks',false,Array( admin? ['c-ub-block', 'Block user', wgScript+'?title=Special:BlockIP/'+uname+'&action=view'] :[] , admin? ['c-ub-unblock', 'Unblock user', wgScript+'?title=Special:IPBlockList&action=unblock&ip='+uname] :[] , ['c-ub-ipblock', 'View block', wgScript+'?title=Special:IPBlockList&action=view&ip='+uname] , ['c-ub-blocklog', 'Block log', wgScript+'?title=Special:Log&action=view&type=block&page=User:'+uname] )); if (sajax_init_object() && wgEnableAPI) { if (uname.search(/(?:\d{1,3}\.){3}\d{1,3}/) == 0) { areqs['ip'] = new sajax_init_object(); xhr(areqs['ip'],wgScriptPath+'/api.php?format=json&action=query&list=blocks&bkusers='+uname+'&bkprop=id&xhr='+Math.random(),function () { with (areqs['ip']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); if (api.query.blocks.length) { hideElements(['c-ub-block']); document.getElementById('c-ub-ipblock').getElementsByTagName('a')[0].style.color = '#EE1111'; } else { hideElements(['c-ub-unblock']); removeLink('c-ub-ipblock'); } } } ); } else { areqs['user'] = new sajax_init_object(); xhr(areqs['user'],wgScriptPath+'/api.php?format=json&action=query&list=users&ususers='+uname+'&usprop=blockinfo|groups&xhr='+Math.random(),function () { with (areqs['user']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); with (api.query.users[0]) { if (typeof(missing) != 'undefined') hideElements(['ca-user']); else { if (typeof(blockedby) != 'undefined') { hideElements(['c-ub-block']); document.getElementById('c-ub-ipblock').getElementsByTagName('a')[0].style.color = '#EE1111'; } else { hideElements(['c-ub-unblock']); removeLink('c-ub-ipblock'); } if (typeof(groups) == 'undefined' || groups.join().indexOf('sysop') == -1) hideElements(['c-ul-blocks','c-ul-deletes','c-ul-protects','c-ul-rights']); } } } } ); areqs['rfa'] = new sajax_init_object(); xhr(areqs['rfa'],wgScriptPath+'/api.php?format=json&action=query&list=allpages&apprefix=Requests_for_adminship%2F'+uname+'&apnamespace=4&aplimit=1&xhr='+Math.random(),function () { with (areqs['rfa']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); if (!api.query.allpages.length) removeLink('c-ux-rfa'); } } ); areqs['rfb'] = new sajax_init_object(); xhr(areqs['rfb'],wgScriptPath+'/api.php?format=json&action=query&list=allpages&apprefix=Requests_for_bureaucratship%2F'+uname+'&apnamespace=4&aplimit=1&xhr='+Math.random(),function () { with (areqs['rfb']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); if (!api.query.allpages.length) removeLink('c-ux-rfb'); } } ); areqs['uspace'] = new sajax_init_object(); xhr(areqs['uspace'],wgScriptPath+'/api.php?format=json&action=query&list=allpages&apprefix='+uname+'%2F&apnamespace=2&aplimit=1&xhr='+Math.random(),function () { with (areqs['uspace']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); if (!api.query.allpages.length) removeLink('c-u-subpages'); } } ); } areqs['rfx'] = new sajax_init_object(); xhr(areqs['rfx'],wgScriptPath+'/api.php?format=json&action=query&titles=Wikipedia:Requests_for_arbitration/'+uname+'|Wikipedia:Requests_for_comment/'+uname+'|Wikipedia:Requests_for_checkuser/Case/'+uname+'|Wikipedia:Sockpuppet_investigations/'+uname+'&letype=block&letitle=User:'+uname+'&prop=info&xhr='+Math.random(),function () { with (areqs['rfx']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); for (i in api.query.pages) switch (api.query.pages[i].title.split('/')[0]) { case 'Wikipedia:Requests for arbitration': if (typeof(api.query.pages[i].missing) != 'undefined') removeLink('c-ux-rfar'); break; case 'Wikipedia:Requests for comment': if (typeof(api.query.pages[i].missing) != 'undefined') removeLink('c-ux-rfc'); break; case 'Wikipedia:Requests for checkuser': if (typeof(api.query.pages[i].missing) != 'undefined') removeLink('c-ux-rfcu'); break; case 'Wikipedia:Sockpuppet investigations': if (typeof(api.query.pages[i].missing) != 'undefined') removeLink('c-ux-spi'); break; } } } ); areqs['ublocks'] = new sajax_init_object(); xhr(areqs['ublocks'],wgScriptPath+'/api.php?format=json&action=query&list=logevents&letype=block&letitle=User:'+uname+'&lelimit=1&xhr='+Math.random(),function () { with (areqs['ublocks']) if (readyState == 4 && status == 200) { var api = eval('('+responseText+')'); if (!api.query.logevents.length) removeLink('c-ub-blocklog'); } } ); } else hideElements(['c-ub-ipblock','c-ul-blocks','c-ul-deletes','c-ul-protects','c-ul-rights']); } hideElements(['t-contributions','t-log','t-emailuser']); document.getElementById('c-u-logs').onmouseover = function () {showMenu('opt-user-logs',findPos('c-u-logs',[40,0]))}; document.getElementById('c-u-logs').onmouseout = function () {hideMenu('opt-user-logs')}; document.getElementById('c-u-logs').style.fontWeight = 'bold'; document.getElementById('c-u-rfx').onmouseover = function () {showMenu('opt-user-rfx',findPos('c-u-rfx',[40,0]))}; document.getElementById('c-u-rfx').onmouseout = function () {hideMenu('opt-user-rfx')}; document.getElementById('c-u-rfx').style.fontWeight = 'bold'; document.getElementById('opt-user-rfx').style.width = '50px'; document.getElementById('c-u-blocks').onmouseover = function () {showMenu('opt-user-blocks',findPos('c-u-blocks',[40,0]))}; document.getElementById('c-u-blocks').onmouseout = function () {hideMenu('opt-user-blocks')}; document.getElementById('c-u-blocks').style.fontWeight = 'bold'; if (_cactions.uname.search(/(?:\d{1,3}\.){3}\d{1,3}/) == 0) hideElements(['c-u-logs','c-ux-rfa','c-ux-rfb','c-u-editcount','c-u-editsum','c-u-wcuser','c-u-subpages','c-u-email','c-u-groups','c-u-rightslog']); } } ); // Page options hook addOnloadHook(function () { if (!wgCanonicalSpecialPageName) { with (_cactions) { menus[menus.length] = createMenu('page',true,Array( ['c-p-logs', 'लॉग >', '#'], wgArticleId? ['c-p-history', 'इतिहास', wgScript+'?title='+pname+'&action=history'] :[] , wgArticleId? ['c-p-move', 'स्थानांतरण करें', wgScript+'?title=Special:Movepage/'+pname+'&action=view'] :[] , !vectr? ['c-p-watch', 'ध्यान रखें', wgScript+'?title='+pname+'&action=watch'] :[] , !vectr? ['c-p-unwatch', 'ध्यान हटायें', wgScript+'?title='+pname+'&action=unwatch'] :[] , admin? ['c-p-protect', 'सुरक्षित करें', wgScript+'?title='+pname+'&action=protect'] :[] , admin? ['c-p-unprotect', 'सुरक्षा हटायें', wgScript+'?title='+pname+'&action=unprotect'] :[] , admin? ['c-p-delete', 'मिटायें', wgScript+'?title='+pname+'&action=delete'] :[] , admin? ['c-p-undelete', 'मिटे को वापस लायें', wgScript+'?title=Special:Undelete/'+pname+'&action=view'] :[] , wgArticleId? ['c-p-diff', 'ताज़ा अंतर', wgScript+'?title='+pname+'&action=view&diff='+wgCurRevisionId] :[] , wgArticleId? ['c-p-editzero', 'प्रथम विभाग का सम्पादन', wgScript+'?title='+pname+'&action=edit§ion=0'] :[] , wgArticleId? ['c-p-wcpage', 'पन्ने का विश्लेषण', 'http://en.wikichecker.com/article/?a='+pname] :[] , ['c-p-purge', 'कॅश ख़ाली करें', wgScript+'?title='+pname+'&action=purge'] )); menus[menus.length] = createMenu('page-logs',false,Array( ['c-pl-logs', 'सभी पन्नों के लॉग', wgScript+'?title=Special:Log&action=view&page='+pname] , ['c-pl-deletes', 'मिटायें पन्नों के लॉग', wgScript+'?title=Special:Log&type=delete&page='+pname] , ['c-pl-moves', 'स्थानांतरण लॉग', wgScript+'?title=Special:Log&action=view&type=move&page='+pname] , wgArticleId? ['c-pl-patrols', 'निगरानी लॉग', wgScript+'?title=Special:Log&action=view&type=patrol&page='+pname] :[] , ['c-pl-protects', 'सुरक्षा लॉग', wgScript+'?title=Special:Log&action=view&type=protect&page='+pname] , wgNamespaceNumber == 6? ['c-pl-uploads', 'Upload log', wgScript+'?title=Special:Log&action=view&type=upload&page='+pname] :[] )); } hideElements(['ca-protect','ca-unprotect','ca-delete','ca-undelete','ca-history','ca-move'],['c-p-unprotect','c-p-protect','c-p-undelete','p-c-delete']); if (!_cactions.vectr) hideElements(['ca-watch','ca-unwatch'],['c-p-unwatch','c-p-watch']); document.getElementById('c-p-logs').onmouseover = function () {showMenu('opt-page-logs',findPos('c-p-logs',[40,0]))}; document.getElementById('c-p-logs').onmouseout = function () {hideMenu('opt-page-logs')}; document.getElementById('c-p-logs').style.fontWeight = 'bold'; } } ); }