Extension:HideCategorizedOrphans
Appearance
此扩展存储其源代码在某個可編輯的wiki页面上、而不是在代码存储库之內。 此結果造成,此代码有可能被恶意修改。 它可能存在安全性漏洞,且不會收到來自translatewiki.net的本地化更新。 強烈建議開發者將程式碼存放於程式碼儲存庫,而非維基頁面,如此方能妥善維護、審查擴充功能並確保其安全性。 |
此扩展目前不再積極维护! 尽管它可能仍然工作,但任何错误报告或功能请求将很可能被忽略。 |
发行状态: 不再維護 |
|
|---|---|
| 实现 | MyWiki |
| 描述 | 讓MediaWiki認為頁面是屬於某個類別的、而不是孤兒(無主) |
| 作者 | Steven Orvis (Sorvis留言) |
| 最新版本 | 0.2.0 (2014-06-09) |
| MediaWiki | 1.23+ |
| PHP | 5.3+ |
| 数据库更改 | 否 |
| 许可协议 | GNU通用公眾授權條款2.0或更新版本 |
| 下載 | 请查阅代码段落 |
HideCategorizedOrphans(隱藏類別孤兒)扩展讓MediaWiki認為頁面是屬於某個類別的、不是孤兒(無主)。
如果您想要連結到某個在頁面之外的類別,但指向該個別頁面的連結卻顯示無處可去,這就很有用。
安裝
- 將程式碼複製到檔案中文件,并将其放置在您
extensions/文件夹中的HideCategorizedOrphans目录内。 - 請新增下列代码到您的LocalSettings.php文件的底部:
require_once "$IP/extensions/HideCategorizedOrphans/HideCategorizedOrphans.php";
完成 – 請导航至您的wiki上的Special:Version,以验证此扩展已成功安装。
代码
- HideCategorizedOrphans.php
<?php
/**
* HideCategoizedOrphans extension
*
* For more info see https://mediawiki.org/wiki/Extension:HideCategorizedOrphans
*
* @file
* @ingroup Extensions
* @author Steven Orvis, 2014
* @license GNU General Public Licence 2.0 or later
*/
$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'HideCategorizedOrphans',
'author' => array(
'Steven Orvis',
),
'version' => '0.2.0',
'url' => 'https://www.mediawiki.org/wiki/Extension:HideCategorizedOrphans',
'descriptionmsg' => 'Hides orphaned pages that belong to a category',
);
/* Setup */
// Register files
$wgAutoloadClasses['HideCategorizedOrphansHooks'] = __DIR__ . '/HideCategorizedOrphans.hooks.php';
// Register hooks
$wgHooks['LonelyPagesQuery'][] = 'HideCategorizedOrphansHooks::onLonelyPagesQuery';
- HideCategorizedOrphans.hooks.php
<?php
/**
* Hooks for HideCategorizedOrphans extension
*
* @file
* @ingroup Extensions
*/
class HideCategorizedOrphansHooks {
/**
* Add condition to LonelyPagesQuery to hide pages in categories
*/
public static function onLonelyPagesQuery( &$tables, &$conds, &$joinConds) {
$joinConds['categorylinks'] = array(
'LEFT JOIN', array(
'cl_from = page_id'
)
);
$tables[] = 'categorylinks';
$conds[] = 'cl_from is null';
return true;
}
}
