bootstrap 4 update and bugfixes

This commit is contained in:
Joey Kimsey
2024-12-08 04:43:06 -05:00
parent 485d85cb0a
commit 4ab9d33b01
79 changed files with 861 additions and 504 deletions

View File

@ -49,3 +49,375 @@ body {
box-shadow: none; box-shadow: none;
} }
/**
* app/css/main.css
*
* This file is for any css that should be applied site wide.
*
* @version 3.0
* @author Joey Kimsey <Joey@thetempusproject.com>
* @link https://TheTempusProject.com
* @license https://opensource.org/licenses/MIT [MIT LICENSE]
*/
@media ( min-width: 768px ) {
.side-nav {
/* background-color: #222; */
}
.side-nav li a:hover,
.side-nav li a:focus {
background-color: #fff !important;
}
}
/**
* Other
*/
.bars {
/* background-color: #333; */
/* box-shadow: 0 5px 0 #333, 0 10px 0 #333; */
}
.bg-gray {
/* background-image: -moz-linear-gradient( center bottom, #BBBBBB 0%, #F0F0F0 100% ); */
/* box-shadow: 0 1px 0 #B4B3B3; */
}
.UI-buffer {
/* border-bottom: 1px solid #CCCCCC; */
}
.UI-page-buffer {
/* border-bottom: 1px solid #CCCCCC; */
}
.table-user-information>tbody>tr {
/* border-top: 1px solid rgb( 221, 221, 221 ); */
}
.sticky-foot-head {
/* background: #EDEFF1; */
/* border-bottom: 1px solid #CCCCCC; */
/* border-top: 1px solid #DDDDDD; */
}
.sticky-foot {
background-color: #fff;
}
.sticky-copy {
background: #282828; /* E3E3E3; */
border-bottom: 1px solid #b0b0b0; /* CCCCCC; */
border-top: 1px solid #bfbfbf; /* DDDDDD; */
}
/**
* Main Carousel
*/
.main-text {
color: #000;
}
.btn-clear {
color: #000;
border-color: #000;
}
.btn-clear:hover {
color: #fff;
/* background-color: #F000FF; */
}
/**
* Top Navigation
*/
.top-nav>li>a {
/* color: #999; */
}
.top-nav>li>a:hover,
.top-nav>li>a:focus,
.top-nav>.open>a,
.top-nav>.open>a:hover,
.top-nav>.open>a:focus {
color: #000;
background-color: #fff;
}
.top-nav>.open>.dropdown-menu {
/* border: 1px solid rgba( 0, 0, 0, .15 ); */
background-color: #000;
/* -webkit-box-shadow: 0 6px 12px rgba( 0, 0, 0, .175 ); */
/* box-shadow: 0 6px 12px rgba( 0, 0, 0, .175 ); */
}
/**
* Messages Dropdown
*/
li.message-header {
/* border-bottom: 1px solid rgba( 0, 0, 0, .15 ); */
}
li.message-preview {
/* border-bottom: 1px solid rgba( 0, 0, 0, .15 ); */
}
/**
* Widget
*/
.widget li.list-group-item {
/* border-top: 1px solid #ddd; */
}
.widget li.list-group-item:hover {
/* background-color: rgba( 86, 61, 124, .1 ); */
}
.widget .mic-info {
/* color: #666666; */
}
/**
* Footer and Copyright
*/
.copy {
background: #282828; /* E3E3E3; */
border-bottom: 1px solid #b0b0b0; /* CCCCCC; */
border-top: 1px solid #bfbfbf; /* DDDDDD; */
}
.footer-head {
background: #282828; /* E3E3E3; */
border-bottom: 1px solid #b0b0b0; /* CCCCCC; */
border-top: 1px solid #bfbfbf; /* DDDDDD; */
}
.footer-head h3 {
border-bottom: 1px solid #a1a7ad; /* BAC1C8 */
color: #4a5c6e; /* 54697E */
}
.footer-head ul {
/* color: #7F8C8D; */
}
.footer-head a {
/* color: #78828D */
}
/**
* Side Navigation
*/
.side-nav>li>ul>li>a {
/* color: #999; */
}
.side-nav>li>ul>li>a:hover {
color: #000;
}
.side-nav .active > a {
color: #000;
background-color: #fff;
}
.side-nav .active > a:hover {
color: #000;
background-color: #fff;
}
/**
* Social
*/
.social span {
/* background: none repeat scroll 0 0 #B5B5B5; */
/* border: 2px solid #B5B5B5; */
}
.social span a {
/* color: #EDEFF1; */
}
.social span:hover {
/* border: 2px solid #2c3e50;
background: #2c3e50; */
}
.social span a i {
/* color: #EDEFF1 !important; */
}
/**
* Newsletter Box
*/
.newsletter-box input#appendedInputButton {
background: #000;
}
.newsletter-box .btn {
color: #000;
}
/**
* Colored Badges
*/
.badge {
color: #000;
/* background-color: #999999; */
}
.badge:hover {
color: #000;
}
.badge-error {
/* background-color: #b94a48; */
}
.badge-error:hover {
/* background-color: #953b39; */
}
.badge-warning {
/* background-color: #f89406; */
}
.badge-warning:hover {
/* background-color: #c67605; */
}
.badge-success {
/* background-color: #468847; */
}
.badge-success:hover {
/* background-color: #356635; */
}
.badge-info {
/* background-color: #3a87ad; */
}
.badge-info:hover {
/* background-color: #2d6987; */
}
.badge-inverse {
/* background-color: #333333; */
}
.badge-inverse:hover {
/* background-color: #1a1a1a; */
}
/**
* Install Terms
*/
.install-terms {
/* border: 1px solid #ccc;
background: #f2f2f2; */
}
.install-terms p,
.install-terms li {
/* color: #333; */
}
.install-terms h3 {
color: #fff;
}
.install-terms h4 {
color: #fff;
}
.install-terms strong {
color: #fff;
}
/**
* Terms Page
*/
.terms-page {
/* border: 1px solid #ccc;
background: #f2f2f2; */
}
.terms-page p,
.terms-page li {
/* color: #333; */
}
.terms-page h3 {
color: #fff;
}
.terms-page h4 {
color: #fff;
}
.terms-page strong {
color: #fff;
}
/**
* Terms
*/
.terms {
/* border: 1px solid #ccc; */
/* background: #f2f2f2; */
}
.terms p,
.terms li {
/* color: #333; */
}
.terms h3 {
color: #fff;
}
.terms h4 {
color: #fff;
}
.terms strong {
color: #fff;
}
.material-switch > label::before {
/* background: rgb(0, 0, 0); */
/* box-shadow: inset 0px 0px 10px rgba(0, 0, 0, 0.5); */
}
.material-switch > label::after {
/* background: rgb(255, 255, 255); */
/* box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3); */
}

View File

@ -31,45 +31,11 @@ pre {
padding-right: 225px; padding-right: 225px;
padding-left: 0; padding-left: 0;
} }
.side-nav {
right: 0;
left: auto;
}
.side-nav {
position: fixed;
top: 51px;
left: 225px;
width: 225px;
margin-left: -225px;
border: none;
border-radius: 0;
overflow-y: auto;
background-color: #222;
bottom: 53px;
overflow-x: hidden;
padding-bottom: 10px;
}
.side-nav>li>a {
width: 225px;
}
.side-nav li a:hover,
.side-nav li a:focus {
outline: none;
background-color: #000 !important;
}
} }
/** /**
* Other * Other
*/ */
.custom-nav {
display: relative;
float: right;
}
.navbar-form-alt {
margin-top: 10px;
margin-bottom: 10px;
}
.bars { .bars {
display: block; display: block;
width: 60px; width: 60px;
@ -158,7 +124,7 @@ pre {
.dynamic-footer-padding { .dynamic-footer-padding {
padding-bottom: var(--footer-height); padding-bottom: var(--footer-height);
} }
.footer-head .navbar-toggle { .footer-head .navbar-toggler {
display: inline-block; display: inline-block;
float: none; float: none;
} }
@ -225,45 +191,6 @@ pre {
margin: 0 auto; margin: 0 auto;
} }
/**
* Top Navigation
*/
.top-nav {
padding: 0 15px;
}
.top-nav>li {
display: inline-block;
float: left;
}
.top-nav>li>a {
padding-top: 15px;
padding-bottom: 15px;
line-height: 20px;
color: #999;
}
.top-nav>li>a:hover,
.top-nav>li>a:focus,
.top-nav>.open>a,
.top-nav>.open>a:hover,
.top-nav>.open>a:focus {
color: #fff;
background-color: #000;
}
.top-nav>.open>.dropdown-menu {
float: left;
position: absolute;
margin-top: 0;
border: 1px solid rgba( 0, 0, 0, .15 );
border-top-left-radius: 0;
border-top-right-radius: 0;
background-color: #fff;
-webkit-box-shadow: 0 6px 12px rgba( 0, 0, 0, .175 );
box-shadow: 0 6px 12px rgba( 0, 0, 0, .175 );
}
.top-nav>.open>.dropdown-menu>li>a {
white-space: normal;
}
/** /**
* Messages Dropdown * Messages Dropdown
*/ */
@ -327,44 +254,6 @@ ul.alert-dropdown {
border-top-right-radius: 0px; border-top-right-radius: 0px;
} }
/**
* Signin Form
*/
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="text"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
/** /**
* Footer and Copyright * Footer and Copyright
*/ */
@ -420,30 +309,6 @@ ul.alert-dropdown {
color: #78828D color: #78828D
} }
/**
* Side Navigation
*/
.side-nav>li>ul {
padding: 0;
}
.side-nav>li>ul>li>a {
display: block;
padding: 10px 15px 10px 38px;
text-decoration: none;
color: #999;
}
.side-nav>li>ul>li>a:hover {
color: #fff;
}
.side-nav .active > a {
color: #fff;
background-color: #080808;
}
.side-nav .active > a:hover {
color: #fff;
background-color: #080808;
}
/** /**
* Social * Social
*/ */

View File

@ -117,6 +117,7 @@ window.onload = function () {
// Check if dark mode is saved in localStorage // Check if dark mode is saved in localStorage
if (localStorage.getItem('darkMode') === 'enabled') { if (localStorage.getItem('darkMode') === 'enabled') {
darkModeStylesheet.disabled = false; darkModeStylesheet.disabled = false;
toggleButton.checked = true;
} }
toggleButton.addEventListener('click', function () { toggleButton.addEventListener('click', function () {

View File

@ -257,7 +257,7 @@ class Group extends DatabaseModel {
if ( $group === false ) { if ( $group === false ) {
return false; return false;
} }
$members = self::$db->getPaginated( 'users', [ 'userGroup', '=', $id ] ); $members = self::$db->get( 'users', [ 'userGroup', '=', $id ] );
if ( !$members->count() ) { if ( !$members->count() ) {
Debug::info( "list members: Could not find anyone in group: $id" ); Debug::info( "list members: Could not find anyone in group: $id" );
return false; return false;

View File

@ -87,7 +87,7 @@ class Log extends DatabaseModel {
} }
public function list( $filter = null ) { public function list( $filter = null ) {
$logData = self::$db->getPaginated( $this->tableName, [ 'source', '=', $filter ] ); $logData = self::$db->get( $this->tableName, [ 'source', '=', $filter ] );
if ( !$logData->count() ) { if ( !$logData->count() ) {
return false; return false;
} }

View File

@ -128,7 +128,7 @@ class Routes extends DatabaseModel {
} }
$routeData = self::$db->get( $this->tableName, [ 'nickname', '=', $name ] ); $routeData = self::$db->get( $this->tableName, [ 'nickname', '=', $name ] );
if ( !$routeData->count() ) { if ( !$routeData->count() ) {
Debug::warn( "Could not find a group named: $name" ); Debug::info( "Routes:findByName: Could not find a route named: $name" );
return false; return false;
} }
return $this->filter( $routeData->first() ); return $this->filter( $routeData->first() );
@ -137,7 +137,7 @@ class Routes extends DatabaseModel {
public function findByOriginalUrl( $url ) { public function findByOriginalUrl( $url ) {
$routeData = self::$db->get( $this->tableName, [ 'original_url', '=', $url ] ); $routeData = self::$db->get( $this->tableName, [ 'original_url', '=', $url ] );
if ( !$routeData->count() ) { if ( !$routeData->count() ) {
Debug::warn( "Could not find route by original url: $url" ); Debug::info( "Routes:findByOriginalUrl: Could not find route by original url: $url" );
return false; return false;
} }
return $this->filter( $routeData->first() ); return $this->filter( $routeData->first() );
@ -145,12 +145,12 @@ class Routes extends DatabaseModel {
public function findByforwardedUrl( $url ) { public function findByforwardedUrl( $url ) {
if ( !Check::url( $url ) ) { if ( !Check::url( $url ) ) {
Debug::warn( "Invalid forwarded_url: $url" ); Debug::warn( "Routes:findByforwardedUrl: Invalid forwarded_url: $url" );
return false; return false;
} }
$routeData = self::$db->get( $this->tableName, [ 'forwarded_url', '=', $url ] ); $routeData = self::$db->get( $this->tableName, [ 'forwarded_url', '=', $url ] );
if ( !$routeData->count() ) { if ( !$routeData->count() ) {
Debug::warn( "Could not find route by forwarded url: $url" ); Debug::info( "Routes:findByforwardedUrl: Could not find route by forwarded url: $url" );
return false; return false;
} }
return $this->filter( $routeData->first() ); return $this->filter( $routeData->first() );

View File

@ -446,7 +446,7 @@ class User extends DatabaseModel {
*/ */
public function recent( $limit = null ) { public function recent( $limit = null ) {
if ( empty( $limit ) ) { if ( empty( $limit ) ) {
$data = self::$db->getpaginated( $this->tableName, '*' ); $data = self::$db->get( $this->tableName, '*' );
} else { } else {
$data = self::$db->get( $this->tableName, [ 'ID', '>', '0' ], 'ID', 'DESC', [ 0, $limit ] ); $data = self::$db->get( $this->tableName, [ 'ID', '>', '0' ], 'ID', 'DESC', [ 0, $limit ] );
} }

View File

@ -221,9 +221,9 @@ class Posts extends DatabaseModel {
$whereClause = '*'; $whereClause = '*';
} }
if ( empty( $limit ) ) { if ( empty( $limit ) ) {
$postData = self::$db->getPaginated( $this->tableName, $whereClause ); $postData = self::$db->get( $this->tableName, $whereClause );
} else { } else {
$postData = self::$db->getPaginated( $this->tableName, $whereClause, 'ID', 'DESC', [0, $limit] ); $postData = self::$db->get( $this->tableName, $whereClause, 'ID', 'DESC', [0, $limit] );
} }
if ( !$postData->count() ) { if ( !$postData->count() ) {
Debug::info( 'No Blog posts found.' ); Debug::info( 'No Blog posts found.' );
@ -239,7 +239,7 @@ class Posts extends DatabaseModel {
} else { } else {
$whereClause = ['draft', '=', '0']; $whereClause = ['draft', '=', '0'];
} }
$postData = self::$db->getPaginated( $this->tableName, $whereClause ); $postData = self::$db->get( $this->tableName, $whereClause );
if ( !$postData->count() ) { if ( !$postData->count() ) {
Debug::info( 'No Blog posts found.' ); Debug::info( 'No Blog posts found.' );
@ -263,7 +263,7 @@ class Posts extends DatabaseModel {
$firstDayUnix = date( 'U', strtotime( "first day of $year" ) ); $firstDayUnix = date( 'U', strtotime( "first day of $year" ) );
$lastDayUnix = date( 'U', strtotime( "last day of $year" ) ); $lastDayUnix = date( 'U', strtotime( "last day of $year" ) );
$whereClause = array_merge( $whereClause, ['created', '<=', $lastDayUnix, 'AND', 'created', '>=', $firstDayUnix] ); $whereClause = array_merge( $whereClause, ['created', '<=', $lastDayUnix, 'AND', 'created', '>=', $firstDayUnix] );
$postData = self::$db->getPaginated( $this->tableName, $whereClause ); $postData = self::$db->get( $this->tableName, $whereClause );
if ( !$postData->count() ) { if ( !$postData->count() ) {
Debug::info( 'No Blog posts found.' ); Debug::info( 'No Blog posts found.' );
@ -282,7 +282,7 @@ class Posts extends DatabaseModel {
$whereClause = ['draft', '=', '0', 'AND']; $whereClause = ['draft', '=', '0', 'AND'];
} }
$whereClause = array_merge( $whereClause, ['author' => $ID] ); $whereClause = array_merge( $whereClause, ['author' => $ID] );
$postData = self::$db->getPaginated( $this->tableName, $whereClause ); $postData = self::$db->get( $this->tableName, $whereClause );
if ( !$postData->count() ) { if ( !$postData->count() ) {
Debug::info( 'No Blog posts found.' ); Debug::info( 'No Blog posts found.' );
@ -311,7 +311,7 @@ class Posts extends DatabaseModel {
$month = date( 'F', $firstDayUnix ); $month = date( 'F', $firstDayUnix );
$lastDayUnix = date( 'U', strtotime( "last day of $month $year" ) ); $lastDayUnix = date( 'U', strtotime( "last day of $month $year" ) );
$whereClause = array_merge( $whereClause, ['created', '<=', $lastDayUnix, 'AND', 'created', '>=', $firstDayUnix] ); $whereClause = array_merge( $whereClause, ['created', '<=', $lastDayUnix, 'AND', 'created', '>=', $firstDayUnix] );
$postData = self::$db->getPaginated( $this->tableName, $whereClause ); $postData = self::$db->get( $this->tableName, $whereClause );
if ( !$postData->count() ) { if ( !$postData->count() ) {
Debug::info( 'No Blog posts found.' ); Debug::info( 'No Blog posts found.' );

View File

@ -28,7 +28,7 @@ class Blog extends Plugin {
public $pluginDescription = 'A simple plugin to add a blog to your installation.'; public $pluginDescription = 'A simple plugin to add a blog to your installation.';
public $admin_links = [ public $admin_links = [
[ [
'text' => '<i class="glyphicon glyphicon-text-size"></i> Blog', 'text' => '<i class="fa fa-fw fa-font"></i> Blog',
'url' => '{ROOT_URL}admin/blog', 'url' => '{ROOT_URL}admin/blog',
], ],
]; ];

View File

@ -32,7 +32,6 @@
<link rel="icon" href="{ROOT_URL}images/favicon.ico"> <link rel="icon" href="{ROOT_URL}images/favicon.ico">
<!-- Required CSS --> <!-- Required CSS -->
<link rel="stylesheet" href="{FONT_AWESOME_URL}font-awesome.min.css" crossorigin="anonymous"> <link rel="stylesheet" href="{FONT_AWESOME_URL}font-awesome.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap-theme.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap.min.css" crossorigin="anonymous"> <link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap.min.css" crossorigin="anonymous">
<!-- RSS --> <!-- RSS -->
<link rel="alternate" href="{ROOT_URL}blog/rss" title="{TITLE} Feed" type="application/rss+xml" /> <link rel="alternate" href="{ROOT_URL}blog/rss" title="{TITLE} Feed" type="application/rss+xml" />
@ -44,7 +43,7 @@
<!--Brand and toggle should get grouped for better mobile display --> <!--Brand and toggle should get grouped for better mobile display -->
<div class="navbar-header"> <div class="navbar-header">
<a href="{ROOT_URL}" class="navbar-brand">{SITENAME}</a> <a href="{ROOT_URL}" class="navbar-brand">{SITENAME}</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse" style=""> <button type="button" class="navbar-toggler" data-toggle="collapse" data-target=".navbar-ex1-collapse" style="">
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
@ -55,7 +54,7 @@
<div class="collapse navbar-collapse navbar-ex1-collapse"> <div class="collapse navbar-collapse navbar-ex1-collapse">
{topNavLeft} {topNavLeft}
<div class="navbar-right"> <div class="navbar-right">
<ul class="nav navbar-nav"> <ul class="navbar-nav">
{topNavRight} {topNavRight}
</ul> </ul>
</div> </div>
@ -75,9 +74,7 @@
{/ISSUES} {/ISSUES}
<div class="row"> <div class="row">
<div class="container"> <div class="container">
<div class="page-header">
<h1 class="blog-title">{SITENAME} Blog</h1> <h1 class="blog-title">{SITENAME} Blog</h1>
</div>
<div class="row"> <div class="row">
<div class="col-sm-8 blog-main"> <div class="col-sm-8 blog-main">
{BLOG_BREADCRUMBS} {BLOG_BREADCRUMBS}

View File

@ -14,9 +14,9 @@
<tr> <tr>
<td>{title}</td> <td>{title}</td>
<td>{contentSummary}</td> <td>{contentSummary}</td>
<td><a href="{ROOT_URL}admin/blog/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/blog/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/blog/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/blog/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td width="30px"><a href="{ROOT_URL}admin/blog/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td width="30px"><a href="{ROOT_URL}admin/blog/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
</tr> </tr>
{/LOOP} {/LOOP}
{ALT} {ALT}

View File

@ -24,8 +24,8 @@
<td>{commentCount}</td> <td>{commentCount}</td>
<td>{DTC}{created}{/DTC}</td> <td>{DTC}{created}{/DTC}</td>
<td>{DTC}{edited}{/DTC}</td> <td>{DTC}{edited}{/DTC}</td>
<td><a href="{ROOT_URL}admin/blog/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/blog/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/blog/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/blog/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="B_[]"> <input type="checkbox" value="{ID}" name="B_[]">
</td> </td>

View File

@ -1,8 +1,6 @@
<div class="row"> <div class="row">
<div class="col-sm-8 blog-main"> <div class="col-sm-8 blog-main">
<div class="page-header">
<h1>{title} <small>{DTC}{created}{/DTC} by <a href="{ROOT_URL}admin/users/view/{author}">{authorName}</a></small></h1> <h1>{title} <small>{DTC}{created}{/DTC} by <a href="{ROOT_URL}admin/users/view/{author}">{authorName}</a></small></h1>
</div>
<div class="well">{content}</div> <div class="well">{content}</div>
<a href="{ROOT_URL}admin/blog/delete/{ID}" class="btn btn-md btn-danger" role="button">Delete</a> <a href="{ROOT_URL}admin/blog/delete/{ID}" class="btn btn-md btn-danger" role="button">Delete</a>
<a href="{ROOT_URL}admin/blog/edit/{ID}" class="btn btn-md btn-warning" role="button">Edit</a> <a href="{ROOT_URL}admin/blog/edit/{ID}" class="btn btn-md btn-warning" role="button">Edit</a>

View File

@ -1,6 +1,6 @@
<div class="panel panel-info"> <div class="card panel-info">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Recent Posts</h3> <h3 class="card-title">Recent Posts</h3>
</div> </div>
<ul class="list-group"> <ul class="list-group">
{LOOP} {LOOP}

View File

@ -1,8 +1,8 @@
<div class="panel panel-info"> <div class="card panel-info">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Recent Posts</h3> <h3 class="card-title">Recent Posts</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<ol class="list-unstyled"> <ol class="list-unstyled">
{LOOP} {LOOP}
<li><a href="{ROOT_URL}blog/post/{ID}">{title}</a></li> <li><a href="{ROOT_URL}blog/post/{ID}">{title}</a></li>
@ -12,7 +12,7 @@
{/ALT} {/ALT}
</ol> </ol>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}blog">View All</a> <a href="{ROOT_URL}blog">View All</a>
</div> </div>
</div> </div>

View File

@ -1,8 +1,8 @@
<div class="panel panel-info"> <div class="card panel-info">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Archives</h3> <h3 class="card-title">Archives</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<ol class="list-unstyled"> <ol class="list-unstyled">
{LOOP} {LOOP}
<li>({count}) <a href="{ROOT_URL}blog/month/{month}/{year}">{monthText} {year}</a></li> <li>({count}) <a href="{ROOT_URL}blog/month/{month}/{year}">{monthText} {year}</a></li>

View File

@ -20,8 +20,8 @@
<td align="center">{ID}</td> <td align="center">{ID}</td>
<td align="center">{DTC}{time}{/DTC}</td> <td align="center">{DTC}{time}{/DTC}</td>
<td>{description}</td> <td>{description}</td>
<td><a href="{ROOT_URL}admin/bugreport/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/bugreport/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/bugreport/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/bugreport/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="BR_[]"> <input type="checkbox" value="{ID}" name="BR_[]">
</td> </td>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Bug Report</h3> <h3 class="card-title">Bug Report</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-12 col-lg-12 "> <div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -49,12 +49,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
{ADMIN} {ADMIN}
<form action="{ROOT_URL}admin/bugreport/delete" method="post"> <form action="{ROOT_URL}admin/bugreport/delete" method="post">
<INPUT type="hidden" name="BR_" value="{ID}"/> <INPUT type="hidden" name="BR_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" /> <input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></button> <button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</form> </form>
{/ADMIN} {/ADMIN}
</div> </div>

View File

@ -170,7 +170,7 @@ class Comments extends DatabaseModel {
$where = ['contentType', '=', $contentType]; $where = ['contentType', '=', $contentType];
} }
if ( empty( $limit ) ) { if ( empty( $limit ) ) {
$commentData = self::$db->getPaginated( $this->tableName, $where, 'created', 'DESC' ); $commentData = self::$db->get( $this->tableName, $where, 'created', 'DESC' );
} else { } else {
$commentData = self::$db->get( $this->tableName, $where, 'created', 'DESC', [0, $limit] ); $commentData = self::$db->get( $this->tableName, $where, 'created', 'DESC', [0, $limit] );
} }

View File

@ -13,8 +13,8 @@
<tr> <tr>
<td>{authorName}</td> <td>{authorName}</td>
<td>{content}</td> <td>{content}</td>
<td><a href="{ROOT_URL}admin/comments/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/comments/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/comments/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/comments/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
</tr> </tr>
{/LOOP} {/LOOP}
{ALT} {ALT}

View File

@ -22,8 +22,8 @@
<td><a href="{ROOT_URL}admin/blog/view/{contentID}">{contentTitle}</a></td> <td><a href="{ROOT_URL}admin/blog/view/{contentID}">{contentTitle}</a></td>
<td>{content}</td> <td>{content}</td>
<td>{DTC}{created}{/DTC}</td> <td>{DTC}{created}{/DTC}</td>
<td><a href="{ROOT_URL}admin/comments/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/comments/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/comments/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/comments/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="C_[]"> <input type="checkbox" value="{ID}" name="C_[]">
</td> </td>

View File

@ -1,8 +1,8 @@
<div class="action"> <div class="action">
<a href="{ROOT_URL}{COMMENT_TYPE}/comments/edit/{ID}" class="btn btn-warning btn-xs" role="button"> <a href="{ROOT_URL}{COMMENT_TYPE}/comments/edit/{ID}" class="btn btn-warning btn-sm" role="button">
<span class="glyphicon glyphicon-pencil"></span> <span class="fa fa-fw fa-pencil"></span>
</a> </a>
<a href="{ROOT_URL}{COMMENT_TYPE}/comments/delete/{ID}" class="btn btn-danger btn-xs" role="button"> <a href="{ROOT_URL}{COMMENT_TYPE}/comments/delete/{ID}" class="btn btn-danger btn-sm" role="button">
<span class="glyphicon glyphicon-trash"></span> <span class="fa fa-fw fa-trash"></span>
</a> </a>
</div> </div>

View File

@ -1,18 +1,18 @@
<div class="panel panel-info widget comments"> <div class="card panel-info widget comments">
<div class="panel-heading"> <div class="card-header">
<span class="glyphicon glyphicon-comment"></span> <span class="fa fa-fw fa-comment"></span>
<h3 class="panel-title">Comments</h3> <h3 class="card-title">Comments</h3>
<span class="label label-primary">{count}</span> <span class="label label-primary">{count}</span>
</div> </div>
<div class="panel-body"> <div class="card-body">
<ul class="list-group"> <ul class="list-group">
{LOOP} {LOOP}
<li class="list-group-item"> <li class="list-group-item">
<div class="row"> <div class="row">
<div class="col-xs-2 col-md-1"> <div class="col-sm-2 col-md-12">
<img src="{ROOT_URL}{avatar}" class="img-circle img-responsive" alt="" /> <img src="{ROOT_URL}{avatar}" class="img-circle img-responsive" alt="" />
</div> </div>
<div class="col-xs-10 col-md-11"> <div class="col-sm-10 col-md-12">
<div> <div>
<div class="mic-info"> <div class="mic-info">
By: <a href="{ROOT_URL}home/profile/{author}">{authorName}</a> on {DTC date}{created}{/DTC} By: <a href="{ROOT_URL}home/profile/{author}">{authorName}</a> on {DTC date}{created}{/DTC}
@ -29,7 +29,7 @@
{ALT} {ALT}
<li class="list-group-item"> <li class="list-group-item">
<div class="row"> <div class="row">
<div class="col-xs-10 col-md-11"> <div class="col-sm-10 col-md-12">
<div class="comment-text"> <div class="comment-text">
<p class="text-center">Be the first to comment.</p> <p class="text-center">Be the first to comment.</p>
</div> </div>

View File

@ -20,8 +20,8 @@
<td>{ID}</td> <td>{ID}</td>
<td>{DTC}{time}{/DTC}</td> <td>{DTC}{time}{/DTC}</td>
<td>{feedback}</td> <td>{feedback}</td>
<td><a href="{ROOT_URL}admin/feedback/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/feedback/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}admin/feedback/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/feedback/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="F_[]"> <input type="checkbox" value="{ID}" name="F_[]">
</td> </td>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Feedback</h3> <h3 class="card-title">Feedback</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-12 col-lg-12 "> <div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -41,12 +41,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
{ADMIN} {ADMIN}
<form action="{ROOT_URL}admin/feedback/delete" method="post"> <form action="{ROOT_URL}admin/feedback/delete" method="post">
<INPUT type="hidden" name="F_" value="{ID}"/> <INPUT type="hidden" name="F_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" /> <input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></button> <button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</form> </form>
{/ADMIN} {/ADMIN}
</div> </div>

View File

@ -61,7 +61,7 @@ class Message extends DatabaseModel {
Debug::info( 'Invalid user ID' ); Debug::info( 'Invalid user ID' );
return false; return false;
} }
$messageData = self::$db->getPaginated( $this->tableName, [ 'ID', '=', $parent ] ); $messageData = self::$db->get( $this->tableName, [ 'ID', '=', $parent ] );
if ( $messageData->count() == 0 ) { if ( $messageData->count() == 0 ) {
Debug::info( 'Message not found.' ); Debug::info( 'Message not found.' );
return false; return false;
@ -71,7 +71,7 @@ class Message extends DatabaseModel {
if ( $type !== null ) { if ( $type !== null ) {
$params = array_merge( $params, [ 'AND', $type, '=', $user ] ); $params = array_merge( $params, [ 'AND', $type, '=', $user ] );
} }
$messageData = self::$db->getPaginated( $this->tableName, $params, 'ID', 'DESC', [ 0, 1 ] ); $messageData = self::$db->get( $this->tableName, $params, 'ID', 'DESC', [ 0, 1 ] );
if ( $messageData->count() != 0 ) { if ( $messageData->count() != 0 ) {
if ( $messageData->first()->recieverDeleted == 0 ) { if ( $messageData->first()->recieverDeleted == 0 ) {
$message = $messageData->first(); $message = $messageData->first();
@ -93,7 +93,7 @@ class Message extends DatabaseModel {
Debug::info( 'Invalid ID' ); Debug::info( 'Invalid ID' );
return false; return false;
} }
$messageData = self::$db->getPaginated( $this->tableName, [ 'ID', '=', $id ] ); $messageData = self::$db->get( $this->tableName, [ 'ID', '=', $id ] );
if ( $messageData->count() == 0 ) { if ( $messageData->count() == 0 ) {
Debug::info( 'Message not found.' ); Debug::info( 'Message not found.' );
return false; return false;
@ -122,7 +122,7 @@ class Message extends DatabaseModel {
} else { } else {
$find = $message->ID; $find = $message->ID;
} }
$messageData = self::$db->getPaginated( $this->tableName, [ 'ID', '=', $find, 'OR', 'Parent', '=', $find ], 'ID', 'ASC' )->results(); $messageData = self::$db->get( $this->tableName, [ 'ID', '=', $find, 'OR', 'Parent', '=', $find ], 'ID', 'ASC' )->results();
Components::set( 'PID', $find ); Components::set( 'PID', $find );
if ( $markRead == true ) { if ( $markRead == true ) {
@ -138,7 +138,7 @@ class Message extends DatabaseModel {
$limit = 10; $limit = 10;
} }
$limit = [ 0, $limit ]; $limit = [ 0, $limit ];
$messageData = self::$db->getPaginated( $messageData = self::$db->get(
$this->tableName, $this->tableName,
[ [
'parent', '=', 0, 'parent', '=', 0,
@ -154,7 +154,7 @@ class Message extends DatabaseModel {
$limit $limit
); );
if ( $messageData->count() == 0 ) { if ( $messageData->count() == 0 ) {
Debug::info( 'No messages found' ); Debug::info( 'getInbox: No messages found' );
return false; return false;
} }
$filters = [ $filters = [
@ -175,7 +175,7 @@ class Message extends DatabaseModel {
$limit = 10; $limit = 10;
} }
$limit = [ 0, $limit ]; $limit = [ 0, $limit ];
$messageData = self::$db->getPaginated( $messageData = self::$db->get(
$this->tableName, $this->tableName,
[ [
'parent', '=', 0, 'parent', '=', 0,
@ -187,7 +187,7 @@ class Message extends DatabaseModel {
$limit $limit
); );
if ( $messageData->count() == 0 ) { if ( $messageData->count() == 0 ) {
Debug::info( 'No messages found' ); Debug::info( 'getOutbox: No messages found' );
return false; return false;
} }
$filters = [ $filters = [

View File

@ -32,9 +32,9 @@ class Messages extends Plugin {
], ],
]; ];
private static $loaded = false; private static $loaded = false;
public function __construct() { public function __construct() {
// This was taken directly from the main app if ( ! self::$loaded ) {
// load the message template data as part of the template
$messages = new Message; $messages = new Message;
Components::set( 'MESSAGE_COUNT', $messages->unreadCount() ); Components::set( 'MESSAGE_COUNT', $messages->unreadCount() );
if ( $messages->unreadCount() > 0 ) { if ( $messages->unreadCount() > 0 ) {
@ -48,7 +48,7 @@ class Messages extends Plugin {
} else { } else {
Components::set( 'RECENT_MESSAGES', '' ); Components::set( 'RECENT_MESSAGES', '' );
} }
if ( ! self::$loaded ) {
App::$topNavRight .= '{RECENT_MESSAGES}'; App::$topNavRight .= '{RECENT_MESSAGES}';
App::$topNavRightDropdown .= '<li><a href="{ROOT_URL}messages"><i class="fa fa-fw fa-envelope"></i> Inbox {MBADGE}</a></li>'; App::$topNavRightDropdown .= '<li><a href="{ROOT_URL}messages"><i class="fa fa-fw fa-envelope"></i> Inbox {MBADGE}</a></li>';
self::$loaded = true; self::$loaded = true;

View File

@ -1,14 +1,14 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
{LOOP} {LOOP}
{SINGLE} {SINGLE}
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{subject}</h3> <h3 class="card-title">{subject}</h3>
</div> </div>
{/SINGLE} {/SINGLE}
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class="col-md-3 col-lg-3 " align="center"> <div class="col-md-3 col-lg-3 " align="center">
<a href="{ROOT_URL}home/profile/{userFrom}">{userFrom}</a><br> <a href="{ROOT_URL}home/profile/{userFrom}">{userFrom}</a><br>
@ -23,10 +23,10 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
{ADMIN} {ADMIN}
{ID} {ID}
<span class="pull-right"> <span class="float-right">
{DTC}{sent}{/DTC} {DTC}{sent}{/DTC}
</span> </span>
{/ADMIN} {/ADMIN}

View File

@ -1,14 +1,14 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
{LOOP} {LOOP}
{SINGLE} {SINGLE}
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{subject}</h3> <h3 class="card-title">{subject}</h3>
</div> </div>
{/SINGLE} {/SINGLE}
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class="col-md-3 col-lg-3 " align="center"> <div class="col-md-3 col-lg-3 " align="center">
<a href="{ROOT_URL}home/profile/{userFrom}">{userFrom}</a><br> <a href="{ROOT_URL}home/profile/{userFrom}">{userFrom}</a><br>
@ -23,10 +23,10 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
{ADMIN} {ADMIN}
{ID} {ID}
<span class="pull-right"> <span class="float-right">
{DTC}{sent}{/DTC} {DTC}{sent}{/DTC}
</span> </span>
{/ADMIN} {/ADMIN}

View File

@ -1,6 +1,15 @@
<li class="dropdown"> <li class="dropdown nav-link">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-envelope"></i>{MBADGE}</a> <a
<ul class="dropdown-menu message-dropdown"> href="#"
class="nav-link dropdown-toggle"
id="messagesDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<i class="fa fa-fw fa-envelope"></i>{MBADGE}
</a>
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="messagesDropdown">
<li class="message-header"> <li class="message-header">
<div class="media"> <div class="media">
<div class="media-body text-center" style="padding-bottom: 10px; padding-top: 10px"> <div class="media-body text-center" style="padding-bottom: 10px; padding-top: 10px">
@ -12,7 +21,7 @@
<li class="message-preview"> <li class="message-preview">
<a href="{ROOT_URL}messages/view/{ID}"> <a href="{ROOT_URL}messages/view/{ID}">
<div class="media"> <div class="media">
<span class="pull-left"> <span class="float-left">
<img class="media-object avatar-round-40" src="{ROOT_URL}{fromAvatar}" alt=""> <img class="media-object avatar-round-40" src="{ROOT_URL}{fromAvatar}" alt="">
</span> </span>
<div class="media-body"> <div class="media-body">

View File

@ -73,12 +73,12 @@ class Notification extends DatabaseModel {
'expiresAt', '<', time(), 'expiresAt', '<', time(),
]; ];
if ( empty( $limit ) ) { if ( empty( $limit ) ) {
$notifications = self::$db->getPaginated( $this->tableName, $whereClause ); $notifications = self::$db->get( $this->tableName, $whereClause );
} else { } else {
$notifications = self::$db->getPaginated( $this->tableName, $whereClause, 'ID', 'DESC', [0, $limit] ); $notifications = self::$db->get( $this->tableName, $whereClause, 'ID', 'DESC', [0, $limit] );
} }
if ( !$notifications->count() ) { if ( !$notifications->count() ) {
Debug::info( 'No Notifications found.' ); Debug::info( 'Notification:getByUser No Notifications found' );
return false; return false;
} }
return $this->filter( $notifications->results() ); return $this->filter( $notifications->results() );

View File

@ -33,7 +33,7 @@ class Notifications extends Plugin {
]; ];
public $admin_links = [ public $admin_links = [
[ [
'text' => '<i class="glyphicon glyphicon-bell"></i> Notify', 'text' => '<i class="fa fa-fw fa-bell"></i> Notify',
'url' => '{ROOT_URL}admin/notifications', 'url' => '{ROOT_URL}admin/notifications',
], ],
]; ];
@ -49,14 +49,14 @@ class Notifications extends Plugin {
$messageBadge = ''; $messageBadge = '';
} }
Components::set( 'NBADGE', $messageBadge ); Components::set( 'NBADGE', $messageBadge );
if ( ! self::$loaded ) {
if ( App::$isLoggedIn ) { if ( App::$isLoggedIn ) {
Components::set( 'recentNotifications', Views::simpleView( 'notifications.nav.recentNotificationsDropdown', $notifications->getByUser( 10 ) ) ); Components::set( 'recentNotifications', Views::simpleView( 'notifications.nav.recentNotificationsDropdown', $notifications->getByUser( 10 ) ) );
} else { } else {
Components::set( 'recentNotifications', '' ); Components::set( 'recentNotifications', '' );
} }
if ( ! self::$loaded ) {
App::$topNavRight .= '{recentNotifications}'; App::$topNavRight .= '{recentNotifications}';
App::$topNavRightDropdown .= '<li><a href="{ROOT_URL}notifications"><i class="glyphicon glyphicon-bell"></i> Notifications {NBADGE}</a></li>'; App::$topNavRightDropdown .= '<li><a href="{ROOT_URL}notifications"><i class="fa fa-fw fa-bell"></i> Notifications {NBADGE}</a></li>';
self::$loaded = true; self::$loaded = true;
} }
} }

View File

@ -13,8 +13,8 @@
{LOOP} {LOOP}
<tr {unseenBadge}> <tr {unseenBadge}>
<td>{notification}</td> <td>{notification}</td>
<td><a href="{ROOT_URL}notifications/markRead/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}notifications/markRead/{ID}" class="btn btn-sm btn-primary" role="button"><i class="fa fa-fw fa-upload"></i></a></td>
<td><a href="{ROOT_URL}notifications/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}notifications/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
</tr> </tr>
{/LOOP} {/LOOP}
{ALT} {ALT}

View File

@ -1,6 +1,15 @@
<li class="dropdown"> <li class="dropdown nav-link">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-bell"></i>{NBADGE}</a> <a
<ul class="dropdown-menu message-dropdown"> href="#"
class="nav-link dropdown-toggle"
id="notiificationsDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<i class="fa fa-fw fa-bell"></i>{NBADGE}
</a>
<ul class="dropdown-menu dropdown-menu-right message-dropdown" aria-labelledby="notiificationsDropdown">
{LOOP} {LOOP}
<li class="message-preview"> <li class="message-preview">
<a href="{ROOT_URL}notifications"> <a href="{ROOT_URL}notifications">

View File

@ -17,7 +17,7 @@
<tr> <tr>
<td align="center">{ID}</td> <td align="center">{ID}</td>
<td>{EMAIL}</td> <td>{EMAIL}</td>
<td><a href="{ROOT_URL}admin/subscriptions/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/subscriptions/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="S_[]"> <input type="checkbox" value="{ID}" name="S_[]">
</td> </td>

View File

@ -19,8 +19,6 @@
<link rel="alternate" hreflang="en-us" href="alternateURL"> <link rel="alternate" hreflang="en-us" href="alternateURL">
<link rel="icon" href="{BASE}images/favicon.ico"> <link rel="icon" href="{BASE}images/favicon.ico">
<!-- Required CSS --> <!-- Required CSS -->
<link rel="stylesheet" href="{BASE}vendor/twbs/bootstrap/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="{BASE}vendor/fortawesome/font-awesome/css/font-awesome.min.css">
<!-- Custom styles for this template --> <!-- Custom styles for this template -->
<link rel="stylesheet" href="{BASE}Templates/default/default.css"> <link rel="stylesheet" href="{BASE}Templates/default/default.css">
<!-- Required JS --> <!-- Required JS -->
@ -32,7 +30,7 @@
but I had to account for additional menus--> but I had to account for additional menus-->
<div class="navbar-header"> <div class="navbar-header">
<a href="{BASE}" class="navbar-brand">{SITENAME}</a> <a href="{BASE}" class="navbar-brand">{SITENAME}</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse" style=""> <button type="button" class="navbar-toggler" data-toggle="collapse" data-target=".navbar-ex1-collapse" style="">
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
@ -43,7 +41,7 @@
<div class="collapse navbar-collapse navbar-ex1-collapse"> <div class="collapse navbar-collapse navbar-ex1-collapse">
{topNavLeft} {topNavLeft}
<div class="navbar-right"> <div class="navbar-right">
<ul class="nav navbar-nav"> <ul class=" navbar-nav">
{topNavRight} {topNavRight}
</ul> </ul>
</div> </div>

View File

@ -19,52 +19,51 @@
<link rel="icon" href="{ROOT_URL}images/favicon.ico"> <link rel="icon" href="{ROOT_URL}images/favicon.ico">
<!-- Required CSS --> <!-- Required CSS -->
<link rel="stylesheet" href="{FONT_AWESOME_URL}font-awesome.min.css" crossorigin="anonymous"> <link rel="stylesheet" href="{FONT_AWESOME_URL}font-awesome.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap-theme.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap.min.css" crossorigin="anonymous"> <link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap.min.css" crossorigin="anonymous">
<!-- Custom styles for this template --> <!-- Custom styles for this template -->
{TEMPLATE_CSS_INCLUDES} {TEMPLATE_CSS_INCLUDES}
</head> </head>
<body> <body>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" role="navigation">
<!-- Brand and toggle get grouped for better mobile display --> <!--Brand and toggle should get grouped for better mobile display but I had to account for additional menus-->
<div class="navbar-header">
<a href="{ROOT_URL}" class="navbar-brand">{SITENAME}</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Top Menu Items -->
<div class="container-fluid"> <div class="container-fluid">
<div class="collapse navbar-collapse navbar-ex1-collapse"> <a href="{ROOT_URL}" class="navbar-brand">{SITENAME}</a>
<!-- Toggler Button -->
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
{topNavLeft} {topNavLeft}
<div class="navbar-right"> <ul class="navbar-nav ml-auto">
<ul class="nav navbar-nav">
{topNavRight} {topNavRight}
</ul> </ul>
</div> </div>
</div> </div>
</div>
{ADMIN}
{ADMINNAV}
{/ADMIN}
</nav> </nav>
<div class="container-fluid"> <div class="container-fluid">
{ISSUES} {ISSUES}
<div class="row"> <div class="row">
<div class="container"> <div class="col-xlg-11 col-xlg-offset-1 col-lg-10 col-lg-offset-2 col-med-offset-2 col-md-10 col-sm-offset-3 col-sm-9 row">
<div class="col-xlg-11 col-xlg-offset-1 col-lg-10 col-lg-offset-2 col-med-offset-2 col-md-10 col-sm-offset-3 col-sm-9 col-xs-offset-3 col-xs-9 row">
{ERROR} {ERROR}
{NOTICE} {NOTICE}
{SUCCESS} {SUCCESS}
</div> </div>
</div> </div>
</div>
{/ISSUES} {/ISSUES}
<div class="row"> <div class="row">
<div class="col-xlg-11 col-xlg-offset-1 col-lg-10 col-lg-offset-2 col-med-offset-2 col-md-10 col-sm-offset-3 col-sm-9 col-xs-offset-3 col-xs-9 main"> <div class="col-xlg-1 col-lg-2 col-med-2">
{ADMIN}
{ADMINNAV}
{/ADMIN}
</div>
<div class="col-xlg-11 col-xlg-offset-1 col-lg-10 col-lg-offset-2 col-med-offset-2 col-md-10 col-sm-offset-3 col-sm-9 main">
{ADMIN_BREADCRUMBS} {ADMIN_BREADCRUMBS}
{CONTENT} {CONTENT}
</div> </div>
@ -73,7 +72,7 @@
<footer> <footer>
<div class="sticky-foot"> <div class="sticky-foot">
<div class="sticky-foot-head" id=""></div> <div class="sticky-foot-head" id=""></div>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center sticky-copy"> <div class="col-lg-12 col-md-12 col-sm-12 text-center sticky-copy">
<p class="text-muted">Powered by <a href="https://thetempusproject.com">The Tempus Project</a>.</p> <p class="text-muted">Powered by <a href="https://thetempusproject.com">The Tempus Project</a>.</p>
</div> </div>
</div> </div>

View File

@ -52,7 +52,7 @@ class DefaultLoader extends Loader {
if ( App::$isLoggedIn ) { if ( App::$isLoggedIn ) {
Components::set( 'topNavRightDropdown', Template::parse( App::$topNavRightDropdown ) ); Components::set( 'topNavRightDropdown', Template::parse( App::$topNavRightDropdown ) );
Components::set( 'STATUS', Views::simpleView( 'nav.statusLoggedIn' ) ); Components::set( 'STATUS', Views::simpleView( 'nav.statusLoggedIn' ) );
Components::set( 'USERNAME', App::$activeUser->username ); Components::set( 'USERNAME', \ucfirst( App::$activeUser->username ) );
} else { } else {
Components::set( 'STATUS', Views::simpleView( 'nav.statusLoggedOut' ) ); Components::set( 'STATUS', Views::simpleView( 'nav.statusLoggedOut' ) );
} }

View File

@ -30,37 +30,37 @@
<link rel="icon" href="{ROOT_URL}images/favicon.ico"> <link rel="icon" href="{ROOT_URL}images/favicon.ico">
<!-- Required CSS --> <!-- Required CSS -->
<link rel="stylesheet" href="{FONT_AWESOME_URL}font-awesome.min.css" crossorigin="anonymous"> <link rel="stylesheet" href="{FONT_AWESOME_URL}font-awesome.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap-theme.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap.min.css" crossorigin="anonymous"> <link rel="stylesheet" href="{BOOTSTRAP_CDN}css/bootstrap.min.css" crossorigin="anonymous">
<!-- Custom styles for this template --> <!-- Custom styles for this template -->
{TEMPLATE_CSS_INCLUDES} {TEMPLATE_CSS_INCLUDES}
</head> </head>
<body> <body>
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top" role="navigation">
<!--Brand and toggle should get grouped for better mobile display but I had to account for additional menus--> <!--Brand and toggle should get grouped for better mobile display but I had to account for additional menus-->
<div class="navbar-header">
<a href="{ROOT_URL}" class="navbar-brand">{SITENAME}</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse" style="">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="container-fluid"> <div class="container-fluid">
<div class="collapse navbar-collapse navbar-ex1-collapse"> <a href="{ROOT_URL}" class="navbar-brand">{SITENAME}</a>
<!-- Toggler Button -->
<button
class="navbar-toggler"
type="button"
data-toggle="collapse"
data-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
{topNavLeft} {topNavLeft}
<div class="navbar-right"> <ul class="navbar-nav ml-auto">
<ul class="nav navbar-nav">
{topNavRight} {topNavRight}
</ul> </ul>
</div> </div>
</div> </div>
</div>
</nav> </nav>
<div class="container-fluid top-pad dynamic-footer-padding"> <div class="container-fluid top-pad dynamic-footer-padding">
{ISSUES} {ISSUES}
<div class="container"> <div class="container pt-4">
<div class="row"> <div class="row">
{ERROR} {ERROR}
{NOTICE} {NOTICE}
@ -69,7 +69,7 @@
</div> </div>
</div> </div>
{/ISSUES} {/ISSUES}
<div class="container"> <div class="pt-4">
{CONTENT} {CONTENT}
</div> </div>
</div> </div>

View File

@ -1,14 +1,14 @@
<legend>Admin Dashboard</legend> <legend>Admin Dashboard</legend>
<div class="row"> <div class="row">
<div class="col-xlg-6 col-lg-6 col-md-6 col-sm-6 col-xs-6"> <div class="col-xlg-6 col-lg-6 col-md-6 col-sm-6">
{userDash} {userDash}
</div> </div>
<div class="col-xlg-6 col-lg-6 col-md-6 col-sm-6 col-xs-6"> <div class="col-xlg-6 col-lg-6 col-md-6 col-sm-6">
{commentDash} {commentDash}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-xlg-12 col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="col-xlg-12 col-lg-12 col-md-12 col-sm-12">
{blogDash} {blogDash}
</div> </div>
</div> </div>

View File

@ -12,9 +12,9 @@
{LOOP} {LOOP}
<tr> <tr>
<td align="center">{username}</td> <td align="center">{username}</td>
<td><a href="{ROOT_URL}admin/users/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-user"></i></a></td> <td><a href="{ROOT_URL}admin/users/view/{ID}" class="btn btn-sm btn-primary" role="button"><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" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
</tr> </tr>
{/LOOP} {/LOOP}
{ALT} {ALT}

View File

@ -18,8 +18,8 @@
<tr> <tr>
<td><a href="{ROOT_URL}admin/groups/view/{ID}">{name}</a></td> <td><a href="{ROOT_URL}admin/groups/view/{ID}">{name}</a></td>
<td><a href="{ROOT_URL}admin/groups/listmembers/{ID}">{userCount}</a></td> <td><a href="{ROOT_URL}admin/groups/listmembers/{ID}">{userCount}</a></td>
<td><a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/groups/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/groups/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="G_[]"> <input type="checkbox" value="{ID}" name="G_[]">
</td> </td>

View File

@ -1,6 +1,4 @@
<div class="page-header"> <h1>{groupName} <small>user list</small></h1>
<h1>{groupName} <small>user list</small></h1>
</div>
{PAGINATION} {PAGINATION}
<form action="{ROOT_URL}admin/users/delete" method="post"> <form action="{ROOT_URL}admin/users/delete" method="post">
<table class="table table-striped"> <table class="table table-striped">
@ -22,8 +20,8 @@
<td>{ID}</td> <td>{ID}</td>
<td><a href='{ROOT_URL}admin/users/view/{ID}'>{username}</a></td> <td><a href='{ROOT_URL}admin/users/view/{ID}'>{username}</a></td>
<td>{DTC date}{registered}{/DTC}</td> <td>{DTC date}{registered}{/DTC}</td>
<td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="U_[]"> <input type="checkbox" value="{ID}" name="U_[]">
</td> </td>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{name}</h3> <h3 class="card-title">{name}</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-9 col-lg-9 "> <div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -16,7 +16,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning" role="button">Edit</a> <a href="{ROOT_URL}admin/groups/edit/{ID}" class="btn btn-sm btn-warning" role="button">Edit</a>
<a href="{ROOT_URL}admin/groups/delete/{ID}" class="btn btn-sm btn-danger" role="button">Delete</a> <a href="{ROOT_URL}admin/groups/delete/{ID}" class="btn btn-sm btn-danger" role="button">Delete</a>
</div> </div>

View File

@ -40,7 +40,7 @@
<form action="{ROOT_URL}admin/admin/delete" method="post"> <form action="{ROOT_URL}admin/admin/delete" method="post">
<INPUT type="hidden" name="L_" value="{ID}"/> <INPUT type="hidden" name="L_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" /> <input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></button> <button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</form> </form>
{/ADMIN} {/ADMIN}
</div> </div>

View File

@ -20,8 +20,8 @@
<td>{ID}</td> <td>{ID}</td>
<td>{DTC}{time}{/DTC}</td> <td>{DTC}{time}{/DTC}</td>
<td>{action}</td> <td>{action}</td>
<td><a href="{ROOT_URL}admin/admin/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/admin/view/{ID}" class="btn btn-sm btn-primary" role="button"><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" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/admin/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="A_[]"> <input type="checkbox" value="{ID}" name="A_[]">
</td> </td>

View File

@ -47,7 +47,7 @@
<form action="{ROOT_URL}admin/errors/delete" method="post"> <form action="{ROOT_URL}admin/errors/delete" method="post">
<INPUT type="hidden" name="E_" value="{ID}"/> <INPUT type="hidden" name="E_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" /> <input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></button> <button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</form> </form>
{/ADMIN} {/ADMIN}
</div> </div>

View File

@ -18,8 +18,8 @@
<td align="center">{ID}</td> <td align="center">{ID}</td>
<td align="center">{DTC}{time}{/DTC}</td> <td align="center">{DTC}{time}{/DTC}</td>
<td>{error}</td> <td>{error}</td>
<td><a href="{ROOT_URL}admin/errors/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/errors/view/{ID}" class="btn btn-sm btn-primary" role="button"><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" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/errors/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="E_[]"> <input type="checkbox" value="{ID}" name="E_[]">
</td> </td>

View File

@ -40,7 +40,7 @@
<form action="{ROOT_URL}admin/logins/delete" method="post"> <form action="{ROOT_URL}admin/logins/delete" method="post">
<INPUT type="hidden" name="L_" value="{ID}"/> <INPUT type="hidden" name="L_" value="{ID}"/>
<input type="hidden" name="token" value="{TOKEN}" /> <input type="hidden" name="token" value="{TOKEN}" />
<button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></button> <button name="submit" value="submit" type="submit" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</form> </form>
{/ADMIN} {/ADMIN}
</div> </div>

View File

@ -20,8 +20,8 @@
<td>{ID}</td> <td>{ID}</td>
<td>{DTC}{time}{/DTC}</td> <td>{DTC}{time}{/DTC}</td>
<td>{action}</td> <td>{action}</td>
<td><a href="{ROOT_URL}admin/logins/view/{ID}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/logins/view/{ID}" class="btn btn-sm btn-primary" role="button"><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" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/logins/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="L_[]"> <input type="checkbox" value="{ID}" name="L_[]">
</td> </td>

View File

@ -20,7 +20,7 @@
<td>{installedVersion}</td> <td>{installedVersion}</td>
<td>{DTC=date}{installDate}{/DTC}</td> <td>{DTC=date}{installDate}{/DTC}</td>
<td>{DTC=date}{lastUpdate}{/DTC}</td> <td>{DTC=date}{lastUpdate}{/DTC}</td>
<td><a href="{ROOT_URL}admin/models/view/{name}" class="btn btn-sm btn-primary" role="button"><i class="glyphicon glyphicon-open"></i></a></td> <td><a href="{ROOT_URL}admin/models/view/{name}" class="btn btn-sm btn-primary" role="button"><i class="fa fa-fw fa-upload"></i></a></td>
</tr> </tr>
{/LOOP} {/LOOP}
{ALT} {ALT}

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Model Info</h3> <h3 class="card-title">Model Info</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-12 col-lg-12 "> <div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -59,7 +59,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}admin/models/install/{name}" class="btn btn-sm btn-warning" role="button">Install</a> <a href="{ROOT_URL}admin/models/install/{name}" class="btn btn-sm btn-warning" role="button">Install</a>
<a href="{ROOT_URL}admin/models/uninstall/{name}" class="btn btn-sm btn-danger" role="button">Uninstall</a> <a href="{ROOT_URL}admin/models/uninstall/{name}" class="btn btn-sm btn-danger" role="button">Uninstall</a>
</div> </div>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">Plugin Info</h3> <h3 class="card-title">Plugin Info</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-12 col-lg-12 "> <div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -63,7 +63,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}admin/plugins/install/{name}" class="btn btn-sm btn-primary" role="button">Install</a> <a href="{ROOT_URL}admin/plugins/install/{name}" class="btn btn-sm btn-primary" role="button">Install</a>
<a href="{ROOT_URL}admin/plugins/enable/{name}" class="btn btn-sm btn-success" role="button">Enable</a> <a href="{ROOT_URL}admin/plugins/enable/{name}" class="btn btn-sm btn-success" role="button">Enable</a>
<a href="{ROOT_URL}admin/plugins/disable/{name}" class="btn btn-sm btn-danger" role="button">Disable</a> <a href="{ROOT_URL}admin/plugins/disable/{name}" class="btn btn-sm btn-danger" role="button">Disable</a>

View File

@ -24,8 +24,8 @@
<td>{redirect_type}</td> <td>{redirect_type}</td>
<td>{original_url}</td> <td>{original_url}</td>
<td>{forwarded_url}</td> <td>{forwarded_url}</td>
<td><a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/routes/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/routes/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="R_[]"> <input type="checkbox" value="{ID}" name="R_[]">
</td> </td>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{nickname}</h3> <h3 class="card-title">{nickname}</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-9 col-lg-9 "> <div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -27,7 +27,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning" role="button">Edit</a> <a href="{ROOT_URL}admin/routes/edit/{ID}" class="btn btn-sm btn-warning" role="button">Edit</a>
<a href="{ROOT_URL}admin/routes/delete/{ID}" class="btn btn-sm btn-danger" role="button">Delete</a> <a href="{ROOT_URL}admin/routes/delete/{ID}" class="btn btn-sm btn-danger" role="button">Delete</a>
</div> </div>

View File

@ -15,7 +15,7 @@
<td align="center">{ID}</td> <td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/tokens/view/{ID}'>{name}</a></td> <td><a href='{ROOT_URL}admin/tokens/view/{ID}'>{name}</a></td>
<td>{token_type}</td> <td>{token_type}</td>
<td><a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
</tr> </tr>
{/LOOP} {/LOOP}
{ALT} {ALT}

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{name}</h3> <h3 class="card-title">{name}</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class=" col-md-9 col-lg-9 "> <div class=" col-md-9 col-lg-9 ">
<table class="table table-user-primary"> <table class="table table-user-primary">
@ -39,7 +39,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger" role="button">Delete</a> <a href="{ROOT_URL}admin/tokens/delete/{ID}" class="btn btn-sm btn-danger" role="button">Delete</a>
</div> </div>
</div> </div>

View File

@ -20,8 +20,8 @@
<td align="center">{ID}</td> <td align="center">{ID}</td>
<td><a href='{ROOT_URL}admin/users/view/{ID}'>{username}</a></td> <td><a href='{ROOT_URL}admin/users/view/{ID}'>{username}</a></td>
<td>{DTC date}{registered}{/DTC}</td> <td>{DTC date}{registered}{/DTC}</td>
<td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></i></a></td> <td><a href="{ROOT_URL}admin/users/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="fa fa-fw fa-pencil-square"></i></a></td>
<td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></i></a></td> <td><a href="{ROOT_URL}admin/users/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="fa fa-fw fa-trash"></i></a></td>
<td> <td>
<input type="checkbox" value="{ID}" name="U_[]"> <input type="checkbox" value="{ID}" name="U_[]">
</td> </td>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 col-xs-offset-0 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" > <div class="col-sm-12 col-md-6 col-lg-6 col-sm-offset-0 col-md-offset-3 col-lg-offset-3 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{username}</h3> <h3 class="card-title">{username}</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class="col-md-3 col-lg-3 " align="center"> <div class="col-md-3 col-lg-3 " align="center">
<img alt="User Pic" src="{ROOT_URL}{avatar}" class="img-circle img-responsive"> <img alt="User Pic" src="{ROOT_URL}{avatar}" class="img-circle img-responsive">
@ -49,15 +49,15 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}messages/create?prepopuser={USERNAME}" data-original-title="Broadcast Message" data-toggle="tooltip" type="button" class="btn btn-sm btn-primary"><i class="glyphicon glyphicon-envelope"></i></a> <a href="{ROOT_URL}messages/create?prepopuser={USERNAME}" data-original-title="Broadcast Message" data-toggle="tooltip" type="button" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-envelope"></i></a>
{ADMIN} {ADMIN}
<span class="pull-right"> <span class="float-right">
<a href="{ROOT_URL}admin/users/edit/{ID}"> <a href="{ROOT_URL}admin/users/edit/{ID}">
<button name="submit" value="edit" class="btn btn-sm btn-warning"><i class="glyphicon glyphicon-edit"></i></button> <button name="submit" value="edit" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil-square"></i></button>
</a> </a>
<a href="{ROOT_URL}admin/users/delete/{ID}"> <a href="{ROOT_URL}admin/users/delete/{ID}">
<button name="submit" value="delete" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></button> <button name="submit" value="delete" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></button>
</a> </a>
</span> </span>
{/ADMIN} {/ADMIN}

View File

@ -1,8 +1,8 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-xs-12 col-centered"> <div class="col-lg-9 col-md-9 col-sm-12 col-centered">
<div class="row"> <div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="col-lg-12 col-md-12 col-sm-12">
<h2>Welcome to The Tempus-Project Friends and Family Alpha.</h2> <h2>Welcome to The Tempus-Project Friends and Family Alpha.</h2>
<hr> <hr>
<p>This project is now entering its third official version and nearly its tenth year of development. What a long journey it has been to get here.</p> <p>This project is now entering its third official version and nearly its tenth year of development. What a long journey it has been to get here.</p>

View File

@ -1,5 +1,5 @@
<div class="copy"> <div class="copy">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center"> <div class="col-lg-12 col-md-12 col-sm-12 text-center">
<p class="text-muted">Powered by <a href="https://thetempusproject.com">The Tempus Project</a>.</p> <p class="text-muted">Powered by <a href="https://thetempusproject.com">The Tempus Project</a>.</p>
</div> </div>
</div> </div>

View File

@ -1,13 +1,22 @@
<div class="footer-head" id="footer-head"> <div class="footer-head" id="footer-head">
<div class="container"> <div class="container custom-expand">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center hidden-lg hidden-md hidden-sm"> <!-- Collapsible Footer Toggle Button -->
<a href="#footer" class="navbar-toggle collapsed" data-toggle="collapse"> <div class="col-12 text-center">
<span class="bars"></span> <button
class="d-lg-none"
type="button"
data-toggle="collapse"
data-target="#footer"
aria-controls="footer"
aria-expanded="false"
aria-label="Toggle navigation">
<i class="fa fa-bars"></i> <!-- Font Awesome Icon -->
<span class="sr-only">Toggle navigation</span> <span class="sr-only">Toggle navigation</span>
</a> </button>
</div> </div>
<div id="footer" class="navbar-collapse collapse"> <!-- Collapsible Footer Content -->
<div class="row"> <div id="footer" class="collapse d-lg-block">
<div class="row pt-3">
{FOOTER_LEFT} {FOOTER_LEFT}
{FOOTER_CENTER} {FOOTER_CENTER}
{FOOTER_RIGHT} {FOOTER_RIGHT}
@ -15,3 +24,4 @@
</div> </div>
</div> </div>
</div> </div>

View File

@ -1,17 +1,17 @@
<div id="selected-icon">No icon selected</div> <div id="selected-icon">No icon selected</div>
<button class="btn btn-default dropdown-toggle" type="button" id="iconMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> <button class="btn btn-default dropdown-toggler" type="button" id="iconMenu" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
Select Icon <span class="caret"></span> Select Icon <span class="caret"></span>
</button> </button>
<ul class="dropdown-menu" aria-labelledby="iconMenu"> <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('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('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('cloud', 'Cloud')"><span class="glyphicon glyphicon-cloud"></span> Cloud</a></li>
<li><a href="#" onclick="setIcon('envelope', 'Envelope')"><span class="glyphicon glyphicon-envelope"></span> Envelope</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="glyphicon glyphicon-pencil"></span> Pencil</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('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', '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('star-empty', 'Star Empty')"><span class="glyphicon glyphicon-star-empty"></span> Star Empty</a></li>
<li><a href="#" onclick="setIcon('remove', 'Remove')"><span class="glyphicon glyphicon-remove"></span> Remove</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('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('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('home', 'Home')"><span class="glyphicon glyphicon-home"></span> Home</a></li>
@ -29,14 +29,14 @@
<li><a href="#" onclick="setIcon('blackboard', 'Blackboard')"><span class="glyphicon glyphicon-blackboard"></span> Blackboard</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('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('usd', 'USD')"><span class="glyphicon glyphicon-usd"></span> USD</a></li>
<li><a href="#" onclick="setIcon('info-sign', 'Info Sign')"><span class="glyphicon glyphicon-info-sign"></span> Info Sign</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('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('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('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('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('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('question-sign', 'Question Sign')"><span class="glyphicon glyphicon-question-sign"></span> Question Sign</a></li>
<li><a href="#" onclick="setIcon('comment', 'Comment')"><span class="glyphicon glyphicon-comment"></span> Comment</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('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('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('thumbs-down', 'Thumbs Down')"><span class="glyphicon glyphicon-thumbs-down"></span> Thumbs Down</a></li>

View File

@ -2,53 +2,55 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div id="carousel-home" class="carousel slide" data-ride="carousel"> <div id="carousel-home" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators"> <ol class="carousel-indicators">
<li data-target="#carousel-home" data-slide-to="0" class="active"></li> <li data-target="#carousel-home" data-slide-to="0" class="active"></li>
<li data-target="#carousel-home" data-slide-to="1"></li> <li data-target="#carousel-home" data-slide-to="1"></li>
<li data-target="#carousel-home" data-slide-to="2"></li> <li data-target="#carousel-home" data-slide-to="2"></li>
</ol> </ol>
<!-- Carousel Items -->
<div class="carousel-inner"> <div class="carousel-inner">
<div class="bg-primary slide-text-bg carousel-caption main-text"> <div class="carousel-item active">
<div class="center-block"> <img src="{ROOT_URL}app/images/ttp.png" class="d-block w-100" alt="First slide">
<h1>The Tempus Project</h1> <div class="carousel-caption d-none d-md-block bg-primary slide-text-bg">
<h3>PHP powered web application for rapid prototyping</h3>
</div>
</div>
<div class="item active">
<img src="{ROOT_URL}app/images/ttp.png" alt="First slide">
<div class="carousel-caption bg-primary slide-text-bg">
<h3>Powerful</h3> <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> <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> </div>
<div class="item"> <div class="carousel-item">
<img src="{ROOT_URL}app/images/ttp-install.png" alt="Second slide"> <img src="{ROOT_URL}app/images/ttp-install.png" class="d-block w-100" alt="Second slide">
<div class="carousel-caption bg-primary slide-text-bg"> <div class="carousel-caption d-none d-md-block bg-primary slide-text-bg">
<h3>Quick and Simple Installation</h3> <h3>Quick and Simple Installation</h3>
<p>Built with rapid deployment in mind you can have The Tempus Project installed in just minutes.</p> <p>Built with rapid deployment in mind you can have The Tempus Project installed in just minutes.</p>
</div> </div>
</div> </div>
<div class="item"> <div class="carousel-item">
<img src="{ROOT_URL}app/images/ttp-github.png" alt="Third slide"> <img src="{ROOT_URL}app/images/ttp-github.png" class="d-block w-100" alt="Third slide">
<div class="carousel-caption bg-primary slide-text-bg"> <div class="carousel-caption d-none d-md-block bg-primary slide-text-bg">
<h3>Open Source</h3> <h3>Open Source</h3>
<p>The Tempus Project is completely open source and only utilizes other open-source components. The Project is provided under thee MIT license.</p> <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> </div>
</div> </div>
<a href="#carousel-home" class="left carousel-control" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span> <!-- Controls -->
<a class="carousel-control-prev" href="#carousel-home" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a> </a>
<a href="#carousel-home" class="right carousel-control" data-slide="next"> <a class="carousel-control-next" href="#carousel-home" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span> <span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a> </a>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-9 col-md-9 col-sm-12 col-xs-12 col-centered"> <div class="col-lg-9 col-md-9 col-sm-12 col-centered">
<div class="row"> <div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"> <div class="col-lg-12 col-md-12 col-sm-12">
<h2>Welcome to The Tempus Project</h2> <h2>Welcome to The Tempus Project</h2>
<hr> <hr>
<p>The aim of The Tempus Project is to create an easy to use and implement CMS based <p>The aim of The Tempus Project is to create an easy to use and implement CMS based
@ -69,3 +71,31 @@
</div> </div>
</div> </div>
</div> </div>
https://www.bookmarkninja.com/
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

View File

@ -1,12 +1,12 @@
<ul class="nav nav-tabs nav-justified" role="tablist" style="margin-top: 55px"> <ul class="nav nav-tabs nav-justified" role="tablist" style="margin-top: 55px">
<li class="{menu-Welcome}"><a href="#">Welcome</a></li> <li class="nav-link {menu-Welcome}"><a href="#">Welcome</a></li>
<li class="{menu-Terms}"><a href="#">Terms</a></li> <li class="nav-link {menu-Terms}"><a href="#">Terms</a></li>
<li class="{menu-Verify}"><a href="#">Verify</a></li> <li class="nav-link {menu-Verify}"><a href="#">Verify</a></li>
<li class="{menu-Configure}"><a href="#">Configure</a></li> <li class="nav-link {menu-Configure}"><a href="#">Configure</a></li>
<li class="{menu-Routing}"><a href="#">Routing</a></li> <li class="nav-link {menu-Routing}"><a href="#">Routing</a></li>
<li class="{menu-Models}"><a href="#">Models</a></li> <li class="nav-link {menu-Models}"><a href="#">Models</a></li>
<li class="{menu-Plugins}"><a href="#">Plugins</a></li> <li class="nav-link {menu-Plugins}"><a href="#">Plugins</a></li>
<li class="{menu-Resources}"><a href="#">Resources</a></li> <li class="nav-link {menu-Resources}"><a href="#">Resources</a></li>
<li class="{menu-User}"><a href="#">User</a></li> <li class="nav-link {menu-User}"><a href="#">User</a></li>
<li class="{menu-Complete}"><a href="#">Complete</a></li> <li class="nav-link {menu-Complete}"><a href="#">Complete</a></li>
</ul> </ul>

View File

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

View File

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

View File

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

View File

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

View File

@ -1,25 +1,44 @@
<form action="{ROOT_URL}home/login" method="post" class="form-horizontal"> <form action="{ROOT_URL}home/login" method="post" class="form-horizontal">
<legend>Please sign in</legend> <legend>Please sign in</legend>
<div class="form-group">
<label for="username" class="col-lg-3 control-label">Username</label> <!-- Username -->
<div class="col-lg-3"> <div class="form-group row">
<input type="text" class="form-check-input" name="username" id="username" placeholder="username" required autofocus> <label for="username" class="col-lg-3 col-form-label">Username</label>
<div class="col-lg-9">
<input type="text" class="form-control" name="username" id="username" placeholder="Username" required autofocus>
</div> </div>
</div> </div>
<div class="form-group">
<label for="password" class="col-lg-3 control-label">Password</label> <!-- Password -->
<div class="col-lg-3"> <div class="form-group row">
<input type="password" class="form-check-input" name="password" id="password" placeholder="password" required> <label for="password" class="col-lg-3 col-form-label">Password</label>
<div class="col-lg-9">
<input type="password" class="form-control" name="password" id="password" placeholder="Password" required>
</div> </div>
</div> </div>
<div class="form-group">
<label for="remember" class="col-lg-3 control-label">Remember me</label> <!-- Remember Me -->
<div class="col-lg-3"> <div class="form-group row">
<input name="remember" id="remember" type="checkbox" value="remember-me"> <div class="col-lg-3"></div>
<div class="col-lg-9">
<div class="form-check">
<input type="checkbox" class="form-check-input" name="remember" id="remember" value="remember-me">
<label class="form-check-label" for="remember">Remember me</label>
</div> </div>
</div> </div>
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary center-block">Sign in</button><br> </div>
<!-- Submit Button -->
<div class="form-group row">
<div class="col-lg-12 text-center">
<button name="submit" value="submit" type="submit" class="btn btn-lg btn-primary">Sign in</button>
</div>
</div>
<!-- Hidden Token -->
<input type="hidden" name="token" value="{TOKEN}"> <input type="hidden" name="token" value="{TOKEN}">
</form> </form>
Don't have an account? You can register <a href="{ROOT_URL}register">here</a>.<br>
if you need assistance with your username or password, please <a href="{ROOT_URL}register/recover">Click here</a>. <!-- Additional Links -->
<p>Don't have an account? You can register <a href="{ROOT_URL}register">here</a>.</p>
<p>If you need assistance with your username or password, please <a href="{ROOT_URL}register/recover">Click here</a>.</p>

View File

@ -1,5 +1,6 @@
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav side-nav"> <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<ul class="navbar-nav navbar-dark bg-dark flex-column">
{ADMIN_LINKS} {ADMIN_LINKS}
</ul> </ul>
</div> </nav>

View File

@ -1,3 +1,3 @@
<ul class="nav navbar-nav"> <ul class="navbar-nav">
{MENU_LINKS} {MENU_LINKS}
</ul> </ul>

View File

@ -1,10 +1,19 @@
<li class="dropdown"> <li class="dropdown nav-link">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{USERNAME} <i class="fa fa-user"></i></a> <a
<ul class="dropdown-menu"> href="#"
class="nav-link dropdown-toggle"
id="userDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
{USERNAME}<i class="fa fa-user pl-2"></i>
</a>
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="userDropdown">
<li><a href="{ROOT_URL}usercp"><i class="fa fa-fw fa-user"></i> Profile</a></li> <li><a href="{ROOT_URL}usercp"><i class="fa fa-fw fa-user"></i> Profile</a></li>
{topNavRightDropdown} {topNavRightDropdown}
<li><a href="{ROOT_URL}usercp/settings"><i class="fa fa-fw fa-gear"></i> Settings</a></li> <li><a href="{ROOT_URL}usercp/settings"><i class="fa fa-fw fa-gear"></i> Settings</a></li>
<li class="divider"></li> <div class="dropdown-divider"></div>
<li> <li>
<a href="{ROOT_URL}home/logout"><i class="fa fa-fw fa-power-off"></i> Log Out</a> <a href="{ROOT_URL}home/logout"><i class="fa fa-fw fa-power-off"></i> Log Out</a>
</li> </li>

View File

@ -1,22 +1,59 @@
<li class="dropdown"> <li class="dropdown nav-link">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i></a> <a
<ul class="dropdown-menu"> href="#"
<form method="post" action="{ROOT_URL}home/login" id="signin" class="navbar-form navbar-right" role="form"> class="nav-link dropdown-toggle"
id="userDropdown"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
<i class="fa fa-user"></i>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="userDropdown">
<form method="post" action="{ROOT_URL}home/login" id="signin" class="px-4 py-3">
<input type="hidden" name="rurl" id="rurl" value="{CURRENT_URL}"> <input type="hidden" name="rurl" id="rurl" value="{CURRENT_URL}">
<input type="hidden" name="token" value="{TOKEN}"> <input type="hidden" name="token" value="{TOKEN}">
<li style="margin-left: 10px;margin-right: 10px;">
<div class="input-group"> <!-- Username -->
<input id="username" type="text" class="form-control" name="username" value="" placeholder="Username"> <div class="form-group">
<input id="password" type="password" class="form-control" name="password" value="" placeholder="Password"> <label for="username">Username</label>
<span class="input-group-addon"> <input
<input type="checkbox" name="remember" id="remember"> id="username"
</span> type="text"
class="form-control"
name="username"
placeholder="Username">
</div> </div>
</li>
<li class="divider"></li> <!-- Password -->
<li style="margin-left: 10px;"> <div class="form-group">
<button type="submit" class="btn btn-primary" name="submit" value="submit">Sign in</button> <label for="password">Password</label>
</li> <input
id="password"
type="password"
class="form-control"
name="password"
placeholder="Password">
</div>
<!-- Remember Me -->
<div class="form-check">
<input
type="checkbox"
class="form-check-input"
id="remember"
name="remember">
<label class="form-check-label" for="remember">Remember me</label>
</div>
<!-- Submit Button -->
<button
type="submit"
class="btn btn-primary btn-block mt-3"
name="submit"
value="submit">
Sign in
</button>
</form> </form>
</ul> </div>
</li> </li>

View File

@ -1,5 +1,5 @@
<ul class="nav nav-tabs" role="tablist"> <ul class="nav nav-tabs" role="tablist">
{LOOP} {LOOP}
<li><a href="{url}">{name}</a></li> <li><a href="{url}" class="nav-link">{name}</a></li>
{/LOOP} {/LOOP}
</ul> </ul>

View File

@ -1,11 +1,11 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-6 col-lg-8 col-sm-offset-0 col-md-offset-3 col-lg-offset-2 top-pad" > <div class="col-sm-12 col-md-6 col-lg-8 col-sm-offset-0 col-md-offset-3 col-lg-offset-2 top-pad" >
<div class="panel panel-primary"> <div class="card panel-primary">
<div class="panel-heading"> <div class="card-header">
<h3 class="panel-title">{username}</h3> <h3 class="card-title">{username}</h3>
</div> </div>
<div class="panel-body"> <div class="card-body">
<div class="row"> <div class="row">
<div class="col-md-3 col-lg-3 " align="center"> <div class="col-md-3 col-lg-3 " align="center">
<img alt="User Pic" src="{ROOT_URL}{avatar}" class="img-circle img-responsive"> <img alt="User Pic" src="{ROOT_URL}{avatar}" class="img-circle img-responsive">
@ -45,12 +45,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="panel-footer"> <div class="card-footer">
<a href="{ROOT_URL}messages/create?prepopuser={USERNAME}" data-original-title="Broadcast Message" data-toggle="tooltip" type="button" class="btn btn-sm btn-primary"><i class="glyphicon glyphicon-envelope"></i></a> <a href="{ROOT_URL}messages/create?prepopuser={USERNAME}" data-original-title="Broadcast Message" data-toggle="tooltip" type="button" class="btn btn-sm btn-primary"><i class="fa fa-fw fa-envelope"></i></a>
{ADMIN} {ADMIN}
<span class="pull-right"> <span class="float-right">
<a href="{ROOT_URL}admin/users/edit/{ID}" data-original-title="Edit this user" data-toggle="tooltip" type="button" class="btn btn-sm btn-warning"><i class="glyphicon glyphicon-edit"></i></a> <a href="{ROOT_URL}admin/users/edit/{ID}" data-original-title="Edit this user" data-toggle="tooltip" type="button" class="btn btn-sm btn-warning"><i class="fa fa-fw fa-pencil-square"></i></a>
<a href="{ROOT_URL}admin/users/delete/{ID}" data-original-title="Remove this user" data-toggle="tooltip" type="button" class="btn btn-sm btn-danger"><i class="glyphicon glyphicon-remove"></i></a> <a href="{ROOT_URL}admin/users/delete/{ID}" data-original-title="Remove this user" data-toggle="tooltip" type="button" class="btn btn-sm btn-danger"><i class="fa fa-fw fa-times"></i></a>
</span> </span>
{/ADMIN} {/ADMIN}
</div> </div>

View File

@ -1,48 +1,48 @@
<div class="col-xs-12 col-sm-6 col-md-4 col-sm-offset-3 col-md-offset-4"> <div class="col-sm-6 col-md-4 col-sm-offset-3 col-md-offset-4">
<div class="panel panel-default"> <div class="card">
<!-- Default panel contents --> <!-- Default panel contents -->
<div class="panel-heading">Material Design Switch Demos</div> <div class="card-header">Material Design Switch Demos</div>
<!-- List group --> <!-- List group -->
<ul class="list-group"> <ul class="list-group">
<li class="list-group-item"> <li class="list-group-item">
Bootstrap Switch Default Bootstrap Switch Default
<div class="material-switch pull-right"> <div class="material-switch float-right">
<input id="someSwitchOptionDefault" name="someSwitchOption001" type="checkbox"/> <input id="someSwitchOptionDefault" name="someSwitchOption001" type="checkbox"/>
<label for="someSwitchOptionDefault" class="label-default"></label> <label for="someSwitchOptionDefault" class="label-default"></label>
</div> </div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
Bootstrap Switch Primary Bootstrap Switch Primary
<div class="material-switch pull-right"> <div class="material-switch float-right">
<input id="someSwitchOptionPrimary" name="someSwitchOption001" type="checkbox"/> <input id="someSwitchOptionPrimary" name="someSwitchOption001" type="checkbox"/>
<label for="someSwitchOptionPrimary" class="label-primary"></label> <label for="someSwitchOptionPrimary" class="label-primary"></label>
</div> </div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
Bootstrap Switch Success Bootstrap Switch Success
<div class="material-switch pull-right"> <div class="material-switch float-right">
<input id="someSwitchOptionSuccess" name="someSwitchOption001" type="checkbox"/> <input id="someSwitchOptionSuccess" name="someSwitchOption001" type="checkbox"/>
<label for="someSwitchOptionSuccess" class="label-success"></label> <label for="someSwitchOptionSuccess" class="label-success"></label>
</div> </div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
Bootstrap Switch Info Bootstrap Switch Info
<div class="material-switch pull-right"> <div class="material-switch float-right">
<input id="someSwitchOptionInfo" name="someSwitchOption001" type="checkbox"/> <input id="someSwitchOptionInfo" name="someSwitchOption001" type="checkbox"/>
<label for="someSwitchOptionInfo" class="label-info"></label> <label for="someSwitchOptionInfo" class="label-info"></label>
</div> </div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
Bootstrap Switch Warning Bootstrap Switch Warning
<div class="material-switch pull-right"> <div class="material-switch float-right">
<input id="someSwitchOptionWarning" name="someSwitchOption001" type="checkbox"/> <input id="someSwitchOptionWarning" name="someSwitchOption001" type="checkbox"/>
<label for="someSwitchOptionWarning" class="label-warning"></label> <label for="someSwitchOptionWarning" class="label-warning"></label>
</div> </div>
</li> </li>
<li class="list-group-item"> <li class="list-group-item">
Bootstrap Switch Danger Bootstrap Switch Danger
<div class="material-switch pull-right"> <div class="material-switch float-right">
<input id="someSwitchOptionDanger" name="someSwitchOption001" type="checkbox"/> <input id="someSwitchOptionDanger" name="someSwitchOption001" type="checkbox"/>
<label for="someSwitchOptionDanger" class="label-danger"></label> <label for="someSwitchOptionDanger" class="label-danger"></label>
</div> </div>

View File

@ -253,6 +253,11 @@ class TheTempusProject extends Bedrock {
"pretty" => "Site Logo (Used mostly in emails)", "pretty" => "Site Logo (Used mostly in emails)",
"default" => "images/logo.png" "default" => "images/logo.png"
], ],
"logoLarge" => [
"type" => "file",
"pretty" => "Large Site Logo (Used mostly when sharing images on social media)",
"default" => "images/logoLarge.jpg"
],
"name" => [ "name" => [
"type" => "text", "type" => "text",
"pretty" => "Site Name", "pretty" => "Site Name",

View File

@ -20,12 +20,12 @@
], ],
"require": "require":
{ {
"components/jquery": "1.9.*",
"fortawesome/font-awesome": "4.7", "fortawesome/font-awesome": "4.7",
"thetempusproject/bedrock": "1.0.10", "thetempusproject/bedrock": "1.0.10",
"thetempusproject/canary": "1.0.5", "thetempusproject/canary": "1.0.5",
"thetempusproject/houdini": "1.0.8", "thetempusproject/houdini": "1.0.8",
"components/jquery": "1.9.*", "twbs/bootstrap": "^4.0"
"twbs/bootstrap": "3.3.7"
}, },
"autoload": "autoload":
{ {