hfkfhkfhgjkuhgfkjfghkj

This commit is contained in:
Local Dev
2025-02-03 12:03:51 -05:00
commit fd36f0f4bf
302 changed files with 22625 additions and 0 deletions

27
app/views/about.html Executable file
View File

@ -0,0 +1,27 @@
<div class="m-2 m-lg-4">
<div class="col-12 mx-5 col-sm-10 col-lg-8 mx-auto p-4 rounded shadow-sm context-main-bg">
<h2 class="text-center mb-4">About {SITENAME}</h2>
<p class="lead text-center text-lg-start">
{SITENAME} was built out of a need to create and manage web applications.
At the time, I had used wordpress but I didn't want or even need any of the blog functionality.
No matter what plugins you add, no matter how you customize layout, wordpress is still a blog at its core.
There is nothing inherently wrong with a blog, but when you start from a blog, everything is a post, or a plugin.
Under the hood, wordpress is going to run how wordpress wants, as a web interface for accessing text records.
</p>
<p class="text-center text-lg-start">
The Tempus Project was always intended to be a web application, not a blog.
</p>
<p class="text-muted text-center text-lg-start">
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 a publicly available product is not a 1-to-1 job. There may be bugs or issues encountered while you use the product. I can't guarantee a fix for every need in every case immediately, but I do actively keep track of bugs and work hard to ensure everyone has a great experience using the app.
</p>
<p class="text-center text-lg-start">
If you encounter any bugs, feel free to report them <a href="/bugreport" class="text-decoration-none">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 px-3 btn-lg m-2">Report a Bug</a>
{/loggedin}
<a href="/contact" class="btn btn-outline-primary px-3 m-2 btn-lg">Contact Us</a>
</div>
</div>
</div>

69
app/views/admin/contact.html Executable file
View File

@ -0,0 +1,69 @@
<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>
<form 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>
</form>
</div>

View File

@ -0,0 +1,45 @@
<div class="context-main-bg context-main">
<legend class="text-center my-2">Admin Dashboard</legend>
<div class="row">
<div class="col-5 offset-1">
{userDash}
</div>
<div class="col-5">
{commentDash}
</div>
</div>
<div class="row">
<div class="col-10 offset-1">
{contactDash}
</div>
</div>
<div class="row">
<div class="col-10 offset-1">
{blogDash}
</div>
</div>
</div>
<legend class="text-center my-2">Results</legend>
<form method="post">
<fieldset>
<!-- Search -->
<div class="mb-3 row">
<label for="searchTerm" class="col-lg-6 col-form-label text-end">Search:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="searchTerm" id="searchTerm">
</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">Search</button>
</div>
</fieldset>
</form>
<div class="col-5 offset-1">
{searchResults}
</div>

View File

@ -0,0 +1,28 @@
<legend>New Users</legend>
<table class="table context-main">
<thead>
<tr>
<th style="width: 85%"></th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td align="center">{username}</td>
<td><a href="{ROOT_URL}admin/users/view/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-user"></i></a></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>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="4">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>

View File

@ -0,0 +1,26 @@
<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

@ -0,0 +1,26 @@
<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

@ -0,0 +1,42 @@
<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}" class="text-decoration-none">{name}</a></td>
<td><a href="{ROOT_URL}admin/groups/listmembers/{ID}" class="text-decoration-none">{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

@ -0,0 +1,43 @@
<div class="context-main-bg context-main p-3">
<legend class="text-center">{groupName} <small>user list</small></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: 55%">Username</th>
<th style="width: 25%">Joined</th>
<th style="width: 5%"></th>
<th style="width: 5%"></th>
<th style="width: 5%">
<input type="checkbox" onchange="checkAll(this)" name="check.u" value="U_[]">
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td>{ID}</td>
<td><a href='{ROOT_URL}admin/users/view/{ID}' class="text-decoration-none">{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>
<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

@ -0,0 +1,31 @@
<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 align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
{PERMISSIONS_ROWS}
</tbody>
</table>
</div>
</div>
<!-- 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>
</div>
</div>

View File

@ -0,0 +1,30 @@
<div class="container py-5 context-main-bg">
<div class="d-flex justify-content-between align-items-center">
{ADMIN_BREADCRUMBS}
<a href="{ROOT_URL}admin/images/upload" class="btn btn-sm btn-primary">Create</a>
</div>
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
{LOOP}
<div class="col">
<div class="card h-100 shadow-sm context-other-bg">
<div class="d-flex justify-content-center align-items-center context-other-bg" style="height: 250px;">
<img src="{url}" class="img-fluid p-2" style="max-width: 100%; max-height: 100%; object-fit: contain;">
</div>
<div class="card-body context-third-bg d-flex flex-column">
<div class="flex-grow-1">
<div class="d-flex justify-content-between align-items-center">
<div class="">
<a href="{ROOT_URL}admin/images/view?fileLocation={locationSafe}" class="btn btn-sm btn-outline-primary">View</a>
<a href="{url}" class="btn btn-sm btn-outline-primary" target="_blank">Open</a>
<a href="{ROOT_URL}admin/images/rename?fileLocation={locationSafe}" class="btn btn-sm btn-outline-warning">Rename</a>
<a href="{ROOT_URL}admin/images/delete?fileLocation={locationSafe}" class="btn btn-sm btn-outline-danger">Delete</a>
</div>
<small class="text-muted">{filename}</small>
</div>
</div>
</div>
</div>
</div>
{/LOOP}
</div>
</div>

View File

@ -0,0 +1,35 @@
<div class="context-main-bg context-main p-3">
<legend class="text-center">Rename Image</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">Location:</label>
<div class="col-lg-2">
<input type="hidden" class="form-control" name="filelocation" id="filelocation" value="{filelocation}">
<strong>
{filelocation}
</strong>
</div>
</div>
<!-- Forward URL -->
<div class="mb-3 row">
<label for="newname" class="col-lg-6 col-form-label text-end">New filename ( Extensions cannot be modified ):</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="newname" id="newname" required>
</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

@ -0,0 +1,29 @@
<div class="container p-4 context-main-bg mb-4 text-center">
<h3 class="mb-4">Image Upload</h3>
<hr>
<div class="row justify-content-center">
<div class="col-md-6">
<form method="post" enctype="multipart/form-data">
<fieldset>
<div class="mb-3 row">
<label for="avatar" class="h4 col-lg-6 col-form-label text-start text-lg-end">Image</label>
<div class="col-lg-6">
<input type="file" class="form-control" name="uploadImage" id="uploadImage">
</div>
</div>
<div class="mb-3 row">
<span class="h4 col-lg-6 col-form-label text-start text-lg-end">Destination Folder</span>
<div class="col-lg-6">
{FOLDER_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">Update</button><br>
</form>
</div>
</div>
</div>

View File

@ -0,0 +1,66 @@
<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">{filename}</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="{url}" alt="User Pic" class="img-fluid" style="max-width: 150px;">
</div>
<!-- User Details -->
<div class="col-md-8">
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row">filename</th>
<td>{filename}</td>
</tr>
<tr>
<th scope="row">extension</th>
<td>{extension}</td>
</tr>
<tr>
<th scope="row">fileSize</th>
<td>{fileSize}</td>
</tr>
<tr>
<th scope="row">location</th>
<td>{location}</td>
</tr>
<tr>
<th scope="row">url</th>
<td>{url}</td>
</tr>
<tr>
<th scope="row">folder</th>
<td>{folder}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<!-- Admin Controls -->
<div class="card-footer text-center">
{ADMIN}
<a href="{ROOT_URL}admin/images/rename?fileLocation={locationSafe}" class="btn btn-warning btn-sm me-2" data-bs-toggle="tooltip" title="Rename image">
<i class="fa fa-fw fa-pencil"></i>
</a>
<a href="{ROOT_URL}admin/images/delete?fileLocation={locationSafe}" class="btn btn-danger btn-sm" data-bs-toggle="tooltip" title="Delete image">
<i class="fa fa-fw fa-trash"></i>
</a>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>

56
app/views/admin/logs/admin.html Executable file
View File

@ -0,0 +1,56 @@
<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-trash"></i></button>
</form>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,43 @@
<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>

66
app/views/admin/logs/error.html Executable file
View File

@ -0,0 +1,66 @@
<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>
<th scope="row" colspan="2">Description:</th>
</tr>
<tr>
<td colspan="2">{description}</td>
</tr>
</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-trash"></i></button>
</form>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,43 @@
<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>

56
app/views/admin/logs/login.html Executable file
View File

@ -0,0 +1,56 @@
<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-trash"></i></button>
</form>
{/ADMIN}
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,45 @@
<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

@ -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

@ -0,0 +1,13 @@
<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

@ -0,0 +1,13 @@
<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-success center-block">Enable</button>
<input type="hidden" name="installHash" value="{TOKEN}">
</form>
</div>
</div>

View File

@ -0,0 +1,12 @@
<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

@ -0,0 +1,38 @@
<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}" class="text-decoration-none">{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

@ -0,0 +1,12 @@
<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-outline-danger center-block">Uninstall</button>
<input type="hidden" name="uninstallHash" value="{TOKEN}">
</form>
</div>
</div>

View File

@ -0,0 +1,80 @@
<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>
<th scope="row" class="col-3">Name</th>
<td>{name}</td>
</tr>
<tr>
<th scope="row">Enabled</th>
<td>{enabled_txt}</td>
</tr>
<tr>
<th scope="row">Status</th>
<td>{installStatus}</td>
</tr>
<tr>
<th scope="row">Install Date</th>
<td>{DTC}{installDate}{/DTC}</td>
</tr>
<tr>
<th scope="row">Last Updated</th>
<td>{DTC}{lastUpdate}{/DTC}</td>
</tr>
<tr>
<th scope="row">File Version</th>
<td>{version}</td>
</tr>
<tr>
<th scope="row">Installed Version</th>
<td>{installedVersion}</td>
</tr>
<tr>
<th scope="row">Preferences Installed</th>
<td>{preferences_installed}</td>
</tr>
<tr>
<th scope="row">Permissions Installed</th>
<td>{permissions_installed}</td>
</tr>
<tr>
<th scope="row">Configs Installed</th>
<td>{configs_installed}</td>
</tr>
<tr>
<th scope="row">Models Installed</th>
<td>{models_installed}</td>
</tr>
<tr>
<th scope="row">Resources Installed</th>
<td>{resources_installed}</td>
</tr>
</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>

View File

@ -0,0 +1,51 @@
<div class="context-main-bg context-main p-3">
<legend class="text-center">Create Route</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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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

@ -0,0 +1,52 @@
<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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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

@ -0,0 +1,48 @@
<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}' class="text-decoration-none">{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

@ -0,0 +1,42 @@
<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 align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row" class="col-3">Type</th>
<td>{redirect_type}</td>
</tr>
<tr>
<th scope="row" class="col-3">Original URL</th>
<td>{original_url}</td>
</tr>
<tr>
<th scope="row" class="col-3">Destination URL</th>
<td>{forwarded_url}</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 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>
</div>
</div>

18
app/views/admin/settings.html Executable file
View File

@ -0,0 +1,18 @@
<div class="context-main-bg context-main p-3">
<legend class="text-center">Settings</legend>
<hr>
{ADMIN_BREADCRUMBS}
<form method="post" 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

@ -0,0 +1,40 @@
<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 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-control">
<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

@ -0,0 +1,41 @@
<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 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-control">
{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

@ -0,0 +1,33 @@
<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: 55%">Name</th>
<th style="width: 25%">Type</th>
<th style="width: 10%">Delete</th>
<th style="width: 10%">Delete</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td><a href='{ROOT_URL}admin/tokens/view/{ID}' class="text-decoration-none">{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}
{ALT}
<tr>
<td align="center" colspan="6">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}admin/tokens/create" class="btn btn-sm btn-primary">Create</a>
</div>

View File

@ -0,0 +1,53 @@
<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 align-items-center">
<!-- Log Details -->
<table class="table table-borderless">
<tbody>
<tr>
<th scope="row" class="col-3">Type</th>
<td>{token_type}</td>
</tr>
<tr>
<th scope="row">Created At</th>
<td>{DTC}{createdAt}{/DTC}</td>
</tr>
<tr>
<th scope="row">Expires At</th>
<td>{DTC}{expiresAt}{/DTC}</td>
</tr>
<tr>
<th scope="row">Token</th>
<td class="text-break">{token}</td>
</tr>
<tr>
<th scope="row">Secret</th>
<td class="text-break">{secret}</td>
</tr>
<tr>
<th scope="row">Notes</th>
<td>{notes}</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- 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>
</div>
</div>

View File

@ -0,0 +1,74 @@
<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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>
<!-- 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>

78
app/views/admin/users/edit.html Executable file
View File

@ -0,0 +1,78 @@
<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>
<!-- 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>
<!-- 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>
{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="">
</div>
</div>
<!-- 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="">
</div>
</div>
<!-- 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>
<!-- 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>

44
app/views/admin/users/list.html Executable file
View File

@ -0,0 +1,44 @@
<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}' class="text-decoration-none">{usernamePretty}</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>

78
app/views/admin/users/view.html Executable file
View File

@ -0,0 +1,78 @@
<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">{usernamePretty}</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>
<th scope="row">Group:</th>
<td><a href="{ROOT_URL}admin/groups/view/{userGroup}" class="text-decoration-none">{groupName}</a></td>
</tr>
{/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}" class="text-decoration-none">{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>

1
app/views/api/error.html Executable file
View File

@ -0,0 +1 @@
{error}

1
app/views/api/response.html Executable file
View File

@ -0,0 +1 @@
{response}

View File

@ -0,0 +1,15 @@
<div class="container py-5 context-main-bg my-5 text-center">
<h1 class="mb-4">Email Confirmation</h1>
<hr>
<p>Please enter the confirmation code you received in your email.</p>
<form method="post">
<fieldset>
<div data-mdb-input-init class="form-outline mb-4 col-2 offset-5">
<input class="form-control" type="text" name="confirmationCode" id="confirmationCode" placeholder="Confirmation Code">
</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>
</div>

View File

@ -0,0 +1,10 @@
<div class="container py-5 context-main-bg my-5 text-center">
<h1 class="mb-4">Re-Send Confirmation</h1>
<hr>
<p>Please click the resend button to resend your email confirmation. Don't forget to check the spam folder!</p>
<form method="post">
<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>
</div>

13
app/views/auth/forgot.html Executable file
View File

@ -0,0 +1,13 @@
<div class="col-8 mx-auto p-4 rounded shadow-sm mb-5 context-main-bg mt-4 text-center">
<form method="post">
<legend class=" my-2">Lost and Found</legend>
<p class="col-8 offset-2">You can begin the process of recovering your account here. Provide your username, or email address and instructions for ressetting your password will be mailed to you shortly.</p>
<fieldset>
<div data-mdb-input-init class="form-outline mb-4 col-2 offset-5">
<input name="entry" type="text" id="entry" class="form-control" placeholder="Username or Email">
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Reset Password</button><br>
</form>
</div>

55
app/views/auth/login.html Executable file
View File

@ -0,0 +1,55 @@
<section class="h-100 gradient-form">
<div class="container pb-5 h-100 context-main-bg pt-5">
<div class="row d-flex justify-content-center align-items-center h-100">
<div class="col-xl-10">
<div class="card rounded-3 text-black">
<div class="row g-0">
<div class="col-lg-6">
<div class="card-body p-md-5 mx-md-4">
<div class="text-center">
<img src="{ROOT_URL}{LOGO}" style="width: 185px;" alt="logo">
<h4 class="mt-1 mb-5 pb-1">{SITENAME}</h4>
</div>
<form action="{ROOT_URL}home/login" method="post">
<div data-mdb-input-init class="form-outline mb-4">
<input name="username" type="text" id="username" class="form-control" placeholder="Username">
</div>
<div data-mdb-input-init class="form-outline mb-4">
<input name="password" type="password" id="password" class="form-control" placeholder="password">
</div>
<div class="mb-4 row">
<div class="col-lg-6 offset-2">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" name="remember" id="remember" value="true">
<label class="form-check-label" for="remember">Stay Logged In</label>
</div>
</div>
</div>
<div class="text-center pt-1 mb-5 pb-1">
<button name="submit" value="submit" type="submit" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary btn-block mb-3">
Sign in
</button>
<a class="text-muted" href="{ROOT_URL}register/recover">Forgot password?</a>
</div>
<div class="d-flex align-items-center justify-content-center pb-4">
<p class="mb-0 me-2">Don't have an account?</p>
<a href="{ROOT_URL}register" data-mdb-button-init data-mdb-ripple-init class="btn btn-outline-dark">
Create new
</a>
</div>
<input type="hidden" name="token" value="{TOKEN}">
</form>
</div>
</div>
<div class="col-lg-6 d-flex align-items-center gradient-custom-2">
<div class="text-white px-3 py-4 p-md-5 mx-md-4">
<h4 class="mb-4">I appreciate you.</h4>
<p class="small mb-0">As a solo developer, i appreciate each and every person who uses my products. There aren't many of you, so thank you</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>

View File

@ -0,0 +1,18 @@
<div class="container py-5 context-main-bg my-5 text-center">
<h1 class="mb-4">Change Password</h1>
<hr>
<p>Please enter the confirmation code you received in your email.</p>
<form method="post">
<fieldset>
<div data-mdb-input-init class="form-outline mb-4 col-2 offset-5">
<input class="form-control" type="password" name="password" id="password" placeholder="New Password">
</div>
<div data-mdb-input-init class="form-outline mb-4 col-2 offset-5">
<input class="form-control" type="password" name="password2" id="password2" placeholder="New Password Confirmation">
</div>
</fieldset>
<input type="hidden" name="resetCode" value="{resetCode}">
<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>
</div>

View File

@ -0,0 +1,14 @@
<div class="container py-5 context-main-bg my-5 text-center">
<h1 class="mb-4">Change Password</h1>
<hr>
<p>Please enter the code you received in your email. If you did not receive the code, please check your spam filter or <a href="{ROOT_URL}">click here</a> to request a new reset code.</p>
<form method="post">
<fieldset>
<div data-mdb-input-init class="form-outline mb-4 col-2 offset-5">
<input class="form-control" type="text" name="resetCode" id="resetCode" placeholder="Password Reset Code">
</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>
</div>

67
app/views/auth/register.html Executable file
View File

@ -0,0 +1,67 @@
<div class="container py-4 context-main-bg my-2 my-lg-4 mx-2 mx-sm-auto">
<h2 class="text-center mb-4">Create an Account</h2>
<form method="post">
<fieldset>
<!-- Username -->
<div class="mb-3 row">
<label for="username" class="col-lg-6 col-form-label text-lg-end">Username:</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="username" id="username" required>
</div>
</div>
<!-- Email -->
<div class="mb-3 row">
<label for="email" class="col-lg-6 col-form-label text-lg-end">Email:</label>
<div class="col-lg-2">
<input type="email" class="form-control" name="email" id="email" required>
</div>
</div>
<!-- Re-enter Email -->
<div class="mb-3 row">
<label for="email2" class="col-lg-6 col-form-label text-lg-end">Re-Enter Email:</label>
<div class="col-lg-2">
<input type="email" class="form-control" name="email2" id="email2" required>
</div>
</div>
<!-- Password -->
<div class="mb-3 row">
<label for="password" class="col-lg-6 col-form-label text-lg-end">Password:</label>
<div class="col-lg-2">
<input type="password" class="form-control" name="password" id="password" required>
</div>
</div>
<!-- Re-enter Password -->
<div class="mb-3 row">
<label for="password2" class="col-lg-6 col-form-label text-lg-end">Re-Enter Password:</label>
<div class="col-lg-2">
<input type="password" class="form-control" name="password2" id="password2" required>
</div>
</div>
<!-- Terms of Service -->
<div class="mb-3 text-center">
<div class="">
<input type="checkbox" class="form-check-input" name="terms" id="terms" value="1" required>
<label for="terms" class="form-check-label">
I have read and agree to the <a href="/home/terms" class="text-primary text-decoration-none">Terms of Service</a>
</label>
</div>
<div class="terms mt-2 mx-auto">
{TERMS}
</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">Sign up</button>
</div>
</fieldset>
</form>
</div>

47
app/views/auth/terms.html Executable file
View File

@ -0,0 +1,47 @@
<h1>Terms of Service ("Terms")</h1>
<p>Last updated: January 1, 2023</p>
<p>Please read these Terms of Service ("Terms", "Terms of Service") carefully before using the https://TheTempusProject.com website (the "Service") operated by The Tempus Project ("us", "we", or "our").</p>
<p>Your access to and use of the Service is conditioned upon your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who wish to access or use the Service.</p>
<p><strong>By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you do not have permission to access the Service.</strong></p>
<p><strong>Purchases</strong></p>
<p>If you wish to purchase any product or service made available through the Service ("Purchase"), you may be asked to supply certain information relevant to your Purchase including, without limitation, your credit card number, the expiration date of your credit card, your billing address, and your shipping information.</p>
<p>You represent and warrant that: (i) you have the legal right to use any credit card(s) or other payment method(s) in connection with any Purchase; and that (ii) the information you supply to us is true, correct and complete.</p>
<p>The service may employ the use of third party services for the purpose of facilitating payment and the completion of Purchases. By submitting your information, you grant us the right to provide the information to these third parties subject to our Privacy Policy.</p>
<p>We reserve the right to refuse or cancel your order at any time for reasons including but not limited to: product or service availability, errors in the description or price of the product or service, error in your order or other reasons.</p>
<p>We reserve the right to refuse or cancel your order if fraud or an unauthorized or illegal transaction is suspected.</p>
<p><strong>Availability, Errors and Inaccuracies</strong></p>
<p>We are constantly updating product and service offerings on the Service. We may experience delays in updating information on the Service and in our advertising on other web sites. The information found on the Service may contain errors or inaccuracies and may not be complete or current. Products or services may be mis priced, described inaccurately, or unavailable on the Service and we cannot guarantee the accuracy or completeness of any information found on the Service.</p>
<p>We therefore reserve the right to change or update information and to correct errors, inaccuracies, or omissions at any time without prior notice.</p>
<p><strong>Contests, Sweepstakes and Promotions</strong></p>
<p>Any contests, sweepstakes or other promotions (collectively, "Promotions") made available through the Service may be governed by rules that are separate from these Terms &amp; Conditions. If you participate in any Promotions, please review the applicable rules as well as our Privacy Policy. If the rules for a Promotion conflict with these Terms and Conditions, the Promotion rules will apply.</p>
<p><strong>Accounts</strong></p>
<p>When you create an account with us, you guarantee that you are above the age of 18, and that the information you provide us is accurate, complete, and current at all times. Inaccurate, incomplete, or obsolete information may result in the immediate termination of your account on the Service.</p>
<p>You are responsible for maintaining the confidentiality of your account and password, including but not limited to the restriction of access to your computer and/or account. You agree to accept responsibility for any and all activities or actions that occur under your account and/or password, whether your password is with our Service or a third-party service. You must notify us immediately upon becoming aware of any breach of security or unauthorized use of your account.</p>
<p>You may not use as a username the name of another person or entity or that is not lawfully available for use, a name or trademark that is subject to any rights of another person or entity other than you, without appropriate authorization. You may not use as a username any name that is offensive, vulgar or obscene.</p>
<p>We reserve the right to refuse service, terminate accounts, remove or edit content, or cancel orders in our sole discretion.</p>
<p><strong>Links To Other Web Sites</strong></p>
<p>Our Service may contain links to third party web sites or services that are not owned or controlled by The Tempus Project.</p>
<p>The Tempus Project has no control over, and assumes no responsibility for the content, privacy policies, or practices of any third party web sites or services. We do not warrant the offerings of any of these entities/individuals or their websites.</p>
<p>You acknowledge and agree that The Tempus Project shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such third party web sites or services.</p>
<p>We strongly advise you to read the terms and conditions and privacy policies of any third party web sites or services that you visit.</p>
<p><strong>Termination</strong></p>
<p>We may terminate or suspend your account and bar access to the Service immediately, without prior notice or liability, under our sole discretion, for any reason whatsoever and without limitation, including but not limited to a breach of the Terms.</p>
<p>If you wish to terminate your account, you may simply discontinue using the Service.</p>
<p>All provisions of the Terms which by their nature should survive termination shall survive termination, including, without limitation, ownership provisions, warranty disclaimers, indemnity and limitations of liability.</p>
<p><strong>Indemnification</strong></p>
<p>You agree to defend, indemnify and hold harmless The Tempus Project and its licensee and licenser, and their employees, contractors, agents, officers and directors, from and against any and all claims, damages, obligations, losses, liabilities, costs or debt, and expenses (including but not limited to attorney\'s fees), resulting from or arising out of a) your use and access of the Service, by you or any person using your account and password, or b) a breach of these Terms.</p>
<p><strong>Limitation Of Liability</strong></p>
<p>In no event shall The Tempus Project, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from (i) your access to or use of or inability to access or use the Service; (ii) any conduct or content of any third party on the Service; (iii) any content obtained from the Service; and (iv) unauthorized access, use or alteration of your transmissions or content, whether based on warranty, contract, tort (including negligence) or any other legal theory, whether or not we have been informed of the possibility of such damage, and even if a remedy set forth herein is found to have failed of its essential purpose.</p>
<p><strong>Disclaimer</strong></p>
<p>Your use of the Service is at your sole risk. The Service is provided on an "AS IS" and "AS AVAILABLE" basis. The Service is provided without warranties of any kind, whether express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, non-infringement or course of performance.</p>
<p>The Tempus Project its subsidiaries, affiliates, and its licenser's do not warrant that a) the Service will function uninterrupted, secure or available at any particular time or location; b) any errors or defects will be corrected; c) the Service is free of viruses or other harmful components; or d) the results of using the Service will meet your requirements.</p>
<p><strong>Exclusions</strong></p>
<p>Some jurisdictions do not allow the exclusion of certain warranties or the exclusion or limitation of liability for consequential or incidental damages, so the limitations above may not apply to you.</p>
<p><strong>Governing Law</strong></p>
<p>These Terms shall be governed and construed in accordance with the laws of Georgia, United States, without regard to its conflict of law provisions.</p>
<p>Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have had between us regarding the Service.</p>
<p><strong>Changes</strong></p>
<p>We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will provide at least 30 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.</p>
<p>By continuing to access or use our Service after any revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, you are no longer authorized to use the Service.</p>
<p><strong>Contact Us</strong></p>
<p>If you have any questions about these Terms, please contact us.</p>

311
app/views/changes/bedrock.html Executable file
View File

@ -0,0 +1,311 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-sm-10 col-lg-8 mx-auto p-2 p-md-3 p-lg-4 rounded shadow-sm context-main-bg">
<div class="card context-main-bg context-main border-0">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries/bedrock" class="text-decoration-none">
Bedrock
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Changes
</li>
</ol>
</nav>
<div class="card-body text-center text-lg-start">
<h5 class="card-title">Bedrock Changes</h5>
<p class="card-text">
Here you can find a simple list of the important changes made to the Bedrock library.
</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.1.2 <span class="badge text-bg-success">Latest</span></p>
</div>
<div class="col-9">
<ul>
<li>Comments and readme updates</li>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.1.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.1.1</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.1.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.1</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.11</p>
</div>
<div class="col-9">
<ul>
<li>Improved Config Form handling</li>
<li>Improved token handling</li>
<li>Improved error reporting</li>
<li>Adjusted log severity</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.11" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.10</p>
</div>
<div class="col-9">
<ul>
<li>Pagination bugfix</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.10" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.9</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Naming Fixes</li>
<li>Migrate CustomException to Canary</li>
<li>Hermes autoloading added</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.9" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.8</p>
</div>
<div class="col-9">
<ul>
<li>Pagination bugfix</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.8" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.7</p>
</div>
<div class="col-9">
<ul>
<li>Session bugfixes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.7" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.6</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Gitlab CI additions</li>
<li>Session bugfixes and improved logging</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.6" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.5</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.5" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.4</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Naming bugfix</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.3</p>
</div>
<div class="col-9">
<ul>
<li>Added constants</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.3" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Naming Convention Changes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.1</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0</p>
</div>
<div class="col-9">
<ul>
<li>Initial Release</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/bedrock/-/tags/1.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
</ul>
<div class="card-body">
<p class="text-center text-lg-start">
Bedrock actually began its life as TempusProjectCore on <a href="https://github.com/TheTempusProject/TempusProjectCore" class="text-decoration-none">Github</a>.
On March 18, 2018 the latest released tag was <strong>2.1.0</strong>.
Over the years this code has remained dormant, then received a ton of attention, then been forgotten again.
For most intents, this is the same code, just being actively developed.
</p>
<p class="text-muted text-center">
Not all changes may be addressed individually on this page.
</p>
<div class="text-center py-3">
<a href="#top" class="btn btn-outline-primary">Back to Top</a>
</div>
</div>
</div>
</div>
</div>

185
app/views/changes/canary.html Executable file
View File

@ -0,0 +1,185 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-sm-10 col-lg-8 mx-auto p-2 p-md-3 p-lg-4 rounded shadow-sm context-main-bg">
<div class="card context-main-bg context-main border-0">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries/canary" class="text-decoration-none">
Canary
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Changes
</li>
</ol>
</nav>
<div class="card-body text-center text-lg-start">
<h5 class="card-title">Canary Changes</h5>
<p class="card-text">
Here you can find a simple list of the important changes made to the Canary library.
</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.7 <span class="badge text-bg-success">Latest</span></p>
</div>
<div class="col-9">
<ul>
<li>Comments and readme updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.7" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.6</p>
</div>
<div class="col-9">
<ul>
<li>Re-added log option for variables.</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.6" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.5</p>
</div>
<div class="col-9">
<ul>
<li>Naming Convention Changes</li>
<li>Migrated CustomException from Bedrock</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.5" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.4</p>
</div>
<div class="col-9">
<ul>
<li>Improve line limit and added a new config for it.</li>
<li>Bugfix for missed rename.</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.3</p>
</div>
<div class="col-9">
<ul>
<li>Gitignore addition</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.3" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Bugfix for addLog events when the log is blank.</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.1</p>
</div>
<div class="col-9">
<ul>
<li>Add Composer lock file</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0</p>
</div>
<div class="col-9">
<ul>
<li>Initial Release</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/canary/-/tags/1.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
</ul>
<div class="card-body">
<p class="text-center text-lg-start">
Canary actually began its life as TempusDebugger on <a href="https://github.com/TheTempusProject/TempusDebugger" class="text-decoration-none">Github</a>.
On March 26, 2018 the latest released tag was <strong>1.1</strong>.
Over the years this code has remained dormant, then received a ton of attention, then been forgotten again.
For most intents, this is the same code, just being actively developed.
The foundation of TempusDebugger was originally sending debug messages to chrome's developer-tools.
Now the primary focus lies in sending the logs directly to frontend elements or saving them to files.
</p>
<p class="text-muted text-center">
Not all changes may be addressed individually on this page.
</p>
<div class="text-center py-3">
<a href="#top" class="btn btn-outline-primary">Back to Top</a>
</div>
</div>
</div>
</div>
</div>

121
app/views/changes/hermes.html Executable file
View File

@ -0,0 +1,121 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-sm-10 col-lg-8 mx-auto p-2 p-md-3 p-lg-4 rounded shadow-sm context-main-bg">
<div class="card context-main-bg context-main border-0">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries/hermes" class="text-decoration-none">
Hermes
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Changes
</li>
</ol>
</nav>
<div class="card-body text-center text-lg-start">
<h5 class="card-title">Hermes Changes</h5>
<p class="card-text">
Here you can find a simple list of the important changes made to the Hermes library.
</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.4 <span class="badge text-bg-success">Latest</span></p>
</div>
<div class="col-9">
<ul>
<li>Comments and readme updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/hermes/-/tags/1.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.3</p>
</div>
<div class="col-9">
<ul>
<li>Improved http vs https detection when traffic is being forwarded or proxied.</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/hermes/-/tags/1.0.3" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Bugfix for camelCase filenames which lead to some cases where files where not auto-loaded by name properly.</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/hermes/-/tags/1.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.1</p>
</div>
<div class="col-9">
<ul>
<li>Comments and readme updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/hermes/-/tags/1.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0</p>
</div>
<div class="col-9">
<ul>
<li>Initial Release</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/hermes/-/tags/1.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
</ul>
<div class="card-body">
<p class="text-muted text-center">
Not all changes may be addressed individually on this page.
</p>
</div>
</div>
</div>
</div>

280
app/views/changes/houdini.html Executable file
View File

@ -0,0 +1,280 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-sm-10 col-lg-8 mx-auto p-2 p-md-3 p-lg-4 rounded shadow-sm context-main-bg">
<div class="card context-main-bg context-main border-0">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries/houdini" class="text-decoration-none">
Houdini
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Changes
</li>
</ol>
</nav>
<div class="card-body text-center text-lg-start">
<h5 class="card-title">Houdini Changes</h5>
<p class="card-text">
Here you can find a simple list of the important changes made to the Houdini library.
</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">2.0.3 <span class="badge text-bg-success">Latest</span></p>
</div>
<div class="col-9">
<ul>
<li>Comments and readme updates</li>
<li>Improved Navigation display for Bootstrap 5</li>
<li>Improved active page select for Bootstrap 5</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/2.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">2.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Improved Navigation display for Bootstrap 5</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/2.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">2.0.1</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/2.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">2.0</p>
</div>
<div class="col-9">
<ul>
<li>Improved issue display</li>
<li>Add component::prepend</li>
<li>Add switches to form html</li>
<li>Updated form html to Bootstrap 5</li>
<li>Updated navigation html to Bootstrap 5</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/2.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.8</p>
</div>
<div class="col-9">
<ul>
<li>Added setIfNull to components</li>
<li>Composer updates</li>
<li>Re-integrated CustomExceptions</li>
<li>Various filter updates to fix long-standing bugs and improve reliability.</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.8" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.7</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Gitlab CI fixes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.7" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.6</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Gitlab CI additions</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.6" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.5</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.5" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.4</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.3</p>
</div>
<div class="col-9">
<ul>
<li>Naming Convention Changes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.3" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0.1</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">1.0</p>
</div>
<div class="col-9">
<ul>
<li>Initial Release</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/houdini/-/tags/1.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
</ul>
<div class="card-body">
<p class="text-center text-lg-start">
Houdini actually began its life as part of TempusProjectCore on <a href="https://github.com/TheTempusProject/TempusProjectCore" class="text-decoration-none">Github</a>.
On March 18, 2018 the latest released tag was <strong>2.1.0</strong>.
Over the years this code has remained dormant, then received a ton of attention, then been forgotten again.
For most intents, this is the same code, just being actively developed.
Once TempusProjectCore got large enough, it became clear that the front-end needed some hard separation from the backend.
Over the years, this has morphed into several individual and distinct libraries.
The front-end is Houdini and all back-end code is handled by a series of more specialized libraries.
</p>
<p class="text-muted text-center">
Not all changes may be addressed individually on this page.
</p>
<div class="text-center py-3">
<a href="#top" class="btn btn-outline-primary">Back to Top</a>
</div>
</div>
</div>
</div>
</div>

482
app/views/changes/ttp.html Normal file
View File

@ -0,0 +1,482 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-sm-10 col-lg-8 mx-auto p-2 p-md-3 p-lg-4 rounded shadow-sm context-main-bg">
<div class="card context-main-bg context-main border-0">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries/ttp" class="text-decoration-none">
TheTempusProject
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Changes
</li>
</ol>
</nav>
<div class="card-body text-center text-lg-start">
<h5 class="card-title">TheTempusProject Changes</h5>
<p class="card-text">
Here you can find a simple list of the important changes made to the Houdini library.
</p>
</div>
<ul class="list-group list-group-flush">
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">5.0 <span class="badge text-bg-success">Latest</span></p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/4.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">4.0.4</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>UI Improvements</li>
<li>Added Contact list to dash</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/4.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">4.0.3</p>
</div>
<div class="col-9">
<ul>
<li>Installer fixes for missing config values</li>
<li>Added new-registrations toggle</li>
<li>Added redirects link to main menu</li>
<li>UserCP uploads bugfix</li>
<li>Routes bugfix</li>
<li>SendMail bugfix</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/4.0.3" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">4.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Removed unused code</li>
<li>Install-Complete bugfix</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/4.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">4.0.1</p>
</div>
<div class="col-9">
<ul>
<li>DarkMode Added</li>
<li>Default-group bugfix</li>
<li>Notifications and Messages access better communicated.</li>
<li>Various UI improvements</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/4.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">4.0</p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/4.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.17</p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.17" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.16</p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.16" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.15</p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.15" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.14</p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.14" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.13</p>
</div>
<div class="col-9">
<ul>
<li>sssssssss</li>
<li>Readme update</li>
</ul>
<p class="text-muted">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.13" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.12</p>
</div>
<div class="col-9">
<ul>
<li>Cleanup</li>
<li>Composer updates</li>
<li>License update</li>
<li>Readme update</li>
<li>Docker updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.12" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.11</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.11" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.10</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Installer bugfixes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.10" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.9</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Gitignore addition</li>
<li>Plugin bugfixes</li>
<li>Installer bugfixes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.9" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.8</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Gitlab CI additions</li>
<li>Installer Bugfixes</li>
<li>Cleanup</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.8" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.7</p>
</div>
<div class="col-9">
<ul>
<li>Installer Bugfixes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.7" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.6</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.6" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.5</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Naming Convention Changes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.5" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.4</p>
</div>
<div class="col-9">
<ul>
<li>Constant changes to support autoloading</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.4" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.3</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
<li>Naming Fixes</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.3" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.2</p>
</div>
<div class="col-9">
<ul>
<li>Composer updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.2" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0.1</p>
</div>
<div class="col-9">
<ul>
<li>Add Composer lock file</li>
<li>Gitignore additions</li>
<li>Cleanup</li>
<li>Token Bugfix</li>
<li>Docker updates</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2"href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0.1" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
<li class="list-group-item context-main-bg context-main context-main-border">
<div class="row">
<div class="col-3">
<p class="h5">3.0</p>
</div>
<div class="col-9">
<ul>
<li>Initial Release</li>
</ul>
<p class="text-center">
<a class="btn btn-md btn-outline-primary mt-2" href="https://git.thetempusproject.com/the-tempus-project/TheTempusProject/-/tags/3.0" target="_blank">
<span class="fa-brands fa-fw fa-gitlab"></span> Tag
</a>
</p>
</div>
</div>
</li>
</ul>
<div class="card-body">
<p class="text-center text-lg-start">
Bedrock actually began its life on <a href="https://github.com/TheTempusProject/TheTempusProject" class="text-decoration-none">Github</a>.
On March 18, 2018 the latest released tag was <strong>2.1.0</strong>.
Over the years this code has remained dormant, then received a ton of attention, then been forgotten again.
For most intents, this is the same code, just being actively developed.
</p>
<p class="text-muted text-center">
Not all changes may be addressed individually on this page.
</p>
<div class="text-center py-3">
<a href="#top" class="btn btn-outline-primary">Back to Top</a>
</div>
</div>
</div>
</div>
</div>

41
app/views/deps/bedrock.html Executable file
View File

@ -0,0 +1,41 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-md-10 col-lg-8 mx-auto p-4 context-main-bg">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Bedrock
</li>
</ol>
</nav>
<div class="container col-xxl-8">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6 mx-auto mx-lg-0">
<img src="{ROOT_URL}images/bedrock.jpg" class="d-block mx-lg-auto img-fluid rounded" alt="Bootstrap Themes" width="700" height="300" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-5 fw-bold lh-1 mb-3">Bedrock</h1>
<p class="lead">
Bedrock, as the name may suggest, is the core functionality the project is built on.
From Basic text checks to the core functionality behind models and controllers, bedrock handles it all.
</p>
<div class="d-flex justify-content-center justify-content-lg-start">
<a href="/libraries/bedrock/git" class="btn btn-primary px-3 btn-lg m-2">
Git
</a>
<a href="/libraries/bedrock/packagist" class="btn btn-outline-primary px-3 m-2 btn-lg">
Packagist
</a>
</div>
</div>
</div>
</div>
<p class="text-center text-muted">
For a list of recent changes, please check <a href="/libraries/bedrock/changes" class="text-decoration-none">here</a>.
</p>
</div>
</div>

41
app/views/deps/canary.html Executable file
View File

@ -0,0 +1,41 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-md-10 col-lg-8 mx-auto p-4 context-main-bg">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Canary
</li>
</ol>
</nav>
<div class="container col-xxl-8">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6 mx-auto mx-lg-0">
<img src="{ROOT_URL}images/canary.jpg" class="d-block mx-lg-auto img-fluid rounded" alt="Bootstrap Themes" width="700" height="300" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-5 fw-bold lh-1 mb-3">Canary</h1>
<p class="lead">
Canary is a library that allows {SITENAME} to add logs during execution.
The resulting logs can be printed to the browser console in real-time, saved to a log file, or even used on-page for debugging.
</p>
<div class="d-flex justify-content-center justify-content-lg-start">
<a href="/libraries/canary/git" class="btn btn-primary px-3 btn-lg m-2">
Git
</a>
<a href="/libraries/canary/packagist" class="btn btn-outline-primary px-3 m-2 btn-lg">
Packagist
</a>
</div>
</div>
</div>
</div>
<p class="text-center text-muted">
For a list of recent changes, please check <a href="/libraries/canary/changes" class="text-decoration-none">here</a>.
</p>
</div>
</div>

41
app/views/deps/hermes.html Executable file
View File

@ -0,0 +1,41 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-md-10 col-lg-8 mx-auto p-4 context-main-bg">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Hermes
</li>
</ol>
</nav>
<div class="container col-xxl-8">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6 mx-auto mx-lg-0">
<img src="{ROOT_URL}images/hermes.jpg" class="d-block mx-lg-auto img-fluid rounded" alt="Bootstrap Themes" width="700" height="300" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-5 fw-bold lh-1 mb-3">Hermes</h1>
<p class="lead">
Hermes is a simple library that provides a small set of commonly used helper functions.
These functions primarily help with navigating the url or file systems in a consistent way across several libraries and projects.
</p>
<div class="d-flex justify-content-center justify-content-lg-start">
<a href="/libraries/hermes/git" class="btn btn-primary px-3 btn-lg m-2">
Git
</a>
<a href="/libraries/hermes/packagist" class="btn btn-outline-primary px-3 m-2 btn-lg">
Packagist
</a>
</div>
</div>
</div>
</div>
<p class="text-center text-muted">
For a list of recent changes, please check <a href="/libraries/hermes/changes" class="text-decoration-none">here</a>.
</p>
</div>
</div>

41
app/views/deps/houdini.html Executable file
View File

@ -0,0 +1,41 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-md-10 col-lg-8 mx-auto p-4 context-main-bg">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
Houdini
</li>
</ol>
</nav>
<div class="container col-xxl-8">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6 mx-auto mx-lg-0">
<img src="{ROOT_URL}images/houdini.jpg" class="d-block mx-lg-auto img-fluid rounded" alt="Bootstrap Themes" width="700" height="300" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-5 fw-bold lh-1 mb-3">Houdini</h1>
<p class="lead">
Houdini is where the front-end magic happens and it serves as the primary front-end html generator.
It handles the storage and applications of frontend components, all the views, templates, and several other critical features of the front-end.
</p>
<div class="d-flex justify-content-center justify-content-lg-start">
<a href="/libraries/houdini/git" class="btn btn-primary px-3 btn-lg m-2">
Git
</a>
<a href="/libraries/houdini/packagist" class="btn btn-outline-primary px-3 m-2 btn-lg">
Packagist
</a>
</div>
</div>
</div>
</div>
<p class="text-center text-muted">
For a list of recent changes, please check <a href="/libraries/houdini/changes" class="text-decoration-none">here</a>.
</p>
</div>
</div>

58
app/views/deps/index.html Executable file
View File

@ -0,0 +1,58 @@
<div class="m-2 m-lg-4">
<div class="col-12 mx-5 col-sm-10 col-lg-8 mx-auto p-4 rounded shadow-sm context-main-bg">
<h2 class="text-center mb-4">{SITENAME} Libraries</h2>
<hr>
<p class="lead">
{SITENAME} uses a number of libraries developed in conjunction with the main project. Here you can find a list of these libraries with more information on each.
</p>
<div class="container p-2 p-md-4" id="custom-cards">
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 align-items-center justify-content-center g-2 g-md-4">
<div class="col">
<a href="/libraries/bedrock" class="text-decoration-none">
<div class="card card-cover overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{ROOT_URL}images/bedrock.jpg'); height: 300px;">
<div class="d-flex flex-column p-2 p-md-3 p-lg-3">
<h3 class="h4 lh-1 fw-bold text-dark">Bedrock</h3>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/libraries/canary" class="text-decoration-none">
<div class="card card-cover overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{ROOT_URL}images/canary.jpg'); height: 300px;">
<div class="d-flex flex-column p-2 p-md-3 p-lg-3">
<h3 class="h4 lh-1 fw-bold text-dark">Canary</h3>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/libraries/hermes" class="text-decoration-none">
<div class="card card-cover overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{ROOT_URL}images/hermes.jpg'); height: 300px;">
<div class="d-flex flex-column p-2 p-md-3 p-lg-3">
<h3 class="h4 lh-1 fw-bold text-dark">Hermes</h3>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/libraries/houdini" class="text-decoration-none">
<div class="card card-cover overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{ROOT_URL}images/houdini.jpg'); height: 300px;">
<div class="d-flex flex-column p-2 p-md-3 p-lg-3">
<h3 class="h4 lh-1 fw-bold text-dark">Houdini</h3>
</div>
</div>
</a>
</div>
<div class="col">
<a href="/libraries/ttp" class="text-decoration-none">
<div class="card card-cover overflow-hidden text-bg-dark rounded-4 shadow-lg" style="background-image: url('{ROOT_URL}images/logoLarge.jpg'); height: 300px;">
<div class="d-flex flex-column p-2 p-md-3 p-lg-3">
<h3 class="h4 lh-1 fw-bold text-light">The Tempus Project</h3>
</div>
</div>
</a>
</div>
</div>
</div>
</div>
</div>

40
app/views/deps/ttp.html Normal file
View File

@ -0,0 +1,40 @@
<div class="m-2 m-lg-4">
<div class="col-12 col-md-10 col-lg-8 mx-auto p-4 context-main-bg">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{ROOT_URL}libraries" class="text-decoration-none">
Libraries
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">
The Tempus Project
</li>
</ol>
</nav>
<div class="container col-xxl-8">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6 mx-auto mx-lg-0">
<img src="{ROOT_URL}images/logoLarge.jpg" class="d-block mx-lg-auto img-fluid rounded" alt="Bootstrap Themes" width="700" height="300" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-5 fw-bold lh-1 mb-3">The Tempus Project</h1>
<p class="lead">
The Tempus Project is the main repo housing the web application. Essentially the app you are using right now.
</p>
<div class="d-flex justify-content-center justify-content-lg-start">
<a href="/libraries/ttp/git" class="btn btn-primary px-3 btn-lg m-2">
Git
</a>
<a href="/libraries/ttp/packagist" class="btn btn-outline-primary px-3 m-2 btn-lg">
Packagist
</a>
</div>
</div>
</div>
</div>
<p class="text-center text-muted">
For a list of recent changes, please check <a href="/libraries/ttp/changes" class="text-decoration-none">here</a>.
</p>
</div>
</div>

15
app/views/email/foot.html Executable file
View File

@ -0,0 +1,15 @@
<td width="37" style="text-align: center; padding: 0 10px 0 10px;">
<a href="{ROOT_ADDRESS}fb">
<img src="{ROOT_ADDRESS}images/facebook.png" width="37" height="37" alt="Facebook" border="0" style="height: auto;">
</a>
</td>
<td width="37" style="text-align: center; padding: 0 10px 0 10px;">
<a href="{ROOT_ADDRESS}">
<img src="{ROOT_ADDRESS}images/logoWhite.png" width="37" height="37" alt="{SITENAME}" border="0" style="height: auto;">
</a>
</td>
<td width="37" style="text-align: center; padding: 0 10px 0 10px;">
<a href="{ROOT_ADDRESS}twitter">
<img src="{ROOT_ADDRESS}images/twitter.png" width="37" height="37" alt="Twitter" border="0" style="height: auto;">
</a>
</td>

37
app/views/email/head.html Executable file
View File

@ -0,0 +1,37 @@
<td class="header" bgcolor="#b5e6ff">
<table width="70" align="left" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="70" style="padding: 0 20px 20px 0;">
<img src="{ROOT_ADDRESS}{LOGO}" width="70" height="70" border="0" alt="" / >
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
<table width="425" align="left" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<![endif]-->
<table class="col425" align="left" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 425px;">
<tr>
<td height="70">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="subhead" style="padding: 0 0 0 3px;">
{BASE}
</td>
</tr>
<tr>
<td class="h1" style="padding: 5px 0 0 0;">
{SITENAME}
</td>
</tr>
</table>
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
</td>

203
app/views/email/template.html Executable file
View File

@ -0,0 +1,203 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{SITENAME}</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
min-width: 100%!important;
}
.content {
width: 100%;
max-width: 600px;
}
.header {
padding: 40px 30px 20px 30px;
}
.subhead {
font-size: 15px;
color: rgb(255, 255, 255);
font-family: sans-serif;
letter-spacing: 10px;
}
.h1 {
font-size: 33px;
line-height: 38px;
font-weight: bold;
}
.h1, .h2, .bodycopy {
color: rgb(21, 54, 67);
font-family: sans-serif;
}
.innerpadding {
padding: 30px 30px 30px 30px;
}
.borderbottom {
border-bottom: 1px solid rgb(242, 238, 237);
}
.h2 {
padding: 0 0 15px 0;
font-size: 24px;
line-height: 28px;
font-weight: bold;
}
.bodycopy {
font-size: 16px;
line-height: 22px;
}
.button {
text-align: center;
font-size: 18px;
font-family: sans-serif;
font-weight: bold;
padding: 0 30px 0 30px;
}
.button a {
color: rgb(255, 255, 255);
text-decoration: none;
}
img {
height: auto;
}
.footer {
padding: 20px 30px 15px 30px;
}
.footercopy {
font-family: sans-serif;
font-size: 14px;
color: rgb(255, 255, 255);
}
.footercopy a {
color: rgb(255, 255, 255);
text-decoration: underline;
}
@media only screen and (max-width: 550px), screen and (max-device-width: 550px) {
.buttonwrapper {
background-color: transparent!important;
}
.button a {
background-color: #e05443;
padding: 15px 15px 13px!important;
display: block!important;
}
.hide {
display: none!important;
}
.unsubscribe {
display: block; margin-top: 20px;
padding: 10px 50px;
background: #2f3942;
border-radius: 5px;
text-decoration: none!important;
font-weight: bold;
}
}
@media only screen and (min-device-width: 601px) {
.content {
width: 600px !important;
}
.col425 {
width: 425px!important;
}
.col380 {
width: 380px!important;
}
}
</style>
</head>
<body bgcolor="#f6f8f1" style="margin: 0;padding: 0;min-width: 100%!important;">
<!--[if (gte mso 9)|(IE)]>
<table width="600" align="center" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<![endif]-->
<table class="content" align="center" cellpadding="0" cellspacing="0" border="0" style="width: 100%;max-width: 600px;">
<!-- Mail Header -->
<tr>
<td class="header" bgcolor="#b5e6ff" style="padding: 40px 30px 20px 30px;">
<table width="70" align="left" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="70" style="padding: 0 20px 20px 0;">
<img src="{ROOT_ADDRESS}{LOGO}" width="70" height="70" border="0" alt="" style="height: auto;">
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
<table width="425" align="left" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<![endif]-->
<table class="col425" align="left" border="0" cellpadding="0" cellspacing="0" style="width: 100%; max-width: 425px;">
<tr>
<td height="70">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="subhead" style="padding: 0 0 0 3px; font-size: 15px; color: rgb(255, 255, 255); font-family: sans-serif;letter-spacing: 5px;">
{BASE}
</td>
</tr>
<tr>
<td class="h1" style="padding: 5px 0 0 0; font-size: 33px; line-height: 38px; font-weight: bold; color: rgb(21, 54, 67);font-family: sans-serif;">
{SITENAME}
</td>
</tr>
</table>
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
</td>
</tr>
<!-- Mail Body -->
<tr>
<td class="innerpadding borderbottom" bgcolor="#f9fdff" style="padding: 30px 30px 30px 30px; border-bottom: 1px solid rgb(242, 238, 237);">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="h2" style="color: rgb(21, 54, 67); font-family: sans-serif; padding: 0 0 15px 0;font-size: 24px; line-height: 28px;font-weight: bold;">
{MAIL_TITLE}
</td>
</tr>
<tr>
<td class="bodycopy" style="color: rgb(21, 54, 67); font-family: sans-serif; font-size: 16px; line-height: 22px;">
{MAIL_BODY}
</td>
</tr>
</table>
</td>
</tr>
<!-- Mail Footer -->
<tr>
<td class="footer" bgcolor="#44525f" style="padding: 20px 30px 15px 30px;">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" class="footercopy" style="font-family: sans-serif; font-size: 14px; color: rgb(255, 255, 255);">
&copy; {SITENAME}, Powered by TheTempusProject<br>
{UNSUB}
</td>
</tr>
<tr>
<td align="center" style="padding: 20px 0 0 0;">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
{MAIL_FOOT}
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
<![endif]-->
</body>
</html>

View File

@ -0,0 +1,2 @@
<a href="{ROOT_ADDRESS}home/unsubscribe/{EMAIL}/{PARAMS}" class="unsubscribe" style="color: rgb(255, 255, 255);text-decoration: underline;"><font color="rgb(255, 255, 255)">Unsubscribe</font></a>
<span class="hide">from this newsletter instantly</span>

21
app/views/errors/533.html Executable file
View File

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Htaccess and Installer sre Missing!</title>
</head>
<body>
<main>
<h1>Installation Error</h1>
<h2>One or more critical files is missing.</h2>
<p>TheTempusProject uses certain methods to route traffic for the application. Currently one or more of these critical files is missing and the application is unable to recover.</p>
<h3>The installer is missing.</h3>
<h3>The Tempus Project .htaccess is missing.</h3>
<p>TheTempusProject uses htaccess files for running the application. Without this file, there is no way to process requests.</p>
</main>
</body>
</html>

19
app/views/errors/autoload.html Executable file
View File

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Autoloader Missing</title>
</head>
<body>
<main>
<h1>Autoloader Not Found</h1>
<h2>One or more critical files is missing.</h2>
<h3>The composer autoload.php is missing.</h3>
<p>TheTempusProject uses the composer auto-loader to download update and serve libraries for its proper execution. Please make sure you have run the composer installer before continuing. Please see composer.org for more information.</p>
<h3>The Tempus Project autoload.php is missing.</h3>
<p>In cases where the composer autoloader cannot be used, one is provided in the bin directory. Please use this as an alternative to composer if needed.</p>
</main>
</body>
</html>

3
app/views/errors/generic.html Executable file
View File

@ -0,0 +1,3 @@
<h1>Error :(</h1>
<h2>The application has encountered an unknown error and terminated early.</h2>
<p>Please try again and if the issue persists, report it using our bug-report form. A link to the form can be found at the bottom of the page.</p>

View File

@ -0,0 +1,3 @@
<h1>File Not Found</h1>
<h2>Uploaded file missing.</h2>
<p>Unable to locate specific file.</p>

67
app/views/faq.html Executable file
View File

@ -0,0 +1,67 @@
<div class="m-2 m-lg-4">
<div class="context-main-bg container py-2 my-2 py-lg-4 my-lg-4">
<h2 class="text-center mb-4">Frequently Asked Questions</h2>
<hr>
<!-- Table of Contents -->
<div class="mb-4">
<h2 class="h4 text-primary">General Questions</h2>
<ul class="list-unstyled">
<li><a href="#generalHeading1" class="text-decoration-none context-main" data-bs-toggle="collapse" data-bs-target="#collapse1">Does {SITENAME} work on mobile?</a></li>
<li><a href="#generalHeading2" class="text-decoration-none context-main" data-bs-toggle="collapse" data-bs-target="#collapse2">Does {SITENAME} work on Mac/PC/Linux?</a></li>
<li><a href="#generalHeading3" class="text-decoration-none context-main" data-bs-toggle="collapse" data-bs-target="#collapse3">How much does {SITENAME} cost?</a></li>
</ul>
</div>
<!-- Accordion for General Questions -->
<div class="accordion mb-5" id="generalAccordion">
<div class="accordion-item">
<h2 class="accordion-header context-second-bg" id="generalHeading1">
<button class="accordion-button context-main context-main-bg collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse1" aria-expanded="false" aria-controls="collapse1">
Does {SITENAME} work on mobile?
</button>
</h2>
<div id="collapse1" class="accordion-collapse collapse" aria-labelledby="generalHeading1" data-bs-parent="#generalAccordion">
<div class="ml-5 accordion-body context-main context-other-bg" id="general1">
<span class="text-lead">
Yes, {SITENAME} is a responsive web-app and it works seamlessly on mobile devices.
The front-end is powered by Bootstrap 5.2.3 the original design system used by twitter.
In addition to the powerful tools behind the scenes, every page on {SITENAME} has been tested to work on devices of all sizes.
</span>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header context-main context-second-bg" id="generalHeading2">
<button class="accordion-button context-main context-main-bg collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse2" aria-expanded="false" aria-controls="collapse2">
Does {SITENAME} work on Mac/PC/Linux?
</button>
</h2>
<div id="collapse2" class="accordion-collapse collapse" aria-labelledby="generalHeading2" data-bs-parent="#generalAccordion">
<div class="accordion-body context-main context-other-bg" id="general2">
<span class="text-lead">
Yes, in more ways than one.
Since {SITENAME} is designed as a responsive web-app, its accessible from any browser connected to the internet.
Behind the scenes, the app can be installed on any server hardware and has been tested with both nginx and Apache web-servers.
</span>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header context-main context-second-bg" id="generalHeading3">
<button class="accordion-button context-main context-main-bg collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse3" aria-expanded="false" aria-controls="collapse3">
How much does {SITENAME} cost?
</button>
</h2>
<div id="collapse3" class="accordion-collapse collapse" aria-labelledby="generalHeading3" data-bs-parent="#generalAccordion">
<div class="accordion-body context-main context-other-bg" id="general3">
<span class="text-lead">
{SITENAME} is open source and available free of charge through <a href="{ROOT_URL}libraries/ttp/git" class="text-decoration-none">GitLab</a> and <a href="{ROOT_URL}libraries/ttp/packagist" class="text-decoration-none">Packagist</a>.
The developer behind the project is <a href="https://joeykimsey.com/" class="text-decoration-none">Joey Kimsey</a> and he can be contacted through his website for development services.
</span>
</div>
</div>
</div>
</div>
</div>
</div>

8
app/views/footer/center.html Executable file
View File

@ -0,0 +1,8 @@
<div class="col-12 col-sm-6 col-md-3 col-lg-2 mb-3 text-center">
<h5>More Info</h5>
<ul class="nav flex-column">
{LOOP}
<li class="nav-item mb-2"><a href="{url}" class="nav-link p-0 text-muted">{text}</a></li>
{/LOOP}
</ul>
</div>

25
app/views/footer/container.html Executable file
View File

@ -0,0 +1,25 @@
<div class="container mt-auto">
<footer class="pt-4">
<!-- Footer Toggle Button (Visible on Small Screens) -->
<div class="text-center border-top context-main-border">
<button class="d-md-none my-3 btn btn-lg context-main context-main-border" type="button" data-bs-toggle="collapse" data-bs-target="#footerMenu" aria-controls="footerMenu" aria-expanded="false" aria-label="Toggle footer navigation">
<i class="fa fa-bars"></i>
</button>
</div>
<!-- Collapsible Footer Content -->
<div class="collapse d-md-block my-4" id="footerMenu">
<div class="row">
{FOOTER_LEFT}
{FOOTER_CENTER}
{FOOTER_RIGHT}
</div>
</div>
<!-- Copy & Social (Always Visible) -->
<div class="d-flex flex-column flex-md-row justify-content-md-between py-3 border-top context-main-border">
{COPY}
{SOCIAL}
</div>
</footer>
</div>

3
app/views/footer/copy.html Executable file
View File

@ -0,0 +1,3 @@
<div class="d-flex justify-content-center justify-content-md-start text-center text-md-start">
<span>© 2025 {SITENAME}, Powered by <a href="https://thetempusproject.com" class="text-decoration-none">The Tempus Project</a></span>
</div>

11
app/views/footer/left.html Executable file
View File

@ -0,0 +1,11 @@
<div class="col-12 col-sm-6 col-md-3 col-lg-2 mb-3 text-center">
<h5>Contact Us</h5>
<ul class="nav flex-column">
{LOOP}
<li class="nav-item mb-2"><a href="{url}" class="nav-link p-0 text-muted">{text}</a></li>
{/LOOP}
{ALT}
<li class="nav-item mb-2"></li>
{/ALT}
</ul>
</div>

7
app/views/footer/right.html Executable file
View File

@ -0,0 +1,7 @@
<div class="col-12 col-sm-6 col-md-3 col-lg-2 mb-3 text-center">
<h5>Dark Mode</h5>
<div class="material-switch px-4 mt-2">
<input name="dark-mode-toggle" type="checkbox" id="dark-mode-toggle" class="form-check-input">
<label for="dark-mode-toggle" class="label-default"></label>
</div>
</div>

29
app/views/footer/social.html Executable file
View File

@ -0,0 +1,29 @@
<div class="d-flex justify-content-center justify-content-md-end mt-3 mt-md-0">
<ul class="list-unstyled d-flex mb-0">
<li class="ms-3">
<a class="context-main" href="{ROOT_URL}fb">
<span class="fa-brands fa-fw fa-facebook"></span>
</a>
</li>
<li class="ms-3">
<a class="context-main" href="{ROOT_URL}twitter">
<span class="fa-brands fa-fw fa-twitter"></span>
</a>
</li>
<li class="ms-3">
<a class="context-main" href="{ROOT_URL}in">
<span class="fa-brands fa-fw fa-linkedin"></span>
</a>
</li>
<li class="ms-3">
<a class="context-main" href="{ROOT_URL}youtube">
<span class="fa-brands fa-fw fa-youtube"></span>
</a>
</li>
<li class="ms-3">
<a class="context-main" href="{ROOT_URL}git">
<span class="fa-brands fa-fw fa-github"></span>
</a>
</li>
</ul>
</div>

View File

@ -0,0 +1,17 @@
<select id="color" name="color" class="form-control custom-select" value="{color}">
<option class="white" value="default">Default</option>
<option class="primary" value="primary">Blue</option>
<option class="success" value="success">Green</option>
<option class="info" value="info">Light Blue</option>
<option class="warning" value="warning">Yellow</option>
<option class="danger" value="danger">Red</option>
<option class="white" value="none">None</option>
</select>
<script>
document.getElementById('color').addEventListener('change', function() {
var container = document.getElementById('color');
var selectedClass = this.options[this.selectedIndex].className;
console.log( 'change color to: ' + selectedClass );
container.className = 'form-control custom-select ' + selectedClass;
});
</script>

View File

@ -0,0 +1,17 @@
Folder: <strong>{FOLDER_SELECT_ROOT}</strong>
<div class="list-group mx-0 mx-auto">
{LOOP}
<label class="list-group-item d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<input class="form-check-input me-2" type="radio" name="folderSelect" value="{location}" data-bs-toggle="collapse" data-bs-target="#top-{folderName}">
<span>
{folderName}
</span>
</div>
{folderexpand}
</label>
<div id="top-{folderName}" class="collapse">
{subdirs}
</div>
{/LOOP}
</div>

View File

@ -0,0 +1,6 @@
<label class="list-group-item">
<input class="form-check-input me-2" type="radio" name="folderSelect" value="{location}">
<span>
{folderName}
</span>
</label>

View File

@ -0,0 +1,14 @@
{LOOP}
<label class="list-group-item d-flex justify-content-between align-items-center">
<div class="d-flex align-items-center">
<input class="form-check-input me-2" type="radio" name="folderSelect" value="{location}" data-bs-toggle="collapse" data-bs-target="#{parentfolderName}-{folderName}">
<span>
{folderName}
</span>
</div>
{folderexpand}
</label>
<div id="{parentfolderName}-{folderName}" class="collapse">
{subdirs}
</div>
{/LOOP}

51
app/views/forms/iconSelect.html Executable file
View File

@ -0,0 +1,51 @@
<div id="selected-icon">No icon selected</div>
<button class="btn btn-default dropdown-toggler" type="button" id="iconMenu" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Select Icon <span class="caret"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="iconMenu">
<li><a href="#" onclick="setIcon('asterisk', 'Asterisk')"><span class="glyphicon glyphicon-asterisk"></span> Asterisk</a></li>
<li><a href="#" onclick="setIcon('plus', 'Plus')"><span class="glyphicon glyphicon-plus"></span> Plus</a></li>
<li><a href="#" onclick="setIcon('cloud', 'Cloud')"><span class="glyphicon glyphicon-cloud"></span> Cloud</a></li>
<li><a href="#" onclick="setIcon('envelope', 'Envelope')"><span class="fa fa-fw fa-envelope"></span> Envelope</a></li>
<li><a href="#" onclick="setIcon('pencil', 'Pencil')"><span class="fa fa-fw fa-pencil"></span> Pencil</a></li>
<li><a href="#" onclick="setIcon('film', 'Film')"><span class="glyphicon glyphicon-film"></span> Film</a></li>
<li><a href="#" onclick="setIcon('star', 'Star')"><span class="glyphicon glyphicon-star"></span> Star</a></li>
<li><a href="#" onclick="setIcon('star-empty', 'Star Empty')"><span class="glyphicon glyphicon-star-empty"></span> Star Empty</a></li>
<li><a href="#" onclick="setIcon('remove', 'Remove')"><span class="fa fa-fw fa-times"></span> Remove</a></li>
<li><a href="#" onclick="setIcon('ok', 'Ok')"><span class="glyphicon glyphicon-ok"></span> Ok</a></li>
<li><a href="#" onclick="setIcon('th-large', 'Th Large')"><span class="glyphicon glyphicon-th-large"></span> Th Large</a></li>
<li><a href="#" onclick="setIcon('home', 'Home')"><span class="glyphicon glyphicon-home"></span> Home</a></li>
<li><a href="#" onclick="setIcon('time', 'Time')"><span class="glyphicon glyphicon-time"></span> Time</a></li>
<li><a href="#" onclick="setIcon('repeat', 'Repeat')"><span class="glyphicon glyphicon-repeat"></span> Repeat</a></li>
<li><a href="#" onclick="setIcon('barcode', 'Barcode')"><span class="glyphicon glyphicon-barcode"></span> Barcode</a></li>
<li><a href="#" onclick="setIcon('flag', 'Flag')"><span class="glyphicon glyphicon-flag"></span> Flag</a></li>
<li><a href="#" onclick="setIcon('hdd', 'HDD')"><span class="glyphicon glyphicon-hdd"></span> HDD</a></li>
<li><a href="#" onclick="setIcon('play', 'Play')"><span class="glyphicon glyphicon-play"></span> Play</a></li>
<li><a href="#" onclick="setIcon('tags', 'Tags')"><span class="glyphicon glyphicon-tags"></span> Tags</a></li>
<li><a href="#" onclick="setIcon('camera', 'Camera')"><span class="glyphicon glyphicon-camera"></span> Camera</a></li>
<li><a href="#" onclick="setIcon('book', 'Book')"><span class="glyphicon glyphicon-book"></span> Book</a></li>
<li><a href="#" onclick="setIcon('wrench', 'Wrench')"><span class="glyphicon glyphicon-wrench"></span> Wrench</a></li>
<li><a href="#" onclick="setIcon('cd', 'CD')"><span class="glyphicon glyphicon-cd"></span> CD</a></li>
<li><a href="#" onclick="setIcon('blackboard', 'Blackboard')"><span class="glyphicon glyphicon-blackboard"></span> Blackboard</a></li>
<li><a href="#" onclick="setIcon('headphones', 'Headphones')"><span class="glyphicon glyphicon-headphones"></span> Headphones</a></li>
<li><a href="#" onclick="setIcon('usd', 'USD')"><span class="glyphicon glyphicon-usd"></span> USD</a></li>
<li><a href="#" onclick="setIcon('info-sign', 'Info Sign')"><span class="fa fa-fw fa-info-circle"></span> Info Sign</a></li>
<li><a href="#" onclick="setIcon('scissors', 'Scissors')"><span class="glyphicon glyphicon-scissors"></span> Scissors</a></li>
<li><a href="#" onclick="setIcon('hourglass', 'Hourglass')"><span class="glyphicon glyphicon-hourglass"></span> Hourglass</a></li>
<li><a href="#" onclick="setIcon('pushpin', 'Pushpin')"><span class="glyphicon glyphicon-pushpin"></span> Pushpin</a></li>
<li><a href="#" onclick="setIcon('folder-open', 'Folder Open')"><span class="glyphicon glyphicon-folder-open"></span> Folder Open</a></li>
<li><a href="#" onclick="setIcon('flash', 'Flash')"><span class="glyphicon glyphicon-flash"></span> Flash</a></li>
<li><a href="#" onclick="setIcon('question-sign', 'Question Sign')"><span class="glyphicon glyphicon-question-sign"></span> Question Sign</a></li>
<li><a href="#" onclick="setIcon('comment', 'Comment')"><span class="fa fa-fw fa-comment"></span> Comment</a></li>
<li><a href="#" onclick="setIcon('warning-sign', 'Warning Sign')"><span class="glyphicon glyphicon-warning-sign"></span> Warning Sign</a></li>
<li><a href="#" onclick="setIcon('calendar', 'Calendar')"><span class="glyphicon glyphicon-calendar"></span> Calendar</a></li>
<li><a href="#" onclick="setIcon('thumbs-down', 'Thumbs Down')"><span class="glyphicon glyphicon-thumbs-down"></span> Thumbs Down</a></li>
<li><a href="#" onclick="setIcon('phone', 'Phone')"><span class="glyphicon glyphicon-phone"></span> Phone</a></li>
<li><a href="#" onclick="setIcon('phone-alt', 'Phone Alt')"><span class="glyphicon glyphicon-phone-alt"></span> Phone Alt</a></li>
<li><a href="#" onclick="setIcon('thumbs-up', 'Thumbs Up')"><span class="glyphicon glyphicon-thumbs-up"></span> Thumbs Up</a></li>
<li><a href="#" onclick="setIcon('globe', 'Globe')"><span class="glyphicon glyphicon-globe"></span> Globe</a></li>
<li><a href="#" onclick="setIcon('alert', 'Alert')"><span class="glyphicon glyphicon-alert"></span> Alert</a></li>
<li><a href="#" onclick="setIcon('bitcoin', 'Bitcoin')"><span class="glyphicon glyphicon-bitcoin"></span> Bitcoin</a></li>
<li><a href="#" onclick="setIcon('paperclip', 'Paperclip')"><span class="glyphicon glyphicon-paperclip"></span> Paperclip</a></li>
</ul>
<input type="hidden" id="iconValue" name="icon" value="">

145
app/views/index.html Executable file
View File

@ -0,0 +1,145 @@
<div class="pt-3 mt-4 text-center">
<img class="d-block mx-auto mb-4" src="{root_URL}images/logoWhite.png" alt="" width="72" height="57">
<h1 class="display-5 fw-bold">The Tempus Project</h1>
<div class="col-lg-6 mx-auto px-2">
<p class="lead mb-4">
{SITENAME} allows you to quickly design, develop, and customize responsive mobile-first web applications.
</p>
</div>
<div class="b-example-divider"></div>
<div class="container px-1 py-4 p-sm-4">
<p class="col-12 col-lg-8 offset-lg-2">
Utilizing our in-house <a href="/home/libraries" class="text-decoration-none">libraries</a>, {SITENAME} provides a very basic PHP web application utilizing the MVC (Model View Controller) pattern, paired with Bootstrap for a robust front-end experience. {SITENAME} can be deployed on most server architecture in seconds and can be installed and customized within minutes. Paired with Bootstrap, the world's most popular front-end open source toolkit, you have a great platform to build just about anything.
</p>
</div>
<div class="b-example-divider"></div>
<div class="container pt-3 p-sm-4" id="hanging-icons">
<h2 class="pb-2 border-bottom context-main-border">Includes many systems right oout of the box</h2>
<div class="row g-4 py-5 row-cols-1 row-cols-lg-3">
<div class="col d-flex align-items-start">
<div
class="icon-square text-bg-light d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
<i class="fa-solid fa-user"></i>
</div>
<div>
<h3 class="fs-2">User Management</h3>
<p>From new user registrations to forgotten password recovery and everything in-between, the included authentication and authorization controls can handle all your needs and include groups with highly customizable permissions systems.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<div
class="icon-square text-bg-light d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
<i class="fa-solid fa-screwdriver-wrench"></i>
</div>
<div>
<h3 class="fs-2">Administration</h3>
<p>
Everything from your sitename and timezone to notifications and emails are a breeze with the included Admin panel. Out of the box you will have direct control over most of your application and you can easily expand or add new controls as you need.
</p>
</div>
</div>
<div class="col d-flex align-items-start">
<div
class="icon-square text-bg-light d-inline-flex align-items-center justify-content-center fs-4 flex-shrink-0 me-3">
<i class="fa-regular fa-folder-open"></i>
</div>
<div>
<h3 class="fs-2">Plugins</h3>
<p>
One of the best features of {SITENAME} is the plugin functionality. Much of the system has been modeled to work as self-contained applications that work together. Many of the features available here are plugins aty their core.
</p>
</div>
</div>
</div>
</div>
<div class="b-example-divider"></div>
<div class="container pt-3 p-sm-4" id="icon-grid">
<h2 class="pb-2 border-bottom context-main-border">Plugins</h2>
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 g-4 py-5">
<div class="col d-flex align-items-start">
<i class="fa-solid fa-pen-nib fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Blog</h3>
<p>Whether its the companies transparency or your own need to share, our blog plugin makes it simple.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-solid fa-bug fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Bug Reports</h3>
<p>An unfortunate reality iis that every application has bugs, never leave your users without the ability to report them to you.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-solid fa-comment fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Comments</h3>
<p>Allowing users the opportunity to share feedback is crucial. Our comments plugin not only integrates with the blog, but many other plugins to enable users to comment on any content you want.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-solid fa-envelope fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Contact</h3>
<p>A contact form is another simple but essential tool for your business or website.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-solid fa-file fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Resume</h3>
<p>Whether you're looking for a new gig or just want an easy way for others to see your work, our resume plugin might be the key.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-solid fa-inbox fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Subscribe</h3>
<p>Building your list should always be a part of your application and services and it made as simple as can be with this plugin.</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-solid fa-list fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">WIP (Work in Progress)</h3>
<p>A light-weight and simple plugin that allows you to keep a running list of works in progress to share with site visitors..</p>
</div>
</div>
<div class="col d-flex align-items-start">
<i class="fa-brands fa-stripe fa-3x"></i>
<div class="ps-3">
<h3 class="fw-bold mb-0 fs-4">Memberships / Payments</h3>
<p>Our membership plugin integrates with Stripe to allow incredibly simple membership setup and can be easily expanded to sell any of your products.</p>
</div>
</div>
</div>
</div>
<div class="b-example-divider"></div>
<div class="container pt-3 p-sm-4">
<h2 class="pb-2 border-bottom context-main-border">Light / Dark Modes</h2>
<div class="d-lg-flex flex-lg-equal my-md-3 ps-md-3">
<div class="col-12 col-lg-6 text-bg-dark text-white col-6 text-center overflow-hidden d-flex flex-column mb-3 mb-lg-0">
<div class="my-3 py-3">
<h2 class="display-6">When you stick with the light</h2>
<p class="lead">everything looks great.</p>
</div>
<img class="bg-dark shadow-sm mx-auto d-flex mt-auto border-top border-light" src="{root_URL}images/lightMobile.png" alt="Light-mode mobile view" height="300" style="border-radius: 21px 21px 0 0;">
</div>
<div class="col-12 col-lg-6 bg-light text-dark col-6 text-center overflow-hidden d-flex flex-column">
<div class="my-3 py-3">
<h2 class="display-6">But when you go to the dark side</h2>
<p class="lead">everything is just a bit better.</p>
</div>
<img class="bg-dark shadow-sm mx-auto d-flex mt-auto border-top border-dark" src="{root_URL}images/darkMobile.png" alt="Dark-mode mobile view" height="300" style="border-radius: 21px 21px 0 0;">
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,35 @@
{installer-nav}
<div class="container">
<div class="row justify-content-center">
<div class="col-md-10 pt-4">
<form method="post">
<fieldset>
<div class="mb-3 col-md-4 offset-md-4">
<label for="newUsername" class="form-label">Username:</label>
<input class="form-control" type="text" name="newUsername" id="newUsername" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userEmail" class="form-label">Email:</label>
<input class="form-control" type="email" name="userEmail" id="userEmail" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userEmail2" class="form-label">Re-enter Email:</label>
<input class="form-control" type="email" name="userEmail2" id="userEmail2" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userPassword" class="form-label">Password:</label>
<input class="form-control" type="password" name="userPassword" id="userPassword">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userPassword2" class="form-label">Re-enter Password:</label>
<input class="form-control" type="password" name="userPassword2" id="userPassword2">
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Complete</button>
</div>
</form>
</div>
</div>
</div>

View File

@ -0,0 +1,16 @@
{installer-nav}
<div class="container">
<div class="row justify-content-center">
<div class="col-md-10">
<div class="install-terms col-lg-8 mx-auto mt-4">
{TERMS}
</div>
<div class="text-center my-4">
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">I Agree</button><br>
</form>
</div>
</div>
</div>
</div>

23
app/views/install/check.html Executable file
View File

@ -0,0 +1,23 @@
{installer-nav}
<div class="container">
<div class="row justify-content-center">
<div class="col-md-10">
<h2 class="mt-4">Requirements</h2>
<ul>
<li>PHP version greater than 5.6</li>
<li>Session storage must be enabled</li>
<li>PHP mail must be enabled.</li>
<li>Safe mode must be disabled.</li>
<li>Rewrite rule must be on</li>
<li>file uploads must be on</li>
<li>mysql_pdo must be enabled</li>
</ul>
<div class="text-center">
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Check</button><br>
</form>
</div>
</div>
</div>
</div>

32
app/views/install/complete.html Executable file
View File

@ -0,0 +1,32 @@
<div class="container py-5">
<div class="row justify-content-center">
<div class="col-lg-8 text-center">
<!-- Success Icon -->
<div class="mb-4">
<i class="fa fa-check-circle text-success display-3"></i>
</div>
<!-- Title -->
<h1 class="display-5 fw-bold text-success">Success</h1>
<!-- Subtitle -->
<h3 class="mt-3">
The Tempus Project has been successfully installed.
</h3>
<p class="lead mt-3">
You can now log in and manage your site or jump straight into building your new features!
</p>
<!-- Info Readout Placeholder -->
<p class="mt-4 text-muted">
<em>Some plugins may need additional configuration and there are already some pre-made resources to get you started. (Both in the files and the Admin Panel)</em>
</p>
<!-- Call-to-Action Buttons -->
<div class="d-flex justify-content-center gap-3 mt-4">
<a href="/home/login" class="btn btn-success btn-lg">
<i class="fa fa-sign-in-alt me-2"></i> Log In
</a>
<a href="/home/index" class="btn btn-outline-success btn-lg">
<i class="fa fa-cogs me-2"></i> Go to Homepage
</a>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,44 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10">
<legend class="my-3 text-center">Configure</legend>
<form method="post" enctype="multipart/form-data">
<fieldset>
<div class="mb-3 col-md-4 offset-md-4">
<label for="siteName" class="form-label">Site Name:</label>
<input class="form-control" type="text" name="siteName" id="siteName" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="logo" class="form-label">Logo (200 x 200px):</label>
<input class="form-control" type="file" name="logo" id="logo">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="dbPrefix" class="form-label">Database Table Prefix:</label>
<input class="form-control" type="text" name="dbPrefix" id="dbPrefix" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="dbHost" class="form-label">Database Host:</label>
<input class="form-control" type="text" name="dbHost" id="dbHost" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="dbName" class="form-label">Database Name:</label>
<input class="form-control" type="text" name="dbName" id="dbName" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="dbUsername" class="form-label">Database Username:</label>
<input class="form-control" type="text" name="dbUsername" id="dbUsername" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="dbPassword" class="form-label">Database Password:</label>
<input class="form-control" type="password" name="dbPassword" id="dbPassword">
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center mb-3">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Save</button><br>
</div>
</form>
</div>
</div>
</div>

37
app/views/install/models.html Executable file
View File

@ -0,0 +1,37 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10">
<p class="my-4">All models are required for proper installation of The Tempus Project. In this step, we will add the database tables required for these models. In the next step, you'll be able to select which plugins you would like installed.</p>
<form method="post">
<table class="table table-striped">
<thead>
<tr>
<th class="px-5" style="width: 70%">Model Name</th>
<th class="text-center" style="width: 20%">Version</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td class="px-5">{name}</td>
<td class="text-center">{version}</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td class="text-center" colspan="3">
No models to install.
</td>
</tr>
{/ALT}
</tbody>
</table>
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Install</button>
</div>
</form>
</div>
</div>
</div>

12
app/views/install/nav.html Executable file
View File

@ -0,0 +1,12 @@
<div class="nav nav-tabs justify-content-center pt-3 col-10 offset-1" id="nav-tab" role="tablist">
<button class="nav-link {menu-Welcome}" type="button" role="tab">Welcome</button>
<button class="nav-link {menu-Terms}" type="button" role="tab">Terms</button>
<button class="nav-link {menu-Verify}" type="button" role="tab">Verify</button>
<button class="nav-link {menu-Configure}" type="button" role="tab">Configure</button>
<button class="nav-link {menu-Routing}" type="button" role="tab">Routing</button>
<button class="nav-link {menu-Models}" type="button" role="tab">Models</button>
<button class="nav-link {menu-Plugins}" type="button" role="tab">Plugins</button>
<button class="nav-link {menu-Resources}" type="button" role="tab">Resources</button>
<button class="nav-link {menu-User}" type="button" role="tab">User</button>
<button class="nav-link {menu-Complete}" type="button" role="tab">Complete</button>
</div>

45
app/views/install/plugins.html Executable file
View File

@ -0,0 +1,45 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10">
<p class="my-4">
The Tempus Project was built to utilize all of the plugins provided with the installer. You can choose not to enable any one of them, but it may negatively impact the operation of your site.
</p>
<form method="post">
<table class="table table-striped">
<thead>
<tr>
<th class="px-5" style="width: 70%">Plugin Name</th>
<th class="text-center" style="width: 20%">Version</th>
<th class="text-center" style="width: 10%">
<input type="checkbox" onchange="checkAll(this)" name="check.m" value="P_[]" checked="checked">
</th>
</tr>
</thead>
<tbody>
{LOOP}
<tr>
<td class="px-5">{name}</td>
<td class="text-center">{version}</td>
<td class="text-center">
<input type="checkbox" value="{name}" name="P_[]" checked="checked">
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="3">
No models to install.
</td>
</tr>
{/ALT}
</tbody>
</table>
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center mb-3">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Install</button>
</div>
</form>
</div>
</div>
</div>

View File

@ -0,0 +1,16 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10">
<p class="my-4">
Some models such as groups will need additional database resources and configurations to function properly. In this step, we will install those features.
</p>
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center my-3">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Install Resources</button>
</div>
</form>
</div>
</div>
</div>

18
app/views/install/routing.html Executable file
View File

@ -0,0 +1,18 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10">
<p class="mt-4">The Tempus Project uses rewrites in htaccess files (Apache), or location directives (Nginx), to automatically route all incoming traffic through the app. In this step, we will help set-up and then test that the required configurations have been made.</p>
<h3>Apache Users</h3>
<p>In this step, we will attempt to generate the appropriate files for Apache servers.</p>
<h3>Nginx Users</h3>
<p>If you are using Nginx, you will need to update your server's configuration manually. Please see the documentation, for convenience, an example configuration has been provided with TheTempusProject and can be found in the app/resources directory.</p>
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center">
<button class="btn btn-lg btn-primary center-block mb-3" type="submit" name="submit" value="submit">Generate</button><br>
</div>
</form>
</div>
</div>
</div>

13
app/views/install/start.html Executable file
View File

@ -0,0 +1,13 @@
<div class="container">
<div class="row justify-content-center">
<div class="col-md-10 text-center">
{installer-nav}
<h1 class="mt-4">Welcome to The Tempus Project Installer.</h1>
<p>This installer will guide you through the process of installing and configuring The Tempus Project. Do not forget to delete this file once you have completed installation.</p>
<form action="" method="post">
<input type="hidden" name="token" value="{TOKEN}">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" id="submit" value="submit">Begin Installation</button><br>
</form>
</div>
</div>
</div>

View File

@ -0,0 +1,16 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-10">
<div class="install-terms col-lg-8 mx-auto mt-4">
{TERMS}
</div>
<div class="text-center my-4">
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<button class="btn btn-lg btn-primary center-block mb-3" type="submit" name="submit" value="submit">I Agree</button><br>
</form>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,35 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10 pt-4">
<form method="post">
<fieldset>
<div class="mb-3 col-md-4 offset-md-4">
<label for="newUsername" class="form-label">Username:</label>
<input class="form-control" type="text" name="newUsername" id="newUsername" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userEmail" class="form-label">Email:</label>
<input class="form-control" type="email" name="userEmail" id="userEmail" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userEmail2" class="form-label">Re-enter Email:</label>
<input class="form-control" type="email" name="userEmail2" id="userEmail2" value="">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userPassword" class="form-label">Password:</label>
<input class="form-control" type="password" name="userPassword" id="userPassword">
</div>
<div class="mb-3 col-md-4 offset-md-4">
<label for="userPassword2" class="form-label">Re-enter Password:</label>
<input class="form-control" type="password" name="userPassword2" id="userPassword2">
</div>
</fieldset>
<input type="hidden" name="token" value="{TOKEN}">
<div class="text-center">
<button class="btn btn-lg btn-primary center-block" type="submit" name="submit" value="submit">Complete</button>
</div>
</form>
</div>
</div>
</div>

View File

@ -0,0 +1,23 @@
<div class="context-main-bg my-3 pb-3 rounded col-10 offset-1">
{installer-nav}
<div class="row justify-content-center">
<div class="col-md-10">
<h2 class="mt-4">Requirements</h2>
<ul>
<li>PHP version greater than 5.6</li>
<li>Session storage must be enabled</li>
<li>PHP mail must be enabled.</li>
<li>Safe mode must be disabled.</li>
<li>Rewrite rule must be on</li>
<li>file uploads must be on</li>
<li>mysql_pdo must be enabled</li>
</ul>
<div class="text-center">
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<button class="btn btn-lg btn-primary center-block mb-3" type="submit" name="submit" value="submit">Check</button><br>
</form>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,17 @@
<div class="container">
<div class="row justify-content-center">
<div class="col-md-10 text-center">
<div class="context-main-bg my-3 pb-3 rounded">
{installer-nav}
<h1 class="mt-5 mb-4">Welcome to The Tempus Project Installer.</h1>
<p class="lead p-3">
This installer will guide you through the process of installing and configuring The Tempus Project. Do not forget to delete this file once you have completed installation.
</p>
<form method="post">
<input type="hidden" name="token" value="{TOKEN}">
<button class="btn btn-lg btn-primary center-block mb-3" type="submit" name="submit" id="submit" value="submit">Begin Installation</button><br>
</form>
</div>
</div>
</div>
</div>

5
app/views/issues/error.html Executable file
View File

@ -0,0 +1,5 @@
<div class="alert alert-danger w-100" role="alert">
{LOOP}
{message}<br>
{/LOOP}
</div>

5
app/views/issues/info.html Executable file
View File

@ -0,0 +1,5 @@
<div class="alert alert-info w-100" role="alert">
{LOOP}
{message}<br>
{/LOOP}
</div>

5
app/views/issues/notice.html Executable file
View File

@ -0,0 +1,5 @@
<div class="alert alert-warning w-100" role="alert">
{LOOP}
{message}<br>
{/LOOP}
</div>

5
app/views/issues/success.html Executable file
View File

@ -0,0 +1,5 @@
<div class="alert alert-success w-100" role="alert">
{LOOP}
{message}<br>
{/LOOP}
</div>

Some files were not shown because too many files have changed in this diff Show More