Hi guys, it's me again.
This modification has always been semi-working on my 3.8+ installation. The only problem that I noticed is the cron job that is set to automatically remove expired warnings, wasn't doing it at all. The job would run, but the warnings weren't removed. Tried running manually and I noticed the first error. After I fixed that error, I encountered another error. And one more after that.
Since then I've been going through Admincp > Advanced Warning System > View Warnings Log. And removing the expired warnings individually. As you can tell, this is quite troublesome. But I diligently kept up with it for a year because I felt this modification was much more useful than the default infraction system.
Well anyways, I managed to be able to find and fix all the errors regarding the cron to successfully remove expired warnings like it should.
Open "kill_warns.php"
1. Line 45
Find:
Code:
LEFT JOIN " . TABLE_PREFIX . "warningype wt ON(wt.warningtypeid = w.warned_warning_id)
Replace with:
Code:
LEFT JOIN " . TABLE_PREFIX . "warningtype wt ON(wt.warningtypeid = w.warned_warning_id)
2. Line 114
Find:
Code:
$user = array_merge($user,convert_array_to_bits($user['options'],$vbulletin->bf_misc_useroptions));
Replace with:
Code:
$user = array_merge((array)$user,convert_bits_to_array($user['options'],$vbulletin->bf_misc_useroptions));
3. Line 163
Find:
Code:
$warnerdata = $vbulletin->db->query_read("SELECT username, email FROM " . TABLE_PREFIX . "user WHERE userid = $vbulletin->options[warn_warner]");
Replace with:
Code:
$warnerdata = $vbulletin->db->query_read("SELECT username, email FROM " . TABLE_PREFIX . "user WHERE userid = '{$vbulletin->options['warn_warner']}'");