function admin_send_post_approval_notification($fid) { if (!($db = db::get())) { return false; } if (!is_numeric($fid)) { return false; } if (!($table_prefix = get_table_prefix())) { return false; } if (!($forum_fid = get_forum_fid())) { return false; } $user_perm_folder_moderate = USER_PERM_FOLDER_MODERATE; $notification_success = true; $sql = "SELECT DISTINCT GROUP_USERS.UID, BIT_OR(GROUP_PERMS.PERM) AS PERM "; $sql .= "FROM GROUP_USERS INNER JOIN GROUPS ON (GROUPS.GID = GROUP_USERS.GID) "; $sql .= "INNER JOIN GROUP_PERMS ON (GROUP_PERMS.GID = GROUPS.GID) "; $sql .= "INNER JOIN USER ON (USER.UID = GROUP_USERS.UID) "; $sql .= "WHERE GROUP_PERMS.FORUM IN (0, {$forum_fid}) AND GROUP_PERMS.FID IN (0, {$fid}) "; $sql .= "GROUP BY GROUP_USERS.UID HAVING PERM & {$user_perm_folder_moderate} > 0"; if (!($result = $db->query($sql))) { return false; } while (list($admin_uid) = $result->fetch_row()) { if (!email_send_post_approval_notification($admin_uid)) { $notification_success = false; } } return $notification_success; }
function admin_send_post_approval_notification($fid) { if (!($db = db::get())) { return false; } if (!is_numeric($fid)) { return false; } if (!($table_prefix = get_table_prefix())) { return false; } if (!($forum_fid = get_forum_fid())) { return false; } $user_perm_folder_moderate = USER_PERM_FOLDER_MODERATE; $notification_success = false; $sql = "(SELECT DISTINCT GROUP_USERS.UID, BIT_OR(GROUP_PERMS.PERM) AS PERM "; $sql .= "FROM GROUPS INNER JOIN GROUP_PERMS ON (GROUP_PERMS.GID = GROUPS.GID) "; $sql .= "INNER JOIN GROUP_USERS ON (GROUP_USERS.GID = GROUPS.GID) "; $sql .= "INNER JOIN USER ON (USER.UID = GROUP_USERS.UID) "; $sql .= "WHERE GROUPS.FORUM = {$forum_fid} AND GROUP_PERMS.FID = {$fid} "; $sql .= "GROUP BY GROUP_USERS.UID HAVING PERM & {$user_perm_folder_moderate} > 0) "; $sql .= "UNION (SELECT DISTINCT USER_PERM.UID, BIT_OR(USER_PERM.PERM) AS PERM "; $sql .= "FROM USER INNER JOIN USER_PERM ON (USER_PERM.UID = USER.UID) "; $sql .= "WHERE USER_PERM.FORUM IN (0, {$forum_fid}) AND USER_PERM.FID = {$fid} "; $sql .= "GROUP BY USER.UID HAVING PERM & {$user_perm_folder_moderate} > 0)"; if (!($result = $db->query($sql))) { return false; } while (($admin_data = $result->fetch_assoc()) !== null) { if (email_send_post_approval_notification($admin_data['UID'])) { $notification_success = true; } } return $notification_success; }