if ($_POST['do'] == 'killsubs') { $db->query_write("DELETE FROM " . TABLE_PREFIX . "subscribethread WHERE userid = " . $vbulletin->GPC['userid']); $db->query_write("DELETE FROM " . TABLE_PREFIX . "subscribeforum WHERE userid = " . $vbulletin->GPC['userid']); $db->query_write("DELETE FROM " . TABLE_PREFIX . "subscribeevent WHERE userid = " . $vbulletin->GPC['userid']); $db->query_write("DELETE FROM " . TABLE_PREFIX . "subscribegroup WHERE userid = " . $vbulletin->GPC['userid']); $db->query_write("DELETE FROM " . TABLE_PREFIX . "subscribediscussion WHERE userid = " . $vbulletin->GPC['userid']); define('CP_REDIRECT', "user.php?do=edit&u=" . $vbulletin->GPC['userid']); print_stop_message('deleted_subscriptions_successfully'); } // ###################### Start Remove User's PMs ####################### if ($_REQUEST['do'] == 'removepms') { print_delete_confirmation('user', $vbulletin->GPC['userid'], 'usertools', 'killpms', 'private_messages_belonging_to_the_user'); } // ###################### Start Remove User's PMs ####################### if ($_POST['do'] == 'killpms') { $result = delete_user_pms($vbulletin->GPC['userid']); define('CP_REDIRECT', "user.php?do=edit&u=" . $vbulletin->GPC['userid']); print_stop_message('deleted_x_pms_y_pmtexts_and_z_receipts', $result['pms'], $result['pmtexts'], $result['receipts']); } // ###################### Start Remove PMs Sent by User ####################### if ($_REQUEST['do'] == 'removesentpms') { print_delete_confirmation('user', $vbulletin->GPC['userid'], 'usertools', 'killsentpms', 'private_messages_sent_by_the_user'); } // ###################### Start Remove User's PMs ####################### if ($_POST['do'] == 'killsentpms') { $user = $db->query_first("SELECT userid, username FROM " . TABLE_PREFIX . "user WHERE userid = " . $vbulletin->GPC['userid']); if (!$user['userid']) { print_stop_message('invalid_user_specified'); } $pmtextids = '0'; $pmtexts = $db->query_read("SELECT pmtextid FROM " . TABLE_PREFIX . "pmtext WHERE fromuserid = " . $vbulletin->GPC['userid']);
/** * Any code to run after deleting * * @param Boolean Do the query? */ function post_delete($doquery = true) { $this->dbobject->query_write("\n\t\t\tUPDATE " . TABLE_PREFIX . "post SET\n\t\t\t\tusername = '******'username']) . "',\n\t\t\t\tuserid = 0\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tUPDATE " . TABLE_PREFIX . "groupmessage SET\n\t\t\t\tpostusername = '******'username']) . "',\n\t\t\t\tpostuserid = 0\n\t\t\tWHERE postuserid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tUPDATE " . TABLE_PREFIX . "visitormessage SET\n\t\t\t\tpostusername = '******'username']) . "',\n\t\t\t\tpostuserid = 0\n\t\t\tWHERE postuserid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "visitormessage\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tUPDATE " . TABLE_PREFIX . "usernote SET\n\t\t\t\tusername = '******'username']) . "',\n\t\t\t\tposterid = 0\n\t\t\tWHERE posterid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "usernote\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "access\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "event\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "customavatar\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); @unlink($this->registry->options['avatarpath'] . '/avatar' . $this->existing['userid'] . '_' . $this->existing['avatarrevision'] . '.gif'); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "customprofilepic\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); @unlink($this->registry->options['profilepicpath'] . '/profilepic' . $this->existing['userid'] . '_' . $this->existing['profilepicrevision'] . '.gif'); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "sigpic\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); @unlink($this->registry->options['sigpicpath'] . '/sigpic' . $this->existing['userid'] . '_' . $this->existing['sigpicrevision'] . '.gif'); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "moderator\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "reputation\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "subscribeforum\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "subscribethread\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "subscribeevent\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "subscriptionlog\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "session\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "userban\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "usergrouprequest\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "announcementread\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "infraction\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t"); $pendingfriends = array(); $currentfriends = array(); $friendlist = $this->dbobject->query_read("\n\t\t\tSELECT relationid, friend\n\t\t\tFROM " . TABLE_PREFIX . "userlist\n\t\t\tWHERE userid = " . $this->existing['userid'] . "\n\t\t\t\tAND type = 'buddy'\n\t\t\t\tAND friend IN('pending','yes')\n\t\t"); while ($friend = $this->dbobject->fetch_array($friendlist)) { if ($friend['friend'] == 'yes') { $currentfriends[] = $friend['relationid']; } else { $pendingfriends[] = $friend['relationid']; } } if (!empty($pendingfriends)) { $this->dbobject->query_write("\n\t\t\t\tUPDATE " . TABLE_PREFIX . "user\n\t\t\t\tSET friendreqcount = IF(friendreqcount > 0, friendreqcount - 1, 0)\n\t\t\t\tWHERE userid IN (" . implode(", ", $pendingfriends) . ")\n\t\t\t"); } if (!empty($currentfriends)) { $this->dbobject->query_write("\n\t\t\t\tUPDATE " . TABLE_PREFIX . "user\n\t\t\t\tSET friendcount = IF(friendcount > 0, friendcount - 1, 0)\n\t\t\t\tWHERE userid IN (" . implode(", ", $currentfriends) . ")\n\t\t\t"); } $this->dbobject->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "userlist\n\t\t\tWHERE userid = " . $this->existing['userid'] . " OR relationid = " . $this->existing['userid']); $admindm =& datamanager_init('Admin', $this->registry, ERRTYPE_SILENT); $admindm->set_existing($this->existing); $admindm->delete(); unset($admindm); $groups = $this->registry->db->query_read("\n\t\t\tSELECT *\n\t\t\tFROM " . TABLE_PREFIX . "socialgroup\n\t\t\tWHERE creatoruserid = " . $this->existing['userid']); $groupsowned = array(); while ($group = $this->registry->db->fetch_array($groups)) { $groupsowned[] = $group['groupid']; } $this->registry->db->free_result($groups); if (!empty($groupsowned)) { require_once DIR . '/includes/functions_socialgroup.php'; foreach ($groupsowned as $groupowned) { $group = fetch_socialgroupinfo($groupowned); if (!empty($group)) { // dm will have problem if the group is invalid, and in all honesty, at this situation, // if the group is no longer present, then we don't need to worry about it anymore. $socialgroupdm = datamanager_init('SocialGroup', $this->registry, ERRTYPE_SILENT); $socialgroupdm->set_existing($group); $socialgroupdm->delete(); } } } $groupmemberships = $this->registry->db->query_read("\n\t\t\tSELECT socialgroup.*\n\t\t\tFROM " . TABLE_PREFIX . "socialgroupmember AS socialgroupmember\n\t\t\tINNER JOIN " . TABLE_PREFIX . "socialgroup AS socialgroup ON\n\t\t\t\t(socialgroup.groupid = socialgroupmember.groupid)\n\t\t\tWHERE socialgroupmember.userid = " . $this->existing['userid']); $socialgroups = array(); while ($groupmembership = $this->registry->db->fetch_array($groupmemberships)) { $socialgroups["{$groupmembership['groupid']}"] = $groupmembership; } $grouppicture_sql = $this->registry->db->query_read("\n\t\t\tSELECT socialgrouppicture.groupid, socialgrouppicture.pictureid\n\t\t\tFROM " . TABLE_PREFIX . "picture AS picture\n\t\t\tINNER JOIN " . TABLE_PREFIX . "socialgrouppicture AS socialgrouppicture ON\n\t\t\t\t(socialgrouppicture.pictureid = picture.pictureid)\n\t\t\tWHERE picture.userid = " . $this->existing['userid'] . "\n\t\t"); $grouppictures = array(); while ($grouppicture = $this->registry->db->fetch_array($grouppicture_sql)) { $grouppictures[] = $grouppicture['pictureid']; } if (!empty($grouppictures)) { $this->registry->db->query_write("\n\t\t\t\tDELETE FROM " . TABLE_PREFIX . "socialgrouppicture\n\t\t\t\tWHERE pictureid IN (" . implode(',', $grouppictures) . ")\n\t\t\t"); } if (!empty($socialgroups)) { $this->registry->db->query_write("DELETE FROM " . TABLE_PREFIX . "socialgroupmember WHERE userid = " . $this->existing['userid']); foreach ($socialgroups as $group) { $groupdm =& datamanager_init('SocialGroup', $this->registry, ERRTYPE_STANDARD); $groupdm->set_existing($group); $groupdm->rebuild_membercounts(); $groupdm->rebuild_picturecount(); $groupdm->save(); list($pendingcountforowner) = $this->registry->db->query_first("\n\t\t\t\t\tSELECT SUM(moderatedmembers) FROM " . TABLE_PREFIX . "socialgroup\n\t\t\t\t\tWHERE creatoruserid = " . $group['creatoruserid'], DBARRAY_NUM); $this->registry->db->query_write("\n\t\t\t\t\tUPDATE " . TABLE_PREFIX . "user\n\t\t\t\t\tSET socgroupreqcount = " . intval($pendingcountforowner) . "\n\t\t\t\t\tWHERE userid = " . $group['creatoruserid']); } unset($groupdm); } $pictures = array(); $picture_sql = $this->registry->db->query_read("\n\t\t\tSELECT album.albumid, albumpicture.pictureid\n\t\t\tFROM " . TABLE_PREFIX . "album AS album\n\t\t\tINNER JOIN " . TABLE_PREFIX . "albumpicture AS albumpicture ON (albumpicture.albumid = album.albumid)\n\t\t\tWHERE album.userid = " . $this->existing['userid']); while ($picture = $this->registry->db->fetch_array($picture_sql)) { $pictures[] = $picture['pictureid']; } if ($pictures) { $this->registry->db->query_write("\n\t\t\t\tDELETE FROM " . TABLE_PREFIX . "albumpicture\n\t\t\t\tWHERE pictureid IN (" . implode(',', $pictures) . ")\n\t\t\t"); $this->registry->db->query_write("\n\t\t\t\tDELETE FROM " . TABLE_PREFIX . "picturecomment\n\t\t\t\tWHERE pictureid IN (" . implode(',', $pictures) . ")\n\t\t\t"); } $this->registry->db->query_write("DELETE FROM " . TABLE_PREFIX . "album WHERE userid = " . $this->existing['userid']); $this->registry->db->query_write("DELETE FROM " . TABLE_PREFIX . "picture WHERE userid = " . $this->existing['userid']); $this->registry->db->query_write("\n\t\t\tUPDATE " . TABLE_PREFIX . "picturecomment SET\n\t\t\t\tpostusername = '******'username']) . "',\n\t\t\t\tpostuserid = 0\n\t\t\tWHERE postuserid = " . $this->existing['userid'] . "\n\t\t"); require_once DIR . '/includes/adminfunctions.php'; delete_user_pms($this->existing['userid'], false); require_once DIR . '/includes/functions_databuild.php'; ($hook = vBulletinHook::fetch_hook('userdata_delete')) ? eval($hook) : false; build_user_statistics(); build_birthdays(); }
/** * Any code to run after deleting * * @param Boolean Do the query? */ function post_delete($doquery = true) { $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "post SET username = '******'username']) . "', userid = 0 WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "groupmessage SET postusername = '******'username']) . "', postuserid = 0 WHERE postuserid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "discussion SET lastposter = '" . $this->dbobject->escape_string($this->existing['username']) . "', lastposterid = 0 WHERE lastposterid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "visitormessage SET postusername = '******'username']) . "', postuserid = 0 WHERE postuserid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "visitormessage WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "usernote SET username = '******'username']) . "', posterid = 0 WHERE posterid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "usernote WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "access WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "event WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "customavatar WHERE userid = " . $this->existing['userid'] . " "); @unlink($this->registry->options['avatarpath'] . '/avatar' . $this->existing['userid'] . '_' . $this->existing['avatarrevision'] . '.gif'); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "customprofilepic WHERE userid = " . $this->existing['userid'] . " "); @unlink($this->registry->options['profilepicpath'] . '/profilepic' . $this->existing['userid'] . '_' . $this->existing['profilepicrevision'] . '.gif'); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "sigpic WHERE userid = " . $this->existing['userid'] . " "); @unlink($this->registry->options['sigpicpath'] . '/sigpic' . $this->existing['userid'] . '_' . $this->existing['sigpicrevision'] . '.gif'); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "moderator WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "reputation WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribeforum WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribethread WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribeevent WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "subscriptionlog WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "session WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "userban WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "usergrouprequest WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "announcementread WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "infraction WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "groupread WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "discussionread WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribediscussion WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "subscribegroup WHERE userid = " . $this->existing['userid'] . " "); $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "profileblockprivacy WHERE userid = " . $this->existing['userid'] . " "); $pendingfriends = array(); $currentfriends = array(); $friendlist = $this->dbobject->query_read(" SELECT relationid, friend FROM " . TABLE_PREFIX . "userlist WHERE userid = " . $this->existing['userid'] . " AND type = 'buddy' AND friend IN('pending','yes') "); while ($friend = $this->dbobject->fetch_array($friendlist)) { if ($friend['friend'] == 'yes') { $currentfriends[] = $friend['relationid']; } else { $pendingfriends[] = $friend['relationid']; } } if (!empty($pendingfriends)) { $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "user SET friendreqcount = IF(friendreqcount > 0, friendreqcount - 1, 0) WHERE userid IN (" . implode(", ", $pendingfriends) . ") "); } if (!empty($currentfriends)) { $this->dbobject->query_write(" UPDATE " . TABLE_PREFIX . "user SET friendcount = IF(friendcount > 0, friendcount - 1, 0) WHERE userid IN (" . implode(", ", $currentfriends) . ") "); } $this->dbobject->query_write(" DELETE FROM " . TABLE_PREFIX . "userlist WHERE userid = " . $this->existing['userid'] . " OR relationid = " . $this->existing['userid'] ); $admindm =& datamanager_init('Admin', $this->registry, ERRTYPE_SILENT); $admindm->set_existing($this->existing); $admindm->delete(); unset($admindm); $groups = $this->registry->db->query_read(" SELECT * FROM " . TABLE_PREFIX . "socialgroup WHERE creatoruserid = " . $this->existing['userid'] ); $groupsowned = array(); while ($group = $this->registry->db->fetch_array($groups)) { $groupsowned[] = $group['groupid']; } $this->registry->db->free_result($groups); if (!empty($groupsowned)) { require_once(DIR . '/includes/functions_socialgroup.php'); foreach($groupsowned AS $groupowned) { $group = fetch_socialgroupinfo($groupowned); if (!empty($group)) { // dm will have problem if the group is invalid, and in all honesty, at this situation, // if the group is no longer present, then we don't need to worry about it anymore. $socialgroupdm = datamanager_init('SocialGroup', $this->registry, ERRTYPE_SILENT); $socialgroupdm->set_existing($group); $socialgroupdm->delete(); } } } $groupmemberships = $this->registry->db->query_read(" SELECT socialgroup.* FROM " . TABLE_PREFIX . "socialgroupmember AS socialgroupmember INNER JOIN " . TABLE_PREFIX . "socialgroup AS socialgroup ON (socialgroup.groupid = socialgroupmember.groupid) WHERE socialgroupmember.userid = " . $this->existing['userid'] ); $socialgroups = array(); while ($groupmembership = $this->registry->db->fetch_array($groupmemberships)) { $socialgroups["$groupmembership[groupid]"] = $groupmembership; } require_once(DIR . '/includes/class_bootstrap_framework.php'); require_once(DIR . '/vb/types.php'); vB_Bootstrap_Framework::init(); $types = vB_Types::instance(); $picture_sql = $this->registry->db->query_read(" SELECT a.attachmentid, a.filedataid, a.userid FROM " . TABLE_PREFIX . "attachment AS a WHERE a.userid = " . $this->existing['userid'] . " AND a.contenttypeid IN (" . intval($types->getContentTypeID('vBForum_SocialGroup')) . "," . intval($types->getContentTypeID('vBForum_Album')) . ") "); $pictures = array(); $attachdm =& datamanager_init('Attachment', $this->registry, ERRTYPE_SILENT, 'attachment'); while ($picture = $this->registry->db->fetch_array($picture_sql)) { $attachdm->set_existing($picture); $attachdm->delete(); } if (!empty($socialgroups)) { $this->registry->db->query_write("DELETE FROM " . TABLE_PREFIX . "socialgroupmember WHERE userid = " . $this->existing['userid']); foreach ($socialgroups AS $group) { $groupdm =& datamanager_init('SocialGroup', $this->registry, ERRTYPE_STANDARD); $groupdm->set_existing($group); $groupdm->rebuild_membercounts(); $groupdm->rebuild_picturecount(); $groupdm->save(); list($pendingcountforowner) = $this->registry->db->query_first(" SELECT SUM(moderatedmembers) FROM " . TABLE_PREFIX . "socialgroup WHERE creatoruserid = " . $group['creatoruserid'] , DBARRAY_NUM); $this->registry->db->query_write(" UPDATE " . TABLE_PREFIX . "user SET socgroupreqcount = " . intval($pendingcountforowner) . " WHERE userid = " . $group['creatoruserid'] ); } unset($groupdm); } $this->registry->db->query_write(" UPDATE " . TABLE_PREFIX . "socialgroup SET transferowner = 0 WHERE transferowner = " . $this->existing['userid'] ); $this->registry->db->query_write("DELETE FROM " . TABLE_PREFIX . "album WHERE userid = " . $this->existing['userid']); $this->registry->db->query_write(" UPDATE " . TABLE_PREFIX . "picturecomment SET postusername = '******'username']) . "', postuserid = 0 WHERE postuserid = " . $this->existing['userid'] . " "); require_once(DIR . '/includes/adminfunctions.php'); delete_user_pms($this->existing['userid'], false); require_once(DIR . '/includes/functions_databuild.php'); ($hook = vBulletinHook::fetch_hook('userdata_delete')) ? eval($hook) : false; build_user_statistics(); build_birthdays(); }