Lomak
01-14-2011, 12:06 PM
Hello,
Is there a way I can add the ability to Strip Polls for Mods through the MODCP without giving access to admincp?
i belive this is the command..
./admincp/thread.php?do=killpoll
I want that but in the MODCP
Thanks!
I did post this at VB.com but was told to come here
http://www.vbulletin.com/forum/showthread.php/369895-Strip-Poll-for-Moderators
BirdOPrey5
01-16-2011, 07:27 PM
OK... unfortunately can't be done without manual file edits...
Open up thread.php in your modcp directory...
Back it up before editing!
Find:
print_cp_footer();
Paste ABOVE this the following code (from the admincp thread.php file)
//Let Mods Strip Polls
// ************************************************** ********************
// *** POLL STRIPPING SYSTEM - removes a poll from a thread *************
// ************************************************** ********************
// ###################### Start confirm kill poll #######################
if ($_POST['do'] == 'removepoll')
{
$vbulletin->input->clean_array_gpc('p', array(
'threadid' => TYPE_UINT,
));
if (empty($vbulletin->GPC['threadid']))
{
print_stop_message('invalid_x_specified', 'threadid');
}
else
{
$thread = $db->query_first("
SELECT thread.threadid, thread.title, thread.postusername, thread.pollid, poll.question
FROM " . TABLE_PREFIX . "thread AS thread
LEFT JOIN " . TABLE_PREFIX . "poll AS poll USING (pollid)
WHERE threadid = " . $vbulletin->GPC['threadid'] . "
AND open <> 10
");
if (!$thread['threadid'])
{
print_stop_message('invalid_x_specified', 'threadid');
}
else if (!$thread['pollid'])
{
print_stop_message('invalid_x_specified', 'pollid');
}
else
{
print_form_header('thread', 'doremovepoll');
construct_hidden_code('threadid', $thread['threadid']);
construct_hidden_code('pollid', $thread['pollid']);
print_table_header($vbphrase['delete_poll']);
print_label_row($vbphrase['posted_by'], "<i>$thread[postusername]</i>");
print_label_row($vbphrase['title'], "<i>$thread[title]</i>");
print_label_row($vbphrase['question'], "<i>$thread[question]</i>");
print_submit_row($vbphrase['delete'], 0);
}
}
}
// ###################### Start do kill poll #######################
if ($_POST['do'] == 'doremovepoll')
{
$vbulletin->input->clean_array_gpc('r', array(
'threadid' => TYPE_UINT,
'pollid' => TYPE_UINT
));
// check valid thread + poll
$thread = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "thread WHERE threadid = " . $vbulletin->GPC['threadid'] . " AND pollid = " . $vbulletin->GPC['pollid']);
if ($thread)
{
$pollman =& datamanager_init('Poll', $vbulletin, ERRTYPE_CP);
$pollman->set_existing($thread);
$pollman->delete();
$threadman =& datamanager_init('Thread', $vbulletin, ERRTYPE_CP, 'threadpost');
$threadman->set_existing($thread);
$threadman->set('pollid', 0);
$threadman->save();
require_once(DIR . '/includes/functions_databuild.php');
build_thread_counters($thread['threadid']);
build_forum_counters($thread['forumid']);
define('CP_REDIRECT', 'thread.php?do=killpoll');
print_stop_message('deleted_poll_successfully');
}
else
{
print_stop_message('invalid_poll_specified');
}
}
// ###################### Start kill poll #######################
if ($_REQUEST['do'] == 'killpoll')
{
print_form_header('thread', 'removepoll');
print_table_header($vbphrase['delete_poll']);
print_input_row($vbphrase['enter_the_threadid_of_the_thread'], 'threadid', '', 0, 10);
print_submit_row($vbphrase['continue'], 0);
echo "\n\n<!-- the pun is intended ;o) -->\n\n";
}
Now go to your Admin CP -> Plugin Manager -> Add New Plugin
Product: vbulletin
Hook: mod_index_navigation
Title: Strip Polls for Mods Menu
Execution Order: 5
Code:
if ($canmoderate)
{
construct_nav_option($vbphrase['strip_poll'], 'thread.php?do=killpoll');
construct_nav_group("Strip Polls");
construct_nav_spacer();
}
That should work...
Lomak
01-16-2011, 08:32 PM
Amazing...
Thank you so very much!!
:D
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.