User:Cm/AddArticleToCategory

From MediaWiki.org
Jump to: navigation, search
<?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: anything@liang-chen.com
 Demo: kaoshi.wobuxihuan.org
 Download: http://www.liang-chen.com/myworld/content/view/36/70/
 --------------------------------------------
 
 * Extended by Cynthia Mattingly @ Marketing Factory Consulting
 * Add Category under Category added
 * Localisation file created and built in
 *
 */
 
 
if( !defined( 'MEDIAWIKI' ) )
die();
 
$wgExtensionCredits['other'][] = array(
    'name' => 'Add Article to Category',
    'description' => 'Your MediaWiki will get an inputbox on each Category page, and you can create a new article directly to that category',
    'author' => 'Liang Chen The BiGreat',
     'url' => 'http://www.liang-chen.com/myworld/content/view/36/70/'
);
$wgHooks['EditFormPreloadText'][] = 'addcategory';
$wgHooks['CategoryPageView'][] = 'categorychange';
 
$dir = dirname(__FILE__) . '/';
$wgExtensionMessagesFiles['AddArticleToCategory'] = $dir . 'AddArticleToCategory.i18n.php';
 
function addcategory(&$text)
{
        wfLoadExtensionMessages( 'AddArticleToCategory' );
        if ( array_key_exists('category', $_GET) && array_key_exists('new', $_GET)) {
                $cname = $_GET['category'];
                $wnew = $_GET['new'];
 
                if ($wnew==1)
                {
                        $text = "\n\n [[category:".$cname."]]";
                }
        }
 
        return true;
}
 
 
 
function categorychange($catpage)
{
        global $wgContLang;
        wfLoadExtensionMessages( 'AddArticleToCategory' );
 
        $boxtext  = wfMsg( 'createarticleundercategory_text' );
        $btext = wfMsg( 'createarticleundercategory_button' );;
        $boxtext2  = wfMsg( 'createcategoryundercategory_text' );
        $btext2 = wfMsg( 'createcategoryundercategory_button' );;
        global $wgOut;
        global $wgScript;
        $Action = htmlspecialchars( $wgScript );
 
        $cattitle = $wgContLang->getNsText( NS_CATEGORY );
 
        $temp2=<<<ENDFORM
<!-- Add Article Extension Start - P by BiGreat-->
<script type="text/javascript">
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
} 
function addText(thefield){
        if (thefield.value=="")
        thefield.value = thefield.defaultValue 
}
 
function addTextTitle(thefield){
        if (thefield.value=="") {
                thefield.value = thefield.defaultValue;
        } else {
                thefield.value = '{$cattitle}:'+thefield.value;
        }
}
</script>
<table border="0" align="right" width="423" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="right" bgcolor="">
<form name="createbox" action="{$Action}" onsubmit="addTitle('createboxInput')" 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="38" style="color:#666;" onfocus="clearText(this);" onblur="addText(this);"/>    
        <input type='submit' name="create" class="createboxButton" value="{$btext}"/>   
</form>
<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="{$boxtext2}" size="38" style="color:#666;" onfocus="clearText(this);" onblur="addTextTitle(this);"/>      
        <input type='submit' name="create" class="createboxButton" value="{$btext2}"/>  
</form>
</td>
</tr>
</table>
<!-- Add Article Extension End - P by BiGreat-->
ENDFORM;
        $wgOut->addHTML($temp2);
        return true;
}
?>
Personal tools
Namespaces

Variants
Actions
Navigation
Support
Download
Development
Communication
Print/export
Toolbox