diff --git a/database/2023_07_27_130516_pluralise_users_for_role_relations.php b/database/2023_07_27_130516_pluralise_users_for_role_relations.php new file mode 100644 index 0000000..8b50af4 --- /dev/null +++ b/database/2023_07_27_130516_pluralise_users_for_role_relations.php @@ -0,0 +1,9 @@ +execute('RENAME TABLE msz_user_roles TO msz_users_roles'); + } +} diff --git a/public-legacy/members.php b/public-legacy/members.php index 1e936a0..2fae05d 100644 --- a/public-legacy/members.php +++ b/public-legacy/members.php @@ -103,7 +103,7 @@ $getUsers = DB::prepare(sprintf( FROM `msz_users` AS u LEFT JOIN `msz_roles` AS r ON r.`role_id` = u.`display_role` - LEFT JOIN `msz_user_roles` AS ur + LEFT JOIN `msz_users_roles` AS ur ON ur.`user_id` = u.`user_id` WHERE ur.`role_id` = :role_id %1$s diff --git a/public-legacy/search.php b/public-legacy/search.php index a095f50..4c9343b 100644 --- a/public-legacy/search.php +++ b/public-legacy/search.php @@ -71,7 +71,7 @@ if(!empty($searchQuery)) { FROM `msz_users` AS u LEFT JOIN `msz_roles` AS r ON r.`role_id` = u.`display_role` - LEFT JOIN `msz_user_roles` AS ur + LEFT JOIN `msz_users_roles` AS ur ON ur.`user_id` = u.`user_id` WHERE LOWER(u.`username`) LIKE CONCAT("%%", LOWER(:query), "%%") GROUP BY u.`user_id` diff --git a/public-legacy/settings/data.php b/public-legacy/settings/data.php index 2c9b43a..bb82a6e 100644 --- a/public-legacy/settings/data.php +++ b/public-legacy/settings/data.php @@ -138,7 +138,7 @@ if(isset($_POST['action']) && is_string($_POST['action'])) { $tmpFiles[] = db_to_zip($archive, $currentUserId, 'sessions', ['session_id:s', 'user_id:s', 'session_key:n', 'session_ip:a', 'session_ip_last:a:n', 'session_user_agent:s', 'session_country:s', 'session_expires:t', 'session_expires_bump:b', 'session_created:t', 'session_active:t:n']); $tmpFiles[] = db_to_zip($archive, $currentUserId, 'users', ['user_id:s', 'username:s', 'password:n', 'email:s', 'register_ip:a', 'last_ip:a', 'user_super:b', 'user_country:s', 'user_colour:i:n', 'user_created:t', 'user_active:t:n', 'user_deleted:t:n', 'display_role:s:n', 'user_totp_key:n', 'user_about_content:s:n', 'user_about_parser:i', 'user_signature_content:s:n', 'user_signature_parser:i', 'user_birthdate:s:n', 'user_background_settings:i:n', 'user_title:s:n']); $tmpFiles[] = db_to_zip($archive, $currentUserId, 'users_password_resets', ['user_id:s', 'reset_ip:a', 'reset_requested:t', 'verification_code:n']); - $tmpFiles[] = db_to_zip($archive, $currentUserId, 'user_roles', ['user_id:s', 'role_id:s']); + $tmpFiles[] = db_to_zip($archive, $currentUserId, 'users_roles', ['user_id:s', 'role_id:s']); $tmpFiles[] = db_to_zip($archive, $currentUserId, 'user_warnings', ['warning_id:s', 'user_id:s', 'user_ip:a', 'issuer_id:n', 'issuer_ip:n', 'warning_created:t', 'warning_duration:t:n', 'warning_type:i', 'warning_note:s', 'warning_note_private:s:n']); $archive->close(); diff --git a/src/Forum/perms.php b/src/Forum/perms.php index 9d91a84..a3d79a1 100644 --- a/src/Forum/perms.php +++ b/src/Forum/perms.php @@ -75,7 +75,7 @@ function forum_perms_get_user(?int $forum, int $user): array { `user_id` IS NULL AND `role_id` IN ( SELECT `role_id` - FROM `msz_user_roles` + FROM `msz_users_roles` WHERE `user_id` = :user_id_2 ) ) diff --git a/src/Users/UserRoleRelation.php b/src/Users/UserRoleRelation.php index 0946d97..4c63294 100644 --- a/src/Users/UserRoleRelation.php +++ b/src/Users/UserRoleRelation.php @@ -9,7 +9,7 @@ class UserRoleRelation { private $user_id = -1; private $role_id = -1; - public const TABLE = 'user_roles'; + public const TABLE = 'users_roles'; private const QUERY_SELECT = 'SELECT %1$s FROM `' . DB::PREFIX . self::TABLE . '` AS '. self::TABLE; private const SELECT = '%1$s.`user_id`, %1$s.`role_id`'; diff --git a/src/perms.php b/src/perms.php index 33220ef..e5ab6de 100644 --- a/src/perms.php +++ b/src/perms.php @@ -114,7 +114,7 @@ function perms_get_user(int $user): array { `user_id` IS NULL AND `role_id` IN ( SELECT `role_id` - FROM `msz_user_roles` + FROM `msz_users_roles` WHERE `user_id` = :user_id_2 ) ) diff --git a/tools/cron b/tools/cron index 94e6447..03451df 100755 --- a/tools/cron +++ b/tools/cron @@ -51,10 +51,10 @@ msz_sched_task_sql('Ensure main role exists.', true, 'INSERT IGNORE INTO msz_roles (role_id, role_name, role_hierarchy, role_colour, role_description, role_created) VALUES (1, "Member", 1, 1073741824, NULL, NOW())'); msz_sched_task_sql('Ensure all users have the main role.', true, - 'INSERT INTO msz_user_roles (user_id, role_id) SELECT user_id, 1 FROM msz_users AS u WHERE NOT EXISTS (SELECT 1 FROM msz_user_roles AS ur WHERE role_id = 1 AND u.user_id = ur.user_id)'); + 'INSERT INTO msz_users_roles (user_id, role_id) SELECT user_id, 1 FROM msz_users AS u WHERE NOT EXISTS (SELECT 1 FROM msz_users_roles AS ur WHERE role_id = 1 AND u.user_id = ur.user_id)'); -msz_sched_task_sql('Ensure all display_role field values are correct with msz_user_roles.', true, - 'UPDATE msz_users AS u SET display_role = (SELECT ur.role_id FROM msz_user_roles AS ur LEFT JOIN msz_roles AS r ON r.role_id = ur.role_id WHERE ur.user_id = u.user_id ORDER BY role_hierarchy DESC LIMIT 1) WHERE NOT EXISTS (SELECT 1 FROM msz_user_roles AS ur WHERE ur.role_id = u.display_role AND ur.user_id = u.user_id)'); +msz_sched_task_sql('Ensure all display_role field values are correct with msz_users_roles.', true, + 'UPDATE msz_users AS u SET display_role = (SELECT ur.role_id FROM msz_users_roles AS ur LEFT JOIN msz_roles AS r ON r.role_id = ur.role_id WHERE ur.user_id = u.user_id ORDER BY role_hierarchy DESC LIMIT 1) WHERE NOT EXISTS (SELECT 1 FROM msz_users_roles AS ur WHERE ur.role_id = u.display_role AND ur.user_id = u.user_id)'); msz_sched_task_sql('Remove expired sessions.', false, 'DELETE FROM msz_sessions WHERE session_expires < NOW()'); diff --git a/tools/devel-insert-bogus b/tools/devel-insert-bogus index b92c5d9..61772a4 100755 --- a/tools/devel-insert-bogus +++ b/tools/devel-insert-bogus @@ -220,7 +220,7 @@ $dbConn->execute('ALTER TABLE msz_users AUTO_INCREMENT = 1'); mkv_log('Preparing user insert statements...'); $cu = $dbConn->prepare('INSERT INTO msz_users (username, password, email, register_ip, last_ip, user_super, user_country, user_about_content, user_about_parser, user_signature_content, user_signature_parser, user_birthdate, user_title, display_role) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'); -$ur = $dbConn->prepare('REPLACE INTO msz_user_roles (user_id, role_id) VALUES (?, ?)'); +$ur = $dbConn->prepare('REPLACE INTO msz_users_roles (user_id, role_id) VALUES (?, ?)'); mkv_log('Creating admin user...'); mkv_log('NOTICE: All passwords will be set to: ' . MKV_PASSWD);