break; } $search_error = $login_error = ''; if ($usr_id) { /* deal with custom tags */ if (!empty($_POST['c_tag'])) { q('INSERT INTO ' . $DBHOST_TBL_PREFIX . 'custom_tags (name, user_id) VALUES(' . strnull(addslashes($_POST['c_tag'])) . ', ' . $usr_id . ')'); } else { if (!empty($_GET['deltag'])) { q('DELETE FROM ' . $DBHOST_TBL_PREFIX . 'custom_tags WHERE id=' . (int) $_GET['deltag']); } else { $nada = 1; } } if (!isset($nada) && db_affected()) { ctag_rebuild_cache($usr_id); } } else { if (!empty($_POST['usr_email']) || !empty($_POST['usr_login'])) { /* user searching logic */ $item = !empty($_POST['usr_email']) ? $_POST['usr_email'] : $_POST['usr_login']; $field = !empty($_POST['usr_email']) ? 'email' : ($FUD_OPT_2 & 128 ? 'alias' : 'login'); if (strpos($item, '*') !== false) { $like = 1; $item = str_replace('*', '%', $item); $item_s = str_replace('\\', '\\\\', $item); if ($FUD_OPT_2 & 128) { $item_s = htmlspecialchars($item_s); } } else { $like = 0;
draw_stat('Rebuilding ip filter cache'); ip_cache_rebuild(); draw_stat('Done: Rebuilding ip filter cache'); draw_stat('Rebuilding login filter cache'); login_cache_rebuild(); draw_stat('Done: Rebuilding login filter cache'); draw_stat('Rebuilding email filter cache'); email_cache_rebuild(); draw_stat('Done: Rebuilding email filter cache'); draw_stat('Rebuilding extension filter cache'); ext_cache_rebuild(); draw_stat('Done: Rebuilding extension filter cache'); draw_stat('Rebuilding custom tags for users'); $c = q('SELECT distinct(user_id) FROM ' . $tbl . 'custom_tags'); while ($r = db_rowarr($c)) { ctag_rebuild_cache($r[0]); } unset($c); draw_stat('Done Rebuilding custom tags for users'); draw_stat('Validating group resources'); delete_zero($tbl . 'group_resources', 'SELECT gr.id FROM ' . $tbl . 'group_resources gr LEFT JOIN ' . $tbl . 'forum f ON f.id=gr.resource_id LEFT JOIN ' . $tbl . 'groups g ON g.id=gr.group_id WHERE f.id IS NULL OR g.id IS NULL'); draw_stat('Done: Validating group resources'); draw_stat('Validating group validity'); # technically a group cannot exist without being assigned to at least 1 resource # so when we encounter such as group, we do our patriotic duty and remove it. delete_zero($tbl . 'groups', 'SELECT g.id FROM ' . $tbl . 'groups g LEFT JOIN ' . $tbl . 'group_resources gr ON g.id=gr.group_id WHERE g.id > 2 AND gr.id IS NULL'); delete_zero($tbl . 'groups', 'SELECT g.id FROM ' . $tbl . 'groups g LEFT JOIN ' . $tbl . 'forum f ON g.forum_id=f.id WHERE g.forum_id > 0 AND g.id > 2 AND f.id IS NULL'); draw_stat('Done: Validating group validity'); draw_stat('Validating group members'); delete_zero($tbl . 'group_members', 'SELECT gm.id FROM ' . $tbl . 'group_members gm LEFT JOIN ' . $tbl . 'users u ON u.id=gm.user_id LEFT JOIN ' . $tbl . 'groups g ON g.id=gm.group_id WHERE (u.id IS NULL AND gm.user_id NOT IN(0, 2147483647)) OR g.id IS NULL'); draw_stat('Done: Validating group members');