Extension:Add Article to Category
From MediaWiki.org
Language: | English • français • 中文 |
---|
![]() |
This extension stores its source code on a wiki page. Please be aware that this code may be unreviewed or maliciously altered. They may contain security holes, outdated interfaces that are no longer compatible etc. Note: No localisation updates are provided for this extension by translatewiki.net. |
Add Article to Category Release status: stable |
|||
---|---|---|---|
![]() |
|||
Implementation | Page action | ||
Description | Adds an inputbox (for create new article) to each category page. The content of new page will contain "[[category:]]" automatically. | ||
Author(s) | Liang Chen (BiGreattalk) | ||
Latest version | 0.1.9 (2007-01-19) | ||
MediaWiki | 1.8+ | ||
Database changes | No | ||
License | MIT license | ||
Download | See the code section | ||
Example | kaoshi.wobuxihuan.org | ||
|
|||
Translate the Add Article to Category extension if it is available at translatewiki.net |
|||
Check usage and version matrix; code metrics |
The Add Article to Category extension adds the ability to add an inputbox (for create new article) to each category page. The content of new page will contain "[[category:]]" automatically.
Installation[edit | edit source]
- Copy the code into a file and extract the file(s) in a directory called
ArticleToCategory
in yourextensions/
folder. If you're a developer and this extension is in a Git repository, then instead you should clone the repository. - Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/ArticleToCategory/ArticleToCategory.php";
- Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.
Code[edit | edit source]
- ArticleToCategory.php
<?php
/*--------------------------------------------
A Liang Chen's Extension for MediaWiki
Add Article to Category
Release Date: 2007/01/19
Update Date: 2007/03/09 to 0.1.9, fix a bug in zip file which may cause problem in style.
Contact: [email protected]
Demo: kaoshi.wobuxihuan.org
--------------------------------------------*/
if( !defined( 'MEDIAWIKI' ) ) {
die();
}
$wgExtensionCredits['other'][] = array(
'name' => 'Add Article to Category',
'description' => 'Proviedes an inputbox on each category page that allows to create a new page that is directly put into that category',
'author' => 'Liang Chen',
'url' => 'https://www.mediawiki.org/wiki/Extension:Add_Article_to_Category'
);
$wgHooks['EditFormPreloadText'][] = 'addcategory';
$wgHooks['CategoryPageView'][] = 'categorychange';
function addcategory(&$text)
{
$cname = $_GET['category'];
$wnew = $_GET['new'];
global $wgContLang;
if ($wnew==1)
{
$ns = $wgContLang->getFormattedNsText(NS_CATEGORY);
$text ="Add Your Content Here\r\n\r\n[[$ns:".$cname."]]";
}
return true;
}
function categorychange($catpage)
{
$boxtext = "Create an Article in this category";
$btext = "Submit";
global $wgOut;
global $wgScript;
$Action = htmlspecialchars( $wgScript );
$temp2=<<<ENDFORM
<!-- Add Article Extension Start -->
<script type="text/javascript">
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}
function addText(thefield){
if (thefield.value=="")
thefield.value = thefield.defaultValue
}
</script>
<table border="0" align="right" width="423" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="right" bgcolor="">
<form name="createbox" action="{$Action}" method="get" class="createbox">
<input type='hidden' name="action" value="edit">
<input type='hidden' name="new" value="1">
<input type='hidden' name="category" value="{$catpage->mTitle->getText()}">
<input class="createboxInput" name="title" type="text" value="{$boxtext}" size="30" style="color:#666;" onfocus="clearText(this);" onblur="addText(this);"/>
<input type='submit' name="create" class="createboxButton" value="{$btext}"/>
</form>
</td>
</tr>
</table>
<!-- Add Article Extension End -->
ENDFORM;
$wgOut->addHTML($temp2);
return true;
}
/*--------------------------------------------
A Liang Chen's Extension for MediaWiki
Add Article to Category
Release Date: 2007/01/19
Update Date: 2007/03/09 to 0.1.9, fix a bug in zip file which may cause problem in style.
Contact: [email protected]
Demo: kaoshi.wobuxihuan.org
--------------------------------------------*/
if( !defined( 'MEDIAWIKI' ) ) {
die();
}
$wgExtensionCredits['other'][] = array(
'name' => 'Add Article to Category',
'description' => 'Proviedes an inputbox on each category page that allows to create a new page that is directly put into that category',
'author' => 'Liang Chen',
'url' => 'https://www.mediawiki.org/wiki/Extension:Add_Article_to_Category'
);
$wgHooks['EditFormPreloadText'][] = 'addcategory';
$wgHooks['CategoryPageView'][] = 'categorychange';
function addcategory(&$text)
{
$cname = $_GET['category'];
$wnew = $_GET['new'];
global $wgContLang;
if ($wnew==1)
{
$ns = $wgContLang->getFormattedNsText(NS_CATEGORY);
$text ="Add Your Content Here\r\n\r\n[[$ns:".$cname."]]";
}
return true;
}
function categorychange($catpage)
{
$boxtext = "Create an Article in this category";
$btext = "Submit";
global $wgOut;
global $wgScript;
$Action = htmlspecialchars( $wgScript );
$temp2=<<<ENDFORM
<!-- Add Article Extension Start -->
<script type="text/javascript">
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}
function addText(thefield){
if (thefield.value=="")
thefield.value = thefield.defaultValue
}
</script>
<table border="0" align="right" width="423" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="right" bgcolor="">
<form name="createbox" action="{$Action}" method="get" class="createbox">
<input type='hidden' name="action" value="edit">
<input type='hidden' name="new" value="1">
<input type='hidden' name="category" value="{$catpage->mTitle->getText()}">
<input class="createboxInput" name="title" type="text" value="{$boxtext}" size="30" style="color:#666;" onfocus="clearText(this);" onblur="addText(this);"/>
<input type='submit' name="create" class="createboxButton" value="{$btext}"/>
</form>
</td>
</tr>
</table>
<!-- Add Article Extension End -->
ENDFORM;
$wgOut->addHTML($temp2);
return true;
}
Demo[edit | edit source]
Tweaks[edit | edit source]
If you want the option to not have the box on some pages, see Extension talk:Add Article to Category #Added functionality to exclude some categories
See also[edit | edit source]
- SimpleForms categorisation example - uses SimpleForms extension to categorise article directly without editing
- CreateArticle