mirror of
https://github.com/daffyyyy/CS2-SimpleAdmin.git
synced 2026-03-01 22:02:12 +00:00
Merge branch 'feature/adminSplitBan' of https://github.com/Dliix66/CS2-SimpleAdmin into pr/105
This commit is contained in:
@@ -1,33 +1,36 @@
|
|||||||
INSERT INTO sa_admins_flags (admin_id, flag)
|
INSERT INTO sa_admins_flags (admin_id, flag)
|
||||||
WITH RECURSIVE numbers AS (
|
|
||||||
SELECT 1 AS n
|
|
||||||
UNION ALL
|
|
||||||
SELECT n + 1 FROM numbers
|
|
||||||
WHERE n < (SELECT MAX(CHAR_LENGTH(flags) - CHAR_LENGTH(REPLACE(flags, ',', '')) + 1) FROM sa_admins)
|
|
||||||
)
|
|
||||||
SELECT
|
SELECT
|
||||||
min_admins.admin_id,
|
min_admins.admin_id,
|
||||||
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag
|
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag
|
||||||
FROM numbers
|
FROM (
|
||||||
INNER JOIN (
|
|
||||||
SELECT MIN(id) AS admin_id, player_steamid, server_id
|
SELECT MIN(id) AS admin_id, player_steamid, server_id
|
||||||
FROM sa_admins
|
FROM sa_admins
|
||||||
WHERE player_steamid != 'Console'
|
WHERE player_steamid != 'Console'
|
||||||
GROUP BY player_steamid, server_id
|
GROUP BY player_steamid, server_id
|
||||||
) AS min_admins ON 1=1
|
) AS min_admins
|
||||||
INNER JOIN sa_admins ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1
|
JOIN sa_admins ON min_admins.player_steamid = sa_admins.player_steamid
|
||||||
AND min_admins.player_steamid = sa_admins.player_steamid
|
JOIN (
|
||||||
AND (min_admins.server_id = sa_admins.server_id OR (min_admins.server_id IS NULL AND sa_admins.server_id IS NULL))
|
SELECT 1 AS n UNION ALL
|
||||||
|
SELECT 2 UNION ALL
|
||||||
UNION
|
SELECT 3 UNION ALL
|
||||||
|
SELECT 4 UNION ALL
|
||||||
SELECT
|
SELECT 5 UNION ALL
|
||||||
(SELECT MAX(id) + 1 FROM sa_admins WHERE server_id IS NULL) AS admin_id,
|
SELECT 6 UNION ALL
|
||||||
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag
|
SELECT 7 UNION ALL
|
||||||
FROM numbers
|
SELECT 8 UNION ALL
|
||||||
INNER JOIN sa_admins ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1
|
SELECT 9 UNION ALL
|
||||||
AND sa_admins.server_id IS NULL
|
SELECT 10 UNION ALL
|
||||||
WHERE sa_admins.player_steamid != 'Console'
|
SELECT 11 UNION ALL
|
||||||
AND EXISTS (
|
SELECT 12 UNION ALL
|
||||||
SELECT 1 FROM sa_admins WHERE id = (SELECT MAX(id) + 1 FROM sa_admins WHERE server_id IS NULL)
|
SELECT 13 UNION ALL
|
||||||
);
|
SELECT 14 UNION ALL
|
||||||
|
SELECT 15 UNION ALL
|
||||||
|
SELECT 16 UNION ALL
|
||||||
|
SELECT 17 UNION ALL
|
||||||
|
SELECT 18 UNION ALL
|
||||||
|
SELECT 19 UNION ALL
|
||||||
|
SELECT 20
|
||||||
|
) AS numbers
|
||||||
|
ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1
|
||||||
|
AND (min_admins.server_id = sa_admins.server_id OR (min_admins.server_id IS NULL AND sa_admins.server_id IS NULL))
|
||||||
|
WHERE sa_admins.id IS NOT NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user