Welp after some time and becoming a little bit more comfortable with things I thought I'd share this in case anyone else is interested. Maybe someone smarter than me or more knowledgeable than me could turn this into a mod one day.
I created this area to remind myself and all others that before we do any updates to BASE VB5, that certain items will be OVERWRITTEN, if not kept track of because at this point. We are modding core backend files and many templates have been modified.
1. Feature to prevent post increment. Two locations
core\admincp\misc.php lines 290-326
PHP Code:
// NOTICE: How we determine if a post counts in user post count here needs to
// match the criteria used in vB_Library_Content::countInUserPostCount()
// If you update in one place, please update in the other
$topChannels = vB_Api::instance('content_channel')->fetchTopLevelChannelIds();
if (isset($topChannels['errors']))
{
print_stop_message2($topChannels['errors'][0]);
}
$checkChannels = array(
$topChannels['forum'],
$topChannels['blog'],
$topChannels['groups'],
);
$channelContentType = vB_Types::instance()->getContentTypeID('vBForum_Channel');
echo '<p>' . $vbphrase['updating_post_counts'] . '</p>';
$gotforums = '';
foreach ($checkChannels as $checkChannel)
{
$forums = $vbulletin->db->query_read("
SELECT node.nodeid
FROM " . TABLE_PREFIX . "node AS node
INNER JOIN " . TABLE_PREFIX . "closure AS cl ON cl.parent = $checkChannel AND cl.child = node.nodeid
WHERE node.contenttypeid = $channelContentType
AND node.nodeid <> $checkChannel
AND node.nodeid <> 269
AND node.parentid <> 269
");
while ($forum = $vbulletin->db->fetch_array($forums))
{
$gotforums .= ',' . $forum['nodeid'];
}
}
core\vb\library\content.php
line 1003
PHP Code:
if ($textCountChange = $this->textCountChange AND $nodevals['routeid'] != '229')
lines 1212-1215
PHP Code:
// Update the post count for this user (content add)
if ($nodevals['routeid'] != '229') {
$this->incrementUserPostCount($node);
}
How this modification works
Spam world has a set nodeid of 269. In misc.php there exists tools that will go through and fix user post counts by looking for the criteria in that select statement. updated the sql statement to exclude nodes made under spam world which will all have a parentid relating back to the the main spamworld nodeid.
for content entry, somehow I found out that any "nodes" made under spamworld were assigned a routeid of 229 in the database and wrapped post increments to only increment after it checks for a routeid not equal to 229.
To find the routeid needed to check for, I basically made a channel, and then started spamming and then looked in the node table to find out if there was any common thing i could filter by.