|
|
| (2 intermediate revisions by the same user not shown) |
| Line 5: |
Line 5: |
| restore it from this page's history if the extension is ever disabled. */ | | restore it from this page's history if the extension is ever disabled. */ |
|
| |
|
| /* BEGIN WikiCyber corporate v1 */ | | /* Native CC BY-SA footer badge: repair an empty configured image source. */ |
| /* WikiCyber theme enhancements. Native MediaWiki editors/permissions stay intact. */
| | $(function () { |
| mw.loader.using('mediawiki.util').then(function () {
| | var badge = document.querySelector('#footer-copyrightico img'); |
| $(function () {
| | if (badge && !badge.getAttribute('src')) badge.src = '/resources/assets/licenses/cc-by-sa.png'; |
| if (!document.body.classList.contains('skin-vector-2022')) return; | |
| var base = mw.util.getUrl('Main Page');
| |
| var terms = mw.util.getUrl('WikiCyber:Terms of Use');
| |
| var logo = document.querySelector('.mw-logo-container');
| |
| if (logo && !logo.querySelector('.wc-slogan')) {
| |
| var slogan = document.createElement('span'); slogan.className = 'wc-slogan';
| |
| slogan.textContent = 'Knowledge for a safer digital world'; logo.append(slogan);
| |
| }
| |
| function link(label, href) { var a = document.createElement('a'); a.textContent = label; a.href = href; return a; }
| |
| var header = document.querySelector('.vector-header-start');
| |
| if (header) {
| |
| var nav = document.createElement('nav'); nav.className = 'wc-header-nav'; nav.setAttribute('aria-label', 'Primary');
| |
| nav.append(link('Knowledge base', base + '#topics'), link('Resources', mw.util.getUrl('Special:AllPages')), link('Contribute', mw.util.getUrl('Help:Your first article')));
| |
| header.after(nav);
| |
| }
| |
| var icons = document.querySelector('#footer-icons');
| |
| if (icons) {
| |
| var li = icons.querySelector('#footer-shorerogerico') || document.createElement('li');
| |
| li.replaceChildren();
| |
| var sre = link('', 'https://kirillshore.com'); sre.className = 'wc-sre-logo';
| |
| var image = document.createElement('img'); image.src = '/images/branding/theme-v1/shore-roger-logo.svg'; image.alt = 'Shore-Roger Enterprises'; image.width = 124; image.height = 48;
| |
| sre.append(image); li.append(sre); icons.append(li);
| |
| var cc = icons.querySelector('#footer-copyrightico img');
| |
| if (cc && !cc.getAttribute('src')) cc.src = '/resources/assets/licenses/cc-by-sa.png';
| |
| }
| |
| // This acknowledgement is browser-local; it does not gate access or create a legal audit record.
| |
| var key = 'wikicyber-terms-revision-253', bar = document.createElement('section');
| |
| bar.className = 'wc-terms-bar'; bar.setAttribute('aria-labelledby', 'wc-terms-heading');
| |
| var copy = document.createElement('div'), heading = document.createElement('h2'), description = document.createElement('p');
| |
| heading.id = 'wc-terms-heading'; heading.textContent = 'Terms of Use & cookies';
| |
| description.append('By selecting “Accept and continue,” you agree to the ', link('Terms of Use', terms), '. Essential cookies only.');
| |
| copy.append(heading, description);
| |
| var actions = document.createElement('div'); actions.className = 'wc-terms-actions';
| |
| var accept = document.createElement('button'); accept.type = 'button'; accept.textContent = 'Accept and continue';
| |
| actions.append(link('Read the terms', terms), accept); bar.append(copy, actions); document.body.append(bar);
| |
| var footer = document.querySelector('#footer');
| |
| if (footer && mw.config.get('wgIsMainPage')) {
| |
| var tools = document.createElement('div'); tools.className = 'wc-home-tools';
| |
| tools.append(link('Page history', mw.util.getUrl('Main Page', { action: 'history' })));
| |
| if (mw.config.get('wgIsProbablyEditable')) tools.append(link('Edit Main Page', mw.util.getUrl('Main Page', { action: 'edit' })));
| |
| footer.append(tools);
| |
| }
| |
| var originalPadding = document.body.style.paddingBottom;
| |
| function spacing() { document.body.style.paddingBottom = bar.hidden ? originalPadding : bar.offsetHeight + 16 + 'px'; }
| |
| function display(show) { bar.hidden = !show; spacing(); }
| |
| var accepted = false; try { accepted = localStorage.getItem(key) === 'accepted'; } catch (e) { /* Storage optional. */ }
| |
| display(!accepted);
| |
| new ResizeObserver(spacing).observe(bar);
| |
| accept.addEventListener('click', function () { try { localStorage.setItem(key, 'accepted'); } catch (e) { /* Dismiss for this page. */ } display(false); var content = document.getElementById('content'); if (content) { content.setAttribute('tabindex', '-1'); content.focus({ preventScroll: true }); } });
| |
| });
| |
| }); | | }); |
|
| |
| /* END WikiCyber corporate v1 */
| |
/* Any JavaScript here will be loaded for all users on every page load. */
/* The personal-menu "Sandbox" link (with icon) is now added server-side by the SandboxAccess extension.
The previous JavaScript version (Special:MyPage/sandbox via mw.util.addPortletLink) was removed to avoid a duplicate link;
restore it from this page's history if the extension is ever disabled. */
/* Native CC BY-SA footer badge: repair an empty configured image source. */
$(function () {
var badge = document.querySelector('#footer-copyrightico img');
if (badge && !badge.getAttribute('src')) badge.src = '/resources/assets/licenses/cc-by-sa.png';
});