Bugfixes and Bootstrap 5 finalized

This commit is contained in:
Joey Kimsey
2024-12-17 22:57:55 -05:00
parent 2220c6cda3
commit a859fb7ace
79 changed files with 2011 additions and 1597 deletions

View File

@ -1,44 +1,74 @@
<form action="" method="post" class="form-horizontal">
<legend>Register</legend>
<fieldset>
<div class="form-group">
<label for="username" class="col-lg-3 control-label">Username:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="username" id="username">
<div class="context-main-bg context-main p-3">
<legend class="text-center">Add User</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form method="post">
<fieldset>
<!-- Group -->
<div class="mb-3 row">
<label for="groupSelect" class="col-lg-6 col-form-label text-end">Group:</label>
<div class="col-lg-2">
{groupSelect}
</div>
</div>
</div>
<div class="form-group">
<label for="email" class="col-lg-3 control-label">Email:</label>
<div class="col-lg-2">
<input class="form-control" type="email" name="email" id="email">
<!-- Username -->
<div class="mb-3 row">
<label for="username" class="col-lg-6 col-form-label text-end">Username:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="username" id="username" required>
</div>
</div>
</div>
<div class="form-group">
<label for="email2" class="col-lg-3 control-label">Re-Enter Email:</label>
<div class="col-lg-2">
<input class="form-control" type="email" name="email2" id="email2">
<!-- Email -->
<div class="mb-3 row">
<label for="email" class="col-lg-6 col-form-label text-end">Email:</label>
<div class="col-lg-2">
<input type="email" class="form-control" name="email" id="email" required>
</div>
</div>
</div>
<div class="form-group">
<label for="password" class="col-lg-3 control-label">Password:</label>
<div class="col-lg-2">
<input class="form-control" type="password" name="password" id="password">
<!-- Re-enter Email -->
<div class="mb-3 row">
<label for="email2" class="col-lg-6 col-form-label text-end">Re-Enter Email:</label>
<div class="col-lg-2">
<input type="email" class="form-control" name="email2" id="email2" required>
</div>
</div>
</div>
<div class="form-group">
<label for="password2" class="col-lg-3 control-label">Re-Enter Password:</label>
<div class="col-lg-2">
<input class="form-control" type="password" name="password2" id="password2">
<!-- Password -->
<div class="mb-3 row">
<label for="password" class="col-lg-6 col-form-label text-end">Password:</label>
<div class="col-lg-2">
<input type="password" class="form-control" name="password" id="password" required>
</div>
</div>
</div>
<div class="form-group">
<label for="confirmation" class="col-lg-3 control-label">Send Confirmation Email?:</label>
<div class="col-lg-2">
<input class="form-control" type="checkbox" name="confirmation" id="confirmation">
<!-- Re-enter Password -->
<div class="mb-3 row">
<label for="password2" class="col-lg-6 col-form-label text-end">Re-Enter Password:</label>
<div class="col-lg-2">
<input type="password" class="form-control" name="password2" id="password2" required>
</div>
</div>
</div>
{groupSelect}
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Create</button><br>
</form>
<!-- Confirmation -->
<div class="mb-3 row">
<label for="confirmation" class="col-lg-6 col-form-label text-end">Send Confirmation:</label>
<div class="col-lg-2">
<div class="mb-3 form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="confirmation" id="confirmation" value="true">
</div>
</div>
</div>
<!-- Hidden Token -->
<input type="hidden" name="token" value="{TOKEN}">
<!-- Submit Button -->
<div class="text-center">
<button type="submit" name="submit" value="submit" class="btn btn-primary btn-lg">Create</button>
</div>
</fieldset>
</form>
</div>

View File

@ -1,45 +1,78 @@
<form action="{ROOT_URL}admin/users/edit/{ID}" method="post" class="form-horizontal" enctype="multipart/form-data">
<legend>Edit User: <b>{USERNAME}</b></legend>
<fieldset>
<div class="form-group">
<label for="username" class="col-lg-3 control-label">Username:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="username" id="username" value="{username}">
<div class="context-main-bg context-main p-3">
<legend class="text-center">Edit User: <b>{USERNAME}</b></legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/users/edit/{ID}" method="post" enctype="multipart/form-data">
<fieldset>
<!-- Group -->
<div class="mb-3 row">
<label for="groupSelect" class="col-lg-6 col-form-label text-end">Group:</label>
<div class="col-lg-2">
{groupSelect}
</div>
</div>
</div>
<div class="form-group">
<label for="email" class="col-lg-3 control-label">Email:</label>
<div class="col-lg-2">
<input class="form-control" type="email" name="email" id="email" value="{email}">
<!-- Username -->
<div class="mb-3 row">
<label for="username" class="col-lg-6 col-form-label text-end">Username:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="username" id="username" value="{username}" required>
</div>
</div>
</div>
<div class="form-group">
<label for="confirmation" class="col-lg-3 control-label">Send Confirmation Email? (when updating the email):</label>
<div class="col-lg-2">
<input class="form-control" type="checkbox" name="confirmation" id="confirmation">
<!-- Email -->
<div class="mb-3 row">
<label for="email" class="col-lg-6 col-form-label text-end">Email:</label>
<div class="col-lg-2">
<input type="email" class="form-control" name="email" id="email" value="{email}" required>
</div>
</div>
</div>
<div class="form-group">
<label for="password" class="col-lg-3 control-label">New Password:</label>
<div class="col-lg-2">
<input class="form-control" type="password" name="password" id="password" value="">
{AvatarSettings}
<!-- Password -->
<div class="mb-3 row">
<label for="password" class="col-lg-6 col-form-label text-end">Password:</label>
<div class="col-lg-2">
<input type="password" class="form-control" name="password" id="password" value="" required>
</div>
</div>
</div>
<div class="form-group">
<label for="password2" class="col-lg-3 control-label">Re-Enter New Password:</label>
<div class="col-lg-2">
<input class="form-control" type="password" name="password2" id="password2" value="">
<!-- Re-enter Password -->
<div class="mb-3 row">
<label for="password2" class="col-lg-6 col-form-label text-end">Re-Enter Password:</label>
<div class="col-lg-2">
<input type="password" class="form-control" name="password2" id="password2" value="" required>
</div>
</div>
</div>
{AvatarSettings}
<div class="form-group">
<label for="confirmed" class="col-lg-3 control-label">Email is confirmed:</label>
<div class="col-lg-2">
<input class="form-control" type="checkbox" name="confirmed" id="confirmed" value="true" {CHECKED:confirmed=1}>
<!-- Confirmation -->
<div class="mb-3 row">
<label for="confirmation" class="col-lg-6 col-form-label text-end">Send Confirmation:</label>
<div class="col-lg-2">
<div class="mb-3 form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="confirmation" id="confirmation" value="true">
</div>
</div>
</div>
</div>
{groupSelect}
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Update</button><br>
</form>
<!-- Confirmed -->
<div class="mb-3 row">
<label for="confirmed" class="col-lg-6 col-form-label text-end">Email is confirmed:</label>
<div class="col-lg-2">
<div class="mb-3 form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="confirmed" id="confirmed" value="true">
</div>
</div>
</div>
<!-- Hidden Token -->
<input type="hidden" name="token" value="{TOKEN}">
<!-- Submit Button -->
<div class="text-center">
<button type="submit" name="submit" value="submit" class="btn btn-primary btn-lg">Save</button>
</div>
</fieldset>
</form>
</div>

View File

@ -1,41 +1,44 @@
<legend>Users</legend>
{PAGINATION}
<form action="{ROOT_URL}admin/users/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 60%">Username</th>
<th style="width: 20%">Joined</th>
<th style="width: 5%">Edit</th>
<th style="width: 5%">Delete</th>
<th style="width: 5%">
<input type="checkbox" onchange="checkAll(this)" name="check.u" value="U_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/users/view/{ID}'>{username}</a></td>
<td>{DTC date}{registered}{/DTC}</td>
<td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></a></td>
<td>
<input type="checkbox" value="{ID}" name="U_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/users/create" class="btn btn-sm btn-primary">Create</a>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Users</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/users/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 60%">Username</th>
<th style="width: 20%">Joined</th>
<th style="width: 5%">Edit</th>
<th style="width: 5%">Delete</th>
<th style="width: 5%">
<input type="checkbox" onchange="checkAll(this)" name="check.u" value="U_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/users/view/{ID}'>{username}</a></td>
<td>{DTC date}{registered}{/DTC}</td>
<td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></a></td>
<td>
<input type="checkbox" value="{ID}" name="U_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/users/create" class="btn btn-sm btn-primary">Create</a>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>
</div>

View File

@ -1,68 +1,78 @@
<div class="container">
<div class="row">
<div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="card">
<div class="card-header bg-dark">
<h3 class="card-title">{username}</h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-3 col-lg-3 " align="center">
<img alt="User Pic" src="{ROOT_URL}{avatar}" class="img-circle img-responsive">
</div>
<div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary">
<tbody>
{ADMIN}
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
{ADMIN_BREADCRUMBS}
<div class="card shadow">
<!-- Card Header -->
<div class="card-header text-center bg-dark text-white">
<h3 class="card-title mb-0">{username}</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row align-items-center">
<!-- User Image -->
<div class="col-md-4 text-center">
<img src="{ROOT_URL}{avatar}" alt="User Pic" class="rounded-circle img-fluid" style="max-width: 150px;">
</div>
<!-- User Details -->
<div class="col-md-8">
<table class="table table-borderless">
<tbody>
{ADMIN}
<tr>
<th scope="row">Confirmed:</th>
<td>{confirmedText}</td>
</tr>
<tr>
<td>Confirmed:</td>
<td>{confirmedText}</td>
</tr>
<tr>
<td>Group:</td>
<th scope="row">Group:</th>
<td><a href="{ROOT_URL}admin/groups/view/{userGroup}">{groupName}</a></td>
</tr>
{/ADMIN}
<tr>
<td>Registered:</td>
<td>{DTC date}{registered}{/DTC}</td>
</tr>
<tr>
<td>Last seen</td>
<td>{DTC date}{lastLogin}{/DTC}</td>
</tr>
<tr>
<td>Gender</td>
<td>{gender}</td>
</tr>
{ADMIN}
<tr>
<td>Email</td>
<td><a href="mailto:{email}">{email}</a></td>
</tr>
<td>User ID</td>
<td>{ID}</td>
</tr>
{/ADMIN}
</tbody>
</table>
</div>
</div>
</div>
<div class="card-footer">
<a href="{ROOT_URL}messages/create?prepopuser={USERNAME}" data-original-title="Broadcast Message" data-bs-toggle="tooltip" type="button" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-envelope"></i></a>
{ADMIN}
<span class="float-right">
<a href="{ROOT_URL}admin/users/edit/{ID}">
<button name="submit" value="edit" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></button>
</a>
<a href="{ROOT_URL}admin/users/delete/{ID}">
<button name="submit" value="delete" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</a>
</span>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>
{/ADMIN}
<tr>
<th scope="row">Registered:</th>
<td>{DTC}{registered}{/DTC}</td>
</tr>
<tr>
<th scope="row">Last Seen:</th>
<td>{DTC}{lastLogin}{/DTC}</td>
</tr>
<tr>
<th scope="row">Gender:</th>
<td>{gender}</td>
</tr>
{ADMIN}
<tr>
<th scope="row">Email:</th>
<td><a href="mailto:{email}">{email}</a></td>
</tr>
<tr>
<th scope="row">User ID:</th>
<td>{ID}</td>
</tr>
{/ADMIN}
</tbody>
</table>
</div>
</div>
</div>
<!-- Admin Controls -->
<div class="card-footer text-center">
{ADMIN}
<a href="{ROOT_URL}messages/create?prepopuser={USERNAME}" class="btn btn-primary btn-sm me-2" data-bs-toggle="tooltip" title="Broadcast Message">
<i class="fa fa-fw fa-envelope"></i>
</a>
<a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-warning btn-sm me-2" data-bs-toggle="tooltip" title="Edit User">
<i class="fa fa-fw fa-pencil"></i>
</a>
<a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" title="Delete User">
<i class="fa fa-fw fa-trash"></i>
</a>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>