this is the hook that uses
ajax_complete
PHP Code:
if ($_POST['do'] == 'togglefavreminder') {
$vbulletin->input->clean_gpc('p', 'favid', TYPE_UINT);
function build_favcache()
{
global $db, $vbulletin;
$favcache = array();
$fcq = $db->query_read("SELECT * FROM " . TABLE_PREFIX . "favorites WHERE userid='" . $vbulletin->userinfo['userid'] . "'");
while ($fc = $db->fetch_array($fcq))
{
$favcache[$fc['favid']] = $fc['favid'];
}
$favcache_o = serialize($favcache);
$db->query_write("UPDATE " . TABLE_PREFIX . "user SET favcache='" . addslashes($favcache_o) . "' WHERE userid='" . $vbulletin->userinfo['userid'] . "'");
}
$favcache = unserialize($vbulletin->userinfo['favcache']);
$cfcq = $db->num_rows($db->query_read("SELECT * FROM " . TABLE_PREFIX . "favorites WHERE userid='" . $vbulletin->userinfo['userid'] . "' AND favid='" . $vbulletin->GPC['favid'] . "'"));
if($cfcq > 0) {
//$favid = $cfcq['favid'];
$db->query_write("DELETE FROM " . TABLE_PREFIX . "favorites WHERE userid='" . $vbulletin->userinfo['userid'] . "' AND favid='" . $vbulletin->GPC['favid'] . "' LIMIT 1");
$reminders = "0";
} else {
$db->query_write("INSERT INTO " . TABLE_PREFIX . "favorites (userid, favid, reminder) VALUES ('" . $vbulletin->userinfo['userid'] . "', '" . $vbulletin->GPC['favid'] . "', '1')");
$reminders = "1";
}
$xml = new vB_AJAX_XML_Builder($vbulletin, 'text/xml');
$xml->add_group('reminder');
$xml->add_tag('favid', $vbulletin->GPC['favid']);
$xml->add_tag('error', $error);
build_favcache();
if ($cfcq > 0) {
$xml->add_tag('reminder', '0');
} else {
$xml->add_tag('reminder', '1');
}
$xml->add_tag('favcache', $favcache_o);
$xml->close_group();
$xml->print_xml(true);
}