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

@ -7,6 +7,10 @@
Right now this entire system was built and managed by myself. As stated, I have used my own version of this for years but translating it to publicly available is not a 1 to 1 job. There may be bugs or issues encountered while you use the produxct. I can't guarantee a fix for every need in every case immidiately, but I do actively keep track of bugs and work hard to ensure everyone has a great experiience usiing the app.
</p>
<p>
If you encounter any bugs, feel free to report it here. Likewise, there are forms for feedback, reviews, suggestions, and a general contact form. Thanks for taking the time to check out the product!
If you encounter any bugs, feel free to report them <a href="/bugreport" class="text-primary text-decoration-underline">here</a>. Likewise, there are forms for feedback, reviews, suggestions, and a general contact form. Thanks for taking the time to check out the product!
</p>
<div class="text-center mt-4 pb-4">
{loggedin}<a href="/bugreport" class="btn btn-primary btn-lg px-5">Report a Bug</a>{/loggedin}
<a href="/contact" class="btn btn-outline-secondary btn-lg px-5 ms-3">Contact Us</a>
</div>
</div>

View File

@ -1,39 +1,69 @@
<form action="" method="post" class="form-horizontal">
<legend>Send Email</legend>
<p>Please be very careful with this feature. This form allows you to send an email (formatted within the default site email template) to registered emails from various sources including newsletter subscribers, call to action subscribers, and all registered user accounts.</p>
<fieldset>
<div class="form-group">
<label for="mailType" class="col-lg-3 control-label">Recipients:</label>
<div class="col-lg-2">
<select class="form-control" name="mailType" id="mailType">
<option value='none' checked>none</option>
<option value='registered'>all registered users</option>
<option value='newsletter'>only newsletter opt-ins</option>
<option value='subscribers'>only CTA subscribers</option>
<option value='opt'>CTA subscribers and newsletter opt-ins</option>
<option value='all'>all available emails</option>
</select>
</div>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Send Email</legend>
<hr>
{ADMIN_BREADCRUMBS}
<div class="col-lg-6 offset-md-3">
<p>
Please be very careful with this feature. This form allows you to send an email (formatted within the default site email template) to registered emails from various sources including newsletter subscribers, call to action subscribers, and all registered user accounts.
</p>
</div>
<div class="form-group">
<label for="mailSubject" class="col-lg-3 control-label">Subject:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="mailSubject" id="mailSubject">
<form action="" method="post">
<fieldset>
<!-- Subject -->
<div class="mb-3 row">
<label for="mailSubject" class="col-lg-3 col-form-label text-end">Subject:</label>
<div class="col-lg-6">
<input type="text" class="form-control" name="mailSubject" id="mailSubject" required>
</div>
</div>
<!-- Title -->
<div class="mb-3 row">
<label for="mailTitle" class="col-lg-3 col-form-label text-end">Title:</label>
<div class="col-lg-6">
<input type="text" class="form-control" name="mailTitle" id="mailTitle" required>
</div>
</div>
<!-- Recipients -->
<div class="mb-3 row">
<label for="mailType" class="col-lg-3 col-form-label text-end">Recipients:</label>
<div class="col-lg-6">
<select class="form-control" name="mailType" id="mailType">
<option value='none' checked>none</option>
<option value='registered'>all registered users</option>
<option value='newsletter'>only newsletter opt-ins</option>
<option value='subscribers'>only CTA subscribers</option>
<option value='opt'>CTA subscribers and newsletter opt-ins</option>
<option value='all'>all available emails</option>
</select>
</div>
</div>
<!-- Email (Optional) -->
<div class="mb-3 row">
<label for="contactEmail" class="col-lg-3 col-form-label text-end">E-mail: (optional)</label>
<div class="col-lg-6">
<input type="email" class="form-control" name="contactEmail" id="contactEmail">
</div>
</div>
<!-- Message -->
<div class="mb-3 row">
<label for="mailMessage" class="col-lg-3 col-form-label text-end">Body:</label>
<div class="col-lg-6">
<textarea class="form-control" name="mailMessage" id="mailMessage" rows="6" maxlength="2000" required></textarea>
<small class="form-text text-muted">Max: 2000 characters</small>
</div>
</div>
<!-- Hidden Token -->
<input type="hidden" name="token" value="{TOKEN}">
</fieldset>
<!-- Submit Button -->
<div class="text-center">
<button type="submit" name="submit" value="submit" class="btn btn-primary btn-lg center-block">Submit</button>
</div>
</div>
<div class="form-group">
<label for="mailTitle" class="col-lg-3 control-label">Title:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="mailTitle" id="mailTitle">
</div>
</div>
<div class="form-group">
<label for="mailMessage" class="col-lg-3 control-label">Body:<br> (max:2000 characters)</label>
<div class="col-lg-6">
<textarea class="form-control" name="mailMessage" maxlength="2000" rows="10" cols="50" id="mailMessage"></textarea>
</div>
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Send</button><br>
</form>
</form>
</div>

View File

@ -1,12 +1,26 @@
<form action="" method="post" class="form-horizontal">
<legend>New Group</legend>
<div class="form-group">
<label for="name" class="col-lg-3 control-label">Name</label>
<div class="col-lg-3">
<input type="text" class="form-check-input" name="name" id="name">
</div>
</div>
{PERMISSIONS_FORM}
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Create</button>
<input type="hidden" name="token" value="{TOKEN}">
</form>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Add Group</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form method="post">
<fieldset>
<!-- Name -->
<div class="mb-3 row">
<label for="name" class="col-lg-6 col-form-label text-end">Name:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="name" id="name" required>
</div>
</div>
{PERMISSIONS_FORM}
<!-- 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,12 +1,26 @@
<form action="" method="post" class="form-horizontal">
<legend>Edit Group: {name}</legend>
<div class="form-group">
<label for="name" class="col-lg-3 control-label">Name</label>
<div class="col-lg-3">
<input type="text" class="form-check-input" name="name" id="name" value="{name}">
</div>
</div>
{PERMISSIONS_FORM}
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Save</button>
<input type="hidden" name="token" value="{TOKEN}">
</form>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Edit Group: {name}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form method="post">
<fieldset>
<!-- Name -->
<div class="mb-3 row">
<label for="name" class="col-lg-6 col-form-label text-end">Name:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="name" id="name" value="{name}" required>
</div>
</div>
{PERMISSIONS_FORM}
<!-- 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,39 +1,42 @@
<legend>Groups</legend>
{PAGINATION}
<form action="{ROOT_URL}admin/groups/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 50%">Name</th>
<th style="width: 35%">Users</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.g" value="G_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href="{ROOT_URL}admin/groups/view/{ID}">{name}</a></td>
<td><a href="{ROOT_URL}admin/groups/listmembers/{ID}">{userCount}</a></td>
<td><a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/groups/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="G_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="5">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/groups/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">Groups</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/groups/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 50%">Name</th>
<th style="width: 35%">Users</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.g" value="G_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href="{ROOT_URL}admin/groups/view/{ID}">{name}</a></td>
<td><a href="{ROOT_URL}admin/groups/listmembers/{ID}">{userCount}</a></td>
<td><a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/groups/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="G_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="5">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/groups/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

@ -36,5 +36,5 @@
{/ALT}
</tbody>
</table>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger">Delete</button>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>

View File

@ -1,24 +1,29 @@
<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">{name}</h3>
<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">{name}</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row">
<div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary">
<div class="row align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
{PERMISSIONS_ROWS}
</tbody>
</table>
</div>
</div>
</div>
<div class="card-footer">
<a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning">Edit</a>
<a href="{ROOT_URL}admin/groups/delete/{ID}" class="btn btn-sm btn-danger">Delete</a>
<!-- Admin Controls -->
<div class="card-footer text-center">
<a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a>
<a href="{ROOT_URL}admin/groups/delete/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></a>
</div>
</div>
</div>

View File

@ -1,50 +1,56 @@
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Admin Log</h3>
</div>
<div class="panel-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
<tbody>
<tr>
<td align="left" width="200">ID</td>
<td align="right">{ID}</td>
</tr>
<tr>
<td>User:</td>
<td align="right">{logUser}</td>
</tr>
<tr>
<td>Time:</td>
<td align="right">{DTC}{time}{/DTC}</td>
</tr>
<tr>
<td>IP:</td>
<td align="right">{ip}</td>
</tr>
<tr>
<td align="left">Log:</td>
<td align="right">{action}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="panel-footer">
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card shadow">
<!-- Card Header -->
<div class="card-header text-center bg-dark text-white">
<h3 class="card-title mb-0">Admin Log</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row align-items-center">
<!-- Log Details -->
<div class="col-md-8">
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row">ID:</th>
<td>{ID}</td>
</tr>
<tr>
<th scope="row">User:</th>
<td>{logUser}</td>
</tr>
<tr>
<th scope="row">Time:</th>
<td>{DTC}{time}{/DTC}</td>
</tr>
<tr>
<th scope="row">IP:</th>
<td>{ip}</td>
</tr>
<tr>
<th scope="row">Log:</th>
<td>{action}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Admin Controls -->
<div class="card-footer text-center">
{ADMIN}
<form action="{ROOT_URL}admin/admin/delete" method="post">
<INPUT type="hidden" name="L_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,40 +1,43 @@
<legend>Admin Logs</legend>
{PAGINATION}
<form action="{ROOT_URL}admin/admin/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 30%">Time</th>
<th style="width: 50%">Action</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%"">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.l" value="A_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td>{ID}</td>
<td>{DTC}{time}{/DTC}</td>
<td>{action}</td>
<td><a href="{ROOT_URL}admin/admin/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/admin/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="A_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<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">Admin Logs</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/admin/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 30%">Time</th>
<th style="width: 50%">Action</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%"">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.l" value="A_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td>{ID}</td>
<td>{DTC}{time}{/DTC}</td>
<td>{action}</td>
<td><a href="{ROOT_URL}admin/admin/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/admin/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="A_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<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,57 +1,66 @@
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Error</h3>
</div>
<div class="panel-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
<tbody>
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card shadow">
<!-- Card Header -->
<div class="card-header text-center bg-dark text-white">
<h3 class="card-title mb-0">Error Log</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row align-items-center">
<!-- Log Details -->
<div class="col-md-8">
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row">ID:</th>
<td>{ID}</td>
</tr>
<tr>
<th scope="row">Class:</th>
<td>{class}</td>
</tr>
<tr>
<th scope="row">Function:</th>
<td>{function}</td>
</tr>
<tr>
<th scope="row">Time:</th>
<td>{DTC}{time}{/DTC}</td>
</tr>
<tr>
<th scope="row">IP:</th>
<td>{ip}</td>
</tr>
<tr>
<th scope="row">Error:</th>
<td>{error}</td>
</tr>
<tr>
<td align="left" width="200">ID</td>
<td align="right">{ID}</td>
</tr>
<tr>
<td>Time submitted:</td>
<td align="right">{DTC}{time}{/DTC}</td>
</tr>
<tr>
<td>IP:</td>
<td align="right">{ip}</td>
</tr>
<tr>
<td align="left">Class:</td>
<td align="right">{class}</td>
</tr>
<tr>
<td align="left">Function</td>
<td align="right">{function}</td>
</tr>
<tr>
<td align="left">Error:</td>
<td align="right">{error}</td>
<th scope="row" colspan="2">Description:</th>
</tr>
<tr>
<td colspan="2">{description}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="panel-footer">
</tbody>
</table>
</div>
</div>
</div>
<!-- Admin Controls -->
<div class="card-footer text-center">
{ADMIN}
<form action="{ROOT_URL}admin/errors/delete" method="post">
<INPUT type="hidden" name="E_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,40 +1,43 @@
<legend>Errors</legend>
{PAGINATION}
<form action="{ROOT_URL}admin/errors/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 25%">Time</th>
<th style="width: 55%">Description</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.e" value="E_[]"/>
</th>
</tr></thead><tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td align="center">{DTC}{time}{/DTC}</td>
<td>{error}</td>
<td><a href="{ROOT_URL}admin/errors/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/errors/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="E_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
<br />
<a href="{ROOT_URL}admin/errors/clear">clear all</a>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Errors</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/errors/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 25%">Time</th>
<th style="width: 55%">Description</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.e" value="E_[]"/>
</th>
</tr></thead><tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td align="center">{DTC}{time}{/DTC}</td>
<td>{error}</td>
<td><a href="{ROOT_URL}admin/errors/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/errors/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="E_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>
<br />
<a href="{ROOT_URL}admin/errors/clear">clear all</a>
</div>

View File

@ -1,50 +1,56 @@
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Login Record</h3>
</div>
<div class="panel-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
<tbody>
<tr>
<td align="left" width="200">ID</td>
<td align="right">{ID}</td>
</tr>
<tr>
<td>User:</td>
<td align="right">{logUser}</td>
</tr>
<tr>
<td>Time:</td>
<td align="right">{DTC}{time}{/DTC}</td>
</tr>
<tr>
<td>IP:</td>
<td align="right">{ip}</td>
</tr>
<tr>
<td align="left">Pass or Fail:</td>
<td align="right">{action}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="panel-footer">
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card shadow">
<!-- Card Header -->
<div class="card-header text-center bg-dark text-white">
<h3 class="card-title mb-0">Login Log</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row align-items-center">
<!-- Log Details -->
<div class="col-md-8">
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row">ID:</th>
<td>{ID}</td>
</tr>
<tr>
<th scope="row">User:</th>
<td>{logUser}</td>
</tr>
<tr>
<th scope="row">Time:</th>
<td>{DTC}{time}{/DTC}</td>
</tr>
<tr>
<th scope="row">IP:</th>
<td>{ip}</td>
</tr>
<tr>
<th scope="row">Pass or Fail:</th>
<td>{action}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Admin Controls -->
<div class="card-footer text-center">
{ADMIN}
<form action="{ROOT_URL}admin/logins/delete" method="post">
<INPUT type="hidden" name="L_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,42 +1,45 @@
<legend>Logins</legend>
{PAGINATION}
<form action="{ROOT_URL}admin/logins/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 30%">Time</th>
<th style="width: 50%">Pass / fail</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%"">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.l" value="L_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td>{ID}</td>
<td>{DTC}{time}{/DTC}</td>
<td>{action}</td>
<td><a href="{ROOT_URL}admin/logins/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/logins/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="L_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger">Delete</button>
</form>
<br />
<a href="{ROOT_URL}admin/logins/clear">clear all</a>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Logins</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/logins/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 30%">Time</th>
<th style="width: 50%">Pass / fail</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%"">
<INPUT type="checkbox" onchange="checkAll(this)" name="check.l" value="L_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td>{ID}</td>
<td>{DTC}{time}{/DTC}</td>
<td>{action}</td>
<td><a href="{ROOT_URL}admin/logins/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/logins/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="L_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></button>
</form>
<br />
<a href="{ROOT_URL}admin/logins/clear">clear all</a>
</div>

View File

@ -1,26 +0,0 @@
<legend><h2>Installed Dependencies</h2></legend>
<table class="table table-striped">
<thead>
<tr>
<th style="width: 40%">Name</th>
<th style="width: 40%">Required Version</th>
<th style="width: 20%">Installed Version</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href="{ROOT_URL}admin/dependencies/viewInfo/{name}">{name}</a></td>
<td>{requiredVersion}</td>
<td>{version}</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>

View File

@ -0,0 +1,30 @@
<div class="context-main-bg context-main p-3">
<legend class="text-center">Installed Dependencies</legend>
<hr>
{ADMIN_BREADCRUMBS}
<table class="table table-striped">
<thead>
<tr>
<th style="width: 40%">Name</th>
<th style="width: 40%">Required Version</th>
<th style="width: 20%">Installed Version</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><b>{name}</b></td>
<td>{requiredVersion}</td>
<td>{version}</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
</div>

View File

@ -1,6 +0,0 @@
<form action="" method="post" class="form-horizontal">
<legend>Install {MODEL}</legend>
<p>The Tempus Project cannot guarantee the safety or effectiveness of any models not offered directly from the organizations GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Install</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form><br>

View File

@ -1,34 +0,0 @@
<legend><h2>Installed Models</h2></legend>
<table class="table table-striped">
<thead>
<tr>
<th style="width: 40%">Name</th>
<th style="width: 15%">Install Status</th>
<th style="width: 5%">File Version</th>
<th style="width: 5%">Installed Version</th>
<th style="width: 15%">Install Date</th>
<th style="width: 15%">Last Updated</th>
<th style="width: 10%"></th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href="{ROOT_URL}admin/models/view/{name}">{name}</a></td>
<td>{installStatus}</td>
<td>{version}</td>
<td>{installedVersion}</td>
<td>{DTC=date}{installDate}{/DTC}</td>
<td>{DTC=date}{lastUpdate}{/DTC}</td>
<td><a href="{ROOT_URL}admin/models/view/{name}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-upload"></i></a></td>
</tr>
{/LOOP}
{ALT}
<tr>
<td colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>

View File

@ -1,6 +0,0 @@
<form action="" method="post" class="form-horizontal">
<legend>Uninstall {MODEL}</legend>
<p>Are you sure you would like to uninstall this model and all of its components? There is no guarantee that your site will continue to run without error. This is especially the case when uninstalling core TTP models.</p>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Uninstall</button>
<input type="hidden" name="uninstallHash" value="{TOKEN}">
</form><br>

View File

@ -1,69 +0,0 @@
<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">Model Info</h3>
</div>
<div class="card-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
<tbody>
<tr>
<td align="left" width="200">Name:</td>
<td align="right">{name}</td>
</tr>
<tr>
<td>Status:</td>
<td align="right">{installStatus}</td>
</tr>
<tr>
<td>Installed:</td>
<td align="right">{DTC}{installDate}{/DTC}</td>
</tr>
<tr>
<td>Last Updated:</td>
<td align="right">{DTC}{lastUpdate}{/DTC}</td>
</tr>
<tr>
<td>File Version:</td>
<td align="right">{version}</td>
</tr>
<tr>
<td>Installed Version:</td>
<td align="right">{installedVersion}</td>
</tr>
<tr>
<td>installTable:</td>
<td align="right">{installTable}</td>
</tr>
<tr>
<td>installPermissions:</td>
<td align="right">{installPermissions}</td>
</tr>
<tr>
<td>installConfigs:</td>
<td align="right">{installConfigs}</td>
</tr>
<tr>
<td>installResources:</td>
<td align="right">{installResources}</td>
</tr>
<tr>
<td>installPreferences:</td>
<td align="right">{installPreferences}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card-footer">
<a href="{ROOT_URL}admin/models/install/{name}" class="btn btn-sm btn-warning">Install</a>
<a href="{ROOT_URL}admin/models/uninstall/{name}" class="btn btn-sm btn-danger">Uninstall</a>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,7 +1,13 @@
<form action="" method="post" class="form-horizontal">
<legend>Disable {PLUGIN}</legend>
<p>Are you absolutely <b>SURE</b> you wish to <b>Disable</b> this plugin?</p>
<p>The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Disable</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form><br>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Disable {PLUGIN}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<div class="col-lg-6 offset-md-3 text-center">
<p>Are you absolutely <b>SURE</b> you wish to <b>Disable</b> this plugin?</p>
<p>The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<form method="post">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Disable</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form>
</div>
</div>

View File

@ -1,7 +1,13 @@
<form action="" method="post" class="form-horizontal">
<legend>Enable {PLUGIN}</legend>
<p>Are you absolutely <b>SURE</b> you wish to <b>Enable</b> this plugin?</p>
<p>The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Enable</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form><br>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Enable {PLUGIN}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<div class="col-lg-6 offset-md-3 text-center">
<p>Are you absolutely <b>SURE</b> you wish to <b>Enable</b> this plugin?</p>
<p>The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<form method="post">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Enable</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form>
</div>
</div>

View File

@ -1,6 +1,12 @@
<form action="" method="post" class="form-horizontal">
<legend>Install {PLUGIN}</legend>
<p>The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Install</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form><br>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Install {PLUGIN}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<div class="col-lg-6 offset-md-3 text-center">
<p>The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at <a href="https://github.com/TheTempusProject">The Tempus Project</a></p>
<form method="post">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Install</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form>
</div>
</div>

View File

@ -1,34 +1,38 @@
<legend><h2>Installed Plugins</h2></legend>
<table class="table table-striped">
<thead>
<tr>
<th style="width: 20%">Name</th>
<th style="width: 5%">Enabled</th>
<th style="width: 15%">Install Status</th>
<th style="width: 10%">File Version</th>
<th style="width: 10%">Installed Version</th>
<th style="width: 15%">Install Date</th>
<th style="width: 15%">Last Updated</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href="{ROOT_URL}admin/plugins/view/{name}">{name}</a></td>
<td>{enabled_txt}</td>
<td>{installStatus}</td>
<td>{version}</td>
<td>{installedVersion}</td>
<td>{DTC=date}{installDate}{/DTC}</td>
<td>{DTC=date}{lastUpdate}{/DTC}</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Installed Plugins</legend>
<hr>
{ADMIN_BREADCRUMBS}
<table class="table table-striped">
<thead>
<tr>
<th style="width: 20%">Name</th>
<th style="width: 5%">Enabled</th>
<th style="width: 15%">Install Status</th>
<th style="width: 10%">File Version</th>
<th style="width: 10%">Installed Version</th>
<th style="width: 15%">Install Date</th>
<th style="width: 15%">Last Updated</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href="{ROOT_URL}admin/plugins/view/{name}">{name}</a></td>
<td>{enabled_txt}</td>
<td>{installStatus}</td>
<td>{version}</td>
<td>{installedVersion}</td>
<td>{DTC=date}{installDate}{/DTC}</td>
<td>{DTC=date}{lastUpdate}{/DTC}</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
</div>

View File

@ -1,6 +1,12 @@
<form action="" method="post" class="form-horizontal">
<legend>Uninstall {PLUGIN}</legend>
<p>Are you sure you would like to uninstall this plugin and all of its components? There is no guarantee that your site will continue to run without error.</p>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Uninstall</button>
<input type="hidden" name="uninstallHash" value="{TOKEN}">
</form><br>
<div class="context-main-bg context-main p-3">
<legend class="text-center">Uninstall {PLUGIN}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<div class="col-lg-6 offset-md-3 text-center">
<p>Are you sure you would like to uninstall this plugin and all of its components? There is no guarantee that your site will continue to run without error.</p>
<form method="post">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Uninstall</button>
<input type="hidden" name="uninstallHash" value="{TOKEN}">
</form>
</div>
</div>

View File

@ -1,75 +1,80 @@
<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">Plugin Info</h3>
</div>
<div class="card-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
<tbody>
<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">Plugin: {name}</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
<tr>
<td align="left" width="200">Name:</td>
<td align="right">{name}</td>
<th scope="row" class="col-3">Name</th>
<td>{name}</td>
</tr>
<tr>
<td>Enabled:</td>
<td align="right">{enabled_txt}</td>
<th scope="row">Enabled</th>
<td>{enabled_txt}</td>
</tr>
<tr>
<td>Status:</td>
<td align="right">{installStatus}</td>
<th scope="row">Status</th>
<td>{installStatus}</td>
</tr>
<tr>
<td>Install Date:</td>
<td align="right">{DTC}{installDate}{/DTC}</td>
<th scope="row">Install Date</th>
<td>{DTC}{installDate}{/DTC}</td>
</tr>
<tr>
<td>Last Updated:</td>
<td align="right">{DTC}{lastUpdate}{/DTC}</td>
<th scope="row">Last Updated</th>
<td>{DTC}{lastUpdate}{/DTC}</td>
</tr>
<tr>
<td>File Version:</td>
<td align="right">{version}</td>
<th scope="row">File Version</th>
<td>{version}</td>
</tr>
<tr>
<td>Installed Version:</td>
<td align="right">{installedVersion}</td>
<th scope="row">Installed Version</th>
<td>{installedVersion}</td>
</tr>
<tr>
<td>Preferences Installed:</td>
<td align="right">{preferences_installed}</td>
<th scope="row">Preferences Installed</th>
<td>{preferences_installed}</td>
</tr>
<tr>
<td>Permissions Installed:</td>
<td align="right">{permissions_installed}</td>
<th scope="row">Permissions Installed</th>
<td>{permissions_installed}</td>
</tr>
<tr>
<td>Configs Installed:</td>
<td align="right">{configs_installed}</td>
<th scope="row">Configs Installed</th>
<td>{configs_installed}</td>
</tr>
<tr>
<td>Models Installed:</td>
<td align="right">{models_installed}</td>
<th scope="row">Models Installed</th>
<td>{models_installed}</td>
</tr>
<tr>
<td>Resources Installed:</td>
<td align="right">{resources_installed}</td>
<th scope="row">Resources Installed</th>
<td>{resources_installed}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card-footer">
</tbody>
</table>
</div>
</div>
<!-- Admin Controls -->
<div class="card-footer text-center">
<a href="{ROOT_URL}admin/plugins/install/{name}" class="btn btn-sm btn-primary">Install</a>
<a href="{ROOT_URL}admin/plugins/enable/{name}" class="btn btn-sm btn-success">Enable</a>
<a href="{ROOT_URL}admin/plugins/disable/{name}" class="btn btn-sm btn-danger">Disable</a>
<a href="{ROOT_URL}admin/plugins/uninstall/{name}" class="btn btn-sm btn-danger">Uninstall</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -1,34 +1,51 @@
<form action="" method="post" class="form-horizontal">
<legend>New Route</legend>
<fieldset>
<div class="form-group">
<label for="nickname" class="col-lg-6 control-label">Nickname:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="nickname" id="nickname">
<div class="context-main-bg context-main p-3">
<legend class="text-center">Edit Route: {nickname}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form method="post">
<fieldset>
<!-- Name -->
<div class="mb-3 row">
<label for="nickname" class="col-lg-6 col-form-label text-end">Nickname:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="nickname" id="nickname" required>
</div>
</div>
</div>
<div class="form-group">
<label for="original_url" class="col-lg-6 control-label">Original URL:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="original_url" id="original_url">
<!-- Original URL -->
<div class="mb-3 row">
<label for="original_url" class="col-lg-6 col-form-label text-end">Original URL:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="original_url" id="original_url" required>
</div>
</div>
</div>
<div class="form-group">
<label for="forwarded_url" class="col-lg-6 control-label">Forward URL:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="forwarded_url" id="forwarded_url">
<!-- Forward URL -->
<div class="mb-3 row">
<label for="forwarded_url" class="col-lg-6 col-form-label text-end">Forward URL:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="forwarded_url" id="forwarded_url" required>
</div>
</div>
</div>
<div class="form-group">
<label for="redirect_type" class="col-lg-6 control-label">Redirect Type:</label>
<div class="col-lg-2">
<select name="redirect_type" id="redirect_type" class="">
<option value='internal' selected>Internal</option>
<option value='external'>External</option>
</select>
<!-- Redirect Type -->
<div class="mb-3 row">
<label for="redirect_type" class="col-lg-6 col-form-label text-end">Redirect Type:</label>
<div class="col-lg-2">
<select name="redirect_type" id="redirect_type" class="form-control">
<option value='external'>External</option>
<option value='internal'>Internal</option>
</select>
</div>
</div>
</div>
</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>
<!-- 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,35 +1,52 @@
<form action="" method="post" class="form-horizontal">
<legend>Edit Route</legend>
<fieldset>
<div class="form-group">
<label for="nickname" class="col-lg-6 control-label">Nickname:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="nickname" id="nickname" value="{nickname}">
<div class="context-main-bg context-main p-3">
<legend class="text-center">Edit Route: {nickname}</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form method="post">
<fieldset>
<!-- Name -->
<div class="mb-3 row">
<label for="nickname" class="col-lg-6 col-form-label text-end">Nickname:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="nickname" id="nickname" value="{nickname}" required>
</div>
</div>
</div>
<div class="form-group">
<label for="original_url" class="col-lg-6 control-label">Original URL:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="original_url" id="original_url" value="{original_url}">
<!-- Original URL -->
<div class="mb-3 row">
<label for="original_url" class="col-lg-6 col-form-label text-end">Original URL:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="original_url" id="original_url" value="{original_url}" required>
</div>
</div>
</div>
<div class="form-group">
<label for="forwarded_url" class="col-lg-6 control-label">Forward URL:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="forwarded_url" id="forwarded_url" value="{forwarded_url}">
<!-- Forward URL -->
<div class="mb-3 row">
<label for="forwarded_url" class="col-lg-6 col-form-label text-end">Forward URL:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="forwarded_url" id="forwarded_url" value="{forwarded_url}" required>
</div>
</div>
</div>
<div class="form-group">
<label for="redirect_type" class="col-lg-6 control-label">Redirect Type:</label>
<div class="col-lg-2">
<select name="redirect_type" id="redirect_type" class="">
{OPTION=redirect_type}
<option value='external'>External</option>
<option value='internal'>Internal</option>
</select>
<!-- Redirect Type -->
<div class="mb-3 row">
<label for="redirect_type" class="col-lg-6 col-form-label text-end">Redirect Type:</label>
<div class="col-lg-2">
<select name="redirect_type" id="redirect_type" class="form-control">
{OPTION=redirect_type}
<option value='external'>External</option>
<option value='internal'>Internal</option>
</select>
</div>
</div>
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Save</button><br>
</form>
<!-- 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,45 +1,48 @@
<legend>Redirects</legend>
{PAGINATION}
<form action="{ROOT_URL}admin/routes/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 15%">Nickname</th>
<th style="width: 15%">Type</th>
<th style="width: 15%">Path</th>
<th style="width: 15%">Destination</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.r" value="R_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/routes/view/{ID}'>{nickname}</a></td>
<td>{redirect_type}</td>
<td>{original_url}</td>
<td>{forwarded_url}</td>
<td><a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/routes/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="R_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/routes/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">Redirects</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="{ROOT_URL}admin/routes/delete" method="post">
<table class="table table-striped">
<thead>
<tr>
<th style="width: 5%">ID</th>
<th style="width: 15%">Nickname</th>
<th style="width: 15%">Type</th>
<th style="width: 15%">Path</th>
<th style="width: 15%">Destination</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.r" value="R_[]"/>
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/routes/view/{ID}'>{nickname}</a></td>
<td>{redirect_type}</td>
<td>{original_url}</td>
<td>{forwarded_url}</td>
<td><a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/routes/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="R_[]">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/routes/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,35 +1,40 @@
<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">{nickname}</h3>
<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">{nickname}</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row">
<div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary">
<div class="row align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
<tr>
<td>Type</td>
<th scope="row" class="col-3">Type</th>
<td>{redirect_type}</td>
</tr>
<tr>
<td>Original URL</td>
<th scope="row" class="col-3">Original URL</th>
<td>{original_url}</td>
</tr>
<tr>
<td>Destination URL</td>
<th scope="row" class="col-3">Destination URL</th>
<td>{forwarded_url}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card-footer">
<a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning">Edit</a>
<a href="{ROOT_URL}admin/routes/delete/{ID}" class="btn btn-sm btn-danger">Delete</a>
<!-- Admin Controls -->
<div class="card-footer text-center">
<a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a>
<a href="{ROOT_URL}admin/routes/delete/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></a>
</div>
</div>
</div>

View File

@ -1,6 +1,16 @@
<form action="" method="post" class="form-horizontal" enctype="multipart/form-data">
<legend>Settings</legend>
{configForm}
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Save</button><br>
</form>
<div class="context-main-bg context-main p-3">
{ADMIN_BREADCRUMBS}
<form action="" method="post" class="form-horizontal" enctype="multipart/form-data">
<fieldset>
{configForm}
<!-- Hidden Token -->
<input type="hidden" name="token" value="{TOKEN}">
</fieldset>
<!-- Submit Button -->
<div class="text-center">
<button type="submit" name="submit" value="submit" class="btn btn-primary btn-lg center-block">Submit</button>
</div>
</form>
</div>

View File

@ -1,28 +1,40 @@
<form action="" method="post" class="form-horizontal">
<legend>Create Token</legend>
<fieldset>
<div class="form-group">
<label for="name" class="col-lg-6 control-label">Name:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="name" id="name">
</div>
</div>
<div class="form-group">
<label for="notes" class="col-lg-3 control-label">Notes</label>
<div class="col-lg-6">
<textarea class="form-control" name="notes" maxlength="2000" rows="10" cols="50" id="notes"></textarea>
</div>
</div>
<div class="form-group">
<label for="token_type" class="col-lg-6 control-label">Token Type:</label>
<div class="col-lg-2">
<select name="token_type" id="token_type" class="">
<option value='app' selected>Application</option>
<option value='user'>User</option>
</select>
</div>
</div>
</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>
<div class="mb-4 mt-4">
<div class="offset-md-1 col-10 py-3 context-main-bg">
<legend class="text-center">Create Token</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="" method="post" class="container py-4">
<fieldset>
<div class="mb-3 row">
<label for="name" class="col-lg-5 col-form-label text-end">Name</label>
<div class="col-lg-3">
<input type="text" class="form-control" name="name" id="name" required>
</div>
</div>
<div class="mb-3 row">
<label for="token_type" class="col-lg-5 col-form-label text-end">Token Type</label>
<div class="col-lg-3">
<select id="token_type" name="token_type" class="form-select">
<option value='app' selected>Application</option>
<option value='user'>User</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label for="notes" class="col-lg-5 col-form-label text-end">Notes:</label>
<div class="col-lg-3">
<textarea class="form-control" name="notes" maxlength="2000" rows="5" cols="50" id="notes"></textarea>
</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>
</div>

View File

@ -1,29 +1,41 @@
<form action="" method="post" class="form-horizontal">
<legend>Edit Token</legend>
<fieldset>
<div class="form-group">
<label for="name" class="col-lg-6 control-label">Name:</label>
<div class="col-lg-2">
<input class="form-control" type="text" name="name" id="name" value="{name}">
</div>
</div>
<div class="form-group">
<label for="notes" class="col-lg-3 control-label">Notes</label>
<div class="col-lg-6">
<textarea class="form-control" name="notes" maxlength="2000" rows="10" cols="50" id="notes">{notes}</textarea>
</div>
</div>
<div class="form-group">
<label for="token_type" class="col-lg-6 control-label">Token Type:</label>
<div class="col-lg-2">
<select name="token_type" id="token_type" class="">
{OPTION=token_type}
<option value='app'>Application</option>
<option value='user'>User</option>
</select>
</div>
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Save</button><br>
</form>
<div class="mb-4 mt-4">
<div class="offset-md-1 col-10 p-3 context-main-bg">
<legend class="text-center">Edit Token</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form action="" method="post" class="container py-4">
<fieldset>
<div class="mb-3 row">
<label for="name" class="col-lg-5 col-form-label text-end">Name</label>
<div class="col-lg-3">
<input type="text" class="form-control" name="name" id="name" value="{name}" required>
</div>
</div>
<div class="mb-3 row">
<label for="token_type" class="col-lg-5 col-form-label text-end">Token Type</label>
<div class="col-lg-3">
<select id="token_type" name="token_type" class="form-select">
{OPTION=token_type}
<option value='app' selected>Application</option>
<option value='user'>User</option>
</select>
</div>
</div>
<div class="mb-3 row">
<label for="title" class="col-lg-5 col-form-label text-end">Notes:</label>
<div class="col-lg-3">
<textarea class="form-control" name="notes" maxlength="2000" rows="5" cols="50" id="notes">{notes}</textarea>
</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>
</div>

View File

@ -1,20 +1,22 @@
<legend>Tokens</legend>
{PAGINATION}
<div class="context-main-bg context-main p-3">
<legend class="text-center">Tokens</legend>
<hr>
{ADMIN_BREADCRUMBS}
<table class="table table-striped">
<thead>
<tr>
<th style="width: 15%">ID</th>
<th style="width: 45%">Name</th>
<th style="width: 55%">Name</th>
<th style="width: 25%">Type</th>
<th style="width: 15%">Delete</th>
<th style="width: 10%">Delete</th>
<th style="width: 10%">Delete</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/tokens/view/{ID}'>{name}</a></td>
<td>{token_type}</td>
<td><a href="{ROOT_URL}admin/tokens/edit/{ID}" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil"></i></a></td>
<td><a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></a></td>
</tr>
{/LOOP}
@ -27,4 +29,5 @@
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/tokens/create" class="btn btn-sm btn-primary">Create</a>
<a href="{ROOT_URL}admin/tokens/create" class="btn btn-sm btn-primary">Create</a>
</div>

View File

@ -1,46 +1,51 @@
<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">{name}</h3>
<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">{name}</h3>
</div>
<!-- Card Body -->
<div class="card-body">
<div class="row">
<div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary">
<div class="row align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
<tr>
<td>Type</td>
<th scope="row" class="col-3">Type</th>
<td>{token_type}</td>
</tr>
<tr>
<td>Created At</td>
<th scope="row">Created At</th>
<td>{DTC}{createdAt}{/DTC}</td>
</tr>
<tr>
<td>Expires At</td>
<th scope="row">Expires At</th>
<td>{DTC}{expiresAt}{/DTC}</td>
</tr>
<tr>
<td>Token</td>
<td>{token}</td>
<th scope="row">Token</th>
<td class="text-break">{token}</td>
</tr>
<tr>
<td>Secret</td>
<td>{secret}</td>
<th scope="row">Secret</th>
<td class="text-break">{secret}</td>
</tr>
<tr>
<td>Notes</td>
<th scope="row">Notes</th>
<td>{notes}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="card-footer">
<a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger">Delete</a>
<!-- Admin Controls -->
<div class="card-footer text-center">
<a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-trash"></i></a>
</div>
</div>
</div>

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>

View File

@ -1,14 +0,0 @@
<form action="" method="post" class="form-horizontal">
<legend>Email Confirmation</legend>
<p>Please enter the confirmation code you received in your email.</p>
<fieldset>
<div class="form-group">
<label for="confirmationCode" class="col-lg-3 control-label">Confirmation Code:</label>
<div class="col-lg-3">
<input class="form-control" type="text" name="confirmationCode" id="confirmationCode">
</div>
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Submit</button><br>
</form>

View File

@ -1,6 +0,0 @@
<form action="" method="post" class="form-horizontal">
<p>Please click the resend button to resend your email confirmation. Don't forget to check the spam folder!</p>
<input type="hidden" name="resendConfirmation" value="true">
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Resend Confirmation</button><br>
</form>

View File

@ -63,7 +63,7 @@
<i class="fa fa-pencil"></i> Edit
</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-times"></i> Delete
<i class="fa fa-trash"></i> Delete
</a>
{/ADMIN}
</div>