Extension:Logotipo/ru

From MediaWiki.org
Jump to: navigation, search
MediaWiki Extension
Crystal Clear action run.png
  1. logotipo

Статус: stable

Области применения Parser function
Используемые hook'и LanguageGetMagic
Описание Пример функции изменения $wgLogo на каждой из страниц
Автор(ы) Карл Остин Беннетт
Версия 1.0 (22 vfhnf 2008)
MediaWiki 1.11 - 1.13
Ссылка для скачивания logotipo.php

Довольно простой пример анализатора функции: #logotipo: принимает один параметр (URL, указывающий на изображение) и копирует это значение в $wgLogo.

Любые специальные символы удаляются и кэшируется отдельная страница, на которой эта функция была отключена. Затем функция возвращает пустую строку.

Один из примеров использования этого расширения: http://desciclopedia.org/wiki/Rede_Globo - эта страница шуточно заменяет логотип "батат" в логотип сети Globo TV.

Код расширение logotipo.php, должен быть сохранён в виде файла на сервер, который затем связывается (с использованием require_once()) в LocalSettings.php:

[edit] logotipo.php

<?php
/**
 * #logotipo - a crude and simple parser function used 
 * to set $wgLogo on a per-page basis
 *
 * @author Carl Austin Bennett
 * @copyright Copyright © Carl Austin Bennett
 * @link http://www.mediawiki.org/wiki/Extension:Logotipo
 */
 
#Extension credits that will show up on Special:Version
$wgExtensionCredits['other'][] = array(
        'name' => 'Logotipo',
        'version' => 1.0,
        'author' => 'Carl Austin Bennett',
        'url' => 'http://www.mediawiki.org/wiki/Extension:Logotipo',
        'description' => 'Example of function to change $wgLogo on a per-page basis',
);
 
# Define a setup function
$wgExtensionFunctions[] = 'wfLogotipoFunction_Setup';
 
# Add a hook to initialise as a MediaWiki magic word
$wgHooks['LanguageGetMagic'][]       = 'wfLogotipoFunction_Magic';
 
# Setup functions
function wfLogotipoFunction_Setup() {
        global $wgParser;
        # Set a function hook associating the "logotipo" magic word with our function
        $wgParser->setFunctionHook( 'logotipo', 'wfLogotipoFunction_Render' );
}
 
function wfLogotipoFunction_Magic( &$magicWords, $langCode ) {
        # Add the magic word
        # The first array element is case sensitive, in this case it is not case sensitive
        # All remaining elements are synonyms for our parser function
        $magicWords['logotipo'] = array( 0, 'logotipo' );
        # return true, otherwise other parser function extensions won't load.
        return true;
}
 
# The #logotipo: parser function itself
# This merely sets $wgLogo to a user-supplied URL, special characters removed,
# for the currently-displayed MediaWiki page.

function wfLogotipoFunction_Render( &$parser, $param1 = '' ) {
        global $wgLogo;
 
        # The parser function itself
        # The input parameter is a full URL of the desired logo for display,
        # which is simply copied into $wgLogo; any special characters are
        # removed and page caching is disabled for this one page.

        $parser ->disableCache();
        $wgLogo = htmlspecialchars($param1);
        return "";
}
Язык: English  • Русский
Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox