Well in case anyone else wants to solve this problem, Google led me to an answer someone posted at the Tivo forums.
Edit editpost.php and add the red lines (two on top, close bracket on bottom):
Code:
// ### DO THREAD SUBSCRIPTION ###
// We use $postinfo[userid] so that we update the user who posted this, not the user who is editing this
if ($edit['emailupdate'] != 9998)
{ // when quickedit is used, 9998 means to skip doing anything to the subscription
if (!$threadinfo['issubscribed'] AND $edit['emailupdate'] != 9999)
{ // user is not subscribed to this thread so insert it
$DB_site->query("
REPLACE INTO " . TABLE_PREFIX . "subscribethread (userid, threadid, emailupdate, folderid)
VALUES ($postinfo[userid], $threadinfo[threadid], $edit[emailupdate], $edit[folderid])
");
}
else
{ // User is subscribed, see if they changed the settings for this thread
if ($edit['emailupdate'] == 9999)
{ // Remove this subscription, user chose 'No Subscription'
$DB_site->query("
DELETE FROM " . TABLE_PREFIX . "subscribethread
WHERE threadid = $threadinfo[threadid]
AND userid = $postinfo[userid]");
}
else if ($threadinfo['emailupdate'] != $edit['emailupdate'] OR $threadinfo['folderid'] != $edit['folderid'])
{
// User changed the settings so update the current record
$DB_site->query("
REPLACE INTO " . TABLE_PREFIX . "subscribethread (userid, threadid, emailupdate, folderid)
VALUES ($postinfo[userid], $threadinfo[threadid], $edit[emailupdate], $edit[folderid])
");
}
}
}
Then edit the showthread_quickedit template and change emailupdate=9999 to emailupdate=9998
This will prevent quickedit from messing with the users subscription.