extensions and fixes

This commit is contained in:
Joey Kimsey
2024-12-10 09:00:35 -05:00
parent ab8a8e2c35
commit 2e789998a5
14 changed files with 850 additions and 142 deletions

View File

@ -0,0 +1,52 @@
<?php
/**
* app/controllers/extensions.php
*
* This is the extensions controller.
*
* @version 3.0
* @author Joey Kimsey <Joey@thetempusproject.com>
* @link https://TheTempusProject.com
* @license https://opensource.org/licenses/MIT [MIT LICENSE]
*/
namespace TheTempusProject\Controllers;
use TheTempusProject\Classes\Controller;
use TheTempusProject\Houdini\Classes\Views;
class Extensions extends Controller {
public function index() {
self::$title = 'Browser Extensions';
Views::view( 'extensions.index' );
}
public function chrome() {
self::$title = 'Chrome Extension';
Views::view( 'extensions.chrome' );
}
public function firefox() {
self::$title = 'Firefox Extension';
Views::view( 'extensions.firefox' );
}
public function opera() {
self::$title = 'Opera Extension';
Views::view( 'extensions.opera' );
}
public function edge() {
self::$title = 'Edge Extension';
Views::view( 'extensions.edge' );
}
public function brave() {
self::$title = 'Brave Extension';
Views::view( 'extensions.brave' );
}
public function safari() {
self::$title = 'Safari Extension';
Views::view( 'extensions.safari' );
}
}

View File

@ -86,17 +86,7 @@ class Home extends Controller {
self::$title = 'Terms and Conditions - {SITENAME}';
self::$pageDescription = '{SITENAME} Terms and Conditions of use. Please use {SITENAME} safely.';
Components::set( 'TERMS', Views::simpleView( 'terms' ) );
Views::raw( '<div class="terms-page">{TERMS}</div>' );
}
public function hashtag( $id = null ) {
self::$title = 'HashTag - {SITENAME}';
self::$pageDescription = 'HashTags for {SITENAME}';
if ( !App::$isLoggedIn ) {
return Issues::add( 'notice', 'You must be logged in to view this page.' );
}
// this should look up comments and blog posts with the hashtag in them
Views::view( 'hashtags' );
Views::raw( '<div class="terms-page col-lg-8 mx-auto">{TERMS}</div>' );
}
public function about() {

View File

@ -41,8 +41,9 @@ class Bookmarks extends ApiController {
$payload['notes'] ?? '',
$payload['color'] ?? 'default',
$payload['privacy'] ?? 'private',
'external',
$user
);
if ( ! $result ) {
$responseType = 'error';
$response = 'There was an error creating your folder.';
@ -53,4 +54,3 @@ class Bookmarks extends ApiController {
Views::view( 'api.response', ['response' => json_encode( [ $responseType => $response ], true )]);
}
}

View File

@ -58,10 +58,9 @@ class Member extends Controller {
$customer = self::$customers->findOrCreate( App::$activeUser->ID );
if ( empty( $customer ) ) {
Session::flash( 'error', 'no customer.' );
Session::flash( 'error', 'You do not have any active payment methods. You can subscribe by going <a href="/member/join/1">here</a>' );
return Redirect::to( 'member/manage' );
}
$session = $stripe->billingPortal->sessions->create([
'customer' => $customer,
'return_url' => Routes::getAddress() . 'member/manage',

View File

@ -1,9 +1,12 @@
<legend>Memberships</legend>
<table class="table table-striped">
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
<legend>Memberships</legend>
<table class="table table-striped text-center">
<thead>
<tr>
<th style="width: 25%">Name</th>
<th style="width: 20%">status</th>
<th style="width: 20%">Status</th>
<th style="width: 20%">Price</th>
<th style="width: 10%">Start</th>
<th style="width: 10%">End</th>
@ -19,17 +22,30 @@
<td>{prettyPrice}</td>
<td>{DTC=date}{current_period_start}{/DTC}</td>
<td>{DTC=date}{current_period_end}{/DTC}</td>
<td><a href="{ROOT_URL}member/pause/{ID}" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-pause"></i></a></td>
<td><a href="{ROOT_URL}member/cancel/{ID}" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></a></td>
<td>
<a href="{ROOT_URL}member/pause/{ID}" class="btn btn-sm btn-primary">
<i class="fa fa-fw fa-pause"></i>
</a>
</td>
<td>
<a href="{ROOT_URL}member/cancel/{ID}" class="btn btn-sm btn-danger">
<i class="fa fa-fw fa-times"></i>
</a>
</td>
</tr>
{/LOOP}
{ALT}
<tr>
<td align="center" colspan="6">
<td colspan="7" class="text-center">
No results to show.
</td>
</tr>
{/ALT}
</tbody>
</table>
<a href="{ROOT_URL}member/managepayment" class="btn btn-sm btn-primary">Manage Payment Method</a>
</table>
<a href="{ROOT_URL}member/managepayment" class="btn btn-sm btn-primary">
Manage Payment Method
</a>
</div>
</div>
</div>

View File

@ -0,0 +1,62 @@
<div class="container py-5">
<!-- Product Title and Overview -->
<div class="text-center mb-4">
<i class="fab fa-brave fa-3x text-danger mb-3"></i>
<h5 class="card-title">Brave Extension</h5>
<p class="lead text-muted">Your ultimate Brave addon to organize, store, and personalize your bookmarks effortlessly.</p>
</div>
<!-- Features Section -->
<div class="row g-4">
<!-- Feature: Add and Manage Bookmarks -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-bookmark fa-2x text-primary mb-3"></i>
<h5 class="card-title">Add & Manage Bookmarks</h5>
<p class="card-text">Quickly add bookmarks, organize them, and never lose track of your favorite websites.</p>
</div>
</div>
</div>
<!-- Feature: Create Folders -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-folder-open fa-2x text-success mb-3"></i>
<h5 class="card-title">Create Folders</h5>
<p class="card-text">Group your bookmarks into customizable folders for better organization.</p>
</div>
</div>
</div>
<!-- Feature: Set Colors -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-palette fa-2x text-warning mb-3"></i>
<h5 class="card-title">Set Colors</h5>
<p class="card-text">Personalize your folders and bookmarks with color coding.</p>
</div>
</div>
</div>
<!-- Feature: Privacy Settings -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-lock fa-2x text-danger mb-3"></i>
<h5 class="card-title">Privacy Controls</h5>
<p class="card-text">Keep your bookmarks private or share them—your choice, your control.</p>
</div>
</div>
</div>
</div>
<!-- Call to Action -->
<div class="text-center mt-5">
<a href="#" class="btn btn-primary btn-lg">
<i class="fas fa-download me-2"></i>Get the Addon for Brave
</a>
</div>
</div>

View File

@ -0,0 +1,62 @@
<div class="container py-5">
<!-- Product Title and Overview -->
<div class="text-center mb-4">
<i class="fab fa-chrome fa-3x text-primary mb-3"></i>
<h5 class="card-title">Chrome Extension</h5>
<p class="lead text-muted">Your ultimate Chrome addon to organize, store, and personalize your bookmarks effortlessly.</p>
</div>
<!-- Features Section -->
<div class="row g-4">
<!-- Feature: Add and Manage Bookmarks -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-bookmark fa-2x text-primary mb-3"></i>
<h5 class="card-title">Add & Manage Bookmarks</h5>
<p class="card-text">Quickly add bookmarks, organize them, and never lose track of your favorite websites.</p>
</div>
</div>
</div>
<!-- Feature: Create Folders -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-folder-open fa-2x text-success mb-3"></i>
<h5 class="card-title">Create Folders</h5>
<p class="card-text">Group your bookmarks into customizable folders for better organization.</p>
</div>
</div>
</div>
<!-- Feature: Set Colors -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-palette fa-2x text-warning mb-3"></i>
<h5 class="card-title">Set Colors</h5>
<p class="card-text">Personalize your folders and bookmarks with color coding.</p>
</div>
</div>
</div>
<!-- Feature: Privacy Settings -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-lock fa-2x text-danger mb-3"></i>
<h5 class="card-title">Privacy Controls</h5>
<p class="card-text">Keep your bookmarks private or share them—your choice, your control.</p>
</div>
</div>
</div>
</div>
<!-- Call to Action -->
<div class="text-center mt-5">
<a href="#" class="btn btn-primary btn-lg">
<i class="fas fa-download me-2"></i>Get the Addon for Chrome
</a>
</div>
</div>

View File

@ -0,0 +1,62 @@
<div class="container py-5">
<!-- Product Title and Overview -->
<div class="text-center mb-4">
<i class="fab fa-edge fa-3x text-info mb-3"></i>
<h5 class="card-title">Edge Extension</h5>
<p class="lead text-muted">Your ultimate Edge addon to organize, store, and personalize your bookmarks effortlessly.</p>
</div>
<!-- Features Section -->
<div class="row g-4">
<!-- Feature: Add and Manage Bookmarks -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-bookmark fa-2x text-primary mb-3"></i>
<h5 class="card-title">Add & Manage Bookmarks</h5>
<p class="card-text">Quickly add bookmarks, organize them, and never lose track of your favorite websites.</p>
</div>
</div>
</div>
<!-- Feature: Create Folders -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-folder-open fa-2x text-success mb-3"></i>
<h5 class="card-title">Create Folders</h5>
<p class="card-text">Group your bookmarks into customizable folders for better organization.</p>
</div>
</div>
</div>
<!-- Feature: Set Colors -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-palette fa-2x text-warning mb-3"></i>
<h5 class="card-title">Set Colors</h5>
<p class="card-text">Personalize your folders and bookmarks with color coding.</p>
</div>
</div>
</div>
<!-- Feature: Privacy Settings -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-lock fa-2x text-danger mb-3"></i>
<h5 class="card-title">Privacy Controls</h5>
<p class="card-text">Keep your bookmarks private or share them—your choice, your control.</p>
</div>
</div>
</div>
</div>
<!-- Call to Action -->
<div class="text-center mt-5">
<a href="#" class="btn btn-primary btn-lg">
<i class="fas fa-download me-2"></i>Get the Addon for Edge
</a>
</div>
</div>

View File

@ -0,0 +1,62 @@
<div class="container py-5">
<!-- Product Title and Overview -->
<div class="text-center mb-4">
<i class="fab fa-firefox fa-3x text-warning mb-3"></i>
<h5 class="card-title">Firefox Extension</h5>
<p class="lead text-muted">Your ultimate Firefox addon to organize, store, and personalize your bookmarks effortlessly.</p>
</div>
<!-- Features Section -->
<div class="row g-4">
<!-- Feature: Add and Manage Bookmarks -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-bookmark fa-2x text-primary mb-3"></i>
<h5 class="card-title">Add & Manage Bookmarks</h5>
<p class="card-text">Quickly add bookmarks, organize them, and never lose track of your favorite websites.</p>
</div>
</div>
</div>
<!-- Feature: Create Folders -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-folder-open fa-2x text-success mb-3"></i>
<h5 class="card-title">Create Folders</h5>
<p class="card-text">Group your bookmarks into customizable folders for better organization.</p>
</div>
</div>
</div>
<!-- Feature: Set Colors -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-palette fa-2x text-warning mb-3"></i>
<h5 class="card-title">Set Colors</h5>
<p class="card-text">Personalize your folders and bookmarks with color coding.</p>
</div>
</div>
</div>
<!-- Feature: Privacy Settings -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-lock fa-2x text-danger mb-3"></i>
<h5 class="card-title">Privacy Controls</h5>
<p class="card-text">Keep your bookmarks private or share them—your choice, your control.</p>
</div>
</div>
</div>
</div>
<!-- Call to Action -->
<div class="text-center mt-5">
<a href="#" class="btn btn-primary btn-lg">
<i class="fas fa-download me-2"></i>Get the Addon for Firefox
</a>
</div>
</div>

View File

@ -0,0 +1,78 @@
<div class="container py-5">
<!-- Page Header -->
<div class="text-center mb-4">
<h1 class="fw-bold">Our Browser Extensions</h1>
<p class="lead text-muted">Discover powerful tools to enhance your browsing experience, compatible with the browsers you love.</p>
</div>
<!-- Products Grid -->
<div class="row g-4">
<!-- Chrome Extension -->
<div class="col-md-4">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fab fa-chrome fa-3x text-primary mb-3"></i>
<h5 class="card-title">Chrome Extension</h5>
<p class="card-text">Enhance your Chrome browser with advanced features and effortless organization.</p>
<a href="/extensions/chrome" class="btn btn-primary btn-sm">Learn More</a>
</div>
</div>
</div>
<!-- Firefox Extension -->
<div class="col-md-4">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fab fa-firefox fa-3x text-warning mb-3"></i>
<h5 class="card-title">Firefox Extension</h5>
<p class="card-text">Seamlessly integrate with Firefox for a smoother browsing experience.</p>
<a href="/extensions/firefox" class="btn btn-primary btn-sm">Learn More</a>
</div>
</div>
</div>
<!-- Opera Extension -->
<div class="col-md-4">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fab fa-opera fa-3x text-danger mb-3"></i>
<h5 class="card-title">Opera Extension</h5>
<p class="card-text">Boost your Opera browser with intuitive features and tools.</p>
<a href="/extensions/opera" class="btn btn-primary btn-sm">Learn More</a>
</div>
</div>
</div>
<!-- Brave Extension -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fab fa-brave fa-3x text-orange mb-3"></i>
<h5 class="card-title">Brave Extension</h5>
<p class="card-text">Enjoy secure and private browsing with Brave, enhanced by our extension.</p>
<a href="/extensions/brave" class="btn btn-primary btn-sm">Learn More</a>
</div>
</div>
</div>
<!-- Edge Extension -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fab fa-edge fa-3x text-info mb-3"></i>
<h5 class="card-title">Edge Extension</h5>
<p class="card-text">Maximize productivity on Microsoft Edge with our extension.</p>
<a href="/extensions/edge" class="btn btn-primary btn-sm">Learn More</a>
</div>
</div>
</div>
</div>
<!-- Safari Disclaimer -->
<div class="text-center mt-5">
<p class="text-muted">
<i class="fas fa-exclamation-circle me-2"></i>
Unfortunately, our extensions are not currently supported on <a href="/extensions/safari">Safari</a>.
</p>
</div>
</div>

View File

@ -0,0 +1,62 @@
<div class="container py-5">
<!-- Product Title and Overview -->
<div class="text-center mb-4">
<i class="fab fa-opera fa-3x text-danger mb-3"></i>
<h5 class="card-title">Opera Extension</h5>
<p class="lead text-muted">Your ultimate Opera addon to organize, store, and personalize your bookmarks effortlessly.</p>
</div>
<!-- Features Section -->
<div class="row g-4">
<!-- Feature: Add and Manage Bookmarks -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-bookmark fa-2x text-primary mb-3"></i>
<h5 class="card-title">Add & Manage Bookmarks</h5>
<p class="card-text">Quickly add bookmarks, organize them, and never lose track of your favorite websites.</p>
</div>
</div>
</div>
<!-- Feature: Create Folders -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-folder-open fa-2x text-success mb-3"></i>
<h5 class="card-title">Create Folders</h5>
<p class="card-text">Group your bookmarks into customizable folders for better organization.</p>
</div>
</div>
</div>
<!-- Feature: Set Colors -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-palette fa-2x text-warning mb-3"></i>
<h5 class="card-title">Set Colors</h5>
<p class="card-text">Personalize your folders and bookmarks with color coding.</p>
</div>
</div>
</div>
<!-- Feature: Privacy Settings -->
<div class="col-md-6">
<div class="card shadow-sm h-100">
<div class="card-body text-center">
<i class="fas fa-lock fa-2x text-danger mb-3"></i>
<h5 class="card-title">Privacy Controls</h5>
<p class="card-text">Keep your bookmarks private or share them—your choice, your control.</p>
</div>
</div>
</div>
</div>
<!-- Call to Action -->
<div class="text-center mt-5">
<a href="#" class="btn btn-primary btn-lg">
<i class="fas fa-download me-2"></i>Get the Addon for Opera
</a>
</div>
</div>

View File

@ -0,0 +1,9 @@
<div class="container py-5">
<!-- Product Title and Overview -->
<div class="text-center mb-4">
<i class="fab fa-safari fa-3x text-danger mb-3"></i>
<h1 class="fw-bold">AllTheBookmarks</h1>
<h5 class="card-title">Safari Extension</h5>
<p class="lead text-muted">I'm just gonna level with ya here, I have no idea if this will work on safari, and I'm not going to buy an apple product to find out. If you would like to gift me a relatively modern mac computer, I will happily test and find out.</p>
</div>
</div>

View File

@ -1,101 +1,350 @@
<div class="container">
<div class="row">
<div class="col-md-12">
<div id="carousel-home" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-bs-target="#carousel-home" data-slide-to="0" class="active"></li>
<li data-bs-target="#carousel-home" data-slide-to="1"></li>
<li data-bs-target="#carousel-home" data-slide-to="2"></li>
</ol>
<!-- Carousel Items -->
<div class="carousel-inner">
<div class="carousel-item active">
<img src="{ROOT_URL}app/images/ttp.png" class="d-block w-100" alt="First slide">
<div class="carousel-caption d-none d-md-block bg-primary slide-text-bg">
<h3>Powerful</h3>
<p>The Tempus Project is built with expansion in mind. From a custom template engine to the simple to use MVC style, The Tempus Project is built to provide a powerful and stable foundation for web applications.</p>
</div>
</div>
<div class="carousel-item">
<img src="{ROOT_URL}app/images/ttp-install.png" class="d-block w-100" alt="Second slide">
<div class="carousel-caption d-none d-md-block bg-primary slide-text-bg">
<h3>Quick and Simple Installation</h3>
<p>Built with rapid deployment in mind you can have The Tempus Project installed in just minutes.</p>
</div>
</div>
<div class="carousel-item">
<img src="{ROOT_URL}app/images/ttp-github.png" class="d-block w-100" alt="Third slide">
<div class="carousel-caption d-none d-md-block bg-primary slide-text-bg">
<h3>Open Source</h3>
<p>The Tempus Project is completely open source and only utilizes other open-source components. The Project is provided under the MIT license.</p>
</div>
</div>
</div>
<!-- Controls -->
<a class="carousel-control-prev" href="#carousel-home" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
<!-- AllTheBookmarks - In one place -->
<div class="px-4 pt-5 my-5 text-center border-bottom">
<h1 class="display-4 fw-bold">AllTheBookmarks - In one place</h1>
<div class="col-lg-6 mx-auto">
<p class="lead mb-4">Quickly add and manage an internet worth of bookmarks with AllTheBookmarks, my personal favorite app for keeping track of dead memes long after they outlive their hilarity.</p>
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center mb-5">
<a href="#pricing" class="btn btn-primary btn-lg px-4 me-sm-3">
Buy Now (Too Fast)
</a>
<a class="carousel-control-next" href="#carousel-home" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
<a href="#features" class="btn btn-outline-secondary btn-lg px-4">
Learn More
</a>
</div>
</div>
<div class="overflow-hidden" style="max-height: 30vh;">
<div class="container px-5">
<img src="{ROOT_URL}app/images/ttp-github.png" class="img-fluid border rounded-3 shadow-lg mb-4" alt="Example image" width="700" height="500" loading="lazy">
</div>
</div>
</div>
<div class="b-example-divider"></div>
<!-- All the stuff you need -->
<div class="container px-4 py-5" id="features">
<h2 class="pb-2 border-bottom">All the stuff you need, none of the stuff you don't!</h2>
<div class="row row-cols-1 row-cols-md-2 align-items-md-center g-5 py-5">
<div class="d-flex flex-column align-items-start gap-2">
<h3 class="fw-bold">I just wanted something cross-browser for storing bookmarks.</h3>
<p class="text-muted">KISS - Aside from making the interface nicer, this app is all I needed.</p>
</div>
<div class="row row-cols-1 row-cols-sm-2 g-4">
<div class="d-flex flex-column gap-2">
<div class="feature-icon-small d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-4 rounded-3">
<i class="fa fa-fw fa-add"></i>
</div>
<h4 class="fw-semibold mb-0">Add</h4>
<p class="text-muted">Whether its through the web-interface or supported browser extensions, you can add bookmarks from (almost) anywhere.</p>
</div>
<div class="d-flex flex-column gap-2">
<div class="feature-icon-small d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-4 rounded-3">
<i class="fa fa-fw fa-solid fa-list-check"></i>
</div>
<h4 class="fw-semibold mb-0">Manage</h4>
<p class="text-muted">Create folders, tag links, keep notes and create custom dashboards.</p>
</div>
<div class="d-flex flex-column gap-2">
<div class="feature-icon-small d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-4 rounded-3">
<i class="fa fa-fw fa-share"></i>
</div>
<h4 class="fw-semibold mb-0">Share</h4>
<p class="text-muted">All links are kept private by default but if you need to share with a friend or co-worker you can change this setting individually or for entire folders.</p>
</div>
<div class="d-flex flex-column gap-2">
<div class="feature-icon-small d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-4 rounded-3">
<i class="fa-solid fa-arrow-right-arrow-left"></i>
</div>
<h4 class="fw-semibold mb-0">Import / Export</h4>
<p class="text-muted">Sometimes you just want to dump everything out and see what you have, our import and export tools allow you to easily etch-a-sketch your bookmarks.</p>
</div>
</div>
</div>
</div>
<div class="b-example-divider"></div>
<!-- It can be difficult -->
<div class="container col-xxl-8 px-4 py-5">
<div class="row flex-lg-row-reverse align-items-center g-5 py-5">
<div class="col-10 col-sm-8 col-lg-6">
<img src="{ROOT_URL}app/images/ttp-install.png" class="d-block mx-lg-auto img-fluid" alt="Bootstrap Themes" width="700" height="500" loading="lazy">
</div>
<div class="col-lg-6">
<h1 class="display-5 fw-bold lh-1 mb-3">It can be difficult to keep track of... all of the internet</h1>
<p class="lead">With a million and one devices from all three companies, it can be a lot to manage. From work links, to Instagram stories, ticktocks for cooking, to Pinterest for Halloween; we consume a thousand different sources in a hundred different ways. Keep it all centralized with a new forth company!</p>
<div class="d-grid gap-2 d-md-flex justify-content-md-start">
<a href="#pricing" class="btn btn-primary btn-lg px-4 me-md-2">
Buy Now (Still too fast)
</a>
<a href="#darkmode" class="btn btn-outline-secondary btn-lg px-4">
Keep Learning?
</a>
</div>
</div>
</div>
</div>
<div class="b-example-divider"></div>
<!-- Don't be afraid of the dark -->
<div class="bg-dark text-secondary px-4 py-5 text-center" id="darkmode">
<div class="py-5">
<h1 class="display-5 fw-bold text-white">Don't be afraid of the dark.</h1>
<div class="col-lg-6 mx-auto">
<p class="fs-5 mb-4">Not everyone is a night owl or dark dweller, and those people are... fine. But for the rest of us, dark mode rules them all. Dark mode is available site-wide, free of charge! (Its also included in all products!)</p>
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
<button type="button" class="btn btn-outline-light btn-lg px-4">Enable Now</button>
</div>
</div>
</div>
</div>
<div class="b-example-divider"></div>
<!-- Never Browse without it -->
<div class="container px-4 py-5" id="hanging-icons" id="extension">
<h2 class="pb-2 border-bottom">Never Browse without it</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 fa-brands fa-fw fa-chrome text-primary"></i>
</div>
<div>
<h3 class="fs-2">Chrome Extension</h3>
<p>Quickly add new bookmarks to your "2017 Taxes" folder with ease! Keep them private or share it with the other haberdashers from any page.</p>
<a href="/extensions/chrome" class="btn btn-primary">
Download Now
</a>
</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-brands fa-fw fa-firefox text-warning"></i>
</div>
<div>
<h3 class="fs-2">Firefox Extension</h3>
<p>Funny enough, Firefox is basically just chrome now.</p>
<a href="/extensions/firefox" class="btn btn-primary">
Download Now
</a>
</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-brands fa-fw fa-opera text-danger"></i>
</div>
<div>
<h3 class="fs-2">Opera Extension</h3>
<p>This is also Chrome.</p>
<a href="/extensions/opera" class="btn btn-primary">
Download Now
</a>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-centered">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<h2>Welcome to The Tempus Project</h2>
<hr>
<p>The aim of The Tempus Project is to create an easy to use and implement CMS based
around the MVC style and build using php 5.6 and MySQL. Here are some of the features:</p>
<ul>
<li>Fully secured registration/login system</li>
<li>Automatic error handling</li>
<li>Built in debugging tools</li>
<li>Testing implements to help you expand it further</li>
<li>Customizable logging to ensure you are always up to date on whats going on</li>
<li>Simple administration panel</li>
<li>Bug reports and feedback forms included!</li>
<li>Drag and drop simple to install</li>
<p><a href="/extensions/brave"><i class="fa-brands fa-fw fa-brave text-danger"></i></a> and <a href="/extensions/edge"><i class="fa-brands fa-fw fa-edge text-info"></i></a> are Chrome too.</p>
</div>
<div class="b-example-divider"></div>
<!-- Pricing -->
<div class="pricing-header p-3 pb-md-4 mx-auto text-center">
<h1 class="display-4 fw-normal">Pricing</h1>
<p class="fs-5 text-muted">The pricing is very straight-forward: free, monthly, yearly.</p>
<div class="d-grid gap-2 d-sm-flex justify-content-sm-center">
<a href="#compare" class="btn btn-outline-dark btn-lg px-4">
Compare
</a>
</div>
</div>
<div class="b-example-divider"></div>
<!-- Clean, Simple, Direct -->
<div class="container my-5">
<div class="row p-4 pb-0 pe-lg-0 pt-lg-5 align-items-center rounded-3 border shadow-lg">
<div class="col-lg-7 p-3 p-lg-5 pt-lg-3">
<h1 class="display-4 fw-bold lh-1">Clean, Simple, Direct</h1>
<p class="lead">An intuitive app with a sleep, modern design is the goal. There is no need for hundreds of bells in whistles, no bluetooth, no AII to tell you what your best bookmark is, just a simple app to make life easier.</p>
<div class="d-grid gap-2 d-md-flex justify-content-md-start mb-4 mb-lg-3">
<a href="#pricing" class="btn btn-primary btn-lg px-4 me-md-2 fw-bold">
Buy Now
</a>
<a href="/register" class="btn btn-outline-secondary btn-lg px-4">
Sign-Up for Free
</a>
</div>
</div>
<div class="col-lg-4 offset-lg-1 p-0 overflow-hidden shadow-lg">
<img class="rounded-lg-3" src="{ROOT_URL}app/images/ttp-install.png" alt="" width="720">
</div>
</div>
</div>
<div class="b-example-divider"></div>
<!-- Built to.... work -->
<div class="container px-4 py-5" id="featured-3">
<h2 class="pb-2 border-bottom">Built to.... work</h2>
<div class="row g-4 py-5 row-cols-1 row-cols-lg-3">
<div class="feature col">
<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">
<i class="fa-solid fa-bolt"></i>
</div>
<h3 class="fs-2">Versatile</h3>
<p>Built to be a responsive application, AllTheBookmarks can be easily accessed and used from any web-enabled device.</p>
</div>
<div class="feature col">
<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">
<i class="fa-solid fa-star"></i>
</div>
<h3 class="fs-2">Simple</h3>
<p>At the end of the day, you are managing a giant list of websites, lets not complicate that too much eh?</p>
</div>
<div class="feature col">
<div class="feature-icon d-inline-flex align-items-center justify-content-center text-bg-primary bg-gradient fs-2 mb-3">
<i class="fa-solid fa-wand-magic-sparkles"></i>
</div>
<h3 class="fs-2">Robust</h3>
<p>This tool was built by a web-developer for a web-developer. Perfection not guaranteed, but it is built to last.</p>
</div>
</div>
</div>
<div class="b-example-divider"></div>
<!-- Compare plans -->
<div class="table-responsive pricing-container container pb-4" id="compare">
<h1 class="display-6 text-center my-4">Compare plans</h1>
<table class="table text-center">
<thead>
<tr>
<th style="width: 34%;"></th>
<th style="width: 22%;">Free</th>
<th style="width: 22%;">Pro</th>
<th style="width: 22%;">Enterprise</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row" class="text-start">Add and Manage Bookmarks</th>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
</tr>
<tr>
<th scope="row" class="text-start">Extensions for all major browsers</th>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
</tr>
</tbody>
<tbody>
<tr>
<th scope="row" class="text-start">Access from any device</th>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
</tr>
<tr>
<th scope="row" class="text-start">Import/Export Features</th>
<td></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
</tr>
<tr>
<th scope="row" class="text-start">Customizable Dashboards / Pages</th>
<td></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
</tr>
<tr>
<th scope="row" class="text-start">Request/Influence Development</th>
<td></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa fa-fw fa-check"></i></td>
</tr>
<tr>
<th scope="row" class="text-start">Early Access</th>
<td></td>
<td><i class="fa fa-fw fa-check"></i></td>
<td><i class="fa-solid fa-check"></i></td>
</tr>
<tr>
<th scope="row" class="text-start">Cheaper</th>
<td></td>
<td></td>
<td><i class="fa-solid fa-check"></i></td>
</tr>
</tbody>
</table>
</div>
<div class="b-example-divider"></div>
<!-- Plan Choices -->
<div class="d-flex justify-content-center" id="pricing">
<div class="pricing-container container row row-cols-1 row-cols-md-3 my-5 text-center">
<div class="col">
<div class="card mb-4 rounded-3 shadow-sm h-100">
<div class="card-header py-3">
<h4 class="my-0 fw-normal">Free</h4>
</div>
<div class="card-body d-flex flex-column">
<h1 class="card-title pricing-card-title">&#36;0<small class="text-muted fw-light">/mo</small></h1>
<ul class="list-unstyled mt-3 mb-4">
<li>Add / Manage your bookmarks</li>
<li>Extensions for all major browsers</li>
<li>Access from any device</li>
</ul>
<p>DISCLAIMER: as of January 1, 2023 this code is not production ready! Please use at your own risk! That being said, I am always trying to improve this system. If you have any suggestions or need to report a bug, you can do so on my <a href="https://github.com/TheTempusProject/TheTempusProject">GitHub</a>.</p>
<a href="/register" class="mt-auto w-100 btn btn-lg btn-outline-primary">
Sign-Up for Free
</a>
</div>
</div>
</div>
<div class="col">
<div class="card mb-4 rounded-3 shadow-sm h-100">
<div class="card-header py-3">
<h4 class="my-0 fw-normal">Monthly</h4>
</div>
<div class="card-body d-flex flex-column">
<h1 class="card-title pricing-card-title">&#36;4.99<small class="text-muted fw-light">/month</small></h1>
<ul class="list-unstyled mt-3 mb-4">
<li>Import/Export Features</li>
<li>Integration with TempusTools App (WIP)</li>
<li>Customizable Dashboards / Pages</li>
<li>Direct control of Feature Development</li>
<li>Early Access to new features</li>
</ul>
<button type="button" class="mt-auto w-100 btn btn-lg btn-primary">Get started</button>
</div>
</div>
</div>
<div class="col">
<div class="card mb-4 rounded-3 shadow-sm border-primary h-100">
<div class="card-header py-3 text-bg-primary border-primary">
<h4 class="my-0 fw-normal">Yearly</h4>
</div>
<div class="card-body d-flex flex-column">
<h1 class="card-title pricing-card-title">&#36;19.99<small class="text-muted fw-light">/year</small></h1>
<ul class="list-unstyled mt-3 mb-4">
<li>Its cheaper if you like the product</li>
</ul>
<button type="button" class="mt-auto w-100 btn btn-lg btn-primary">Get started</button>
</div>
</div>
</div>
</div>
</div>
https://www.bookmarkninja.com/
<div class="text-center py-3">
<a href="#top" class="btn btn-outline-primary">Back to Top</a>
</div>
simple robust versatile
sleek
clean
intuitive
modern
A cleaner app for managing bookmarks to cut down on the clutter
Available accross all devices and systems.
regardless of windows or mac, android or apple, wwe have you covered
bring all your bookmarks at once, simply export from your current browser and use our import tool
stop straining your eyes! Not only can you use our dark mode feature, but we have several styles to choose from to customize your experience
no mobile app necessary
privacy is key! but sharing is ok
by defaults everything is set to private, but usiing the web interface will alow you to share single links or entire lists/folders
<div class="b-example-divider"></div>

View File

@ -145,6 +145,11 @@ class TheTempusProject extends Bedrock {
'url' => '{ROOT_URL}admin/index',
'filter' => 'admin',
],
[
'text' => 'Extensions',
'url' => '{ROOT_URL}extensions/index',
// 'filter' => 'notloggedin',
],
];
public $filters = [
[