Extension:AddPersonalUrls/ru
From MediaWiki.org
|
AddPersonalUrls Статус релиза: stable |
|||
|---|---|---|---|
| Реализация | MyWiki | ||
| Описание | Добавляет страницы в личные ссылки. | ||
| Автор(а) | RV1971talk | ||
| Последняя версия | 0.31 (2007-10-01) | ||
| MediaWiki | >=1.10 | ||
| Лицензия | Тип лицензии не указан | ||
| Загрузка | #Код #Лог изменений |
||
|
|||
|
|||
| Проверить использование (экспериментальная функция) | |||
Этот плагин добавляет страницы в список личных ссылок. Можно представить что это демонстрация использования крюка PersonalUrls. Скорее всего придётся изменить список страниц для собственных нужд.
Данная версия добавляет следующие ссылки:
- Ссылку на служебную страницу основанную на Extension:DynamicPageList, показывающую все подстраницы основной страницы пользователя.
- Ссылку на любимые страницы пользователя.
- Ссылку на страницу песочницу пользователя.
- Ссылку на страницу записок пользователя.
За исключением первой, все страницы пусты в начале. Тебе можно будет редактировать их, используя любой викитекст. Имена являются просто примерами.
Contents |
Инсталляция [edit]
Не смотря на то что этот плагин был протестирован на МедияВики 1.10, скорее всего он будет работать и на более ранних версиях.
- Сохрани #Код в файлextensions/AddPersonalUrls/AddPersonalUrls.php.
- Добавь следующую строку в LocalSettings.php:
require_once("extensions/AddPersonalUrls/AddPersonalUrls.php");
- Создай системные сообщения которые будт использоваться для наименования страниц. Нужные страницы и возможные значения представлены ниже:
- MediaWiki:Mypages – my pages
- MediaWiki:Favorites – my favorites
- MediaWiki:Sandbox – my sandbox
- MediaWiki:Mynotes – my notes
- Новые ссылки описываются в статическом члене класса ExtAddPersonalUrls::$mTable. Ты можешь изменить его в LocalSettings.php. Текст '$username' будет заменён на имя конкретного пользователя (тебе придётся использовать одиночные ковычки чтобы PHP не заменил значение на пустую строку во время интерпретации LocalSettings.php).
- Если ты хочешь использовать первую ссылку, тебе придётся установить Extension:DynamicPageList (версию >= 1.4) и Call Extension (в которой находится в том-же блоке). Так-же надо будет создать страницу Шаблон:My_Pages в которой должно находится:
{{#dpl: namespace=User|titlematch={{{1}}}/%}}
- Либо-же можно убрать первую ссылку добавив следующую строку в LocalSettings.php:
unset( ExtAddPersonalUrls::$mTable[0] );
Код [edit]
<?php $wgExtensionCredits['other'][] = array( 'name' => 'AddPersonalUrls', 'version' => ExtAddPersonalUrls::VERSION, 'author' => '[http://www.mediawiki.org/wiki/User:RV1971 RV1971]', 'url' => 'http://www.mediawiki.org/wiki/Extension:AddPersonalUrls', 'description' => 'Add some items to the personal URLs' ); $wgExtAddPersonalUrls = new ExtAddPersonalUrls(); $wgHooks['PersonalUrls'][] = array( &$wgExtAddPersonalUrls, 'onAddPersonalUrls' ); class ExtAddPersonalUrls { const VERSION = '0.31'; public static $mTable = array ( array( 'page' => 'Special:Call', 'name' => 'mypages', 'args' => '/My_Pages,$username' ), array( 'page' => 'User:$username/Favorites', 'name' => 'favorites', 'args' => null ), array( 'page' => 'User:$username/Sandbox', 'name' => 'sandbox', 'args' => null ), array( 'page' => 'User:$username/Notes', 'name' => 'mynotes', 'args' => null ) ); function onAddPersonalUrls( &$personal_urls, &$wgTitle ) { global $wgUser; $username = $wgUser->getName(); if( $wgUser->getID() ) { $pageurl = $wgTitle->getLocalURL(); $urls[] = array_shift( $personal_urls ); foreach( self::$mTable as $item ) { $urldetails = Skin::makeUrlDetails( str_replace( '$username', $username, $item['page'] ) ); $args = str_replace( '$username', $username, $item['args'] ); $urls[] = array( 'text' => wfMsg( $item['name'] ), 'href' => $urldetails['href'] . $args, 'class' => $args ? false : ($urldetails['exists'] ? false : 'new'), 'active' => $args ? false : ($urldetails['href'] == $pageurl) ); } $personal_urls = $urls + $personal_urls; } return true; } }
Лог изменений [edit]
- 0.31
- Перешёл на новую версию Extension:DynamicPageList, которая больше не использует конкретную служебную страницу.
- 0.3
- Параметр теперь член класса.
- 0.21
- Исправление в mypages.
- 0.2
- Конфигурация использую список.
- 0.1
- Первая версия.
Смотри так-же [edit]
| Язык: | English • русский |
|---|
