CINXE.COM
Izvorni kôd stranice Modul:Authority control - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="bs" dir="ltr"> <head> <meta charset="UTF-8"> <title>Izvorni kôd stranice Modul:Authority control - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-disabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )bswikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":true,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"283e8a97-e4b7-4222-90e3-0e67c9c840cb","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Modul:Authority_control","wgTitle":"Authority control","wgCurRevisionId":3594953,"wgRevisionId":0,"wgArticleId":353142,"wgIsArticle":false,"wgIsRedirect":false,"wgAction":"edit","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Modul:Authority_control","wgRelevantArticleId":353142,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgStableRevisionId":3594953,"wgMediaViewerOnClick":true, "wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":50000,"wgCodeEditorCurrentLanguage":"lua","wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false,"wgSiteNoticeId":"2.3"};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready", "user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.codeEditor.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.tablesorter.styles":"ready","mediawiki.ui.button":"ready","ext.charinsert.styles":"ready","ext.flaggedRevs.basic":"ready","mediawiki.codex.messagebox.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready","ext.dismissableSiteNotice.styles":"ready"};RLPAGEMODULES=["ext.codeEditor","ext.scribunto.edit","mediawiki.action.edit.collapsibleFooter","site","mediawiki.page.ready","jquery.tablesorter","skins.vector.js","ext.centralNotice.geoIP","ext.charinsert","ext.flaggedRevs.advanced","ext.gadget.ReferenceTooltips","ext.gadget.Pgnviewer","ext.gadget.switcher","ext.gadget.charinsert","ext.urlShortener.toolbar","ext.centralauth.centralautologin", "mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.checkUser.clientHints","wikibase.sidebar.tracking","ext.dismissableSiteNotice"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=bs&modules=ext.charinsert.styles%7Cext.codeEditor.styles%7Cext.dismissableSiteNotice.styles%7Cext.flaggedRevs.basic%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediaBadges%7Cext.wikimediamessages.styles%7Cjquery.tablesorter.styles%7Cmediawiki.codex.messagebox.styles%7Cmediawiki.ui.button%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=bs&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=bs&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="noindex,nofollow,max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Izvorni kôd stranice Modul:Authority control - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//bs.m.wikipedia.org/wiki/Modul:Authority_control"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (bs)"> <link rel="EditURI" type="application/rsd+xml" href="//bs.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://bs.wikipedia.org/wiki/Modul:Authority_control"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.bs"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom izvor" href="/w/index.php?title=Posebno:Nedavne_izmjene&feed=atom"> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="codeeditor-loading skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Modul_Authority_control rootpage-Modul_Authority_control skin-vector-2022 action-edit"><a class="mw-jump-link" href="#bodyContent">Idi na sadržaj</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Sajt"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Glavni meni" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Glavni meni</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Glavni meni</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">premjesti na bočnu traku</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">sakrij</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigacija </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Po%C4%8Detna_strana" title="Posjeti početnu stranicu [z]" accesskey="z"><span>Početna strana</span></a></li><li id="n-sidebar-featured" class="mw-list-item"><a href="/wiki/Wikipedia:Istaknuti_%C4%8Dlanci"><span>Istaknuti članci</span></a></li><li id="n-sidebar-portals" class="mw-list-item"><a href="/wiki/Wikipedia:Portal"><span>Portali</span></a></li><li id="n-sidebar-categories" class="mw-list-item"><a href="/wiki/Wikipedia:Kategorije"><span>Kategorije</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Posebno:Nedavne_izmjene" title="Spisak nedavnih izmjena na wiki. [r]" accesskey="r"><span>Nedavne izmjene</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Posebno:Nasumi%C4%8Dna_stranica" title="Učitaj nasumičnu stranicu [x]" accesskey="x"><span>Nasumična stranica</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Interakcija </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Pomo%C4%87:Sadr%C5%BEaj" title="Mjesto gdje možete nešto da naučite."><span>Pomoć</span></a></li><li id="n-sidebar-sandbox" class="mw-list-item"><a href="/wiki/Wikipedia:Igrali%C5%A1te"><span>Igralište</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Vrata_zajednice" title="O projektu, šta možete da uradite, gdje se šta nalazi"><span>Vrata zajednice</span></a></li><li id="n-sidebar-village-pump" class="mw-list-item"><a href="/wiki/Wikipedia:%C4%8Car%C5%A1ija"><span>Čaršija</span></a></li><li id="n-sidebar-news" class="mw-list-item"><a href="/wiki/Wikipedia:Novosti"><span>Novosti</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Po%C4%8Detna_strana" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="Slobodna enciklopedija" src="/static/images/mobile/copyright/wikipedia-tagline-bs.svg" width="118" height="13" style="width: 7.375em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Posebno:Pretraga" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Pretraži Wikipediju [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Pretraga</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Pretraži Wikipediju" aria-label="Pretraži Wikipediju" autocapitalize="sentences" title="Pretraži Wikipediju [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Posebno:Pretraga"> </div> <button class="cdx-button cdx-search-input__end-button">Traži</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Lični alati"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Izgled"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Izgled" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Izgled</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_bs.wikipedia.org&uselang=bs" class=""><span>Donacije</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Posebno:Napravi_ra%C4%8Dun&returnto=Modul%3AAuthority+control&returntoquery=action%3Dedit" title="Predlažemo vam da napravite račun i prijavite se; međutim, to nije obavezno" class=""><span>Napravi korisnički račun</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Posebno:Korisni%C4%8Dka_prijava&returnto=Modul%3AAuthority+control&returntoquery=action%3Dedit" title="Predlažemo vam da se prijavite, iako to nije obavezno [o]" accesskey="o" class=""><span>Prijavi me</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Više opcija" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Lični alati" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Lični alati</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Korisnički meni" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_bs.wikipedia.org&uselang=bs"><span>Donacije</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Posebno:Napravi_ra%C4%8Dun&returnto=Modul%3AAuthority+control&returntoquery=action%3Dedit" title="Predlažemo vam da napravite račun i prijavite se; međutim, to nije obavezno"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Napravi korisnički račun</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Posebno:Korisni%C4%8Dka_prijava&returnto=Modul%3AAuthority+control&returntoquery=action%3Dedit" title="Predlažemo vam da se prijavite, iako to nije obavezno [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Prijavi me</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Stranice za odjavljene urednike <a href="/wiki/Pomo%C4%87:Uvod" aria-label="Saznajte više o uređivanju"><span>detaljnije</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Posebno:Moji_doprinosi" title="Spisak izmjena napravljenih s ove IP-adrese [y]" accesskey="y"><span>Doprinosi</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Posebno:Moj_razgovor" title="Rasprava o izmjenama s ove IP-adrese [n]" accesskey="n"><span>Razgovor</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><div id="mw-dismissablenotice-anonplace"></div><script>(function(){var node=document.getElementById("mw-dismissablenotice-anonplace");if(node){node.outerHTML="\u003Cdiv class=\"mw-dismissable-notice\"\u003E\u003Cdiv class=\"mw-dismissable-notice-close\"\u003E[\u003Ca tabindex=\"0\" role=\"button\"\u003Ezatvori\u003C/a\u003E]\u003C/div\u003E\u003Cdiv class=\"mw-dismissable-notice-body\"\u003E\u003C!-- CentralNotice --\u003E\u003Cdiv id=\"localNotice\" data-nosnippet=\"\"\u003E\u003Cdiv class=\"sitenotice\" lang=\"bs\" dir=\"ltr\"\u003E\u003Ctable class=\"fmbox fmbox-system\" role=\"presentation\" style=\"border:1px solid #409262; text-align:center;\"\u003E\u003Ctbody\u003E\u003Ctr\u003E\u003Ctd class=\"mbox-image\"\u003E\u003Cspan typeof=\"mw:File\"\u003E\u003Ca href=\"/wiki/Datoteka:Wikipedia_Asian_Month_Logo.svg\" class=\"mw-file-description\"\u003E\u003Cimg src=\"//upload.wikimedia.org/wikipedia/commons/thumb/7/71/Wikipedia_Asian_Month_Logo.svg/40px-Wikipedia_Asian_Month_Logo.svg.png\" decoding=\"async\" width=\"40\" height=\"43\" class=\"mw-file-element\" srcset=\"//upload.wikimedia.org/wikipedia/commons/thumb/7/71/Wikipedia_Asian_Month_Logo.svg/60px-Wikipedia_Asian_Month_Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/71/Wikipedia_Asian_Month_Logo.svg/80px-Wikipedia_Asian_Month_Logo.svg.png 2x\" data-file-width=\"512\" data-file-height=\"555\" /\u003E\u003C/a\u003E\u003C/span\u003E\u003C/td\u003E\u003Ctd class=\"mbox-text\"\u003EOd 1. do 30. novembra 2024. učestvujte u projektu \u003Ca href=\"/wiki/Wikipedia:Azijski_mjesec/2024.\" title=\"Wikipedia:Azijski mjesec/2024.\"\u003E\"Azijski mjesec\"\u003C/a\u003E.\u003C/td\u003E\u003C/tr\u003E\u003C/tbody\u003E\u003C/table\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E\u003C/div\u003E";}}());</script></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Sajt"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Sadržaj" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Sadržaj</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">premjesti na bočnu traku</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">sakrij</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Početak</div> </a> </li> <li id="toc-Zašto_je_stranica_zaštićena?" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Zašto_je_stranica_zaštićena?"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Zašto je stranica zaštićena?</span> </div> </a> <ul id="toc-Zašto_je_stranica_zaštićena?-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Šta_mogu_ja_uraditi?" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Šta_mogu_ja_uraditi?"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Šta mogu ja uraditi?</span> </div> </a> <ul id="toc-Šta_mogu_ja_uraditi?-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Sadržaj" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Uključi/isključi sadržaj" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Uključi/isključi sadržaj</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading">Izvorni kôd stranice Modul:Authority control</h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Ovaj članak postoji samo na ovom jeziku. Dodaj članak za druge jezike" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-0" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">Dodaj jezike</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="uls-after-portlet-link"></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Imenski prostori"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Modul:Authority_control" title="Prikaži stranicu modula [c]" accesskey="c"><span>Modul</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Razgovor_o_modulu:Authority_control&action=edit&redlink=1" rel="discussion" class="new" title="Razgovor o sadržaju (stranica ne postoji) [r]" accesskey="r"><span>Razgovor</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Promijeni varijantu jezika" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Pregledi"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="vector-tab-noicon mw-list-item"><a href="/wiki/Modul:Authority_control"><span>Čitaj</span></a></li><li id="ca-viewsource" class="selected vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modul:Authority_control&action=edit" title="Ova stranica je zaštićena. Možete joj vidjeti izvorni kôd [i]" accesskey="i"><span>Izvorni kôd</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Modul:Authority_control&action=history" title="Prethodne izmjene ove stranice [h]" accesskey="h"><span>Historija</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Alati" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Alati</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Alati</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">premjesti na bočnu traku</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">sakrij</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Radnje </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="vector-more-collapsible-item mw-list-item"><a href="/wiki/Modul:Authority_control"><span>Čitaj</span></a></li><li id="ca-more-viewsource" class="selected vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Modul:Authority_control&action=edit"><span>Izvorni kôd</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Modul:Authority_control&action=history"><span>Historija</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Općenito </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Posebno:%C5%A0ta_vodi_ovamo/Modul:Authority_control" title="Spisak svih članaka koji su povezani s ovim [j]" accesskey="j"><span>Šta vodi ovamo</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Posebno:Srodne_izmjene/Modul:Authority_control" rel="nofollow" title="Nedavne izmjene na stranicama koje su povezane sa ovom [k]" accesskey="k"><span>Srodne izmjene</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:Upload" title="Postavi slike i druge medije [u]" accesskey="u"><span>Postavi datoteku</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Posebno:Posebne_stranice" title="Spisak svih posebnih stranica [q]" accesskey="q"><span>Posebne stranice</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Modul:Authority_control&action=info" title="Više informacija o ovoj stranici"><span>Informacije o stranici</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Posebno:Skra%C4%87iva%C4%8D_adresa&url=https%3A%2F%2Fbs.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DModul%3AAuthority_control%26action%3Dedit"><span>Skraćeni link</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Posebno:QrCode&url=https%3A%2F%2Fbs.wikipedia.org%2Fw%2Findex.php%3Ftitle%3DModul%3AAuthority_control%26action%3Dedit"><span>Preuzmi QR kod</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> Na drugim projektima </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q11640331" title="Link na povezane podatke spremišnih stavki [g]" accesskey="g"><span>Stavka na Wikipodacima</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Izgled"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Izgled</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">premjesti na bočnu traku</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">sakrij</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> </div> <div id="contentSub"><div id="mw-content-subtitle">← <a href="/wiki/Modul:Authority_control" title="Modul:Authority control">Modul:Authority control</a></div></div> <div id="mw-content-text" class="mw-body-content"><p>Nemate dopuštenje da uredite ovu stranicu, iz sljedećih razloga: </p> <ul class="permissions-errors"><li class="mw-permissionerror-protectedpagetext"><table id="mw-protectedpagetext" class="fmbox fmbox-system" role="presentation" style="border-style:none;"><tbody><tr><td class="mbox-text"><table class="ombox ombox-protection" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/5/59/Padlock.svg/40px-Padlock.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/5/59/Padlock.svg/60px-Padlock.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/5/59/Padlock.svg/80px-Padlock.svg.png 2x" data-file-width="128" data-file-height="128" /></span></span></td><td class="mbox-text" style="font-weight:bold; font-size:130%;">Ovaj članak je zaštićen od izmjena i samo ga korisnici sa <a href="/wiki/Wikipedia:Administratori" title="Wikipedia:Administratori">sysop privilegijama</a> mogu mijenjati.</td></tr></tbody></table> <table style="margin-top:1em; background:none;"> <tbody><tr><td style="width:50%; vertical-align:top;"> <div style="width:80%; vertical-align:top; background:transparent;"> <div style="position:relative; height:25px; left:1.3em; top:4px;"><h2 id="Zašto_je_stranica_zaštićena?" style="border-bottom:0; font-size:130%; font-weight:bold; padding:.15em;"><span id="Za.C5.A1to_je_stranica_za.C5.A1ti.C4.87ena.3F"></span>Zašto je stranica zaštićena?</h2></div> <ul> <li> Neki <a href="/wiki/Wikipedia:%C5%A0abloni" title="Wikipedia:Šabloni">šabloni</a> i stranice interfejsa su <a href="/wiki/Wikipedia:Pravila_za_za%C5%A1titu_%C4%8Dlanaka" class="mw-redirect" title="Wikipedia:Pravila za zaštitu članaka">trajno zaštićeni</a> zbog vidljivosti. Povremeno, članci su privremeno zaštićeni da bi se spriječio <a href="/wiki/Wikipedia:Vandalizam" title="Wikipedia:Vandalizam">vandalizam</a>. Većinu članaka može uređivati bilo ko.</li> <li> Razlog za zaštitu može se naći u <a class="external text" href="https://bs.wikipedia.org/w/index.php?title=Posebno:Log&type=protect&page=Modul:Authority_control">protokolu zaključavanja</a>. Ako nema relevantnih zapisa u protokolu zaključavanja, članak je možda <a class="external text" href="https://bs.wikipedia.org/w/index.php?title=Posebno:Log&type=move&page=Modul:Authority_control">premješten</a> nakon što je zaštićen.</li></ul> </div> </td><td style="width:50%; vertical-align:top;"> <div style="position:relative; height:25px; left:1.3em; top:4px;"><h2 id="Šta_mogu_ja_uraditi?" style="border-bottom:0; font-size:130%; font-weight:bold; padding:.15em;"><span id=".C5.A0ta_mogu_ja_uraditi.3F"></span>Šta mogu ja uraditi?</h2></div> <ul> <li><a href="/w/index.php?title=Razgovor_o_modulu:Authority_control&action=edit&redlink=1" class="new" title="Razgovor o modulu:Authority control (stranica ne postoji)">Razgovarajte</a> o ovom članku s drugima.</li> <li> For move-protected pages, see <a href="/w/index.php?title=Wikipedia:Requested_moves&action=edit&redlink=1" class="new" title="Wikipedia:Requested moves (stranica ne postoji)">requested moves</a>.</li> <li><a href="/wiki/Wikipedia:Zahtjevi_za_za%C5%A1titu_%C4%8Dlanka#Trenutni_zahtjevi_za_ukidanje_zaštite" title="Wikipedia:Zahtjevi za zaštitu članka">Zatražite ukidanje zaštite</a> članka. </li> <li> <a href="/wiki/Pomo%C4%87:Sadr%C5%BEaj" title="Pomoć:Sadržaj">Saznajte više o doprinosu našoj enciklopediji</a>.</li> <li>Ako ste primijetili grešku ili ako imate prijedlog za jednostavnu promjenu, možete poslati zahtjev za izmjenu klikom na donji link i slijeđenjem uputa. <a href="/wiki/Wikipedia:Administratori" title="Wikipedia:Administratori">Administrator</a> onda može izvršiti izmjenu umjesto vas. Molimo vas da prvo pogledate <a href="/w/index.php?title=Razgovor_o_modulu:Authority_control&action=edit&redlink=1" class="new" title="Razgovor o modulu:Authority control (stranica ne postoji)">stranicu za razgovor</a>, u slučaju da se o datom pitanju već ranije raspravljalo.</li> <li style="list-style:none; display:inline;"> <div style="text-align:center; margin:auto;"> <p><span class="plainlinks"><a class="external text" href="https://bs.wikipedia.org/w/index.php?title=Razgovor_o_modulu:Authority_control&action=edit&preload=Template:Edit_protected/preload&editintro=Template:Edit_protected/editintro&preloadtitle=Zahtjev+za+izmjenu%2C+25.+novembar+2024&section=new"><span class="mw-ui-button mw-ui-constructive" role="button" style="">Pošaljite zahtjev za izmjenu</span></a></span> </p> </div> </li> </ul> </td></tr> </tbody></table></td></tr></tbody></table></li><li class="mw-permissionerror-globalblocking-blockedtext-range"><b>Your IP address is in a range that has been <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Global_blocks" class="extiw" title="m:Special:MyLanguage/Global blocks">blocked on all Wikimedia Foundation wikis</a>.</b> <p>The block was made by <a href="/wiki/Korisnik:Jon_Kolbert" title="Korisnik:Jon Kolbert">Jon Kolbert</a>. The reason given is <i><a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/NOP" class="extiw" title="m:Special:MyLanguage/NOP">Open proxy/Webhost</a>: See the <a href="https://meta.wikimedia.org/wiki/WM:OP/H" class="extiw" title="m:WM:OP/H">help page</a> if you are affected </i>. </p> <ul><li>Start of block: 16:12, 27 august 2023</li> <li>Expiry of block: 16:12, 27 august 2028</li></ul> <p>Your current IP address is 8.222.208.146. The blocked range is 8.222.128.0/17. </p><p>Navedite sve gornje podatke u upite ili zahtjeve za deblokadu. Ako smatrate da ste greškom blokirani, dodatne informacije i uputstva možete pronaći na stranici o globalnoj smjernici "<a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/No_open_proxies" class="extiw" title="m:Special:MyLanguage/No open proxies">Zabranjeni otvoreni proksiji</a>". </p> U suprotnom, <a href="https://meta.wikimedia.org/wiki/Steward_requests/Global" class="extiw" title="m:Steward requests/Global">zahtjev za blokadu postavite na Meta-Wikiju</a>. You could also send an email to the <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/Stewards" class="extiw" title="m:Special:MyLanguage/Stewards">stewards</a> <a href="https://meta.wikimedia.org/wiki/Special:MyLanguage/VRT" class="extiw" title="m:Special:MyLanguage/VRT">VRT</a> queue at <kbd>stewards@wikimedia.org</kbd> including all above details.</li></ul><hr /> <p>Možete vidjeti i kopirati izvorni kôd ove stranice. </p><textarea readonly="" accesskey="," id="wpTextbox1" cols="80" rows="25" style="" class="mw-editfont-monospace" lang="en" dir="ltr" name="wpTextbox1">require('Module:No globals') local p = {} local title = mw.title.getCurrentTitle() local namespace = title.namespace local testcases = (string.sub(title.subpageText,1,9) == 'testiranje') --[[==========================================================================]] --[[ Category functions ]] --[[==========================================================================]] function p.getCatForId( id ) local catName = '' if namespace == 0 then catName = 'Članci s identifikatorima '..id..'' elseif namespace == 2 and not title.isSubpage then catName = 'Korisničke stranice s identifikatorima '..id..'' else catName = 'Ostale stranice s identifikatorima '..id..'' end return '[[Kategorija:'..catName..']]'..p.redCatLink(catName) end function p.redCatLink( catName ) --catName == 'Blah' (not 'Category:Blah', not '[[Category:Blah]]') if catName and catName ~= '' and testcases == false and mw.title.new(catName, 14).exists == false then return '[[Kategorija:Stranice s nepostojećim kategorijama normativne kontrole]]' end return '' end function p.createRow( id, label, rawValues, link, links, withUid, specialCat ) local catName = 'Članci s pogrešnim identifikatorom '..(specialCat or id)..'' if links then -- all links[] use withUid = false; no check needed local row = '*<span class="nowrap">'..label local totlen = 0 for i, l in ipairs( links ) do if i == 1 then row = row..' ' else row = row..', ' end if l then row = row..'<span class="uid">'..l..'</span>' else row = row..'<span class="error">Identifikator '..id..' id '..rawValues[i]..' nije važeći.</span>[[Kategorija:'..catName..']]'..p.redCatLink(catName) end totlen = totlen + #rawValues[i] + 3 -- 3 chars b/w links end if totlen > 79 then row = string.gsub(row, '"nowrap"', '""') -- avoid [[A–Z Series]] end return row..'</span>\n' elseif link then if withUid then return '*<span class="nowrap">'..label..' <span class="uid">'..link..'</span></span>\n' end return '*<span class="nowrap">'..label..' '..link..'</span>\n' end return '* <span class="error">Identifikator '..id..' id '..rawValues..' nije važeći.</span>[[Kategorija:'..catName..']]'..p.redCatLink(catName)..'\n' end --[[==========================================================================]] --[[ Property formatting functions ]] --[[==========================================================================]] -- If a link has a suitable entry in the global inter-wiki prefix table at [[:m:Interwiki_map]], please consider routing through this prefix rather than as external link URL. This will ease future maintenance as necessary updates to the link can be centrally carried out there rather than by updating this module. The "external link" icon would disappear for such entries. function p.aagLink( id ) --P3372's format regex: \d+ (e.g. 1) if not id:match( '^%d+$' ) then return false end return '[https://www.aucklandartgallery.com/explore-art-and-ideas/artist/'..id..'/ '..id..']'..p.getCatForId( 'AAG' ) end function p.acmLink( id ) --P864's format regex: \d{11} (e.g. 12345678901) if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d$' ) then return false end return '[https://dl.acm.org/profile/'..id..' '..id..']'..p.getCatForId( 'ACM-DL' ) end function p.adbLink( id ) --P1907's format regex: [a-z][-a-z]+-([1-2]\d|[1-9])\d{0,3} (e.g. barton-sir-edmund-toby-71) if not id:match( '^[a-z][-a-z]+-[1-2]%d%d?%d?%d?$' ) and not id:match( '^[a-z][-a-z]+-[1-9]%d?%d?%d?$' ) then return false end return '[http://adb.anu.edu.au/biography/'..id..' '..id..']'..p.getCatForId( 'ADB' ) end function p.agsaLink( id ) --P6804's format regex: [1-9]\d* (e.g. 3625) if not id:match( '^[1-9]%d*$' ) then return false end return '[https://www.agsa.sa.gov.au/collection-publications/collection/creators/_/'..id..'/ '..id..']'..p.getCatForId( 'AGSA' ) end function p.autoresuyLink( id ) --P2558's format regex: [1-9]\d{0,4} (e.g. 12345) if not id:match( '^[1-9]%d?%d?%d?%d?$' ) then return false end return '[https://autores.uy/autor/'..id..' '..id..']'..p.getCatForId( 'autores.uy' ) end function p.awrLink( id ) --P4186's format regex: (([A-Z]{3}\d{4})|([A-Z]{2}\d{5}))[a-z] (e.g. PR00768b) if not id:match( '^[A-Z][A-Z][A-Z]%d%d%d%d[a-z]$' ) and not id:match( '^[A-Z][A-Z]%d%d%d%d%d[a-z]$' ) then return false end return '[http://www.womenaustralia.info/biogs/'..id..'.htm '..id..']'..p.getCatForId( 'AWR' ) end function p.balatLink( id ) --P3293's format regex: \d+ (e.g. 1) if not id:match( '^%d+$' ) then return false end return '[http://balat.kikirpa.be/object/104257'..id..' '..id..']'..p.getCatForId( 'BALaT' ) --no https as of 9/2019 end function p.bibsysLink( id ) --P1015's format regex: [1-9]\d* or [1-9](\d{0,8}|\d{12}) (e.g. 1234567890123) --TODO: follow up @ [[d:Property talk:P1015#Discrepancy between the 2 regex constraints]] or escalate/investigate if not id:match( '^[1-9]%d?%d?%d?%d?%d?%d?%d?%d?$' ) and not id:match( '^[1-9]%d%d%d%d%d%d%d%d%d%d%d%d$' ) then return false end return '[https://authority.bibsys.no/authority/rest/authorities/html/'..id..' '..id..']'..p.getCatForId( 'BIBSYS' ) end function p.bildLink( id ) --P2092's format regex: \d+ (e.g. 1) if not id:match( '^%d+$' ) then return false end return '[https://www.bildindex.de/document/obj'..id..' '..id..']'..p.getCatForId( 'Bildindex' ) end function p.bncLink( id ) --P1890's format regex: \d{9} (e.g. 123456789) if not id:match( '^%d%d%d%d%d%d%d%d%d$' ) then return false end return '[http://www.bncatalogo.cl/F?func=direct&local_base=red10&doc_number='..id..' '..id..']'..p.getCatForId( 'BNC' ) end function p.bneLink( id ) --P950's format regex: (XX|FF|a)\d{4,7}|(bima|bimo|bica|bis[eo]|bivi|Mise|Mimo|Mima)\d{10} (e.g. XX1234567) if not id:match( '^[XF][XF]%d%d%d%d%d?%d?%d?$' ) and not id:match( '^a%d%d%d%d%d?%d?%d?$' ) and not id:match( '^bi[mcsv][aoei]%d%d%d%d%d%d%d%d%d%d$' ) and not id:match( '^Mi[sm][eoa]%d%d%d%d%d%d%d%d%d%d$' ) then return false end return '[http://catalogo.bne.es/uhtbin/authoritybrowse.cgi?action=display&authority_id='..id..' '..id..']'..p.getCatForId( 'BNE' ) --no https as of 9/2019 end function p.bnfLink( id ) --P268's format regex: \d{8}[0-9bcdfghjkmnpqrstvwxz] (e.g. 123456789) if not id:match( '^c?b?%d%d%d%d%d%d%d%d[0-9bcdfghjkmnpqrstvwxz]$' ) then return false end --Add cb prefix if it has been removed if not id:match( '^cb.+$' ) then id = 'cb'..id end return '[https://catalogue.bnf.fr/ark:/12148/'..id..' '..id..'] [https://data.bnf.fr/ark:/12148/'..id..' (data)]'..p.getCatForId( 'BNF' ) end function p.botanistLink( id ) --P428's format regex: ('t )?(d')?(de )?(la )?(van (der )?)?(Ma?c)?(De)?(Di)?\p{Lu}?C?['\p{Ll}]*([-'. ]*(van )?(y )?(d[ae][nr]?[- ])?(Ma?c)?[\p{Lu}bht]?C?['\p{Ll}]*)*\.? ?f?\.? (e.g. L.) --not easily/meaningfully implementable in Lua's regex since "(this)?" is not allowed... if not mw.ustring.match( id, "^[%u%l%d%. '-]+$" ) then --better than nothing return false end local id2 = id:gsub(' +', '%%20') return '[https://www.ipni.org/ipni/advAuthorSearch.do?find_abbreviation='..id2..' '..id..']'..p.getCatForId( 'Botanist' ) end function p.bpnLink( id ) --P651's format regex: \d{6,8} (e.g. 00123456) if not id:match( '^%d%d%d%d%d%d%d%d$' ) and --original format regex, changed 8/2019 to not id:match( '^0?%d%d%d%d%d%d%d$' ) and --allow 1-2 leading 0s, allowed by the website not id:match( '^0?0?%d%d%d%d%d%d$' ) then return false end return '[http://www.biografischportaal.nl/en/persoon/'..id..' '..id..']'..p.getCatForId( 'BPN' ) --no https as of 9/2019 end function p.canticLink( id ) --P1273's format regex: a\d{7}[0-9x] (e.g. a10640745) if not id:match( '^a%d%d%d%d%d%d%d[%dx]$' ) then return false end return '[http://cantic.bnc.cat/registres/CUCId/'..id..' '..id..']'..p.getCatForId( 'CANTIC' ) --no https as of 10/2019 end function p.ciniiLink( id ) --P271's format regex: DA\d{7}[\dX] (e.g. DA12345678) if not id:match( '^DA%d%d%d%d%d%d%d[%dX]$' ) then return false end return '[https://ci.nii.ac.jp/author/'..id..'?l=en '..id..']'..p.getCatForId( 'CINII' ) end function p.cwgcLink( id ) --P1908's format regex: [1-9]\d* (e.g. 75228351) if not id:match( '^[1-9]%d*$' ) then return false end return '[https://www.cwgc.org/find-war-dead/casualty/'..id..'/ '..id..']'..p.getCatForId( 'CWGC' ) end function p.daaoLink( id ) --P1707's format regex: [a-z\-]+\d* (e.g. rolf-harris) if not id:match( '^[a-z%-]+%d*$' ) then return false end return '[https://www.daao.org.au/bio/'..id..' '..id..']'..p.getCatForId( 'DAAO' ) end function p.dblpLink( id ) --P2456's format regex: \d{2,3} /\d+(-\d+)?|[a-z] /[a-zA-Z][0-9A-Za-z]*(-\d+)? (e.g. 123/123) if not id:match( '^%d%d%d?/%d+$' ) and not id:match( '^%d%d%d?/%d+%-%d+$' ) and not id:match( '^[a-z]/[a-zA-Z][0-9A-Za-z]*$' ) and not id:match( '^[a-z]/[a-zA-Z][0-9A-Za-z]*%-%d+$' ) then return false end return '[https://dblp.org/pid/'..id..' '..id..']'..p.getCatForId( 'DBLP' ) end function p.dibLink( id ) --P6829's format regex: a\d{4}\d?(-[A-D])? (e.g. a1953) if not id:match( '^a%d%d%d%d%d?%-?[A-D]?$' ) then return false end return '[https://dib.cambridge.org/viewReadPage.do?articleId='..id..' '..id..']'..p.getCatForId( 'DIB' ) end function p.dsiLink( id ) --P2349's format regex: [1-9]\d* (e.g. 1538) if not id:match( '^[1-9]%d*$' ) then return false end return '[http://www.uni-stuttgart.de/hi/gnt/dsi2/index.php?table_name=dsi&function=details&where_field=id&where_value='..id..' '..id..']'..p.getCatForId( 'DSI' ) end function p.fnzaLink( id ) --P6792's format regex: [1-9]\d* (e.g. 9785) if not id:match( '^[1-9]%d*$' ) then return false end return '[https://findnzartists.org.nz/artist/'..id..'/ '..id..']'..p.getCatForId( 'FNZA' ) end function p.gndLink( id ) --P227's format regex: 1[012]?\d{7}[0-9X]|[47]\d{6}-\d|[1-9]\d{0,7}-[0-9X]|3\d{7}[0-9X] (e.g. 4079154-3) if not id:match( '^1[012]?%d%d%d%d%d%d%d[0-9X]$' ) and not id:match( '^[47]%d%d%d%d%d%d%-%d$' ) and not id:match( '^[1-9]%d?%d?%d?%d?%d?%d?%d?%-[0-9X]$' ) and not id:match( '^3%d%d%d%d%d%d%d[0-9X]$' ) then return false end return '[https://d-nb.info/gnd/'..id..' '..id..']'..p.getCatForId( 'GND' ) end function p.hdsLink( id ) --P902's format regex: \d{6} (e.g. 050123) if not id:match( '^%d%d%d%d%d%d$' ) then return false end return '[https://hls-dhs-dss.ch/fr/articles/'..id..' '..id..']'..p.getCatForId( 'HDS' ) end function p.iaafLink( id ) --P1146's format regex: [0-9][0-9]* (e.g. 012) if not id:match( '^%d+$' ) then return false end return '[https://www.iaaf.org/athletes/_/'..id..' '..id..']'..p.getCatForId( 'IAAF' ) end function p.iciaLink( id ) --P1736's format regex: \d+ (e.g. 1) if not id:match( '^%d+$' ) then return false end return '[https://www.imj.org.il/artcenter/newsite/en/?artist='..id..' '..id..']'..p.getCatForId( 'ICIA' ) end function p.ieuLink( id ) --P9070's format regex: [A-Z]\\[A-Z]\\[A-Za-z0-9]+ (e.g. K\Y\Kyiv) if not id:match( '^[A-Z]\\[A-Z]\\%w+$' ) then return false end return '[http://www.encyclopediaofukraine.com/display.asp?linkpath=pages\\'..id..' '..id..']'..p.getCatForId( 'IEU' ) end function p.isniLink( id ) id = p.validateIsni( id ) --e.g. 0000-0000-6653-4145 if not id then return false end return '[https://isni.org/isni/'..id..' '..id:sub( 1, 4 )..' '..id:sub( 5, 8 )..' '..id:sub( 9, 12 )..' '..id:sub( 13, 16 )..']'..p.getCatForId( 'ISNI' ) --no https as of 9/2019 end function p.jocondeLink( id ) --P347's format regex: [\-0-9A-Za-z]{11} (e.g. 12345678901) local regex = '^'..string.rep('[%-0-9A-Za-z]', 11)..'$' if not id:match( regex ) then return false end return '[https://www.pop.culture.gouv.fr/notice/joconde/'..id..' '..id..']'..p.getCatForId( 'Joconde' ) end function p.kulturnavLink( id ) --P1248's format regex: [0-9a-f]{8}\-[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{4}\-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[http://kulturnav.org/'..id..' '..id..']'..p.getCatForId( 'KULTURNAV' ) --no https as of 9/2019 end function p.lccnLink( id ) local parts = p.splitLccn( id ) --e.g. n78039510 if not parts then return false end local lccnType = parts[1] ~= 'sh' and 'names' or 'subjects' id = parts[1] .. parts[2] .. p.append( parts[3], '0', 6 ) return '[https://id.loc.gov/authorities/'..lccnType..'/'..id..' '..id..']'..p.getCatForId( 'LCCN' ) end function p.lirLink( id ) --P886's format regex: \d+ (e.g. 1) if not id:match( '^%d+$' ) then return false end return '[http://www.e-lir.ch/e-LIR___Lexicon.'..id..'.450.0.html '..id..']'..p.getCatForId( 'LIR' ) --no https as of 9/2019 end function p.lnbLink( id ) --P1368's format regex: \d{9} (e.g. 123456789) if not id:match( '^%d%d%d%d%d%d%d%d%d$' ) then return false end return '[https://kopkatalogs.lv/F?func=direct&local_base=lnc10&doc_number='..id..'&P_CON_LNG=ENG '..id..']'..p.getCatForId( 'LNB' ) end function p.leonoreLink( id ) --P640's format regex: LH/\d{1,4}/\d{1,3}|19800035/\d{1,4}/\d{1,5}(Bis)?|C/0/\d{1,2} (e.g. LH/2064/18) if not id:match( '^LH/%d%d?%d?%d?/%d%d?%d?$' ) and --IDs from LH/1/1 to LH/2794/54 (legionaries) not id:match( '^19800035/%d%d?%d?%d?/%d%d?%d?%d?%d?$' ) and --IDs from 19800035/1/1 to 19800035/385/51670 (legionnaires who died 1954-1977 & some who died < 1954) not id:match( '^C/0/%d%d?$' ) then --IDs from C/0/1 to C/0/84 (84 famous legionaries) return false end return '[http://www.culture.gouv.fr/public/mistral/leonore_fr?ACTION=CHERCHER&FIELD_1=COTE&VALUE_1='..id..' '..id..']'..p.getCatForId( 'Léonore' ) --no https as of 9/2019 end function p.maLink( id ) --P6366's format regex: [1-9]\d{4,9} (e.g. 1498221862) if not id:match( '^[1-9]%d%d%d%d%d?%d?%d?%d?%d?$' ) then return false end return '[https://academic.microsoft.com/v2/detail/'..id..' '..id..']'..p.getCatForId( 'MA' ) end function p.mbaLink( id ) --P434's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/artist/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz' ) --special category name end function p.mbareaLink( id ) --P982's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/area/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz area' ) --special category name end function p.mbiLink( id ) --P1330's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/instrument/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz instrument' ) --special category name end function p.mblLink( id ) --P966's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/label/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz label' ) --special category name end function p.mbpLink( id ) --P1004's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/place/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz place' ) --special category name end function p.mbrgLink( id ) --P436's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/release-group/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz release group' ) --special category name end function p.mbsLink( id ) --P1407's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/series/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz series' ) --special category name end function p.mbwLink( id ) --P435's format regex: [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12} (e.g. 12345678-1234-1234-1234-1234567890AB) if not id:match( '^%x%x%x%x%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%-%x%x%x%x%x%x%x%x%x%x%x%x$' ) then return false end return '[https://musicbrainz.org/work/'..id..' '..id..']'..p.getCatForId( 'MusicBrainz work' ) --special category name end function p.mgpLink( id ) --P549's format regex: \d{1,6} (e.g. 123456) if not id:match( '^%d%d?%d?%d?%d?%d?$' ) then return false end return '[https://genealogy.math.ndsu.nodak.edu/id.php?id='..id..' '..id..']'..p.getCatForId( 'MGP' ) end function p.naraLink( id ) --P1225's format regex: ^([1-9]\d{0,8})$ (e.g. 123456789) if not id:match( '^[1-9]%d?%d?%d?%d?%d?%d?%d?%d?$' ) then return false end return '[https://catalog.archives.gov/id/'..id..' '..id..']'..p.getCatForId( 'NARA' ) end function p.nclLink( id ) --P1048's format regex: \d+ (e.g. 1081436) if not id:match( '^%d+$' ) then return false end return '[http://aleweb.ncl.edu.tw/F/?func=accref&acc_sequence='..id..'&CON_LNG=ENG '..id..']'..p.getCatForId( 'NCL' ) --no https as of 9/2019 end function p.ndlLink( id ) --P349's format regex: 0?\d{8} (e.g. 012345678) if not id:match( '^0?%d%d%d%d%d%d%d%d$' ) then return false end return '[https://id.ndl.go.jp/auth/ndlna/'..id..' '..id..']'..p.getCatForId( 'NDL' ) end function p.ngvLink( id ) --P2041's format regex: \d+ (e.g. 12354) if not id:match( '^%d+$' ) then return false end return '[https://www.ngv.vic.gov.au/explore/collection/artist/'..id..'/ '..id..']'..p.getCatForId( 'NGV' ) end function p.nkcLink( id ) --P691's format regex: [a-z]{2,4}[0-9]{2,14} (e.g. abcd12345678901234) if not id:match( '^[a-z][a-z][a-z]?[a-z]?%d%d%d?%d?%d?%d?%d?%d?%d?%d?%d?%d?%d?%d?$' ) then return false end return '[https://aleph.nkp.cz/F/?func=find-c&local_base=aut&ccl_term=ica='..id..'&CON_LNG=ENG '..id..']'..p.getCatForId( 'NKC' ) end function p.nlaLink( id ) --P409's format regex: [1-9][0-9]{0,11} (e.g. 123456789012) if not id:match( '^[1-9]%d?%d?%d?%d?%d?%d?%d?%d?%d?%d?%d?$' ) then return false end return '[https://nla.gov.au/anbd.aut-an'..id..' '..id..']'..p.getCatForId( 'NLA' ) end function p.nlgLink( id ) --P3348's format regex: [1-9]\d* (e.g. 1) if not id:match( '^[1-9]%d*$' ) then return false end return '[https://data.nlg.gr/resource/authority/record'..id..' '..id..']'..p.getCatForId( 'NLG' ) end function p.nliLink( id ) --P949's format regex: \d{9} (e.g. 123456789) if not id:match( '^%d%d%d%d%d%d%d%d%d$' ) then return false end return '[http://uli.nli.org.il/F/?func=direct&doc_number='..id..'&local_base=nlx10'..' '..id..']'..p.getCatForId( 'NLI' ) end function p.nlkLink( id ) --P5034's format regex: KA.(19|20).{7} (e.g. KAC201501465) if not id:match( '^KA.19.......$' ) and not id:match( '^KA.20.......$' ) then return false end return '[https://nl.go.kr/authorities/resource/'..id..' '..id..']'..p.getCatForId( 'NLK' ) end function p.nlpLink( id ) --P1695's format regex: 9810[0-9]\d* or A[0-9]{7}[0-9X] (e.g. 9810123456789012345 or A10414836) if not id:match( '^9810%d+$' ) and not id:match( '^A%d%d%d%d%d%d%d[%dX]$' ) then return false end return '[https://tools.wmflabs.org/wikidata-externalid-url?p=1695&id='..id..' '..id..']'..p.getCatForId( 'NLP' ) end function p.nlrLink( id ) --P1003's format regex: \d{9} (e.g. 123456789) if not id:match( '^%d%d%d%d%d%d%d%d%d$' ) then return false end return '[http://aleph.bibnat.ro:8991/F/?func=direct&local_base=NLR10&doc_number='..id..']'..p.getCatForId( 'NLR' ) end function p.nskLink( id ) --P1375's format regex: \d{9} (e.g. 123456789) if not id:match( '^%d%d%d%d%d%d%d%d%d$' ) then return false end return '[http://katalog.nsk.hr/F/?func=direct&doc_number='..id..'&local_base=nsk10 '..id..']'..p.getCatForId( 'NSK' ) --no https as of 9/2019 end function p.ntaLink( id ) --P1006's format regex: \d{8}[\dX] (e.g. 12345678X) if not id:match( '^%d%d%d%d%d%d%d%d[%dX]$' ) then return false end return '[http://data.bibliotheken.nl/id/thes/p'..id..' '..id..']'..p.getCatForId( 'NTA' ) end function p.orcidLink( id ) id = p.validateIsni( id ) --e.g. 0000-0002-7398-5483 if not id then return false end id = id:sub( 1, 4 )..'-'..id:sub( 5, 8 )..'-'..id:sub( 9, 12 )..'-'..id:sub( 13, 16 ) return '[https://orcid.org/'..id..' '..id..']'..p.getCatForId( 'ORCID' ) end function p.plwabnLink( id ) --P7293's format regex: 981[0-9]{8}05606 (e.g. 9810696457305606) if not id:match( '^981%d%d%d%d%d%d%d%d05606*$' ) then return false end return '[http://mak.bn.org.pl/cgi-bin/KHW/makwww.exe?BM=1&NU=1&IM=4&WI='..id..' '..id..']'..p.getCatForId( 'PLWABN' ) end function p.publonsLink( id ) --P3829's format regex: \d+ (e.g. 654601) if not id:match( '^%d+$' ) then return false end return '[https://publons.com/author/'..id..'/ '..id..']'..p.getCatForId( 'Publons' ) end function p.picLink( id ) --P2750's format regex: [1-9]\d* (e.g. 1) if not id:match( '^[1-9]%d*$' ) then return false end return '[https://pic.nypl.org/constituents/'..id..' '..id..']'..p.getCatForId( 'PIC' ) end function p.ridLink( id ) --P1053's format regex: [A-Z]{1,3}-\d{4}-(19|20)\d\d (e.g. AAS-5150-2020) if not id:match( '^[A-Z][A-Z]?[A-Z]?%-%d%d%d%d%-19%d%d$' ) and not id:match( '^[A-Z][A-Z]?[A-Z]?%-%d%d%d%d%-20%d%d$' ) then return false end return '[https://www.researcherid.com/rid/'..id..' '..id..']'..p.getCatForId( 'RID' ) end function p.reroLink( id ) --P3065's format regex: 0[1-2]-[A-Z0-9]{1,10} (e.g. 02-A012345678) if not id:match( '^0[1-2]%-[A-Z%d][A-Z%d]?[A-Z%d]?[A-Z%d]?[A-Z%d]?[A-Z%d]?[A-Z%d]?[A-Z%d]?[A-Z%d]?[A-Z%d]?$' ) then return false end return '[http://data.rero.ch/'..id..' '..id..']'..p.getCatForId( 'RERO' ) end function p.rkdartistsLink( id ) --P650's format regex: [1-9]\d{0,5} (e.g. 123456) if not id:match( '^[1-9]%d?%d?%d?%d?%d?$' ) then return false end return '[https://rkd.nl/en/explore/artists/'..id..' '..id..']'..p.getCatForId( 'RKDartists' ) end function p.rkdidLink( id ) --P350's format regex: [1-9]\d{0,5} (e.g. 123456) if not id:match( '^[1-9]%d?%d?%d?%d?%d?$' ) then return false end return '[https://rkd.nl/nl/explore/images/'..id..' '..id..']'..p.getCatForId( 'RKDID' ) end function p.rslLink( id ) --P947's format regex: \d{1,9} (e.g. 123456789) if not id:match( '^%d%d?%d?%d?%d?%d?%d?%d?%d?$' ) then return false end return '[http://aleph.rsl.ru/F?func=find-b&find_code=SYS&adjacent=Y&local_base=RSL11&request='..id..'&CON_LNG=ENG '..id..']'..p.getCatForId( 'RSL' ) --no https as of 9/2019 end function p.iccuLink( id ) --P396's format regex: IT\\ICCU\\(\d{10}|\D\D[\D\d]\D\\\d{6}) (e.g. IT\ICCU\CFIV\000163) if not id:match( '^IT\\ICCU\\%d%d%d%d%d%d%d%d%d%d$' ) and not id:match( '^IT\\ICCU\\%u%u[%u%d]%u\\%d%d%d%d%d%d$' ) then --legacy: %u used here instead of %D (but the faulty ID cat is empty, out of ~12k uses) return false end return '[https://opac.sbn.it/opacsbn/opac/iccu/scheda_authority.jsp?bid='..id..' '..id..']'..p.getCatForId( 'ICCU' ) end function p.selibrLink( id ) --P906's format regex: [1-9]\d{4,5} (e.g. 123456) if not id:match( '^[1-9]%d%d%d%d%d?$' ) then return false end return '[https://libris.kb.se/auth/'..id..' '..id..']'..p.getCatForId( 'SELIBR' ) end function p.sikartLink( id ) --P781's format regex: \d{7,9} (e.g. 123456789) if not id:match( '^%d%d%d%d%d%d%d%d?%d?$' ) then return false end return '[http://www.sikart.ch/KuenstlerInnen.aspx?id='..id..'&lng=en '..id..']'..p.getCatForId( 'SIKART' ) --no https as of 9/2019 end function p.snacLink( id ) --P3430's format regex: \d*[A-Za-z][0-9A-Za-z]* (e.g. A) if not id:match( '^%d*[A-Za-z][0-9A-Za-z]*$' ) then return false end return '[https://snaccooperative.org/ark:/99166/'..id..' '..id..']'..p.getCatForId( 'SNAC-ID' ) end function p.sudocLink( id ) --P269's format regex: (\d{8}[\dX]|) (e.g. 026927608) if not id:match( '^%d%d%d%d%d%d%d%d[%dxX]$' ) then --legacy: allow lowercase 'x' return false end return '[https://www.idref.fr/'..id..' '..id..']'..p.getCatForId( 'SUDOC' ) end function p.s2authoridLink( id ) --P4012's format regex: [1-9]\d* (e.g. 1796130) if not id:match( '^[1-9]%d*$' ) then return false end return '[https://www.semanticscholar.org/author/'..id..' '..id..']'..p.getCatForId( 'Semantic Scholar author' ) --special category name end function p.ta98Link( id ) --P1323's format regex: A\d{2}\.\d\.\d{2}\.\d{3}[FM]? (e.g. A12.3.45.678) if not id:match( '^A%d%d%.%d%.%d%d%.%d%d%d[FM]?$' ) then return false end return '[http://tools.wmflabs.org/wikidata-externalid-url/?p=1323&url_prefix=https:%2F%2Fwww.unifr.ch%2Fifaa%2FPublic%2FEntryPage%2FTA98%20Tree%2FEntity%20TA98%20EN%2F&url_suffix=%20Entity%20TA98%20EN.htm&id='..id..' '..id..']'..p.getCatForId( 'TA98' ) end function p.tdviaLink( id ) --P7314's format regex: [a-z/-]+] (e.g. barkan-omer-lutfi) if not id:match( '^[a-z/-]+$' ) then return false end return '[https://islamansiklopedisi.org.tr/'..id..' '..id..']'..p.getCatForId( 'TDVİA' ) end function p.teLink( id ) --P1693's format regex: E[1-8]\.\d{1,2}\.\d{1,2}\.\d{1,2}\.\d{1}\.\d{1}\.\d{1,3} (e.g. E1.23.45.67.8.9.0) local e1, e2 = id:match( '^E([1-8])%.(%d%d?)%.%d%d?%.%d%d?%.%d%.%d%.%d%d?%d?$' ) if not e1 then return false end local TEnum = 'TEe0'..e1 --no formatter URL in WD, probably due to this complexity if e1 == '5' or e1 == '7' then if #e2 == 1 then e2 = '0'..e2 end TEnum = TEnum..e2 end return '[http://www.unifr.ch/ifaa/Public/EntryPage/ViewTE/'..TEnum..'.html '..id..']'..p.getCatForId( 'TE' ) end function p.tepapaLink( id ) --P3544's format regex: \d+ (e.g. 1) if not id:match( '^%d+$' ) then return false end return '[https://collections.tepapa.govt.nz/agent/'..id..' '..id..']'..p.getCatForId( 'TePapa' ) end function p.thLink( id ) --P1694's format regex: H\d\.\d{2}\.\d{2}\.\d\.\d{5} (e.g. H1.23.45.6.78901) local h1, h2 = id:match( '^H(%d)%.(%d%d)%.%d%d%.%d%.%d%d%d%d%d$' ) if not h1 then return false end local THnum = 'THh'..h1..h2 --no formatter URL in WD, probably due to this complexity return '[http://www.unifr.ch/ifaa/Public/EntryPage/ViewTH/'..THnum..'.html '..id..']'..p.getCatForId( 'TH' ) end function p.tlsLink( id ) local id2 = id:gsub(' +', '_') --P1362's format regex: \p{Lu}[\p{L}\d_',\.\-\(\)\*/–]{3,59} (e.g. Abcd) local class = "[%a%d_',%.%-%(%)%*/–]" local regex = "^%u"..string.rep(class, 3)..string.rep(class.."?", 56).."$" if not mw.ustring.match( id2, regex ) then return false end return '[http://tls.theaterwissenschaft.ch/wiki/'..id2..' '..id..']'..p.getCatForId( 'TLS' ) --no https as of 9/2019 end function p.troveLink( id ) --P1315's format regex: [1-9]\d{5,7} (e.g. 12345678) if not id:match( '^[1-9]%d%d%d%d%d%d?%d?$' ) then return false end return '[https://trove.nla.gov.au/people/'..id..' '..id..']'..p.getCatForId( 'Trove' ) end function p.ukparlLink( id ) --P6213's format regex: [a-zA-Z\d]{8} (e.g. AQUupyiR) if not id:match( '^[a-zA-Z%d][a-zA-Z%d][a-zA-Z%d][a-zA-Z%d][a-zA-Z%d][a-zA-Z%d][a-zA-Z%d][a-zA-Z%d]$' ) then return false end return '[https://id.parliament.uk/'..id..' '..id..']'..p.getCatForId( 'UKPARL' ) end function p.ulanLink( id ) --P245's format regex: 500\d{6} (e.g. 500123456) if not id:match( '^500%d%d%d%d%d%d$' ) then return false end return '[https://www.getty.edu/vow/ULANFullDisplay?find=&role=&nation=&subjectid='..id..' '..id..']'..p.getCatForId( 'ULAN' ) end function p.uscongressLink( id ) --P1157's format regex: [A-Z]00[01]\d{3} (e.g. A000123) if not id:match( '^[A-Z]00[01]%d%d%d$' ) then return false end return '[http://bioguide.congress.gov/scripts/biodisplay.pl?index='..id..' '..id..']'..p.getCatForId( 'USCongress' ) --no https as of 9/2019 end function p.vcbaLink( id ) --P8034's format regex: \d{3}\/[1-9]\d{0,5} (e.g. 494/9793) if not id:match( '^%d%d%d\/[1-9]%d?%d?%d?%d?%d?$' ) then return false end local id2 = id:gsub('\/', '_') return '[https://opac.vatlib.it/auth/detail/'..id2..' '..id..']'..p.getCatForId( 'VcBA' ) end function p.viafLink( id ) --P214's format regex: [1-9]\d(\d{0,7}|\d{17,20}) (e.g. 123456789, 1234567890123456789012) if not id:match( '^[1-9]%d%d?%d?%d?%d?%d?%d?%d?$' ) and not id:match( '^[1-9]%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d?%d?%d?$' ) then return false end -- If the "VIAF" entry at [[:m:Interwiki map]] would resolve to "https://viaf.org/viaf/$1" (rather than "http://viaf.org/viaf/$1", as it currently still does), the code below could change from '[https://viaf.org/viaf/'..id..' '..id..']' to '[[:VIAF:'..id..'|'..id..']]'. return '[https://viaf.org/viaf/'..id..' '..id..']'..p.getCatForId( 'VIAF' ) end --[[=========================== Helper functions =============================]] function p.append(str, c, length) while str:len() < length do str = c .. str end return str end --Returns the ISNI check digit isni must be a string where the 15 first elements are digits, e.g. 0000000066534145 function p.getIsniCheckDigit( isni ) local total = 0 for i = 1, 15 do local digit = isni:byte( i ) - 48 --Get integer value total = (total + digit) * 2 end local remainder = total % 11 local result = (12 - remainder) % 11 if result == 10 then return "X" end return tostring( result ) end --Validate ISNI (and ORCID) and retuns it as a 16 characters string or returns false if it's invalid --See http://support.orcid.org/knowledgebase/articles/116780-structure-of-the-orcid-identifier function p.validateIsni( id ) --P213 (ISNI) format regex: [0-9]{4} [0-9]{4} [0-9]{4} [0-9]{3}[0-9X] (e.g. 0000-0000-6653-4145) --P496 (ORCID) format regex: 0000-000(1-[5-9]|2-[0-9]|3-[0-4])\d{3}-\d{3}[\dX] (e.g. 0000-0002-7398-5483) id = id:gsub( '[ %-]', '' ):upper() if not id:match( '^%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d[%dX]$' ) then return false end if p.getIsniCheckDigit( id ) ~= string.char( id:byte( 16 ) ) then return false end return id end function p.splitLccn( id ) --P244's format regex: (n|nb|nr|no|ns|sh)([4-9][0-9]|00|20[0-1][0-9])[0-9]{6} (e.g. n78039510) if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' ) end if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then return mw.text.split( id, '/' ) end return false end --[[==========================================================================]] --[[ Wikidata & documentation functions ]] --[[==========================================================================]] function p.getIdsFromWikidata( itemId, property ) local ids = {} local statements = mw.wikibase.getBestStatements( itemId, property ) if statements then for _, statement in ipairs( statements ) do if statement.mainsnak.datavalue then table.insert( ids, statement.mainsnak.datavalue.value ) end end end return ids end function p.matchesWikidataRequirements( itemId, reqs ) for _, group in ipairs( reqs ) do local property = 'P'..group[1] local qid = group[2] local statements = mw.wikibase.getBestStatements( itemId, property ) if statements then for _, statement in ipairs( statements ) do if statement.mainsnak.datavalue then if statement.mainsnak.datavalue.value['numeric-id'] == qid then return true end end end end end return false end -- Creates a human-readable standalone wikitable version of p.conf, and tracking categories with page counts, for use in the documentation function p.docConfTable( frame ) local wikiTable = '{| class="wikitable sortable"\n'.. '! rowspan=2 | Parameter\n'.. '! rowspan=2 | Label\n'.. '! rowspan=2; data-sort-type=number | Wikidata property\n'.. '! colspan=4 | Tracking categories and page counts\n'.. '|-\n'.. '! [[:Category:Wikipedia articles with authority control information|'.. 'Articles]]\n'.. '! [[:Category:User pages with authority control information|'.. 'User pages]]\n'.. '! [[:Category:Miscellaneous pages with authority control information|'.. 'Misc. pages]]\n'.. '! [[:Category:Wikipedia articles with faulty authority control information|'..'Faulty IDs]]\n'.. '|-\n' local lang = mw.getContentLanguage() for _, conf in pairs( p.conf ) do local param, link, pid = conf[1], conf[2], conf[3] local category = conf.category or param local args = { id = 'f', pid } local wpl = frame:expandTemplate{ title = 'Wikidata property link', args = args } --cats local articleCat = 'Članci s identifikatorima '..category..'' local userCat = 'Korisničke stranice s identifikatorima '..category..'' local miscCat = 'Ostale stranice s identifikatorima '..category..'' local faultyCat = 'Člance s pogrešnim identifikatorima '..category..'' --counts local articleCount = lang:formatNum( mw.site.stats.pagesInCategory(articleCat, 'pages') ) local userCount = lang:formatNum( mw.site.stats.pagesInCategory(userCat, 'pages') ) local miscCount = lang:formatNum( mw.site.stats.pagesInCategory(miscCat, 'pages') ) local faultyCount = lang:formatNum( mw.site.stats.pagesInCategory(faultyCat, 'pages') ) --concat wikiTable = wikiTable..'\n'.. '|-\n'.. '||'..param.. '||'..link.. '||data-sort-value='..pid..'|'..wpl.. '||style="text-align: right;"|[[:Category:'..articleCat..'|'..articleCount..']]'.. '||style="text-align: right;"|[[:Category:'.. userCat..'|'.. userCount..']]'.. '||style="text-align: right;"|[[:Category:'.. miscCat..'|'.. miscCount..']]'.. '||style="text-align: right;"|[[:Category:'.. faultyCat..'|'.. faultyCount..']]' end --append derivative WorldCat cats local wcd = { 'WorldCat-LCCN', 'WorldCat-VIAF' } for _, w in pairs(wcd) do local articleCat = 'Članci s identifikatorima '..w..'' local articleCount = lang:formatNum( mw.site.stats.pagesInCategory(articleCat, 'pages') ) wikiTable = wikiTable..'\n'.. '|-\n'.. '||'..'—'.. '||'..w.. '||data-sort-value='..w..'|'..'—'.. '||style="text-align: right;"|[[:Category:'..articleCat..'|'..articleCount..']]'.. '||style="text-align: right;"|—'.. '||style="text-align: right;"|—'.. '||style="text-align: right;"|—' end return wikiTable..'\n|}' end --[[==========================================================================]] --[[ Configuration ]] --[[==========================================================================]] -- If a specific "(identifier) redirect" exists for an identifier, please route through this particular redirect rather than linking directly to the target page. This reduces clutter in "What links here" and improves reverse lookup of articles where a manifestation of this particular identifier is used. -- Check that the Wikidata item has this property-->value before adding it local reqs = {} -- Parameter format: { 'parameter name', 'label', propertyId # in Wikidata, formatting/validation function } p.conf = { { 'AAG', '[[AAG (identifikator)|AAG]]', 3372, p.aagLink }, { 'ACM-DL', '[[ACM DL (identifikator)|ACM DL]]', 864, p.acmLink }, { 'ADB', '[[ADB (identifikator)|ADB]]', 1907, p.adbLink }, { 'AGSA', '[[AGSA (identifikator)|AGSA]]', 6804, p.agsaLink }, { 'autores.uy', '[[autores.uy (identifikator)|autores.uy]]', 2558, p.autoresuyLink }, { 'AWR', '[[AWR (identifikator)|AWR]]', 4186, p.awrLink }, { 'BALaT', '[[BALaT (identifikator)|BALaT]]', 3293, p.balatLink }, { 'BIBSYS', '[[BIBSYS (identifikator)|BIBSYS]]', 1015, p.bibsysLink }, { 'Bildindex', '[[Bildindex (identifikator)|Bildindex]]', 2092, p.bildLink }, { 'BNC', '[[BNC (identifikator)|BNC]]', 1890, p.bncLink }, { 'BNE', '[[BNE (identifikator)|BNE]]', 950, p.bneLink }, { 'BNF', '[[BNF (identifikator)|BNF]]', 268, p.bnfLink }, { 'Botanist', '[[Botanist (identifikator)|Botanist]]', 428, p.botanistLink }, { 'BPN', '[[BPN (identifikator)|BPN]]', 651, p.bpnLink }, { 'CANTIC', '[[CANTIC (identifikator)|CANTIC]]', 1273, p.canticLink }, { 'CINII', '[[CiNii (identifikator)|CiNii]]', 271, p.ciniiLink }, { 'CWGC', '[[CWGC (identifikator)|CWGC]]', 1908, p.cwgcLink }, { 'DAAO', '[[DAAO (identifikator)|DAAO]]', 1707, p.daaoLink }, { 'DBLP', '[[DBLP (identifikator)|DBLP]]', 2456, p.dblpLink }, { 'DIB', '[[DIB (identifikator)|DIB]]', 6829, p.dibLink }, { 'DSI', '[[DSI (identifikator)|DSI]]', 2349, p.dsiLink }, { 'FNZA', '[[FNZA (identifikator)|FNZA]]', 6792, p.fnzaLink }, --wd { 'GND', '[[GND (identifikator)|GND]]', 227, p.gndLink }, { 'HDS', '[[HDS (identifikator)|HDS]]', 902, p.hdsLink }, { 'IAAF', '[[IAAF (identifikator)|IAAF]]', 1146, p.iaafLink }, { 'ICCU', '[[ICCU (identifikator)|ICCU]]', 396, p.iccuLink }, --formerly SBN { 'ICIA', '[[ICIA (identifikator)|ICIA]]', 1736, p.iciaLink }, { 'IEU', '[[IEU (identifikator)|IEU]]', 9070, p.ieuLink }, { 'ISNI', '[[ISNI (identifikator)|ISNI]]', 213, p.isniLink }, { 'Joconde', '[[Joconde (identifikator)|Joconde]]' , 347, p.jocondeLink }, { 'KULTURNAV', '[[KulturNav (identifikator)|KulturNav]]', 1248, p.kulturnavLink }, { 'LCCN', '[[LCCN (identifikator)|LCCN]]', 244, p.lccnLink }, { 'LIR', '[[LIR (identifikator)|LIR]]', 886, p.lirLink }, { 'LNB', '[[LNB (identifikator)|LNB]]', 1368, p.lnbLink }, { 'Léonore', '[[Léonore (identifikator)|Léonore]]', 640, p.leonoreLink }, { 'MA', '[[MA (identifikator)|MA]]', 6366, p.maLink }, { 'MBA', '[[MBA (identifikator)|MBA]]', 434, p.mbaLink, category = 'MusicBrainz' }, --special category name { 'MBAREA', '[[MBAREA (identifikator)|MBAREA]]', 982, p.mbareaLink, category = 'MusicBrainz area' }, --special category name { 'MBI', '[[MBI (identifikator)|MBI]]', 1330, p.mbiLink, category = 'MusicBrainz instrument' }, --special category name { 'MBL', '[[MBL (identifikator)|MBL]]', 966, p.mblLink, category = 'MusicBrainz label' }, --special category name { 'MBP', '[[MBP (identifikator)|MBP]]', 1004, p.mbpLink, category = 'MusicBrainz place' }, --special category name { 'MBRG', '[[MBRG (identifikator)|MBRG]]', 436, p.mbrgLink, category = 'MusicBrainz release group' }, --special category name { 'MBS', '[[MBS (identifikator)|MBS]]', 1407, p.mbsLink, category = 'MusicBrainz series' }, --special category name { 'MBW', '[[MBW (identifikator)|MBW]] work', 435, p.mbwLink, category = 'MusicBrainz work' }, --special category name { 'MGP', '[[MGP (identifikator)|MGP]]', 549, p.mgpLink }, { 'NARA', '[[NARA (identifikator)|NARA]]', 1225, p.naraLink }, { 'NCL', '[[NCL (identifikator)|NBL]]', 1048, p.nclLink }, { 'NDL', '[[NDL (identifikator)|NDL]]', 349, p.ndlLink }, { 'NGV', '[[NGV (identifikator)|NGV]]', 2041, p.ngvLink }, { 'NKC', '[[NKC (identifikator)|NKC]]', 691, p.nkcLink }, { 'NLA', '[[NLA (identifikator)|NLA]]', 409, p.nlaLink }, { 'NLG', '[[NLG (identifikator)|NLG]]', 3348, p.nlgLink }, { 'NLI', '[[NLI (identifikator)|NLI]]', 949, p.nliLink }, { 'NLK', '[[NLK (identifikator)|NLK]]', 5034, p.nlkLink }, { 'NLP', '[[NLP (identifikator)|NLP]]', 1695, p.nlpLink }, { 'NLR', '[[NLR (identifikator)|NLR]]', 1003, p.nlrLink }, { 'NSK', '[[NSK (identifikator)|NSK]]', 1375, p.nskLink }, { 'NTA', '[[NTA (identifikator)|NTA]]', 1006, p.ntaLink }, { 'ORCID', '[[ORCID (identifikator)|ORCID]]', 496, p.orcidLink }, { 'PIC', '[[PIC (identifikator)|PIC]]', 2750, p.picLink }, --wd { 'PLWABN', '[[PLWABN (identifikator)|PLWABN]]', 7293, p.plwabnLink }, { 'Publons', '[[Publons (identifikator)|Publons]]', 3829, p.publonsLink }, { 'RID', '[[RID (identifikator)|ResearcherID]]', 1053, p.ridLink }, { 'RERO', '[[RERO (identifikator)|RERO]]', 3065, p.reroLink }, { 'RKDartists', '[[RKDartists (identifikator)|RKD]]', 650, p.rkdartistsLink }, { 'RKDID', '[[RKDID (identifikator)|RKDimages ID]]', 350, p.rkdidLink }, { 'RSL', '[[RSL (identifikator)|RSL]]', 947, p.rslLink }, { 'SELIBR', '[[SELIBR (identifikator)|SELIBR]]', 906, p.selibrLink }, { 'SIKART', '[[SIKART (identifikator)|SIKART]]', 781, p.sikartLink }, { 'SNAC-ID', '[[SNAC-ID (identifikator)|SNAC]]', 3430, p.snacLink }, { 'SUDOC', '[[SUDOC (identifikator)|SUDOC]]', 269, p.sudocLink }, { 'S2AuthorId', '[[S2AuthorId (identifikator)|S2AuthorId]]', 4012, p.s2authoridLink, category = 'Semantic Scholar author' }, --special category name { 'TA98', '[[TA98 (identifikator)|TA98]]', 1323, p.ta98Link }, { 'TDVİA', '[[TDVİA (identifikator)|TDVİA]]', 7314, p.tdviaLink }, { 'TE', '[[TE (identifikator)|TE]]', 1693, p.teLink }, { 'TePapa', '[[TePapa (identifikator)|TePapa]]', 3544, p.tepapaLink }, { 'TH', '[[TH (identifikator)|TH]]', 1694, p.thLink }, { 'TLS', '[[TLS (identifikator)|TLS]]', 1362, p.tlsLink }, { 'Trove', '[[Trove (identifikator)|Trove]]', 1315, p.troveLink }, --formerly NLA-person { 'UKPARL', '[[UKPARL (identifikator)|UKPARL]]', 6213, p.ukparlLink }, { 'ULAN', '[[ULAN (identifikator)|ULAN]]', 245, p.ulanLink }, { 'USCongress', '[[US Congress (identifikator)|US Congress]]', 1157, p.uscongressLink }, { 'VcBA', '[[VcBA (identifikator)|VcBA]]', 8034, p.vcbaLink }, { 'VIAF', '[[VIAF (identifikator)|VIAF]]', 214, p.viafLink }, { 'WORLDCATID', '[[WorldCat Identities (identifikator)|WorldCat Identities]]', 7859, nil }, } -- Legitimate aliases to p.conf, for convenience -- Format: { 'alias', 'parameter name in p.conf' } p.aliases = { { 'Leonore', 'Léonore' }, --alias name without diacritics { 'leonore', 'Léonore' }, --lowercase variant without diacritics { 'MusicBrainz', 'MBA' }, { 'MusicBrainz artist', 'MBA' }, { 'MusicBrainz label', 'MBL' }, { 'MusicBrainz release group', 'MBRG' }, { 'MusicBrainz work', 'MBW' }, { 'SBN', 'ICCU' }, --SBN alias to be deprecated at a later stage { 'TDVIA', 'TDVİA' }, --alias name without diacritics { 'tdvia', 'TDVİA' }, --lowercase variant without diacritics } -- Deprecated aliases to p.conf; tracked in [[Category:Wikipedia articles with deprecated authority control identifiers]] -- Format: { 'deprecated parameter name', 'replacement parameter name in p.conf' } p.deprecated = { { 'GKD', 'GND' }, { 'PND', 'GND' }, { 'RLS', 'RSL' }, { 'SWD', 'GND' }, { 'NARA-organization', 'NARA' }, { 'NARA-person', 'NARA' }, } --[[==========================================================================]] --[[ Main ]] --[[==========================================================================]] function p.authorityControl( frame ) local resolveEntity = require( "Module:ResolveEntityId" ) local parentArgs = frame:getParent().args local elements = {} --create/insert rows later local worldcatCat = '' local multipleIdCat = '' local suppressedIdCat = '' local deprecatedIdCat = '' --Redirect aliases to proper parameter names for _, a in pairs( p.aliases ) do local alias, param = a[1], a[2] if (parentArgs[param] == nil or parentArgs[param] == '') and parentArgs[alias] then parentArgs[param] = parentArgs[alias] end end --Redirect deprecated parameters to proper parameter names, and assign tracking cat for _, d in pairs( p.deprecated ) do local dep, param = d[1], d[2] if (parentArgs[param] == nil or parentArgs[param] == '') and parentArgs[dep] then parentArgs[param] = parentArgs[dep] if namespace == 0 then deprecatedIdCat = '[[Kategorija:Članci sa zastarjelim identifikatorima normativne kontrole na Wikipediji|'..dep..']]' end end end --Use QID= parameter for testing/example purposes only local itemId = nil if namespace ~= 0 then local qid = parentArgs['qid'] or parentArgs['QID'] if qid then itemId = 'Q'..mw.ustring.gsub(qid, '^[Qq]', '') itemId = resolveEntity._id(itemId) --nil if unresolvable end else itemId = mw.wikibase.getEntityIdForCurrentPage() end --Wikidata fallback if requested if itemId then for _, params in ipairs( p.conf ) do if params[3] > 0 then local val = parentArgs[mw.ustring.lower(params[1])] or parentArgs[params[1]] if val == nil or val == '' then local canUseWikidata = nil if reqs[params[1]] then canUseWikidata = p.matchesWikidataRequirements( itemId, reqs[params[1]] ) else canUseWikidata = true end if canUseWikidata then local wikidataIds = p.getIdsFromWikidata( itemId, 'P'..params[3] ) if wikidataIds[1] then if val == '' and (namespace == 0 or testcases) then suppressedIdCat = '[[Kategorija:Članci s potisnutim identifikatorima normativne kontrole na Wikipediji|'..params[1]..']]' else parentArgs[params[1]] = wikidataIds[1] end end end end end end end --Configured rows local rct = 0 for _, params in ipairs( p.conf ) do local val = parentArgs[mw.ustring.lower(params[1])] or parentArgs[params[1]] local tval, tlinks = {}, {} if val and val ~= '' and type(params[4]) == 'function' then table.insert( tval, val ) table.insert( tlinks, params[4]( val ) ) end -- collect other unique vals (IDs) from WD, if present if itemId and tval[1] then local wikidataIds = p.getIdsFromWikidata( itemId, 'P'..params[3] ) for _, v in pairs( wikidataIds ) do local bnew = true for _, w in pairs( tval ) do if v == w then bnew = false end end if bnew then table.insert( tval, v ) table.insert( tlinks, params[4]( v ) ) end end end -- assemble if tval[1] then table.insert( elements, p.createRow( params[1], params[2]..':', tval, nil, tlinks, true, params.category ) ) rct = rct + 1 if tval[2] then multipleIdCat = p.getCatForId( '– višestruki' ) end end end --WorldCat local worldcatId = parentArgs['worldcatid'] or parentArgs['WORLDCATID'] if worldcatId and worldcatId ~= '' then --if WORLDCATID present & unsuppressed table.insert( elements, p.createRow( 'WORLDCATID', '', worldcatId, '[[WorldCat Identities (identifier)|WorldCat Identities]]: [https://www.worldcat.org/identities/'..mw.uri.encode(worldcatId, 'PATH')..' '..worldcatId..']', nil, false ) ) --Validation? worldcatCat = p.getCatForId( 'WORLDCATID' ) elseif worldcatId == nil then --if WORLDCATID absent but unsuppressed local viafId = parentArgs['viaf'] or parentArgs['VIAF'] local lccnId = parentArgs['lccn'] or parentArgs['LCCN'] if viafId and viafId ~= '' and p.viafLink( viafId ) then --VIAF must be present, unsuppressed, & validated table.insert( elements, p.createRow( 'VIAF', '', viafId, '[[WorldCat Identities (identifier)|WorldCat Identities]] (preko VIAF): [https://www.worldcat.org/identities/containsVIAFID/'..viafId..' '..viafId..']', nil, false ) ) if namespace == 0 then worldcatCat = '[[Kategorija:Članci s identifikatorima WorldCat-VIAF]]' end elseif lccnId and lccnId ~= '' and p.lccnLink( lccnId ) then --LCCN must be present, unsuppressed, & validated local lccnParts = p.splitLccn( lccnId ) if lccnParts and lccnParts[1] ~= 'sh' then local lccnIdFmtd = lccnParts[1]..lccnParts[2]..'-'..lccnParts[3] table.insert( elements, p.createRow( 'LCCN', '', lccnId, '[[WorldCat Identities (identifier)|WorldCat Identities]] (via LCCN): [https://www.worldcat.org/identities/lccn-'..lccnIdFmtd..' '..lccnIdFmtd..']', nil, false ) ) if namespace == 0 then worldcatCat = '[[Kategorija:Članci s identifikatorima WorldCat-LCCN]]' end end end elseif worldcatId == '' then --if WORLDCATID suppressed suppressedIdCat = '[[Kategorija:Članci s potisnutim identifikatorima normativne kontrole na Wikipediji|WORLDCATID]]' end local Navbox = require('Module:Navbox') local elementsCat = '' if rct == 0 or rct >= 25 then local eCat = 'Normativna kontrola s više elemenata ('..rct..')' elementsCat = '[[Kategorija:'..eCat..']]'..p.redCatLink(eCat) end local outString = '' if #elements > 0 then local args = { pid = 'identifiers' } -- #target the list of identifiers if testcases and itemId then args = { pid = 'identifiers', qid = itemId } end --expensive local pencil = frame:expandTemplate{ title = 'EditAtWikidata', args = args} outString = Navbox._navbox( { name = 'Normativna kontrola', navboxclass = 'authority-control', bodyclass = 'hlist', group1 = '[[Pomoć:Normativna kontrola|Normativna kontrola]]'..pencil, list1 = table.concat( elements ) } ) end local auxCats = worldcatCat .. elementsCat .. multipleIdCat .. suppressedIdCat .. deprecatedIdCat if testcases then auxCats = mw.ustring.gsub(auxCats, '(%[%[)(Category)', '%1:%2') --for easier checking end outString = outString .. auxCats if namespace ~= 0 then outString = mw.ustring.gsub(outString, '(%[%[)(Category:Wikipedia articles)', '%1:%2') --by definition end return outString end return p </textarea><div id="mw-scribunto-console"></div><div class="templatesUsed"><div class="mw-templatesUsedExplanation"><p>Šablon koji su upotrebljeni na ovoj stranici: </p></div><ul> <li><a href="/w/index.php?title=Modul:Authority_control/dok&action=edit&redlink=1" class="new" title="Modul:Authority control/dok (stranica ne postoji)">Modul:Authority control/dok</a> (<a href="/w/index.php?title=Modul:Authority_control/dok&action=edit" class="new" title="Modul:Authority control/dok (stranica ne postoji)">uredi</a>) </li></ul></div><p id="mw-returnto">Nazad na <a href="/wiki/Modul:Authority_control" title="Modul:Authority control">Modul:Authority control</a>.</p> <!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Preuzeto iz "<a dir="ltr" href="https://bs.wikipedia.org/wiki/Modul:Authority_control">https://bs.wikipedia.org/wiki/Modul:Authority_control</a>"</div></div> <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Pravila o privatnosti</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia">O Wikipediji</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Odricanje_odgovornosti">Odricanje odgovornosti</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Kodeks ponašanja</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Razvojni programeri</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/bs.wikipedia.org">Statistika</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Izjava o kolačićima</a></li> <li id="footer-places-mobileview"><a href="//bs.m.wikipedia.org/w/index.php?title=Modul:Authority_control&action=edit&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobilni prikaz</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.log.warn("This page is using the deprecated ResourceLoader module \"mediawiki.ui.button\".\n[1.41] Please use Codex. See migration guidelines: https://www.mediawiki.org/wiki/Codex/Migrating_from_MediaWiki_UI");mw.config.set({"wgHostname":"mw-web.codfw.main-6b7f745dd4-qlfr7","wgBackendResponseTime":211,"wgPageParseReport":{"limitreport":{"cputime":"0.040","walltime":"0.057","ppvisitednodes":{"value":135,"limit":1000000},"postexpandincludesize":{"value":23449,"limit":2097152},"templateargumentsize":{"value":804,"limit":2097152},"expansiondepth":{"value":15,"limit":100},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":0,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 38.027 1 Šablon:Fmbox","100.00% 38.027 1 -total"," 12.39% 4.711 1 Šablon:Mbox"," 10.30% 3.916 1 Šablon:Dugme"]},"scribunto":{"limitreport-timeusage":{"value":"0.011","limit":"10.000"},"limitreport-memusage":{"value":877626,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-6b7f745dd4-qlfr7","timestamp":"20241125104958","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>