Extension:Add Article to Category

From MediaWiki.org
Jump to: navigation, search

Script error

MediaWiki extensions manual
Crystal Clear action run.png
Add Article to Category

Release status: stable

Add Article To Category Extension.jpg
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
Hooks used
EditFormPreloadText

CategoryPageView

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.

Installattion[edit | edit source]

  • Copy the code into a file and extract the file(s) in a directory called ArticleToCategory in your extensions/ 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: code@chen.technology
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]

Screenshots[edit | edit source]

Screenshot 1
Category Page
Screenshot 2
Edit Page
Language: English  • français • 中文