Example #1
0
/**
 * Display 'Comments' page.
 */
function pageComments()
{
    require_once dirname(__FILE__) . '/modules/module_comments.php';
    global $PIVOTX;
    // check if the user has the required userlevel to view this page.
    $PIVOTX['session']->minLevel(PIVOTX_UL_NORMAL);
    $PIVOTX['template']->assign('title', __('Comments'));
    if ($_GET['uid'] != "") {
        // Editing an entry.. Get it from the DB..
        $entry = $PIVOTX['db']->read_entry(intval($_GET['uid']));
        $comments = $entry['comments'];
        // Check if the user is allowed to edit this entry. It should either be his/her own
        // Entry, or the userlevel should be advanced.
        if ($PIVOTX['session']->currentUsername() != $entry['user']) {
            $PIVOTX['session']->minLevel(PIVOTX_UL_ADVANCED);
        }
        $heading = __('Edit or Delete Comments for Entry %number% - %editlink%');
        $heading = str_replace('%number%', $entry['uid'], $heading);
        $heading = str_replace('%editlink%', '<a href="index.php?page=entry&amp;uid=' . $entry['uid'] . '">' . $entry['title'] . '</a>', $heading);
        $PIVOTX['template']->assign('heading', $heading);
        if ($_GET['del'] != "") {
            // Perhaps delete a comment
            $PIVOTX['db']->delete_comment($_GET['del']);
            $PIVOTX['messages']->addMessage(__("The comment was deleted."));
            // Reread comments
            $entry = $PIVOTX['db']->read_entry(intval($_GET['uid']));
            $comments = $entry['comments'];
            // If we have to return to the dahboard or the overview screen, we do it here..
            if ($_GET['return'] == "overview") {
                $_GET['uid'] = '';
                // Clear the uid, so PivotX doesn't try to load the entry.
                pageComments();
                die;
            } else {
                if ($_GET['return'] == "dashboard") {
                    pageDashboard();
                    die;
                }
            }
        } else {
            if ($_GET['block'] != "") {
                // Or add the IP to the blocklist..
                $comment = $PIVOTX['db']->get_comment($_GET['block']);
                if (!empty($comment['ip'])) {
                    // Initialise the IP blocklist.
                    $blocklist = new IPBlock();
                    $blocklist->add($comment['ip'], $comment['name']);
                    $PIVOTX['messages']->addMessage(__("The IP-address has been added to the blocklist."));
                } else {
                    $PIVOTX['messages']->addMessage(__("The IP-address couldn't be added to the blocklist."));
                }
                // Reread comments
                $entry = $PIVOTX['db']->read_entry(intval($_GET['uid']));
                $comments = $entry['comments'];
            } else {
                if ($_GET['unblock'] != "") {
                    // Or remove the IP to the blocklist..
                    $comment = $PIVOTX['db']->get_comment($_GET['unblock']);
                    if (!empty($comment['ip'])) {
                        // Initialise the IP blocklist.
                        $blocklist = new IPBlock();
                        $blocklist->remove($comment['ip'], $comment['name']);
                        $PIVOTX['messages']->addMessage(__("The IP-address has been removed from the blocklist."));
                    } else {
                        $PIVOTX['messages']->addMessage(__("The IP-address couldn't be removed from the blocklist."));
                    }
                    // Reread comments
                    $entry = $PIVOTX['db']->read_entry(intval($_GET['uid']));
                    $comments = $entry['comments'];
                } elseif ($_GET['msg'] != "") {
                    $PIVOTX['messages']->addMessage($_GET['msg']);
                }
            }
        }
        switch ($_GET['return']) {
            case 'moderatecomments':
                pivotxAdminRedirect('moderatecomments');
                break;
        }
        // Check for blocked IPs
        $blocklist = new IPBlock();
        foreach ($comments as $key => $comment) {
            $comments[$key]['blocked'] = $blocklist->isBlocked($comment["ip"]);
        }
        $PIVOTX['template']->assign('moderating', false);
        $PIVOTX['template']->assign('uid', $_GET['uid']);
        $PIVOTX['template']->assign('entry', $entry);
        $PIVOTX['template']->assign('comments', $comments);
    } else {
        $PIVOTX['template']->assign('heading', __('Edit or Delete Latest Comments'));
        // If we don't get a specific uid, we show the comments that are in moderation, and the latest comments..
        if (isset($_POST['action_approve'])) {
            approveComments($_POST['checked']);
        } elseif (isset($_POST['action_delete'])) {
            deleteComments($_POST['checked']);
        }
        $latestcomments = $PIVOTX['db']->read_latestcomments(array('amount' => 10, 'cats' => '', 'count' => 15, 'moderated' => 1));
        // Since 'comments.tpl' displays if the entry is moderated or not
        // we must add this to the latest comments.
        foreach ($latestcomments as $key => $value) {
            $latestcomments[$key]['moderate'] = 0;
        }
        // Check for blocked IPs
        $blocklist = new IPBlock();
        foreach ($latestcomments as $key => $comment) {
            $latestcomments[$key]['blocked'] = $blocklist->isBlocked($comment["ip"]);
        }
        $PIVOTX['template']->assign('moderating', true);
        $PIVOTX['template']->assign('comments', $latestcomments);
    }
    // Allow only admins to block/unblock IP addresses..
    $currentuser = $PIVOTX['users']->getUser($PIVOTX['session']->currentUsername());
    $allowblock = $currentuser['userlevel'] >= PIVOTX_UL_ADMIN ? true : false;
    $PIVOTX['template']->assign('allowblock', $allowblock);
    $truncate = getDefault($PIVOTX['config']->get('comment_truncate'), 210);
    $PIVOTX['template']->assign('truncate', $truncate);
    renderTemplate('comments.tpl');
}
Example #2
0
* @copyright (C) 2003 - 2006 RSGallery2
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* RSGallery is Free Software
*/
defined('_JEXEC') or die('Direct Access to this location is not allowed.');
require_once JPATH_RSGALLERY2_SITE . '/lib/rsgcomments/rsgcomments.class.php';
$cid = rsgInstance::getInt('cid', array(0));
$task = rsgInstance::getVar('task', '');
$option = rsgInstance::getVar('option', '');
switch ($task) {
    case 'save':
        //test( $option );
        saveComment($option);
        break;
    case 'delete':
        deleteComments($option);
        //test( $option );
        break;
}
/**
 * Test function FOR DEVELOPMENT ONLY!
 * @param string The current url option
 */
function test($option)
{
    $id = rsgInstance::getInt('id', '');
    $item_id = rsgInstance::getInt('item_id', '');
    $catid = rsgInstance::getInt('catid', '');
    $redirect_url = JRoute::_("index.php?option=" . $option . "&page=inline&id=" . $item_id . "&catid=" . $catid);
    echo "Here we will delete comment number " . $id . "\\n and redirect to " . $redirect_url;
}
Example #3
0
}
// MAIN
$list = $_FINPUT->post('list', '');
if ($list === SUFFIX_COMMENTS) {
    $suffix = SUFFIX_COMMENTS;
} elseif ($list === SUFFIX_COMMENT_SUBMISSIONS) {
    $suffix = SUFFIX_COMMENT_SUBMISSIONS;
} else {
    $suffix = '';
}
$action = $_FINPUT->post('bulk_action' . $suffix, '');
switch ($action) {
    case 'bulk_approve':
        approveComments($suffix);
        break;
    case 'bulk_delete':
        deleteComments($suffix);
        break;
    case 'bulk_ban_user':
        banUsers($suffix);
        break;
    case 'bulk_ban_ip_address':
        banIpAddresses($suffix);
        break;
    default:
        // Do nothing here
        break;
}
$content = COM_showMessageFromParameter() . listComments();
$display = COM_createHTMLDocument($content, array('pagetitle' => $LANG03[100]));
COM_output($display);