diff options
author | Yaco <franco@reevo.org> | 2019-03-07 17:20:14 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2019-03-07 17:20:14 -0300 |
commit | ffec46a6f87e96010cb054762d7c933c342d040e (patch) | |
tree | 0e4ac9ee6ee34b031042d397a2d8802129d0175b | |
parent | a295e476e1e2280a580f7eef5dbc9a0765562d7c (diff) |
agrega extension HideNamespace para estilizar los titulos que tienen namespace
-rw-r--r-- | www/wiki/LocalSettings.Reevo.php | 19 | ||||
-rw-r--r-- | www/wiki/extensions/HideNamespace/HideNamespace.i18n.magic.php | 12 | ||||
-rw-r--r-- | www/wiki/extensions/HideNamespace/HideNamespace.i18n.php | 341 | ||||
-rw-r--r-- | www/wiki/extensions/HideNamespace/HideNamespace.php | 115 |
4 files changed, 481 insertions, 6 deletions
diff --git a/www/wiki/LocalSettings.Reevo.php b/www/wiki/LocalSettings.Reevo.php index c2f0f935..c3dd7453 100644 --- a/www/wiki/LocalSettings.Reevo.php +++ b/www/wiki/LocalSettings.Reevo.php @@ -37,7 +37,6 @@ $wgEmailConfirmToEdit = true; $wgHiddenPrefs[] = 'realname'; $wgHiddenPrefs[] = 'genre'; - ## Email $wgEmergencyContact = "webmaster@$REEVO_URL"; $wgPasswordSender = "webmaster@$REEVO_URL"; @@ -119,7 +118,6 @@ $egChameleonExternalLessVariables = [ 'input-border-focus' => 'rgba(0, 0, 0, .1)' ]; - ###### Extensiones ## Cite @@ -150,10 +148,6 @@ require_once "$IP/extensions/ExternalData/ExternalData.php"; wfLoadExtension( 'DataTransfer' ); include_once "$IP/extensions/DataTransfer/DataTransfer.php"; -## NoTitle -require_once "$IP/extensions/NoTitle/NoTitle.php"; -$wgRestrictDisplayTitle = false; - ## WikiEditor wfLoadExtension( 'WikiEditor' ); $wgDefaultUserOptions['usebetatoolbar'] = 1; @@ -195,6 +189,19 @@ wfLoadExtension( 'OpenGraphMeta' ); wfLoadExtension( 'Description2' ); $wgEnableMetaDescriptionFunctions = true; +## HideNamespace +require_once "$IP/extensions/HideNamespace/HideNamespace.php"; +$wgHidensNamespaces = array( + NS_PRENSA, + NS_AUDIOVISUAL, + NS_USER, +); + +## NoTitle +require_once "$IP/extensions/NoTitle/NoTitle.php"; +$wgRestrictDisplayTitle = false; + + ###### Extensiones propias ## ImportarPerfil 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; + } +} |