Updated everything to use new table names.

This commit is contained in:
flash 2018-10-29 22:18:53 +01:00
parent 22a1ae6217
commit d832b59905
16 changed files with 53 additions and 50 deletions

View file

@ -54,4 +54,7 @@ function migrate_up(PDO $conn): void
function migrate_down(PDO $conn): void function migrate_down(PDO $conn): void
{ {
// can't be bothered to write a reverse for this migration
// honestly i might just remove migrate_down system since i don't really ever use it
$conn = $conn; // trick phpcs
} }

View file

@ -89,7 +89,7 @@ if (PHP_SAPI === 'cli') {
// Ensure main role exists. // Ensure main role exists.
db_exec(" db_exec("
INSERT IGNORE INTO `msz_roles` INSERT IGNORE INTO `msz_roles`
(`role_id`, `role_name`, `role_hierarchy`, `role_colour`, `role_description`, `created_at`) (`role_id`, `role_name`, `role_hierarchy`, `role_colour`, `role_description`, `role_created`)
VALUES VALUES
(1, 'Member', 1, 1073741824, NULL, NOW()) (1, 'Member', 1, 1073741824, NULL, NOW())
"); ");
@ -142,7 +142,7 @@ if (PHP_SAPI === 'cli') {
// Cleans up the login history table // Cleans up the login history table
db_exec(' db_exec('
DELETE FROM `msz_login_attempts` DELETE FROM `msz_login_attempts`
WHERE `created_at` < NOW() - INTERVAL 1 YEAR WHERE `attempt_created` < NOW() - INTERVAL 1 YEAR
'); ');
// Cleans up the audit log table // Cleans up the audit log table

View file

@ -268,7 +268,7 @@ MSG;
} }
user_session_start($userId, $sessionKey); user_session_start($userId, $sessionKey);
$cookieLife = strtotime(user_session_current('expires_on')); $cookieLife = strtotime(user_session_current('session_expires'));
set_cookie_m('uid', $userId, $cookieLife); set_cookie_m('uid', $userId, $cookieLife);
set_cookie_m('sid', $sessionKey, $cookieLife); set_cookie_m('sid', $sessionKey, $cookieLife);

View file

@ -20,7 +20,7 @@ $statistics = cache_get('index:stats:v1', function () {
')->fetchColumn(), ')->fetchColumn(),
'lastUser' => db_query(' 'lastUser' => db_query('
SELECT SELECT
u.`user_id`, u.`username`, u.`created_at`, u.`user_id`, u.`username`, u.`user_created`,
COALESCE(u.`user_colour`, r.`role_colour`) as `user_colour` COALESCE(u.`user_colour`, r.`role_colour`) as `user_colour`
FROM `msz_users` as u FROM `msz_users` as u
LEFT JOIN `msz_roles` as r LEFT JOIN `msz_roles` as r
@ -54,8 +54,8 @@ $onlineUsers = cache_get('index:online:v1', function () {
FROM `msz_users` as u FROM `msz_users` as u
LEFT JOIN `msz_roles` as r LEFT JOIN `msz_roles` as r
ON r.`role_id` = u.`display_role` ON r.`role_id` = u.`display_role`
WHERE u.`last_seen` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE) WHERE u.`user_active` >= DATE_SUB(NOW(), INTERVAL 5 MINUTE)
ORDER BY u.`last_seen` DESC ORDER BY u.`user_active` DESC
')->fetchAll(PDO::FETCH_ASSOC); ')->fetchAll(PDO::FETCH_ASSOC);
}, 30); }, 30);

View file

@ -376,12 +376,12 @@ switch ($_GET['v'] ?? null) {
INSERT INTO `msz_roles` INSERT INTO `msz_roles`
( (
`role_name`, `role_hierarchy`, `role_secret`, `role_colour`, `role_name`, `role_hierarchy`, `role_secret`, `role_colour`,
`role_description`, `created_at`, `role_title` `role_description`, `role_title`
) )
VALUES VALUES
( (
:role_name, :role_hierarchy, :role_secret, :role_colour, :role_name, :role_hierarchy, :role_secret, :role_colour,
:role_description, NOW(), :role_title :role_description, :role_title
) )
'); ');
} else { } else {

View file

@ -31,12 +31,12 @@ $orderFields = [
'title' => 'Country', 'title' => 'Country',
], ],
'registered' => [ 'registered' => [
'column' => 'created_at', 'column' => 'user_created',
'default-dir' => 'desc', 'default-dir' => 'desc',
'title' => 'Registration Date', 'title' => 'Registration Date',
], ],
'last-online' => [ 'last-online' => [
'column' => 'last_seen', 'column' => 'user_active',
'default-dir' => 'desc', 'default-dir' => 'desc',
'title' => 'Last Online', 'title' => 'Last Online',
], ],
@ -58,7 +58,7 @@ if (empty($orderDir)) {
$getRole = db_prepare(' $getRole = db_prepare('
SELECT SELECT
`role_id`, `role_name`, `role_colour`, `role_description`, `created_at`, `role_id`, `role_name`, `role_colour`, `role_description`, `role_created`,
( (
SELECT COUNT(`user_id`) SELECT COUNT(`user_id`)
FROM `msz_user_roles` FROM `msz_user_roles`

View file

@ -261,7 +261,7 @@ switch ($mode) {
' '
SELECT SELECT
u.`user_id`, u.`username`, u.`user_country`, u.`user_id`, u.`username`, u.`user_country`,
u.`created_at`, u.`last_seen`, u.`user_created`, u.`user_active`,
u.`user_about_parser`, u.`user_about_content`, u.`user_background_settings`, u.`user_about_parser`, u.`user_about_content`, u.`user_background_settings`,
%1$s, %1$s,
COALESCE(u.`user_title`, r.`role_title`) as `user_title`, COALESCE(u.`user_title`, r.`role_title`) as `user_title`,

View file

@ -52,7 +52,7 @@ define('MSZ_FORUM_POST_LISTING_QUERY_STANDARD', '
p.`topic_id`, p.`topic_id`,
u.`user_id` as `poster_id`, u.`user_id` as `poster_id`,
u.`username` as `poster_name`, u.`username` as `poster_name`,
u.`created_at` as `poster_joined`, u.`user_created` as `poster_joined`,
u.`user_country` as `poster_country`, u.`user_country` as `poster_country`,
COALESCE(u.`user_colour`, r.`role_colour`) as `poster_colour`, COALESCE(u.`user_colour`, r.`role_colour`) as `poster_colour`,
( (

View file

@ -3,15 +3,15 @@ function user_login_attempt_record(bool $success, ?int $userId, string $ipAddres
{ {
$storeAttempt = db_prepare(' $storeAttempt = db_prepare('
INSERT INTO `msz_login_attempts` INSERT INTO `msz_login_attempts`
(`was_successful`, `attempt_ip`, `attempt_country`, `user_id`, `user_agent`, `created_at`) (`attempt_success`, `attempt_ip`, `attempt_country`, `user_id`, `attempt_user_agent`)
VALUES VALUES
(:was_successful, INET6_ATON(:attempt_ip), :attempt_country, :user_id, :user_agent, NOW()) (:attempt_success, INET6_ATON(:attempt_ip), :attempt_country, :user_id, :attempt_user_agent)
'); ');
$storeAttempt->bindValue('was_successful', $success ? 1 : 0); $storeAttempt->bindValue('attempt_success', $success ? 1 : 0);
$storeAttempt->bindValue('attempt_ip', $ipAddress); $storeAttempt->bindValue('attempt_ip', $ipAddress);
$storeAttempt->bindValue('attempt_country', ip_country_code($ipAddress)); $storeAttempt->bindValue('attempt_country', ip_country_code($ipAddress));
$storeAttempt->bindValue('user_agent', $userAgent); $storeAttempt->bindValue('attempt_user_agent', $userAgent);
$storeAttempt->bindValue('user_id', $userId, $userId === null ? PDO::PARAM_NULL : PDO::PARAM_INT); $storeAttempt->bindValue('user_id', $userId, $userId === null ? PDO::PARAM_NULL : PDO::PARAM_INT);
$storeAttempt->execute(); $storeAttempt->execute();
} }
@ -21,8 +21,8 @@ function user_login_attempts_remaining(string $ipAddress): int
$getRemaining = db_prepare(' $getRemaining = db_prepare('
SELECT 5 - COUNT(`attempt_id`) SELECT 5 - COUNT(`attempt_id`)
FROM `msz_login_attempts` FROM `msz_login_attempts`
WHERE `was_successful` = false WHERE `attempt_success` = 0
AND `created_at` > NOW() - INTERVAL 1 HOUR AND `attempt_created` > NOW() - INTERVAL 1 HOUR
AND `attempt_ip` = INET6_ATON(:remote_ip) AND `attempt_ip` = INET6_ATON(:remote_ip)
'); ');
$getRemaining->bindValue('remote_ip', $ipAddress); $getRemaining->bindValue('remote_ip', $ipAddress);
@ -54,7 +54,7 @@ function user_login_attempts_list(int $offset, int $take, int $userId = 0): arra
$getAttempts = db_prepare(sprintf(' $getAttempts = db_prepare(sprintf('
SELECT SELECT
`attempt_id`, `attempt_country`, `was_successful`, `user_agent`, `created_at`, `attempt_id`, `attempt_country`, `attempt_success`, `attempt_user_agent`, `attempt_created`,
INET6_NTOA(`attempt_ip`) as `attempt_ip` INET6_NTOA(`attempt_ip`) as `attempt_ip`
FROM `msz_login_attempts` FROM `msz_login_attempts`
WHERE %s WHERE %s

View file

@ -13,18 +13,18 @@ function user_session_create(
INSERT INTO `msz_sessions` INSERT INTO `msz_sessions`
( (
`user_id`, `session_ip`, `session_country`, `user_id`, `session_ip`, `session_country`,
`user_agent`, `session_key`, `created_at`, `expires_on` `session_user_agent`, `session_key`, `session_created`, `session_expires`
) )
VALUES VALUES
( (
:user_id, INET6_ATON(:session_ip), :session_country, :user_id, INET6_ATON(:session_ip), :session_country,
:user_agent, :session_key, NOW(), NOW() + INTERVAL 1 MONTH :session_user_agent, :session_key, NOW(), NOW() + INTERVAL 1 MONTH
) )
'); ');
$createSession->bindValue('user_id', $userId); $createSession->bindValue('user_id', $userId);
$createSession->bindValue('session_ip', $ipAddress); $createSession->bindValue('session_ip', $ipAddress);
$createSession->bindValue('session_country', ip_country_code($ipAddress)); $createSession->bindValue('session_country', ip_country_code($ipAddress));
$createSession->bindValue('user_agent', $userAgent); $createSession->bindValue('session_user_agent', $userAgent);
$createSession->bindValue('session_key', $sessionKey); $createSession->bindValue('session_key', $sessionKey);
return $createSession->execute() ? $sessionKey : ''; return $createSession->execute() ? $sessionKey : '';
@ -39,7 +39,7 @@ function user_session_find($sessionId, bool $byKey = false): array
$findSession = db_prepare(sprintf(' $findSession = db_prepare(sprintf('
SELECT SELECT
`session_id`, `user_id`, INET6_NTOA(`session_ip`) as `session_ip`, `session_id`, `user_id`, INET6_NTOA(`session_ip`) as `session_ip`,
`session_country`, `user_agent`, `session_key`, `created_at`, `expires_on` `session_country`, `session_user_agent`, `session_key`, `session_created`, `session_expires`, `session_active`
FROM `msz_sessions` FROM `msz_sessions`
WHERE `%s` = :session_id WHERE `%s` = :session_id
', $byKey ? 'session_key' : 'session_id')); ', $byKey ? 'session_key' : 'session_id'));
@ -95,7 +95,7 @@ function user_session_list(int $offset, int $take, int $userId = 0): array
$getSessions = db_prepare(sprintf(' $getSessions = db_prepare(sprintf('
SELECT SELECT
`session_id`, `session_country`, `user_agent`, `created_at`, `expires_on`, `session_id`, `session_country`, `session_user_agent`, `session_created`, `session_expires`, `session_active`,
INET6_NTOA(`session_ip`) as `session_ip` INET6_NTOA(`session_ip`) as `session_ip`
FROM `msz_sessions` FROM `msz_sessions`
WHERE %s WHERE %s
@ -125,7 +125,7 @@ function user_session_start(int $userId, string $sessionKey): bool
return false; return false;
} }
if (time() >= strtotime($session['expires_on'])) { if (time() >= strtotime($session['session_expires'])) {
user_session_delete($session['session_id']); user_session_delete($session['session_id']);
return false; return false;
} }
@ -159,5 +159,5 @@ function user_session_current(?string $variable = null, $default = null)
function user_session_active(): bool function user_session_active(): bool
{ {
return !empty($GLOBALS[MSZ_SESSION_DATA_STORE]) return !empty($GLOBALS[MSZ_SESSION_DATA_STORE])
&& time() < strtotime($GLOBALS[MSZ_SESSION_DATA_STORE]['expires_on']); && time() < strtotime($GLOBALS[MSZ_SESSION_DATA_STORE]['session_expires']);
} }

View file

@ -32,12 +32,12 @@ function user_create(
INSERT INTO `msz_users` INSERT INTO `msz_users`
( (
`username`, `password`, `email`, `register_ip`, `username`, `password`, `email`, `register_ip`,
`last_ip`, `user_country`, `created_at`, `display_role` `last_ip`, `user_country`, `display_role`
) )
VALUES VALUES
( (
:username, :password, LOWER(:email), INET6_ATON(:register_ip), :username, :password, LOWER(:email), INET6_ATON(:register_ip),
INET6_ATON(:last_ip), :user_country, NOW(), 1 INET6_ATON(:last_ip), :user_country, 1
) )
'); ');
$createUser->bindValue('username', $username); $createUser->bindValue('username', $username);
@ -138,7 +138,7 @@ function user_bump_last_active(int $userId, string $ipAddress = null): void
{ {
$bumpUserLast = db_prepare(' $bumpUserLast = db_prepare('
UPDATE `msz_users` UPDATE `msz_users`
SET `last_seen` = NOW(), SET `user_active` = NOW(),
`last_ip` = INET6_ATON(:last_ip) `last_ip` = INET6_ATON(:last_ip)
WHERE `user_id` = :user_id WHERE `user_id` = :user_id
'); ');

View file

@ -24,7 +24,7 @@
{% else %} {% else %}
We have <span class="index__stats__emphasis">{{ users_count|number_format }}</span> users and We have <span class="index__stats__emphasis">{{ users_count|number_format }}</span> users and
the last person to join was <a href="/profile.php?u={{ last_user.user_id }}" class="index__stats__emphasis index__stats__link" style="{{ last_user.user_colour|html_colour }}">{{ last_user.username }}</a>, the last person to join was <a href="/profile.php?u={{ last_user.user_id }}" class="index__stats__emphasis index__stats__link" style="{{ last_user.user_colour|html_colour }}">{{ last_user.username }}</a>,
<time datetime="{{ last_user.created_at|date('c') }}" title="{{ last_user.created_at|date('r') }}">{{ last_user.created_at|time_diff }}</time>! <time datetime="{{ last_user.user_created|date('c') }}" title="{{ last_user.user_created|date('r') }}">{{ last_user.user_created|time_diff }}</time>!
{% endif %} {% endif %}
</div> </div>
</div> </div>

View file

@ -37,14 +37,14 @@
<label class="form__label"> <label class="form__label">
<div class="form__label__text">Joined</div> <div class="form__label__text">Joined</div>
<div class="form__label__input"> <div class="form__label__input">
{{ input_text('', '', view_user.created_at) }} {{ input_text('', '', view_user.user_created) }}
</div> </div>
</label> </label>
<label class="form__label"> <label class="form__label">
<div class="form__label__text">Last online</div> <div class="form__label__text">Last online</div>
<div class="form__label__input"> <div class="form__label__input">
{{ input_text('', '', view_user.last_seen) }} {{ input_text('', '', view_user.user_active) }}
</div> </div>
</label> </label>

View file

@ -46,7 +46,7 @@
{% macro user_session(session, is_current_session) %} {% macro user_session(session, is_current_session) %}
{% from '_layout/input.twig' import input_hidden, input_csrf, input_checkbox_raw %} {% from '_layout/input.twig' import input_hidden, input_csrf, input_checkbox_raw %}
{% set browser = get_browser(session.user_agent) %} {% set browser = get_browser(session.session_user_agent) %}
<div class="settings__session{% if is_current_session %} settings__session--current{% endif %}" id="session-{{ session.session_id }}"> <div class="settings__session{% if is_current_session %} settings__session--current{% endif %}" id="session-{{ session.session_id }}">
<div class="settings__session__important"> <div class="settings__session__important">
@ -80,21 +80,21 @@
</div> </div>
</div> </div>
<div class="settings__session__detail" title="{{ session.created_at|date('r') }}"> <div class="settings__session__detail" title="{{ session.session_created|date('r') }}">
<div class="settings__session__detail__title"> <div class="settings__session__detail__title">
Created Created
</div> </div>
<time class="settings__session__detail__value" datetime="{{ session.created_at|date('c') }}"> <time class="settings__session__detail__value" datetime="{{ session.session_created|date('c') }}">
{{ session.created_at|time_diff }} {{ session.session_created|time_diff }}
</time> </time>
</div> </div>
<div class="settings__session__detail" title="{{ session.expires_on|date('r') }}"> <div class="settings__session__detail" title="{{ session.session_expires|date('r') }}">
<div class="settings__session__detail__title"> <div class="settings__session__detail__title">
Expires Expires
</div> </div>
<time class="settings__session__detail__value" datetime="{{ session.expires_on|date('c') }}"> <time class="settings__session__detail__value" datetime="{{ session.session_expires|date('c') }}">
{{ session.expires_on|time_diff }} {{ session.session_expires|time_diff }}
</time> </time>
</div> </div>
@ -103,7 +103,7 @@
User Agent User Agent
</div> </div>
<div class="settings__session__detail__value"> <div class="settings__session__detail__value">
{{ session.user_agent|length > 0 ? session.user_agent : 'None' }} {{ session.session_user_agent|length > 0 ? session.session_user_agent : 'None' }}
</div> </div>
</div> </div>
</div> </div>

View file

@ -11,12 +11,12 @@
{ {
'title': 'Joined', 'title': 'Joined',
'is_date': true, 'is_date': true,
'value': profile.created_at, 'value': profile.user_created,
}, },
{ {
'title': 'Last seen', 'title': 'Last seen',
'is_date': true, 'is_date': true,
'value': profile.last_seen, 'value': profile.user_active,
}, },
{ {
'title': 'Topics', 'title': 'Topics',

View file

@ -175,27 +175,27 @@
<div class="settings__login-history__column__name"> <div class="settings__login-history__column__name">
Was Successful? Was Successful?
</div> </div>
<div class="settings__login-history__column__value settings__login-history__column__value--{{ attempt.was_successful ? 'successful' : 'failed' }}"> <div class="settings__login-history__column__value settings__login-history__column__value--{{ attempt.attempt_success ? 'successful' : 'failed' }}">
{{ attempt.was_successful ? 'Yes' : 'No' }} {{ attempt.attempt_success ? 'Yes' : 'No' }}
</div> </div>
</div> </div>
<div class="settings__login-history__column settings__login-history__column--created" title="{{ attempt.created_at|date('r') }}"> <div class="settings__login-history__column settings__login-history__column--created" title="{{ attempt.attempt_created|date('r') }}">
<div class="settings__login-history__column__name"> <div class="settings__login-history__column__name">
Attempted Attempted
</div> </div>
<time class="settings__login-history__column__value" datetime="{{ attempt.created_at|date('c') }}"> <time class="settings__login-history__column__value" datetime="{{ attempt.attempt_created|date('c') }}">
{{ attempt.created_at|time_diff }} {{ attempt.attempt_created|time_diff }}
</time> </time>
</div> </div>
{% if attempt.user_agent|length > 0 %} {% if attempt.attempt_user_agent|length > 0 %}
<div class="settings__login-history__column settings__login-history__column--user_agent"> <div class="settings__login-history__column settings__login-history__column--user_agent">
<div class="settings__login-history__column__name"> <div class="settings__login-history__column__name">
User Agent User Agent
</div> </div>
<div class="settings__login-history__column__value"> <div class="settings__login-history__column__value">
{{ attempt.user_agent }} {{ attempt.attempt_user_agent }}
</div> </div>
</div> </div>
{% endif %} {% endif %}