summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/HideNamespace
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
committerYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
commitfc7369835258467bf97eb64f184b93691f9a9fd5 (patch)
treedaabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/extensions/HideNamespace
first commit
Diffstat (limited to 'www/wiki/extensions/HideNamespace')
-rw-r--r--www/wiki/extensions/HideNamespace/HideNamespace.i18n.magic.php12
-rw-r--r--www/wiki/extensions/HideNamespace/HideNamespace.i18n.php341
-rw-r--r--www/wiki/extensions/HideNamespace/HideNamespace.php115
3 files changed, 468 insertions, 0 deletions
diff --git a/www/wiki/extensions/HideNamespace/HideNamespace.i18n.magic.php b/www/wiki/extensions/HideNamespace/HideNamespace.i18n.magic.php
new file mode 100644
index 00000000..32ae95b6
--- /dev/null
+++ b/www/wiki/extensions/HideNamespace/HideNamespace.i18n.magic.php
@@ -0,0 +1,12 @@
+<?php
+
+$magicWords = array();
+
+/**
+ * English
+ */
+$magicWords['en'] = array(
+ 'hidens' => array( 0, 'hidens' ),
+ 'showns' => array( 0, 'showns' ),
+);
+
diff --git a/www/wiki/extensions/HideNamespace/HideNamespace.i18n.php b/www/wiki/extensions/HideNamespace/HideNamespace.i18n.php
new file mode 100644
index 00000000..b774beda
--- /dev/null
+++ b/www/wiki/extensions/HideNamespace/HideNamespace.i18n.php
@@ -0,0 +1,341 @@
+<?php
+
+/**
+ * Internationalisation for extension HideNamespace.
+ *
+ * @file
+ * @ingroup Extensions
+ */
+
+$messages = array();
+
+/** English
+ * @author Matěj Grabovský
+ */
+$messages['en'] = array(
+ 'hidens-desc' => 'Hides namespace in the header and title when a page is in specified namespace or when the <code><nowiki>{{#hidens:}}</nowiki></code> parser function is called',
+);
+
+/** Message documentation (Message documentation)
+ * @author Matěj Grabovský
+ * @author The Evil IP address
+ */
+$messages['qqq'] = array(
+ 'hidens-desc' => '{{desc}}',
+);
+
+/** Asturian (asturianu)
+ * @author Xuacu
+ */
+$messages['ast'] = array(
+ 'hidens-desc' => "Anubre l'espaciu de nomes na testera y nel títulu cuando una páxina ta nel espaciu de nomes conseñáu o cuando se llama a la función d'analís <code><nowiki>{{#hidens:}}</nowiki>",
+);
+
+/** Belarusian (Taraškievica orthography) (беларуская (тарашкевіца)‎)
+ * @author EugeneZelenko
+ */
+$messages['be-tarask'] = array(
+ 'hidens-desc' => 'Хавае прастору назваў у загалоўку і назьве старонкі, калі старонка не ў асноўнай прасторы альбо выкарыстоўваецца функцыя парсэра <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Breton (brezhoneg)
+ * @author Fulup
+ */
+$messages['br'] = array(
+ 'hidens-desc' => "Kuzhat a ra an esaouennoù anv en talbenn hag en titl pa vez ur bajenn en un esaouenn anv spisaet pe pa vez <code><nowiki>{{#hidens:}}</nowiki></code> galvet an arc'hwel parser.",
+);
+
+/** Bosnian (bosanski)
+ * @author CERminator
+ */
+$messages['bs'] = array(
+ 'hidens-desc' => 'Skriva imenski prostor u naslovu i zaglavlju kada je stranica u određenom imenskom prostoru ili kada je pozvana parserska funkcija <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Catalan (català)
+ * @author Aleator
+ */
+$messages['ca'] = array(
+ 'hidens-desc' => "Oculta l'espai de noms en l'encapçalament i al títol quan una pàgina està en un espai de noms determinat o quan es crida a la funció <code><nowiki>{{#hidens:}}</nowiki></code>",
+);
+
+/** Chechen (нохчийн)
+ * @author Sasan700
+ */
+$messages['ce'] = array(
+ 'hidens-desc' => 'Ана цlераш къайла хьо хlокху <code><nowiki>{{#hidens:}}</nowiki></code> ишаро, коьрта могlан цlе а, нагахьсан и агlо юкъайогlуш йалахь ана цверашна, йа оцун чохь хьаржаман йоза делахь.',
+);
+
+/** Czech (česky)
+ * @author Matěj Grabovský
+ */
+$messages['cs'] = array(
+ 'hidens-desc' => 'Skryje jmenný prostor v nadpisu a titulku, když je stránka ve specifikovaném jmenném prostoru nebo když je zavolána funkce parseru <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** German (Deutsch)
+ * @author Jork Leiterer
+ * @author Umherirrender
+ * @author kghbln
+ */
+$messages['de'] = array(
+ 'hidens-desc' => 'Versteckt die Bezeichnung des Namensraums in Header und Titel einer Seite, sofern sie sich in einem nicht anzuzeigenden Namensraum befindet, oder wenn die <code><nowiki>{{#hidens:}}</nowiki></code>-Parser-Funktion genutzt wird',
+);
+
+/** Lower Sorbian (dolnoserbski)
+ * @author Michawiki
+ */
+$messages['dsb'] = array(
+ 'hidens-desc' => 'Chowa mjenjowy rum w głowje a titelu, gaž bok jo w pódanem mjenjowem rumje abo gaž <code><nowiki>{{#hidens:}}</nowiki></code> parserowa funkcija se aktiwěrujo.',
+);
+
+/** Spanish (español)
+ * @author Crazymadlover
+ */
+$messages['es'] = array(
+ 'hidens-desc' => 'Oculta espacio de nombre en el encabezado y el título cuando una página está en espacio de nombre especificado o cuando la función de analizador <code><nowiki>{{#hidens:}}</nowiki></code> es llamada',
+);
+
+/** Finnish (suomi)
+ * @author Str4nd
+ */
+$messages['fi'] = array(
+ 'hidens-desc' => 'Piilottaa nimiavaruuden otsikosta ja nimestä, kun sivu on tietyssä nimiavaruudessa tai <code><nowiki>{{#hidens:}}</nowiki></code>-jäsenninfunktiota on kutsuttu.',
+);
+
+/** French (français)
+ * @author IAlex
+ */
+$messages['fr'] = array(
+ 'hidens-desc' => "Masque l'espace de noms dans l'en-tête et le titre quand une page se trouve dans un espace de nom spécifié ou que la fonction du parseur <code><nowiki>{{#hidens:}}</nowiki></code> est appelée",
+);
+
+/** Galician (galego)
+ * @author Toliño
+ */
+$messages['gl'] = array(
+ 'hidens-desc' => 'Agocha o espazo de nomes na cabeceira e no título cando unha páxina está no espazo de nomes especificado ou cando se emprega a función analítica <code><nowiki>{{#hidens:}}</nowiki>',
+);
+
+/** Swiss German (Alemannisch)
+ * @author Als-Holder
+ */
+$messages['gsw'] = array(
+ 'hidens-desc' => 'Versteckt d Bezeichnig vum Namensruum in Header un Titel vun ere Syte, wänn si in eme Namensruum isch, wu si nit soll aazeigt wäre, oder wänn d <code><nowiki>{{#hidens:}}</nowiki></code>-Parser-Funktion brucht wird',
+);
+
+/** Hebrew (עברית)
+ * @author YaronSh
+ */
+$messages['he'] = array(
+ 'hidens-desc' => 'הסתרת שם המרחב בכותרת ובשם כאשר הדף נמצא בשם המרחב שצוין או כאשר מתבצעת קריאה לפונקציה <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Upper Sorbian (hornjoserbsce)
+ * @author Michawiki
+ */
+$messages['hsb'] = array(
+ 'hidens-desc' => 'Chowa mjenowy rum we hłowje a titulu, hdyž strona je w podatym mjenowym rumje abo hdyž <code><nowiki>{{#hidens:}}</nowiki></code> parserowa funkcija so zawoła',
+);
+
+/** Hungarian (magyar)
+ * @author Glanthor Reviol
+ */
+$messages['hu'] = array(
+ 'hidens-desc' => 'Elrejti a névteret a fejlécben és a címben, ha a lap megadott névtérben van, vagy a <code><nowiki>{{#hidens:}}</nowiki></code> elemzőfüggvény hívásakor',
+);
+
+/** Interlingua (interlingua)
+ * @author McDutchie
+ */
+$messages['ia'] = array(
+ 'hidens-desc' => 'Absconde le spatio de nomines in le capite e titulo si un pagina es in un spatio de nomines specificate o si le function analysator <code><nowiki>{{#hidens:}}</nowiki></code> es appellate',
+);
+
+/** Indonesian (Bahasa Indonesia)
+ * @author Bennylin
+ */
+$messages['id'] = array(
+ 'hidens-desc' => 'Sembunyikan ruang nama di kepala bagian dan judul untuk halaman di ruang nama tertentu atau ketika fungsi parser <nowiki><code>{{#hidens:}}</code></nowiki> digunakan',
+);
+
+/** Italian (italiano)
+ * @author Gianfranco
+ */
+$messages['it'] = array(
+ 'hidens-desc' => "Nasconde il namespace nell'intestazione e nel titolo quando una pagina è nel namespace indicato o comunque quando è chiamata la funzione parser <nowiki> <code>{{#hidens:}}</code> </nowiki>",
+);
+
+/** Japanese (日本語)
+ * @author Fryed-peach
+ */
+$messages['ja'] = array(
+ 'hidens-desc' => '指定された名前空間にページがあるか、<code><nowiki>{{#hidens:}}</nowiki></code> パーサー関数が使われた場合に、ヘッダーとタイトルにおける名前空間を隠して表示する',
+);
+
+/** Korean (한국어)
+ * @author 아라
+ */
+$messages['ko'] = array(
+ 'hidens-desc' => '<code><nowiki>{{#hidens:}}</nowiki></code> 파서 함수를 호출할 때 또는 지정한 이름공간에 대한 문서의 머리글과 제목에 대해 이름공간을 숨김',
+);
+
+/** Colognian (Ripoarisch)
+ * @author Purodha
+ */
+$messages['ksh'] = array(
+ 'hidens-desc' => 'Verstich der Name vum Appachtemang em Siggetittel un dä Övverschref, wann en Sigg us enem beschtemmpte Appachtemang kütt udder wann de Paaserfunxjuhn <code><nowiki>{{#hidens:}}</nowiki></code> en dä Sigg dren opjeroofe weed.',
+);
+
+/** Luxembourgish (Lëtzebuergesch)
+ * @author Robby
+ */
+$messages['lb'] = array(
+ 'hidens-desc' => "Verstoppt den Nummraum am Header an am Titel wann eng Säit an engem spezifeschen Nummraum ass oder wann d'{{#hidens:}} Parserfonctioun opgeruff gëtt",
+);
+
+/** Macedonian (македонски)
+ * @author Bjankuloski06
+ */
+$messages['mk'] = array(
+ 'hidens-desc' => 'Сокрива именски простор во заглавието кога некоја страница е во назначениот именски простор или кога ќе се повика парсерската функција <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Malay (Bahasa Melayu)
+ * @author Anakmalaysia
+ */
+$messages['ms'] = array(
+ 'hidens-desc' => 'Menyorokkan ruang nama dalam pengatas dan tajuk apabila laman berada dalam ruang nama yang dinyatakan, atau apabila fungsi penghurai <code><nowiki>{{#hidens:}}</nowiki></code> dipanggil',
+);
+
+/** Norwegian Bokmål (norsk (bokmål)‎)
+ * @author Nghtwlkr
+ */
+$messages['nb'] = array(
+ 'hidens-desc' => 'Skjuler navnerom i overskriften og tittelen når en side er i et spesifisert navnerom eller når tolkefunksjonen <code><nowiki>{{#hidens:}}</nowiki></code> kalles',
+);
+
+/** Dutch (Nederlands)
+ * @author Siebrand
+ */
+$messages['nl'] = array(
+ 'hidens-desc' => 'Verbergt de naamruimte in de paginanaam van de browser en op de pagina als een pagina in zich in de aangegeven naamruimte bevindt of als de parserfunctie <code><nowiki>{{#hidens:}}</nowiki></code> wordt aangeroepen',
+);
+
+/** Polish (polski)
+ * @author Sp5uhe
+ */
+$messages['pl'] = array(
+ 'hidens-desc' => 'Ukrywa przestrzeń nazw w nagłówku oraz tytule gdy strona jest w wybranej przestrzeni nazw lub gdy zostanie wywołania funkcja parsera <code><nowiki>{{#hidens:}}</nowiki></code>.',
+);
+
+/** Piedmontese (Piemontèis)
+ * @author Borichèt
+ * @author Dragonòt
+ */
+$messages['pms'] = array(
+ 'hidens-desc' => "A stërma lë spassi nominal ant l'antestassion e ant ël tìtol quand che na pàgina a l'é ant lë spassi nominal specificà o quand che la funsion <code><nowiki>{{#hidens:}}</nowiki></code> a l'é ciamà",
+);
+
+/** Portuguese (português)
+ * @author Hamilton Abreu
+ */
+$messages['pt'] = array(
+ 'hidens-desc' => 'Esconde o espaço nominal do cabeçalho e título quando uma página está num espaço nominal específico ou quando é chamada a função <code><nowiki>{{#hidens:}}</nowiki></code> do analisador sintáctico',
+);
+
+/** Brazilian Portuguese (português do Brasil)
+ * @author Giro720
+ */
+$messages['pt-br'] = array(
+ 'hidens-desc' => 'Esconde o espaço nominal do cabeçalho e título quando uma página está num espaço nominal específico ou quando é chamada a função <code><nowiki>{{#hidens:}}</nowiki></code> do analisador sintático',
+);
+
+/** tarandíne (tarandíne)
+ * @author Joetaras
+ */
+$messages['roa-tara'] = array(
+ 'hidens-desc' => "Scunne le namespace jndr'à testate e 'u titele quanne 'na pàgene jè jndr'à 'nu specifeche namespace o quanne 'a <code><nowiki>{{#hidens:}}</nowiki></code> funzione de l'analizzatore avène chiamate",
+);
+
+/** Russian (русский)
+ * @author Александр Сигачёв
+ */
+$messages['ru'] = array(
+ 'hidens-desc' => 'Скрывает пространство имён в заголовке и названии, если страница относится к определённому пространству имён, или содержит вызов функции парсера <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Slovenian (slovenščina)
+ * @author Dbc334
+ */
+$messages['sl'] = array(
+ 'hidens-desc' => 'Skrije imenski prostor v glavi in naslovu, ko je stran v določenem imenskem prostoru ali kot je klicana funkcija razčlenjevalnika <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Serbian (Cyrillic script) (српски (ћирилица)‎)
+ * @author Михајло Анђелковић
+ */
+$messages['sr-ec'] = array(
+ 'hidens-desc' => 'Сакрива именси простор и наслов када је страна у задатом именском простору или када је парсерова функција <code><nowiki>{{#hidens:}}</nowiki></code> позвана',
+);
+
+/** Serbian (Latin script) (srpski (latinica)‎) */
+$messages['sr-el'] = array(
+ 'hidens-desc' => 'Sakriva imensi prostor i naslov kada je strana u zadatom imenskom prostoru ili kada je parserova funkcija <code><nowiki>{{#hidens:}}</nowiki></code> pozvana',
+);
+
+/** Swedish (svenska)
+ * @author Sertion
+ */
+$messages['sv'] = array(
+ 'hidens-desc' => 'Döljer namnrymden från sidrubriken och sidtiteln när en sida är i en specificerad namnrymd eller när <code><nowiki>{{#hidens:}}</nowiki></code>-funktionen används',
+);
+
+/** Thai (ไทย)
+ * @author Octahedron80
+ */
+$messages['th'] = array(
+ 'hidens-desc' => 'ซ่อนเนมสเปซในหัวข้อและชื่อเรื่อง เมื่อหน้าอยู่ในเนมสเปซที่ระบุ หรือเมื่อเรียกด้วยฟังก์ชันแจงส่วน <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Tagalog (Tagalog)
+ * @author AnakngAraw
+ */
+$messages['tl'] = array(
+ 'hidens-desc' => 'Itinatago ang mga puwang na pampangalan sa loob ng pang-ulo at pamagat kapag ang pahina ay nasa loob ng tiyak na puwang na pampangalan o kapag tinawag ang tungkulin ng parser na <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Ukrainian (українська)
+ * @author Ytsukeng Fyvaprol
+ */
+$messages['uk'] = array(
+ 'hidens-desc' => 'Приховує простір імен в заголовку і назві, якщо сторінка відноситься до певного простору імен або містить виклик функції парсера <code><nowiki>{{#hidens:}}</nowiki></code>',
+);
+
+/** Vietnamese (Tiếng Việt)
+ * @author Minh Nguyen
+ */
+$messages['vi'] = array(
+ 'hidens-desc' => 'Ẩn không gian tên trong tiêu đề và tựa trang khi nào cho các trang thuộc không gian tên được chọn hoặc sử dụng hàm cú pháp <code><nowiki>{{#hidens:}}</nowiki></code>.',
+);
+
+/** Walloon (walon)
+ * @author Srtxg
+ */
+$messages['wa'] = array(
+ 'hidens-desc' => "Catchî l' espåce di lomaedje dins l' tiestire et l' tite d' ene pådje cwand elle est dins on spåce di lomaedje diné ou cwand l' fonccion <code><nowiki>{{#hidens:}}</nowiki></code> est eployeye.",
+);
+
+/** Simplified Chinese (中文(简体)‎)
+ * @author Hydra
+ * @author PhiLiP
+ */
+$messages['zh-hans'] = array(
+ 'hidens-desc' => '当页面处于指定的名字空间下,或当页面调用了<code><nowiki>{{#hidens:}}</nowiki></code>解析器函数时,在标题中隐藏名字空间',
+);
+
+/** Traditional Chinese (中文(繁體)‎) */
+$messages['zh-hant'] = array(
+ 'hidens-desc' => '當頁面處於指定的名字空間下,或當頁面調用了<code><nowiki>{{#hidens:}}</nowiki></code>解析器函數時,在標題中隱藏名字空間',
+);
+
diff --git a/www/wiki/extensions/HideNamespace/HideNamespace.php b/www/wiki/extensions/HideNamespace/HideNamespace.php
new file mode 100644
index 00000000..4ba349ac
--- /dev/null
+++ b/www/wiki/extensions/HideNamespace/HideNamespace.php
@@ -0,0 +1,115 @@
+<?php
+
+/**
+ * Extension HideNamespace
+ * Allows hiding namespace in the page title.
+ *
+ * @file
+ * @ingroup Extensions
+ * @author Matěj Grabovský (mgrabovsky.github.com)
+ * @license GNU General Public Licence 2.0 or later
+ */
+
+if( !defined( 'MEDIAWIKI' ) ) {
+ echo 'This file is an extension to the MediaWiki software and ',
+ 'cannot be used standalone.', PHP_EOL;
+ die();
+}
+
+$dir = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
+$wgExtensionMessagesFiles['HideNamespace'] = $dir . 'HideNamespace.i18n.php';
+$wgExtensionMessagesFiles['HideNamespaceMagic'] = $dir . 'HideNamespace.i18n.magic.php';
+
+$wgExtensionCredits['other'][] = array(
+ 'path' => __FILE__,
+ 'name' => 'HideNamespace',
+ 'descriptionmsg' => 'hidens-desc',
+ 'version' => '1.4.3',
+ 'author' => 'Matěj Grabovský',
+ 'url' => 'https://www.mediawiki.org/wiki/Extension:HideNamespace',
+);
+
+$wgHidensNamespaces = array();
+
+$wgHooks['ParserFirstCallInit'][] = 'ExtensionHideNamespace::registerParser';
+$wgHooks['ArticleViewHeader'][] = 'ExtensionHideNamespace::onArticleViewHeader';
+$wgHooks['BeforePageDisplay'][] = 'ExtensionHideNamespace::onBeforePageDisplay';
+
+class ExtensionHideNamespace {
+ private static $namespaceText;
+ private static $hide = null;
+
+ /**
+ * Register the parser functions
+ */
+ public static function registerParser( $parser ) {
+ $parser->setFunctionHook( 'hidens', array( __CLASS__, 'hideNs' ) );
+ $parser->setFunctionHook( 'showns', array( __CLASS__, 'showNs' ) );
+
+ return true;
+ }
+
+ /**
+ * Callback for our parser function {{#hidens:}}
+ */
+ public static function hideNs() {
+ self::$hide = true;
+
+ return null;
+ }
+
+ /**
+ * Callback for our parser function {{#showns:}}
+ */
+ public static function showNs() {
+ self::$hide = false;
+
+ return null;
+ }
+
+ /**
+ * Callback for the ArticleViewHeader hook.
+ *
+ * Retrieves the namespace and localized namespace text and decides whether the
+ * namespace should be hidden
+ */
+ public static function onArticleViewHeader( $article ) {
+ global $wgHidensNamespaces, $wgContLang;
+
+ $namespace = $article->getTitle()->getNamespace();
+ self::$namespaceText = $wgContLang->getNsText( $namespace );
+
+ if( $namespace == NS_MAIN ) {
+ self::$hide = false;
+ } else {
+ /**
+ * Hide namespace if either
+ * - it was forced by user (with {{#hidens:}}) or
+ * - the current namespace is in $wgHidensNamespaces AND
+ * {{#showns:}} wasn't called
+ */
+ $visibilityForced = !is_null( self::$hide );
+ $hideByUser = $visibilityForced && self::$hide;
+ $hideBySetting = in_array( $namespace, $wgHidensNamespaces );
+
+ self::$hide = $hideByUser || ( $hideBySetting && self::$hide !== false );
+ }
+
+ return true;
+ }
+
+ /**
+ * Callback for the BeforePageDisplay hook
+ *
+ * Removes the namespace from article header and page title
+ */
+ public static function onBeforePageDisplay( $out ) {
+ if( self::$hide ) {
+ // Agrega estilos a cada parte del titulo de la pagina
+ $title = mb_substr( $out->getPageTitle(), mb_strlen( self::$namespaceText ) + 1 );
+ $out->setPageTitle('<span id="title-namespace">' . self::$namespaceText . '</span> <span id="title-name">' . $title . '</span>');
+ }
+
+ return true;
+ }
+}