np_admtools_code

Code for NP_AdmTools

NP_AdmTools.php

<?php
class NP_AdmTools extends NucleusPlugin {
    function getName()      { return 'AdmTools'; }
    function getAuthor()    { return 'moraes'; }
    function getURL()       { return 'http://forum.nucleuscms.org'; }
    function getVersion()   { return '0.4'; }
    function getDescription() { return 'Tools to help blog management.'; }
    function supportsFeature($feature) {
        switch($feature) {
            case 'SqlTablePrefix': return 1;
            default: return 0;
        }
    }
    function getEventList() { return array('QuickMenu'); }
    function hasAdminArea() { return 1; }
    
    function event_QuickMenu(&$data) {
        global $member;
        // only show the quick menu link to admins
        if (!($member->isLoggedIn() && $member->isAdmin())) return;
        array_push(
            $data['options'],
            array(
                'title' => 'AdmTools',
                'url' => $this->getAdminURL(),
                'tooltip' => 'AdmTools'
            )
        );
    }
 
} // class
?>

/admtools/index.php

<?php
/*****************************************/
/* NP_AdmTools                           */
/* ------------------------------------  */
/* by Rodrigo Moraes                     */
/* http://www.tipos.com.br               */
/*****************************************/
 
$strRel = '../../../';
include($strRel . 'config.php');
include($DIR_LIBS . 'PLUGINADMIN.php');
 
// create the admin area page
$oPluginAdmin = new PluginAdmin('AdmTools');
$oPluginAdmin->start();
 
if (!$member->isLoggedIn()) {
    doError('You are not logged in.');
	$oPluginAdmin->end();
}
 
$admtools=$CONF['PluginURL'];
 
// plugin headline
echo '<h2>Adm Tools</h2>';
 
copyItem();
 
function blogToCopy() {
    echo '<form method="post" action="'.$admtools.'">';
    echo '<input type="hidden" name="action" value="categorytocopy" />';
    echo '<table><thead><tr>';
    echo '<th colspan="2">Copy Item: Step 1 of 2</th></tr></thead><tbody>';
    echo '<tr><td>';
    echo 'Copy item number:';
    echo '</td><td>';
    echo '<input type="text" name="item_id" />';
    echo '</td></tr>';
    echo '<tr><td>';
    echo 'To blog:';
    echo '</td><td>';
    echo '<select name="blog_id">';
    $query = sql_query("SELECT bnumber, bname FROM ".sql_table('blog')." ORDER BY bnumber ASC");
        while($row=mysql_fetch_array($query)) {
			$blog = new BLOG($row['bnumber']);
            $blog_id = $blog->getID();
            $blog_name = $blog->getName();
            echo '<option value="'.$blog_id.'">'.$blog_name.'</option>';
        }
    echo '</select>';   
    echo '</td></tr>';
    echo '<tr><td colspan="2">';
    echo '<input type="submit" name="submit" value="next step" />';
    echo '</td></tr>';
    echo '</tbody></table>';
    echo '</form>';
}
 
function categoryToCopy() {
    $item_id = postVar('item_id');
    $blog_id = postVar('blog_id');
 
    echo '<form method="post" action="'.$admtools.'">';
    echo '<input type="hidden" name="action" value="copyitem" />';
    echo '<input type="hidden" name="item_id" value="'.$item_id.'" />';
    echo '<input type="hidden" name="blog_id" value="'.$blog_id.'" />';
    echo '<table><thead><tr>';
    echo '<th colspan="2">Copy Item: Step 2 of 2</th></tr></thead><tbody>';
    echo '<tr><td>';
    echo 'Select a category:';
    echo '</td><td>';
    echo '<select name="category_id">';
    $query = sql_query("SELECT catid, cname FROM ".sql_table('category')." WHERE cblog=$blog_id ORDER BY cname ASC");
	$blog = new BLOG($blog_id);
        while($row=mysql_fetch_array($query)) {
			$category_id   = $row['catid'];
            $category_name = $blog->getCategoryName($category_id);
            echo '<option value="'.$category_id.'">'.$category_name.'</option>';
        }
    echo '</select>';   
    echo '</td></tr>';
    echo '<tr><td colspan="2">';
    echo '<input type="submit" name="submit" value="copy item" />';
    echo '</td></tr>';
    echo '</tbody></table>';
    echo '</form>';
}
 
function copyItem() {
    $item_id     = postVar('item_id');
    $blog_id     = postVar('blog_id');
    $category_id = postVar('category_id');
 
    if(empty($blog_id)) {
        blogToCopy();
    }
    elseif(empty($category_id)) {
        categoryToCopy();
    }
    else {
        $query = sql_query("SELECT * FROM ".sql_table('item')." WHERE inumber=".$item_id);
        if(mysql_num_rows($query) == 1) {
			$idata = mysql_fetch_array($query);
			echo '<p>'.$idata['ititle'].'</p>';
			if (getNucleusVersion() < 330) {
				$atquery = "INSERT INTO ".sql_table('item')." VALUES ('', '".addslashes($idata['ititle'])."', '".addslashes($idata['ibody'])."', '".addslashes($idata['imore'])."', '".$blog_id."', '".$idata['iauthor']."', '".$idata['itime']."', '".$idata['iclosed']."', '".$idata['idraft']."', '".$idata['ikarmapos']."', '".$category_id."', '".$idata['ikarmaneg']."')";
            }
			else {
				$atquery = "INSERT INTO ".sql_table('item');
				$atquery .= " (inumber,ititle,ibody,imore,iblog,iauthor,itime,iclosed,idraft,ikarmapos,icat,ikarmaneg,iposted)";
				$atquery .= " VALUES ('', '".addslashes($idata['ititle'])."', '".addslashes($idata['ibody'])."', '".addslashes($idata['imore'])."', '".$blog_id."', '".$idata['iauthor']."', '".$idata['itime']."', '".$idata['iclosed']."', '".$idata['idraft']."', '".$idata['ikarmapos']."', '".$category_id."', '".$idata['ikarmaneg']."', '".$idata['ikarmaneg']."')";
				
			}
			sql_query($atquery);
			echo '<p>Success! The item was copied.</p>';
		
            blogToCopy();
        }
        else {
            echo '<p>No such item exists.</p>';
        }
    }
}
 
$oPluginAdmin->end();
?>
 
np_admtools_code.txt · Last modified: 2008/06/24 20:30 by ftruscot