diff --git a/app/classes/config.php b/app/classes/config.php index 4eb8119..b8f99d8 100644 --- a/app/classes/config.php +++ b/app/classes/config.php @@ -12,6 +12,7 @@ namespace TheTempusProject\Classes; use TheTempusProject\Houdini\Classes\Forms; +use TheTempusProject\Houdini\Classes\Template; use TheTempusProject\Canary\Bin\Canary as Debug; use TheTempusProject\Bedrock\Functions\Check; use TheTempusProject\Bedrock\Functions\Input; @@ -19,7 +20,6 @@ use TheTempusProject\Bedrock\Classes\Config as BedrockConfig; class Config extends BedrockConfig { public static function getFieldEditHtml( $name, $includeProtected = false ) { - // @todo: includeProtected is unused here $node = self::get( $name ); if ( empty( $node ) ) { return; @@ -28,13 +28,57 @@ class Config extends BedrockConfig { return; } $fieldname = str_ireplace( '/', '-', $name ); - $html = Forms::getFormFieldHtml( - $fieldname, - $node['pretty'], - $node['type'], - $node['value'], - ); - return $html; + + $html = ''; + $fieldHtml = ''; + switch ( $node['type'] ) { + case 'radio': + case 'bool': + case 'boolean': + $fieldHtml = Forms::getSwitchHtml( $fieldname, [ 'true', 'false' ], $node['value'] ); + break; + case 'select': + $fieldHtml = Forms::getSelectHtml( $fieldname, $options, $node['value'] ); + break; + case 'block': + $fieldHtml = Forms::getTextBlockHtml( $fieldname, $node['value'] ); + break; + case 'text': + case 'url': + $fieldHtml = Forms::getTextHtml( $fieldname, $node['value'] ); + break; + case 'checkbox': + $fieldHtml = Forms::getCheckboxHtml( $fieldname, $node['value'] ); + break; + case 'timezone': + $fieldHtml = Forms::getTimezoneHtml( $node['value'] ); + break; + case 'file': + $fieldHtml = Forms::getFileHtml( $fieldname ); + break; + case 'customSelect': + if ( empty( $options ) ) { + $options = '{' . $fieldname . '-options}'; + } + $fieldHtml = Forms::getSelectHtml( $fieldname, $options, $node['value'] ); + break; + } + + $html .= '
'; + $html .= ''; + $html .= '
'; + $html .= $fieldHtml; + $html .= '
'; + if ( 'file' === $node['type'] ) { + $html .= '
'; + $html .= '

Current Image

'; + $html .= '
'; + $html .= 'User Avatar'; + $html .= '
'; + } + $html .= '
'; + + return Template::parse( $html ); } public static function getCategoryEditHtml( $category ) { @@ -47,12 +91,12 @@ class Config extends BedrockConfig { Debug::warn( "Config category not found: $category" ); return; } - $categoryHeader = '

'; + $categoryHeader = '

' . ucfirst( $category ) . ':


'; foreach ( self::$config[$category] as $field => $node ) { $html .= self::getFieldEditHtml( $category . '/' . $field ); } if ( !empty( $html ) ) { - $html = $categoryHeader . $html; + $html = $categoryHeader . $html . '
'; } return $html; } @@ -68,4 +112,4 @@ class Config extends BedrockConfig { } return $html; } -} +} \ No newline at end of file diff --git a/app/classes/permissions.php b/app/classes/permissions.php index 56ac7ff..bef0368 100644 --- a/app/classes/permissions.php +++ b/app/classes/permissions.php @@ -15,6 +15,7 @@ use TheTempusProject\Canary\Bin\Canary as Debug; use TheTempusProject\Bedrock\Functions\Check; use TheTempusProject\Houdini\Classes\Forms; use TheTempusProject\Bedrock\Functions\Input; +use TheTempusProject\Houdini\Classes\Template; class Permissions { public static $permissions = false; @@ -237,8 +238,21 @@ class Permissions { } else { $checked = false; } - $form .= Forms::getFormFieldHtml( $name, $details['pretty'], 'checkbox', $checked ); + $form .= self::getFieldEditHtml( $name, $checked, $details['pretty'] ); } return $form; } + + public static function getFieldEditHtml( $name, $default, $pretty ) { + $fieldname = str_ireplace( '/', '-', $name ); + $fieldHtml = Forms::getSwitchHtml( $fieldname, [ 'true', 'false' ], $default ); + $html = ''; + $html .= '
'; + $html .= ''; + $html .= '
'; + $html .= $fieldHtml; + $html .= '
'; + $html .= '
'; + return Template::parse( $html ); + } } diff --git a/app/controllers/admin/admin.php b/app/controllers/admin/admin.php index 3fa11f4..17d1850 100644 --- a/app/controllers/admin/admin.php +++ b/app/controllers/admin/admin.php @@ -39,7 +39,7 @@ class Admin extends AdminController { } public function index() { - return Views::view( 'admin.logs.admin_list', self::$log->listPaginated( 'admin' ) ); + return Views::view( 'admin.logs.admin_list', self::$log->list( 'admin' ) ); } public function view( $id = null ) { diff --git a/app/controllers/admin/composer.php b/app/controllers/admin/composer.php index 0f14bb2..7eb1323 100644 --- a/app/controllers/admin/composer.php +++ b/app/controllers/admin/composer.php @@ -59,6 +59,6 @@ class Composer extends AdminController { $out[] = (object) $versionsInstalled[ $name ]; } - Views::view( 'admin.modules.composer.dependencies', $out ); + Views::view( 'admin.modules.dependencies', $out ); } } diff --git a/app/controllers/admin/errors.php b/app/controllers/admin/errors.php index d0bf4b3..da8cf23 100644 --- a/app/controllers/admin/errors.php +++ b/app/controllers/admin/errors.php @@ -39,7 +39,7 @@ class Errors extends AdminController { } public function index() { - return Views::view( 'admin.logs.error_list', self::$log->listPaginated( 'error' ) ); + return Views::view( 'admin.logs.error_list', self::$log->list( 'error' ) ); } public function view( $id = null ) { diff --git a/app/controllers/admin/home.php b/app/controllers/admin/home.php index 5017d89..c4a7704 100644 --- a/app/controllers/admin/home.php +++ b/app/controllers/admin/home.php @@ -15,8 +15,11 @@ use TheTempusProject\Houdini\Classes\Views; use TheTempusProject\Houdini\Classes\Components; use TheTempusProject\Classes\AdminController; use TheTempusProject\Models\User; -use TheTempusProject\Plugins\Comments; -use TheTempusProject\Plugins\Blog; +use TheTempusProject\Models\Comments; +use TheTempusProject\Models\Posts; +use TheTempusProject\Plugins\Comments as CommentPlugin; +use TheTempusProject\Plugins\Blog as BlogPlugin; +use TheTempusProject\Canary\Bin\Canary as Debug; class Home extends AdminController { public static $user; @@ -30,17 +33,29 @@ class Home extends AdminController { public function index() { if ( class_exists( 'TheTempusProject\Plugins\Comments' ) ) { - $comments = new Comments; - self::$comments = $comments->getModel(); - $comments = Views::simpleView( 'comments.admin.dashboard', self::$comments->recent( 'all', 5 ) ); - Components::set( 'commentDash', $comments ); + $plugin = new CommentPlugin; + + if ( ! $plugin->checkEnabled() ) { + Debug::info( 'Comments Plugin is disabled in the control panel.' ); + Components::set( 'commentDash', '' ); + } else { + $comments = new Comments; + $commentList = Views::simpleView( 'comments.admin.dashboard', $comments->recent( 'all', 5 ) ); + Components::set( 'commentDash', $commentList ); + } } if ( class_exists( 'TheTempusProject\Plugins\Blog' ) ) { - $blog = new Blog; - self::$posts = $blog->posts; - $posts = Views::simpleView( 'blog.admin.dashboard', self::$posts->recent( 5 ) ); - Components::set( 'blogDash', $posts ); + $plugin = new BlogPlugin; + + if ( ! $plugin->checkEnabled() ) { + Debug::info( 'Blog Plugin is disabled in the control panel.' ); + Components::set( 'blogDash', '' ); + } else { + $posts = new Posts; + $postsList = Views::simpleView( 'blog.admin.dashboard', $posts->recent( 5 ) ); + Components::set( 'blogDash', $postsList ); + } } self::$user = new User; diff --git a/app/controllers/admin/logins.php b/app/controllers/admin/logins.php index 02356f6..174639e 100644 --- a/app/controllers/admin/logins.php +++ b/app/controllers/admin/logins.php @@ -39,7 +39,7 @@ class Logins extends AdminController { } public function index() { - return Views::view( 'admin.logs.login_list', self::$log->listPaginated( 'login' ) ); + return Views::view( 'admin.logs.login_list', self::$log->list( 'login' ) ); } public function view( $id = null ) { diff --git a/app/controllers/admin/logs.php b/app/controllers/admin/logs.php index 6c72abb..1729f1e 100644 --- a/app/controllers/admin/logs.php +++ b/app/controllers/admin/logs.php @@ -26,8 +26,8 @@ class Logs extends AdminController { } public function index( $data = null ) { - Views::view( 'admin.logs.error_list', self::$log->listPaginated( 'error' ) ); - Views::view( 'admin.logs.admin_list', self::$log->listPaginated( 'admin' ) ); - Views::view( 'admin.logs.login_list', self::$log->listPaginated( 'login' ) ); + Views::view( 'admin.logs.error_list', self::$log->list( 'error' ) ); + Views::view( 'admin.logs.admin_list', self::$log->list( 'admin' ) ); + Views::view( 'admin.logs.login_list', self::$log->list( 'login' ) ); } } diff --git a/app/controllers/admin/plugins.php b/app/controllers/admin/plugins.php index 18e5836..ea152e8 100644 --- a/app/controllers/admin/plugins.php +++ b/app/controllers/admin/plugins.php @@ -39,7 +39,12 @@ class Plugins extends AdminController { } public function disable( $name = null ) { + if ( empty( $name ) ) { + Session::flash( 'error', 'Unknown Plugin.' ); + Redirect::to( 'admin/plugins' ); + } Components::set( 'PLUGIN', $name ); + self::$title = 'Admin - Disable ' . $name; if ( !Input::exists( 'installHash' ) ) { return Views::view( 'admin.modules.plugins.disable' ); } @@ -52,7 +57,12 @@ class Plugins extends AdminController { } public function enable( $name = null ) { + if ( empty( $name ) ) { + Session::flash( 'error', 'Unknown Plugin.' ); + Redirect::to( 'admin/plugins' ); + } Components::set( 'PLUGIN', $name ); + self::$title = 'Admin - Enable ' . $name; if ( !Input::exists( 'installHash' ) ) { return Views::view( 'admin.modules.plugins.enable' ); } @@ -71,6 +81,7 @@ class Plugins extends AdminController { } $name = strtolower( $name ); Components::set( 'PLUGIN', $name ); + self::$title = 'Admin - Install ' . $name; if ( ! Input::exists( 'installHash' ) ) { return Views::view( 'admin.modules.plugins.install' ); } @@ -95,6 +106,7 @@ class Plugins extends AdminController { } $name = strtolower($name); Components::set( 'PLUGIN', $name ); + self::$title = 'Admin - Uninstall ' . $name; if ( !Input::exists( 'uninstallHash' ) ) { return Views::view( 'admin.modules.plugins.uninstall' ); diff --git a/app/controllers/admin/users.php b/app/controllers/admin/users.php index c2e4055..0cff516 100644 --- a/app/controllers/admin/users.php +++ b/app/controllers/admin/users.php @@ -26,6 +26,7 @@ use TheTempusProject\Classes\AdminController; use TheTempusProject\Models\User; use TheTempusProject\Models\Group; use TheTempusProject\TheTempusProject as App; +use TheTempusProject\Houdini\Classes\Template; class Users extends AdminController { public static $user; @@ -63,8 +64,11 @@ class Users extends AdminController { } } } - - $select = Forms::getFormFieldHtml( 'groupSelect', 'User Group', 'select', Config::getValue( 'group/defaultGroup' ), self::$group->listGroupsSimple() ); + $select = Forms::getSelectHtml( + 'groupSelect', + self::$group->listGroupsSimple(), + Config::getValue( 'group/defaultGroup' ), + ); Components::set( 'groupSelect', $select ); Views::view( 'admin.users.create' ); } @@ -132,9 +136,15 @@ class Users extends AdminController { $userGroup = $userData->userGroup; } Forms::selectRadio( 'confirmed', $userData->confirmed ); - $avatar = Forms::getFormFieldHtml( 'avatar', 'User Avatar', 'file', $avatarLocation ); - $select = Forms::getFormFieldHtml( 'groupSelect', 'User Group', 'select', $userGroup, self::$group->listGroupsSimple() ); + + $avatar = $this->getAvatar( 'avatar', $avatarLocation ); Components::set( 'AvatarSettings', $avatar ); + + $select = Forms::getSelectHtml( + 'groupSelect', + self::$group->listGroupsSimple(), + $userGroup, + ); Components::set( 'groupSelect', $select ); Views::view( 'admin.users.edit', $userData ); } @@ -153,4 +163,28 @@ class Users extends AdminController { } $this->index(); } + + private function getAvatar( $name, $value ) { + $fieldname = str_ireplace( '/', '-', $name ); + + $html = ''; + $fieldHtml = ''; + $fieldHtml = Forms::getFileHtml( $fieldname ); + + $html .= '
'; + $html .= ' '; + $html .= '
'; + $html .= ' ' . $fieldHtml; + $html .= '
'; + $html .= '
'; + + $html .= '
'; + $html .= '

Current Image

'; + $html .= '
'; + $html .= ' User Avatar'; + $html .= '
'; + $html .= '
'; + + return Template::parse( $html ); + } } diff --git a/app/css/main-dark.css b/app/css/main-dark.css index c76d335..64e5a25 100644 --- a/app/css/main-dark.css +++ b/app/css/main-dark.css @@ -15,6 +15,9 @@ .context-main-bg { background-color: #2c2c2c; } +.context-second-bg { + background-color: #1e1e1e; +} .bg-default { background-color: #2c2c2c; } @@ -109,8 +112,6 @@ body { */ .b-example-divider { background-color: rgba(255, 255, 255, .1); - border: solid rgba(255, 255, 255, .15); - box-shadow: inset 0 .5em 1.5em rgba(255, 255, 255, .1), inset 0 .125em .5em rgba(255, 255, 255, .15); } /** @@ -124,4 +125,4 @@ body { } .text-shadow-3 { text-shadow: 0 .5rem 1.5rem rgba(255, 255, 255, .25); -} \ No newline at end of file +} diff --git a/app/js/main.js b/app/js/main.js index a41ce06..00641e3 100644 --- a/app/js/main.js +++ b/app/js/main.js @@ -27,15 +27,6 @@ function checkAll(ele) { } } -function copyAll( ele ) { - var eleName = '#' + ele; - var text = $( eleName ).text(); - text = text.replaceAll( "''", "\n" ).trim(); - text = text.substring( 1, text.length - 1 ); - navigator.clipboard.writeText( text ); - console.log( '#' + ele ); -} - function insertTag( box, tag ) { var Field = document.getElementById( box ); var currentPos = cursorPos( Field ); @@ -69,6 +60,26 @@ function getRandomInt(min, max) { return Math.floor(Math.random() * (maxFloored - minCeiled) + minCeiled); } +function copyElementText( id ) { + const inputElement = document.getElementById( id ); + const textToCopy = inputElement.value; + + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(textToCopy) + .then(() => alert('Copied to clipboard!')) + .catch((err) => console.error('Failed to copy: ', err)); + } else { + // Fallback for older browsers + inputElement.select(); + try { + document.execCommand('copy'); + alert('Copied to clipboard!'); + } catch (err) { + console.error('Failed to copy: ', err); + } + } +} + $(document).ready(function() { $('select').each(function() { var selectedValue = $(this).attr('value'); @@ -84,21 +95,29 @@ $(document).ready(function() { }); // with the dynamic footer, you need to adjust the content padding to make sure the footer doesn't overlap the content - document.addEventListener('DOMContentLoaded', function () { +document.addEventListener('DOMContentLoaded', function () { const toggleButton = document.getElementById('dark-mode-toggle'); const enableButton = document.getElementById('dark-mode-toggle-button'); const darkModeStylesheet = document.getElementById('dark-mode-stylesheet'); // Check if dark mode is saved in localStorage if (localStorage.getItem('darkMode') === 'enabled') { - darkModeStylesheet.disabled = false; - toggleButton.checked = true; + darkModeStylesheet.disabled = false; + toggleButton.checked = true; if ( enableButton ) { enableButton.innerText = 'Disable Now'; } } - + + document.querySelectorAll('.table-striped').forEach((table) => { + if (localStorage.getItem('darkMode') === 'enabled') { + table.classList.add('table-dark'); + } else { + table.classList.add('table-light') + } + }); + if ( enableButton ) { enableButton.addEventListener('click', function () { if (darkModeStylesheet.disabled) { @@ -121,5 +140,15 @@ $(document).ready(function() { darkModeStylesheet.disabled = true; localStorage.setItem('darkMode', 'disabled'); } + + document.querySelectorAll('.table-striped').forEach((table) => { + if (localStorage.getItem('darkMode') === 'enabled') { + table.classList.add('table-dark'); + table.classList.remove('table-light'); + } else { + table.classList.add('table-light'); + table.classList.remove('table-dark'); + } }); - }); + }); +}); diff --git a/app/plugins/blog/controllers/admin/blog.php b/app/plugins/blog/controllers/admin/blog.php index d786858..adfc451 100644 --- a/app/plugins/blog/controllers/admin/blog.php +++ b/app/plugins/blog/controllers/admin/blog.php @@ -20,15 +20,14 @@ use TheTempusProject\Houdini\Classes\Navigation; use TheTempusProject\Houdini\Classes\Components; use TheTempusProject\Classes\AdminController; use TheTempusProject\Classes\Forms; -use TheTempusProject\Plugins\Blog as BlogPlugin; +use TheTempusProject\Models\Posts; class Blog extends AdminController { public static $posts; public function __construct() { parent::__construct(); - $blog = new BlogPlugin; - self::$posts = $blog->posts; + self::$posts = new Posts; self::$title = 'Admin - Blog'; $view = Navigation::activePageSelect( 'nav.admin', '/admin/blog' ); Components::set( 'ADMINNAV', $view ); diff --git a/app/plugins/blog/controllers/blog.php b/app/plugins/blog/controllers/blog.php index 3249365..b14100b 100644 --- a/app/plugins/blog/controllers/blog.php +++ b/app/plugins/blog/controllers/blog.php @@ -27,17 +27,16 @@ use TheTempusProject\Plugins\Blog as BlogPlugin; use TheTempusProject\TheTempusProject as App; use TheTempusProject\Plugins\Comments; use TheTempusProject\Models\Comments as CommentsModel; +use TheTempusProject\Models\Posts as PostsModel; class Blog extends Controller { protected static $blog; - protected static $comments; protected static $posts; public function __construct() { parent::__construct(); Template::setTemplate( 'blog' ); - $blog = new BlogPlugin; - self::$posts = $blog->posts; + self::$posts = new PostsModel; } public function index() { @@ -57,39 +56,41 @@ class Blog extends Controller { public function comments( $sub = null, $data = null ) { Debug::log( 'Controller initiated: ' . __METHOD__ . '.' ); - if ( empty( self::$comments ) ) { - self::$comments = new CommentsModel; - } - $plugin = new Comments; + if ( empty( $sub ) || empty( $data ) ) { - Session::flash( 'error', 'Whoops, try again.' ); - Redirect::to( 'blog' ); + Issues::add( 'error', 'There was an issue with your request. Please check the url and try again.' ); + return $this->index(); } + + $plugin = new Comments; + if ( ! $plugin->checkEnabled() ) { + Issues::add( 'error', 'Comments are disabled.' ); + return $this->index(); + } + $comments = new CommentsModel; + switch ( $sub ) { case 'post': $content = self::$posts->findById( (int) $data ); if ( empty( $content ) ) { - Session::flash( 'error', 'Unknown Post.' ); - Redirect::to( 'blog' ); + Issues::add( 'error', 'Unknown Content.' ); + return $this->index(); } return $plugin->formPost( self::$posts->tableName, $content, 'blog/post/' ); - return self::$comments->formPost( 'blog', $content, 'blog/post/' ); case 'edit': - $content = self::$comments->findById( $data ); + $content = $comments->findById( $data ); if ( empty( $content ) ) { - Session::flash( 'error', 'Unknown Comment.' ); - Redirect::to( 'blog' ); + Issues::add( 'error', 'Unknown Comment.' ); + return $this->index(); } return $plugin->formEdit( self::$posts->tableName, $content, 'blog/post/' ); - return self::$comments->formEdit( 'blog', $content, 'blog/post/' ); case 'delete': - $content = self::$comments->findById( $data ); + $content = $comments->findById( $data ); if ( empty( $content ) ) { - Session::flash( 'error', 'Unknown Comment.' ); - Redirect::to( 'blog' ); + Issues::add( 'error', 'Unknown Comment.' ); + return $this->index(); } return $plugin->formDelete( self::$posts->tableName, $content, 'blog/post/' ); - return self::$comments->formDelete( 'blog', $content, 'blog/post/' ); } } @@ -101,26 +102,34 @@ class Blog extends Controller { if ( empty( $post ) ) { return $this->index(); } - if ( empty( self::$comments ) ) { - self::$comments = new CommentsModel; - } Debug::log( 'Controller initiated: ' . __METHOD__ . '.' ); self::$title = 'Blog Post'; - // I removed this once because i didn't realize. - // this triggers the comment post controller method when the comment form is submitted on the post viewing page + if ( Input::exists( 'contentId' ) ) { $this->comments( 'post', Input::post( 'contentId' ) ); } + Components::set( 'CONTENT_ID', $id ); - Components::set( 'COMMENT_TYPE', 'blog' ); - if ( App::$isLoggedIn ) { - Components::set( 'NEWCOMMENT', Views::simpleView( 'comments.create' ) ); - } else { + Components::set( 'COMMENT_TYPE', self::$posts->tableName ); + + $plugin = new Comments; + if ( ! $plugin->checkEnabled() ) { Components::set( 'NEWCOMMENT', '' ); + Components::set( 'count', '0' ); + Components::set( 'COMMENTS', '' ); + } else { + $comments = new CommentsModel; + if ( App::$isLoggedIn ) { + Components::set( 'NEWCOMMENT', Views::simpleView( 'comments.create' ) ); + } else { + Components::set( 'NEWCOMMENT', '' ); + } + Components::set( 'count', $comments->count( self::$posts->tableName, $post->ID ) ); + Components::set( 'COMMENTS', Views::simpleView( 'comments.list', $comments->display( 10, self::$posts->tableName, $post->ID ) ) ); } + $post = self::$posts->findById( $id ); - Components::set( 'count', self::$comments->count( self::$posts->tableName, $post->ID ) ); - Components::set( 'COMMENTS', Views::simpleView( 'comments.list', self::$comments->display( 10, self::$posts->tableName, $post->ID ) ) ); + self::$title .= ' - ' . $post->title; self::$pageDescription = strip_tags( $post->contentSummaryNoLink ); Views::view( 'blog.post', $post ); diff --git a/app/plugins/blog/plugin.php b/app/plugins/blog/plugin.php index de83c57..883d6bd 100644 --- a/app/plugins/blog/plugin.php +++ b/app/plugins/blog/plugin.php @@ -12,12 +12,7 @@ */ namespace TheTempusProject\Plugins; -use ReflectionClass; -use TheTempusProject\Classes\Installer; -use TheTempusProject\Houdini\Classes\Navigation; use TheTempusProject\Classes\Plugin; -use TheTempusProject\Models\Posts; -use TheTempusProject\TheTempusProject as App; class Blog extends Plugin { public $pluginName = 'TP Blog'; @@ -50,10 +45,4 @@ class Blog extends Plugin { ], ], ]; - public $posts; - - public function __construct( $load = false ) { - $this->posts = new Posts; - parent::__construct( $load ); - } } diff --git a/app/plugins/blog/templates/blog.inc.php b/app/plugins/blog/templates/blog.inc.php index 714bf5f..857006f 100644 --- a/app/plugins/blog/templates/blog.inc.php +++ b/app/plugins/blog/templates/blog.inc.php @@ -12,7 +12,7 @@ */ namespace TheTempusProject\Templates; -use TheTempusProject\Plugins\Blog; +use TheTempusProject\Models\Posts; use TheTempusProject\Houdini\Classes\Components; use TheTempusProject\Houdini\Classes\Navigation; use TheTempusProject\Houdini\Classes\Views; @@ -25,8 +25,7 @@ class BlogLoader extends DefaultLoader { * needed by this template. */ public function __construct() { - $blog = new Blog; - $posts = $blog->posts; + $posts = new Posts; Components::set('SIDEBAR', Views::simpleView('blog.sidebar', $posts->recent(5))); Components::set('SIDEBAR2', Views::simpleView('blog.sidebar2', $posts->archive())); Components::set('SIDEBARABOUT', Views::simpleView('blog.about')); diff --git a/app/plugins/blog/views/admin/create.html b/app/plugins/blog/views/admin/create.html index 0e31c5d..7ae25f5 100644 --- a/app/plugins/blog/views/admin/create.html +++ b/app/plugins/blog/views/admin/create.html @@ -1,31 +1,47 @@ -
- New Blog Post -
- -
- +
+ Add Blog Post +
+ {ADMIN_BREADCRUMBS} + +
+ +
+ +
+ +
+
+ + +
+
+
+ + + + +
+
+
+ + +
+ +
+ + Max: 2000 characters +
+
+ + + +
+ + +
+ + +
-
-
-
- - - - -
-
-
- -
- -
-
-
-
- - - -
-
- - \ No newline at end of file + +
\ No newline at end of file diff --git a/app/plugins/blog/views/admin/edit.html b/app/plugins/blog/views/admin/edit.html index 8580de4..986ff11 100644 --- a/app/plugins/blog/views/admin/edit.html +++ b/app/plugins/blog/views/admin/edit.html @@ -1,31 +1,47 @@ -
- Edit Blog Post -
- -
- +
+ Edit Blog Post +
+ {ADMIN_BREADCRUMBS} + +
+ +
+ +
+ +
+
+ + +
+
+
+ + + + +
+
+
+ + +
+ +
+ + Max: 2000 characters +
+
+ + + +
+ + +
+ + +
-
-
-
- - - - -
-
-
- -
- -
-
-
-
- - - -
-
- - \ No newline at end of file + +
\ No newline at end of file diff --git a/app/plugins/blog/views/admin/list.html b/app/plugins/blog/views/admin/list.html index 436c766..e7b1a74 100644 --- a/app/plugins/blog/views/admin/list.html +++ b/app/plugins/blog/views/admin/list.html @@ -1,45 +1,48 @@ -Blog Posts -{PAGINATION} -
- - - - - - - - - - - - - - - {LOOP} - - - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
TitleAuthorcommentsCreatedUpdated - -
{title}{isDraft}{authorName}{commentCount}{DTC}{created}{/DTC}{DTC}{edited}{/DTC} - -
- No results to show. -
- Create - -
\ No newline at end of file +
+ Blog Posts +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + + + {LOOP} + + + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
TitleAuthorcommentsCreatedUpdated + +
{title}{isDraft}{authorName}{commentCount}{DTC}{created}{/DTC}{DTC}{edited}{/DTC} + +
+ No results to show. +
+ Create + +
+
\ No newline at end of file diff --git a/app/plugins/blog/views/admin/view.html b/app/plugins/blog/views/admin/view.html index 19ed608..7f66e37 100644 --- a/app/plugins/blog/views/admin/view.html +++ b/app/plugins/blog/views/admin/view.html @@ -1,9 +1,14 @@ -
-
-

{title} {DTC}{created}{/DTC} by {authorName}

-
{content}
- Delete - Edit +
+ Blog Post: {title} +
+ {ADMIN_BREADCRUMBS} + +
{content}
+ {ADMIN} +
+ + View Comments -
-
\ No newline at end of file +
+ {/ADMIN} +
\ No newline at end of file diff --git a/app/plugins/blog/views/post.html b/app/plugins/blog/views/post.html index bd0a8c9..b955657 100644 --- a/app/plugins/blog/views/post.html +++ b/app/plugins/blog/views/post.html @@ -7,8 +7,8 @@ {content} {ADMIN}
- Delete - Edit + +
{/ADMIN}
diff --git a/app/plugins/bugreport/controllers/bugreport.php b/app/plugins/bugreport/controllers/bugreport.php index 5da4f78..75c5ad5 100644 --- a/app/plugins/bugreport/controllers/bugreport.php +++ b/app/plugins/bugreport/controllers/bugreport.php @@ -41,7 +41,7 @@ class Bugreport extends Controller { return Views::view( 'bugreport.create' ); } $result = self::$bugreport->create( App::$activeUser->ID, Input::post( 'url' ), Input::post( 'ourl' ), Input::post( 'repeat' ), Input::post( 'entry' ) ); - if ( true === $result ) { + if ( false != $result ) { Session::flash( 'success', 'Your Bug Report has been received. We may contact you for more information at the email address you provided.' ); Redirect::to( 'home/index' ); } else { diff --git a/app/plugins/bugreport/views/admin/list.html b/app/plugins/bugreport/views/admin/list.html index 7f4d302..94eeb58 100644 --- a/app/plugins/bugreport/views/admin/list.html +++ b/app/plugins/bugreport/views/admin/list.html @@ -1,42 +1,45 @@ -Bug Reports -{PAGINATION} -
- - - - - - - - - - - - - {LOOP} - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDTimeDescription - -
{ID}{DTC}{time}{/DTC}{description} - -
- No results to show. -
- -
-
-clear all \ No newline at end of file +
+ Bug Reports +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + {LOOP} + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDTimeDescription + +
{ID}{DTC}{time}{/DTC}{description} + +
+ No results to show. +
+ +
+
+ clear all +
\ No newline at end of file diff --git a/app/plugins/bugreport/views/admin/view.html b/app/plugins/bugreport/views/admin/view.html index 6b8b5b9..a25c7b9 100644 --- a/app/plugins/bugreport/views/admin/view.html +++ b/app/plugins/bugreport/views/admin/view.html @@ -1,64 +1,69 @@ -
-
-
-
-
-

Bug Report

-
-
-
-
- - +
+
+
+ {ADMIN_BREADCRUMBS} +
+ +
+

Bug Report

+
+ + +
+
+ +
+ + + + + - - + + - - + + - - + + - - + + + + + + + + + + - - - - - - - - - - - - - + - -
ID:{ID}
ID{ID}Time submitted{DTC}{time}{/DTC}
Time submitted{DTC}{time}{/DTC}URL:{URL}
Submitted by{submittedBy}Original URL{OURL}
IP{ip}Multiple occurrences?{repeatText}
IP:{ip}
User:{submittedBy}
URL:{URL}
Original URL{OURL}
Multiple occurrences?{repeatText}
DescriptionDescription:
{description}
-
-
-
- +
+ + + -
-
-
+
+
+ + \ No newline at end of file diff --git a/app/plugins/comments/controllers/admin/comments.php b/app/plugins/comments/controllers/admin/comments.php index 75bed79..8967873 100644 --- a/app/plugins/comments/controllers/admin/comments.php +++ b/app/plugins/comments/controllers/admin/comments.php @@ -49,9 +49,13 @@ class Comments extends AdminController { $this->index(); } - public function viewComment( $data = null ) { - $commentData = self::$comments->findById( $data ); - if ( $commentData !== false ) { + public function viewComments( $contentIID = null ) { + if ( empty( $contentIID ) ) { + Issues::add( 'error', 'Content ID not found.' ); + return $this->index(); + } + $contentData = self::$comments->findById( $data ); + if ( empty( $contentIID ) ) { return Views::view( 'comments.list', $commentData ); } Issues::add( 'error', 'Comment not found.' ); diff --git a/app/plugins/comments/plugin.php b/app/plugins/comments/plugin.php index a7cb138..146da01 100644 --- a/app/plugins/comments/plugin.php +++ b/app/plugins/comments/plugin.php @@ -25,9 +25,10 @@ use TheTempusProject\Houdini\Classes\Views; use TheTempusProject\Classes\Forms; use TheTempusProject\Hermes\Functions\Redirect; use TheTempusProject\Bedrock\Functions\Session; -use TheTempusProject\Models\Comments as CommentModel; +use TheTempusProject\Models\Comments as CommentsModel; class Comments extends Plugin { + protected static $comments; public $pluginName = 'TP Comments'; public $pluginAuthor = 'JoeyK'; public $pluginWebsite = 'https://TheTempusProject.com'; @@ -61,7 +62,6 @@ class Comments extends Plugin { ] ], ]; - public $comments; public function __construct( $load = false ) { if ( !empty(App::$activePerms) ) { @@ -75,11 +75,16 @@ class Comments extends Plugin { 'replace' => ( App::$isMod ? '$1' : '' ), 'enabled' => true, ]; - $this->getModel(); + self::$comments = new CommentsModel; parent::__construct( $load ); } public function formPost( $type, $content, $redirect ) { + if ( ! $this->checkEnabled() ) { + Debug::info( 'Comments Plugin is disabled in the control panel.' ); + Issues::add( 'error', 'Comments are disabled.' ); + return false; + } if ( !App::$isLoggedIn ) { Session::flash( 'notice', 'You must be logged in to post comments.' ); return Redirect::to( $redirect . $content->ID ); @@ -88,7 +93,7 @@ class Comments extends Plugin { Session::flash( 'error', [ 'There was a problem with your comment form.' => Check::userErrors() ] ); return Redirect::to( $redirect . $content->ID ); } - if ( !$this->comments->create( $type, $content->ID, Input::post( 'comment' ) ) ) { + if ( !self::$comments->create( $type, $content->ID, Input::post( 'comment' ) ) ) { Session::flash( 'error', [ 'There was a problem posting your comment.' => Check::userErrors() ] ); } else { Session::flash( 'success', 'Comment posted' ); @@ -97,6 +102,11 @@ class Comments extends Plugin { } public function formEdit( $type, $content, $redirect ) { + if ( ! $this->checkEnabled() ) { + Debug::info( 'Comments Plugin is disabled in the control panel.' ); + Issues::add( 'error', 'Comments are disabled.' ); + return false; + } if ( !App::$isLoggedIn ) { Session::flash( 'notice', 'You must be logged in to do that.' ); return Redirect::to( $type ); @@ -112,7 +122,7 @@ class Comments extends Plugin { Issues::add( 'error', [ 'There was a problem editing your comment.' => Check::userErrors() ] ); return Views::view( 'comments.admin.edit', $content ); } - if ( !$this->comments->update( $content->ID, Input::post( 'comment' ) ) ) { + if ( !self::$comments->update( $content->ID, Input::post( 'comment' ) ) ) { Issues::add( 'error', [ 'There was a problem editing your comment.' => Check::userErrors() ] ); return Views::view( 'comments.admin.edit', $content ); } @@ -121,6 +131,11 @@ class Comments extends Plugin { } public function formDelete( $type, $content, $redirect ) { + if ( ! $this->checkEnabled() ) { + Debug::info( 'Comments Plugin is disabled in the control panel.' ); + Issues::add( 'error', 'Comments are disabled.' ); + return false; + } if ( !App::$isLoggedIn ) { Session::flash( 'notice', 'You must be logged in to do that.' ); return Redirect::to( $type ); @@ -129,18 +144,11 @@ class Comments extends Plugin { Session::flash( 'error', 'You do not have permission to edit this comment' ); return Redirect::to( $type ); } - if ( !$this->comments->delete( (array) $content->ID ) ) { + if ( !self::$comments->delete( (array) $content->ID ) ) { Session::flash( 'error', 'There was an error with your request.' ); } else { Session::flash( 'success', 'Comment has been deleted' ); } return Redirect::to( $redirect . $content->contentID ); } - - public function getModel() { - if ( empty($this->comments) ) { - $this->comments = new CommentModel; - } - return $this->comments; - } } diff --git a/app/plugins/comments/views/admin/edit.html b/app/plugins/comments/views/admin/edit.html index e46f4aa..47553e3 100644 --- a/app/plugins/comments/views/admin/edit.html +++ b/app/plugins/comments/views/admin/edit.html @@ -1,9 +1,25 @@ -
-
-
- -
+
+
+ Edit Comment +
+ {ADMIN_BREADCRUMBS} + +
+
+ +
+ +
+
+ + + + + +
+ +
+
+
- - - \ No newline at end of file +
\ No newline at end of file diff --git a/app/plugins/comments/views/admin/list.html b/app/plugins/comments/views/admin/list.html index 20c49c4..df9983b 100644 --- a/app/plugins/comments/views/admin/list.html +++ b/app/plugins/comments/views/admin/list.html @@ -1,43 +1,45 @@ -Recent Comments -{PAGINATION} -
- - - - - - - - - - - - - - {LOOP} - - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
AuthorSubjectCommentTime - -
{authorName}{contentTitle}{content}{DTC}{created}{/DTC} - -
- No results to show. -
- -
-
\ No newline at end of file +
+ Recent Comments +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + + {LOOP} + + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
AuthorSubjectCommentTime + +
{authorName}{contentTitle}{content}{DTC}{created}{/DTC} + +
+ No results to show. +
+ +
+
\ No newline at end of file diff --git a/app/plugins/comments/views/list.html b/app/plugins/comments/views/list.html index 840d104..3fc478b 100644 --- a/app/plugins/comments/views/list.html +++ b/app/plugins/comments/views/list.html @@ -1,14 +1,14 @@
-
+

Comments

{count}
-
+
    {LOOP} -
  • +
  • User Avatar diff --git a/app/plugins/contact/views/admin/list.html b/app/plugins/contact/views/admin/list.html index 01eea1e..2d1078e 100644 --- a/app/plugins/contact/views/admin/list.html +++ b/app/plugins/contact/views/admin/list.html @@ -1,42 +1,45 @@ -Contact Forms -{PAGINATION} -
    - - - - - - - - - - - - - {LOOP} - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
    IDTimeFeedback - -
    {ID}{DTC}{time}{/DTC}{feedback} - -
    - No results to show. -
    - -
    -
    -clear all \ No newline at end of file +
    + Contact Forms +
    + {ADMIN_BREADCRUMBS} +
    + + + + + + + + + + + + + {LOOP} + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
    IDTimeFeedback + +
    {ID}{DTC}{time}{/DTC}{feedback} + +
    + No results to show. +
    + +
    +
    + clear all +
    \ No newline at end of file diff --git a/app/plugins/contact/views/admin/view.html b/app/plugins/contact/views/admin/view.html index ecd441d..89549cf 100644 --- a/app/plugins/contact/views/admin/view.html +++ b/app/plugins/contact/views/admin/view.html @@ -1,56 +1,61 @@ -
    -
    -
    -
    -
    -

    Contact

    -
    -
    -
    -
    - - +
    +
    +
    + {ADMIN_BREADCRUMBS} +
    + +
    +

    Contact Form

    +
    + + +
    +
    + +
    + + + + + - - + + - - + + - - + + + + + + - - - - - - - - - + - -
    ID:{ID}
    ID:{ID}Time submitted{DTC}{time}{/DTC}
    Time submitted:{DTC}{time}{/DTC}Email:{email}
    IP:{ip}Name:{name}
    IP:{ip}
    Email:{email}
    Name{name}
    FeedbackFeedback:
    {feedback}
    -
    -
    -
    - +
    + + + -
    -
    -
    +
    +
    +
+
\ No newline at end of file diff --git a/app/plugins/contact/views/feedback.html b/app/plugins/contact/views/feedback.html deleted file mode 100644 index cfdab0b..0000000 --- a/app/plugins/contact/views/feedback.html +++ /dev/null @@ -1,27 +0,0 @@ -
- Feedback -

Here at {SITENAME} we highly value your feedback. We constantly strive to provide our users with the highest level of quality in everything we do.

-

If you would like to provide any suggestions or comments on our service, we ask that you please fill out the quick form below and let us know what's on your mind.

-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
-
\ No newline at end of file diff --git a/app/plugins/notifications/controllers/admin/notifications.php b/app/plugins/notifications/controllers/admin/notifications.php index 11a56b2..1ff39cd 100644 --- a/app/plugins/notifications/controllers/admin/notifications.php +++ b/app/plugins/notifications/controllers/admin/notifications.php @@ -45,7 +45,10 @@ class Notifications extends AdminController { } public function create() { - $select = Forms::getFormFieldHtml( 'groupSelect', 'User Group', 'select', 'All', self::$group->listGroupsSimple( true ) ); + $select = Forms::getSelectHtml( + 'groupSelect', + self::$group->listGroupsSimple( true ) + ); Components::set( 'groupSelect', $select ); if ( ! Input::exists( 'submit' ) ) { return Views::view( 'notifications.admin.send' ); diff --git a/app/plugins/notifications/views/admin/send.html b/app/plugins/notifications/views/admin/send.html index 4900695..57fbda4 100644 --- a/app/plugins/notifications/views/admin/send.html +++ b/app/plugins/notifications/views/admin/send.html @@ -1,44 +1,62 @@ -
- Send Notification -
- {groupSelect} -
-
- -
- +
+ Send Notification +
+ {ADMIN_BREADCRUMBS} + + +
+ +
+ +
+ {groupSelect} +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ + Max: 2000 characters +
+
+ + + +
+ + +
+
-
-
- -
- -
-
-
-
- -
-
- - \ No newline at end of file + +
\ No newline at end of file diff --git a/app/plugins/subscribe/views/admin/add.html b/app/plugins/subscribe/views/admin/add.html index 4d3c2e5..119b070 100644 --- a/app/plugins/subscribe/views/admin/add.html +++ b/app/plugins/subscribe/views/admin/add.html @@ -1,5 +1,24 @@ -
- - -
-
\ No newline at end of file +
+ Add Subscriber +
+ {ADMIN_BREADCRUMBS} +
+
+ +
+ +
+ +
+
+ + + +
+ + +
+ +
+
+
\ No newline at end of file diff --git a/app/plugins/subscribe/views/admin/list.html b/app/plugins/subscribe/views/admin/list.html index 9791f6b..077db75 100644 --- a/app/plugins/subscribe/views/admin/list.html +++ b/app/plugins/subscribe/views/admin/list.html @@ -1,37 +1,40 @@ -Subscribers -{PAGINATION} -
- - - - - - - - - - - {LOOP} - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDemail - -
{ID}{EMAIL} - -
- No results to show. -
- Add - -
\ No newline at end of file +
+ Subscribers +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + {LOOP} + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDemail + +
{ID}{EMAIL} + +
+ No results to show. +
+ Add + +
+
\ No newline at end of file diff --git a/app/templates/admin/admin.tpl b/app/templates/admin/admin.tpl index 862e51d..76941ec 100644 --- a/app/templates/admin/admin.tpl +++ b/app/templates/admin/admin.tpl @@ -30,8 +30,8 @@
- - All The Bookmarks + + {SITENAME}
{ADMIN} @@ -62,7 +62,6 @@
{/ISSUES} - {ADMIN_BREADCRUMBS} {CONTENT}
@@ -71,6 +70,12 @@
{COPY} +
+
+ + +
+
{SOCIAL}
diff --git a/app/views/about.html b/app/views/about.html index 3bc1bf6..213e9d9 100644 --- a/app/views/about.html +++ b/app/views/about.html @@ -7,6 +7,10 @@ Right now this entire system was built and managed by myself. As stated, I have used my own version of this for years but translating it to publicly available is not a 1 to 1 job. There may be bugs or issues encountered while you use the produxct. I can't guarantee a fix for every need in every case immidiately, but I do actively keep track of bugs and work hard to ensure everyone has a great experiience usiing the app.

- If you encounter any bugs, feel free to report it here. Likewise, there are forms for feedback, reviews, suggestions, and a general contact form. Thanks for taking the time to check out the product! + If you encounter any bugs, feel free to report them here. Likewise, there are forms for feedback, reviews, suggestions, and a general contact form. Thanks for taking the time to check out the product!

+
+ {loggedin}Report a Bug{/loggedin} + Contact Us +
\ No newline at end of file diff --git a/app/views/admin/contact.html b/app/views/admin/contact.html index f9615b0..a2f0e50 100644 --- a/app/views/admin/contact.html +++ b/app/views/admin/contact.html @@ -1,39 +1,69 @@ -
- Send Email -

Please be very careful with this feature. This form allows you to send an email (formatted within the default site email template) to registered emails from various sources including newsletter subscribers, call to action subscribers, and all registered user accounts.

-
-
- -
- -
+
+ Send Email +
+ {ADMIN_BREADCRUMBS} +
+

+ Please be very careful with this feature. This form allows you to send an email (formatted within the default site email template) to registered emails from various sources including newsletter subscribers, call to action subscribers, and all registered user accounts. +

-
- -
- + +
+ +
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ +
+
+ + +
+ +
+ + Max: 2000 characters +
+
+ + + +
+ + +
+
-
-
- -
- -
-
-
- -
- -
-
-
- -
-
\ No newline at end of file + + \ No newline at end of file diff --git a/app/views/admin/groups/create.html b/app/views/admin/groups/create.html index e371009..71669cf 100644 --- a/app/views/admin/groups/create.html +++ b/app/views/admin/groups/create.html @@ -1,12 +1,26 @@ -
- New Group -
- -
- -
-
- {PERMISSIONS_FORM} - - -
\ No newline at end of file +
+ Add Group +
+ {ADMIN_BREADCRUMBS} +
+
+ +
+ +
+ +
+
+ + {PERMISSIONS_FORM} + + + + + +
+ +
+
+
+
\ No newline at end of file diff --git a/app/views/admin/groups/edit.html b/app/views/admin/groups/edit.html index 18a123c..448a789 100644 --- a/app/views/admin/groups/edit.html +++ b/app/views/admin/groups/edit.html @@ -1,12 +1,26 @@ -
- Edit Group: {name} -
- -
- -
-
- {PERMISSIONS_FORM} - - -
\ No newline at end of file +
+ Edit Group: {name} +
+ {ADMIN_BREADCRUMBS} +
+
+ +
+ +
+ +
+
+ + {PERMISSIONS_FORM} + + + + + +
+ +
+
+
+
\ No newline at end of file diff --git a/app/views/admin/groups/list.html b/app/views/admin/groups/list.html index 3a79bc7..123f9e8 100644 --- a/app/views/admin/groups/list.html +++ b/app/views/admin/groups/list.html @@ -1,39 +1,42 @@ -Groups -{PAGINATION} -
- - - - - - - - - - - - {LOOP} - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
NameUsers - -
{name}{userCount} - -
- No results to show. -
- Create - -
\ No newline at end of file +
+ Groups +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + {LOOP} + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
NameUsers + +
{name}{userCount} + +
+ No results to show. +
+ Create + +
+
\ No newline at end of file diff --git a/app/views/admin/groups/list_members.html b/app/views/admin/groups/list_members.html index 59623e8..960f781 100644 --- a/app/views/admin/groups/list_members.html +++ b/app/views/admin/groups/list_members.html @@ -36,5 +36,5 @@ {/ALT} - + \ No newline at end of file diff --git a/app/views/admin/groups/view.html b/app/views/admin/groups/view.html index 86490f8..9344d8e 100644 --- a/app/views/admin/groups/view.html +++ b/app/views/admin/groups/view.html @@ -1,24 +1,29 @@ -
-
-
-
-
-

{name}

+
+
+
+ {ADMIN_BREADCRUMBS} +
+ +
+

{name}

+ +
-
-
- +
+ +
{PERMISSIONS_ROWS}
-
-
diff --git a/app/views/admin/logs/admin.html b/app/views/admin/logs/admin.html index a552829..d437459 100644 --- a/app/views/admin/logs/admin.html +++ b/app/views/admin/logs/admin.html @@ -1,50 +1,56 @@ -
-
-
-
-
-

Admin Log

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
ID{ID}
User:{logUser}
Time:{DTC}{time}{/DTC}
IP:{ip}
Log:{action}
-
-
-
- +
+
\ No newline at end of file diff --git a/app/views/admin/logs/admin_list.html b/app/views/admin/logs/admin_list.html index 9687967..566ad36 100644 --- a/app/views/admin/logs/admin_list.html +++ b/app/views/admin/logs/admin_list.html @@ -1,40 +1,43 @@ -Admin Logs -{PAGINATION} -
- - - - - - - - - - - - - {LOOP} - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDTimeAction - -
{ID}{DTC}{time}{/DTC}{action} - -
- No results to show. -
- -
\ No newline at end of file +
+ Admin Logs +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + {LOOP} + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDTimeAction + +
{ID}{DTC}{time}{/DTC}{action} + +
+ No results to show. +
+ +
+
\ No newline at end of file diff --git a/app/views/admin/logs/error.html b/app/views/admin/logs/error.html index 62b9ffe..ac5ceba 100644 --- a/app/views/admin/logs/error.html +++ b/app/views/admin/logs/error.html @@ -1,57 +1,66 @@ -
-
-
-
-
-

Error

-
-
-
-
- - +
+
+
+
+ +
+

Error Log

+
+ + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + - -
ID:{ID}
Class:{class}
Function:{function}
Time:{DTC}{time}{/DTC}
IP:{ip}
Error:{error}
ID{ID}
Time submitted:{DTC}{time}{/DTC}
IP:{ip}
Class:{class}
Function{function}
Error:{error}Description:
{description}
-
-
-
- +
+
+ + + -
-
-
+
+
+
+
\ No newline at end of file diff --git a/app/views/admin/logs/error_list.html b/app/views/admin/logs/error_list.html index af8bafe..de158e9 100644 --- a/app/views/admin/logs/error_list.html +++ b/app/views/admin/logs/error_list.html @@ -1,40 +1,43 @@ -Errors -{PAGINATION} -
- - - - - - - - - - - {LOOP} - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDTimeDescription - -
{ID}{DTC}{time}{/DTC}{error} - -
- No results to show. -
- -
-
-clear all \ No newline at end of file +
+ Errors +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + {LOOP} + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDTimeDescription + +
{ID}{DTC}{time}{/DTC}{error} + +
+ No results to show. +
+ +
+
+ clear all +
\ No newline at end of file diff --git a/app/views/admin/logs/login.html b/app/views/admin/logs/login.html index 694e3ae..6166aef 100644 --- a/app/views/admin/logs/login.html +++ b/app/views/admin/logs/login.html @@ -1,50 +1,56 @@ -
-
-
-
-
-

Login Record

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
ID{ID}
User:{logUser}
Time:{DTC}{time}{/DTC}
IP:{ip}
Pass or Fail:{action}
-
-
-
- +
+
\ No newline at end of file diff --git a/app/views/admin/logs/login_list.html b/app/views/admin/logs/login_list.html index 2236e85..d3ef664 100644 --- a/app/views/admin/logs/login_list.html +++ b/app/views/admin/logs/login_list.html @@ -1,42 +1,45 @@ -Logins -{PAGINATION} -
- - - - - - - - - - - - - {LOOP} - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDTimePass / fail - -
{ID}{DTC}{time}{/DTC}{action} - -
- No results to show. -
- -
-
-clear all \ No newline at end of file +
+ Logins +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + {LOOP} + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDTimePass / fail + +
{ID}{DTC}{time}{/DTC}{action} + +
+ No results to show. +
+ +
+
+ clear all +
\ No newline at end of file diff --git a/app/views/admin/modules/composer/dependencies.html b/app/views/admin/modules/composer/dependencies.html deleted file mode 100644 index 6623a03..0000000 --- a/app/views/admin/modules/composer/dependencies.html +++ /dev/null @@ -1,26 +0,0 @@ -

Installed Dependencies

- - - - - - - - - - {LOOP} - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
NameRequired VersionInstalled Version
{name}{requiredVersion}{version}
- No results to show. -
\ No newline at end of file diff --git a/app/views/admin/modules/dependencies.html b/app/views/admin/modules/dependencies.html new file mode 100644 index 0000000..7072bb2 --- /dev/null +++ b/app/views/admin/modules/dependencies.html @@ -0,0 +1,30 @@ +
+ Installed Dependencies +
+ {ADMIN_BREADCRUMBS} + + + + + + + + + + {LOOP} + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
NameRequired VersionInstalled Version
{name}{requiredVersion}{version}
+ No results to show. +
+
\ No newline at end of file diff --git a/app/views/admin/modules/models/install.html b/app/views/admin/modules/models/install.html deleted file mode 100644 index 92e161e..0000000 --- a/app/views/admin/modules/models/install.html +++ /dev/null @@ -1,6 +0,0 @@ -
- Install {MODEL} -

The Tempus Project cannot guarantee the safety or effectiveness of any models not offered directly from the organizations GitHub at The Tempus Project

- - -

\ No newline at end of file diff --git a/app/views/admin/modules/models/list.html b/app/views/admin/modules/models/list.html deleted file mode 100644 index 1465e5e..0000000 --- a/app/views/admin/modules/models/list.html +++ /dev/null @@ -1,34 +0,0 @@ -

Installed Models

- - - - - - - - - - - - - - {LOOP} - - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
NameInstall StatusFile VersionInstalled VersionInstall DateLast Updated
{name}{installStatus}{version}{installedVersion}{DTC=date}{installDate}{/DTC}{DTC=date}{lastUpdate}{/DTC}
- No results to show. -
\ No newline at end of file diff --git a/app/views/admin/modules/models/uninstall.html b/app/views/admin/modules/models/uninstall.html deleted file mode 100644 index 54ca5bc..0000000 --- a/app/views/admin/modules/models/uninstall.html +++ /dev/null @@ -1,6 +0,0 @@ -
- Uninstall {MODEL} -

Are you sure you would like to uninstall this model and all of its components? There is no guarantee that your site will continue to run without error. This is especially the case when uninstalling core TTP models.

- - -

\ No newline at end of file diff --git a/app/views/admin/modules/models/view.html b/app/views/admin/modules/models/view.html deleted file mode 100644 index c5de60b..0000000 --- a/app/views/admin/modules/models/view.html +++ /dev/null @@ -1,69 +0,0 @@ -
-
-
-
-
-

Model Info

-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name:{name}
Status:{installStatus}
Installed:{DTC}{installDate}{/DTC}
Last Updated:{DTC}{lastUpdate}{/DTC}
File Version:{version}
Installed Version:{installedVersion}
installTable:{installTable}
installPermissions:{installPermissions}
installConfigs:{installConfigs}
installResources:{installResources}
installPreferences:{installPreferences}
-
-
-
- -
-
-
-
\ No newline at end of file diff --git a/app/views/admin/modules/plugins/disable.html b/app/views/admin/modules/plugins/disable.html index cf7a9eb..c220c0b 100644 --- a/app/views/admin/modules/plugins/disable.html +++ b/app/views/admin/modules/plugins/disable.html @@ -1,7 +1,13 @@ -
- Disable {PLUGIN} -

Are you absolutely SURE you wish to Disable this plugin?

-

The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at The Tempus Project

- - -

\ No newline at end of file +
+ Disable {PLUGIN} +
+ {ADMIN_BREADCRUMBS} +
+

Are you absolutely SURE you wish to Disable this plugin?

+

The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at The Tempus Project

+
+ + +
+
+
\ No newline at end of file diff --git a/app/views/admin/modules/plugins/enable.html b/app/views/admin/modules/plugins/enable.html index e9ee656..85a42d9 100644 --- a/app/views/admin/modules/plugins/enable.html +++ b/app/views/admin/modules/plugins/enable.html @@ -1,7 +1,13 @@ -
- Enable {PLUGIN} -

Are you absolutely SURE you wish to Enable this plugin?

-

The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at The Tempus Project

- - -

\ No newline at end of file +
+ Enable {PLUGIN} +
+ {ADMIN_BREADCRUMBS} +
+

Are you absolutely SURE you wish to Enable this plugin?

+

The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at The Tempus Project

+
+ + +
+
+
\ No newline at end of file diff --git a/app/views/admin/modules/plugins/install.html b/app/views/admin/modules/plugins/install.html index b6cad6f..1250d8c 100644 --- a/app/views/admin/modules/plugins/install.html +++ b/app/views/admin/modules/plugins/install.html @@ -1,6 +1,12 @@ -
- Install {PLUGIN} -

The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at The Tempus Project

- - -

\ No newline at end of file +
+ Install {PLUGIN} +
+ {ADMIN_BREADCRUMBS} +
+

The Tempus Project cannot guarantee the safety or effectiveness of any plugins not offered directly from the organization's GitHub at The Tempus Project

+
+ + +
+
+
\ No newline at end of file diff --git a/app/views/admin/modules/plugins/list.html b/app/views/admin/modules/plugins/list.html index 05d4454..8c05b59 100644 --- a/app/views/admin/modules/plugins/list.html +++ b/app/views/admin/modules/plugins/list.html @@ -1,34 +1,38 @@ -

Installed Plugins

- - - - - - - - - - - - - - {LOOP} - - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
NameEnabledInstall StatusFile VersionInstalled VersionInstall DateLast Updated
{name}{enabled_txt}{installStatus}{version}{installedVersion}{DTC=date}{installDate}{/DTC}{DTC=date}{lastUpdate}{/DTC}
- No results to show. -
\ No newline at end of file +
+ Installed Plugins +
+ {ADMIN_BREADCRUMBS} + + + + + + + + + + + + + + {LOOP} + + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
NameEnabledInstall StatusFile VersionInstalled VersionInstall DateLast Updated
{name}{enabled_txt}{installStatus}{version}{installedVersion}{DTC=date}{installDate}{/DTC}{DTC=date}{lastUpdate}{/DTC}
+ No results to show. +
+
\ No newline at end of file diff --git a/app/views/admin/modules/plugins/uninstall.html b/app/views/admin/modules/plugins/uninstall.html index 47464fd..ee04228 100644 --- a/app/views/admin/modules/plugins/uninstall.html +++ b/app/views/admin/modules/plugins/uninstall.html @@ -1,6 +1,12 @@ -
- Uninstall {PLUGIN} -

Are you sure you would like to uninstall this plugin and all of its components? There is no guarantee that your site will continue to run without error.

- - -

\ No newline at end of file +
+ Uninstall {PLUGIN} +
+ {ADMIN_BREADCRUMBS} +
+

Are you sure you would like to uninstall this plugin and all of its components? There is no guarantee that your site will continue to run without error.

+
+ + +
+
+
\ No newline at end of file diff --git a/app/views/admin/modules/plugins/view.html b/app/views/admin/modules/plugins/view.html index 5b8f8f1..feed1f4 100644 --- a/app/views/admin/modules/plugins/view.html +++ b/app/views/admin/modules/plugins/view.html @@ -1,75 +1,80 @@ -
-
-
-
-
-

Plugin Info

-
-
-
-
- - +
+
+
+ {ADMIN_BREADCRUMBS} +
+ +
+

Plugin: {name}

+
+ + +
+
+ +
+ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - -
Name:{name}Name{name}
Enabled:{enabled_txt}Enabled{enabled_txt}
Status:{installStatus}Status{installStatus}
Install Date:{DTC}{installDate}{/DTC}Install Date{DTC}{installDate}{/DTC}
Last Updated:{DTC}{lastUpdate}{/DTC}Last Updated{DTC}{lastUpdate}{/DTC}
File Version:{version}File Version{version}
Installed Version:{installedVersion}Installed Version{installedVersion}
Preferences Installed:{preferences_installed}Preferences Installed{preferences_installed}
Permissions Installed:{permissions_installed}Permissions Installed{permissions_installed}
Configs Installed:{configs_installed}Configs Installed{configs_installed}
Models Installed:{models_installed}Models Installed{models_installed}
Resources Installed:{resources_installed}Resources Installed{resources_installed}
-
-
-
- +
+ + + -
-
-
+
+
+
\ No newline at end of file diff --git a/app/views/admin/routes/create.html b/app/views/admin/routes/create.html index afa3144..fa71f49 100644 --- a/app/views/admin/routes/create.html +++ b/app/views/admin/routes/create.html @@ -1,34 +1,51 @@ -
- New Route -
-
- -
- +
+ Edit Route: {nickname} +
+ {ADMIN_BREADCRUMBS} + +
+ +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
-
\ No newline at end of file + + + + + +
+ +
+ + + \ No newline at end of file diff --git a/app/views/admin/routes/edit.html b/app/views/admin/routes/edit.html index fbad79a..3675732 100644 --- a/app/views/admin/routes/edit.html +++ b/app/views/admin/routes/edit.html @@ -1,35 +1,52 @@ -
- Edit Route -
-
- -
- +
+ Edit Route: {nickname} +
+ {ADMIN_BREADCRUMBS} + +
+ +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
-
\ No newline at end of file + + + + + +
+ +
+ + + \ No newline at end of file diff --git a/app/views/admin/routes/list.html b/app/views/admin/routes/list.html index 2005a7e..e794452 100644 --- a/app/views/admin/routes/list.html +++ b/app/views/admin/routes/list.html @@ -1,45 +1,48 @@ -Redirects -{PAGINATION} -
- - - - - - - - - - - - - - - {LOOP} - - - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDNicknameTypePathDestinationEditDelete - -
{ID}{nickname}{redirect_type}{original_url}{forwarded_url} - -
- No results to show. -
- Create - -
\ No newline at end of file +
+ Redirects +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + + + {LOOP} + + + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDNicknameTypePathDestinationEditDelete + +
{ID}{nickname}{redirect_type}{original_url}{forwarded_url} + +
+ No results to show. +
+ Create + +
+
\ No newline at end of file diff --git a/app/views/admin/routes/view.html b/app/views/admin/routes/view.html index bc0d039..77c95ba 100644 --- a/app/views/admin/routes/view.html +++ b/app/views/admin/routes/view.html @@ -1,35 +1,40 @@ -
-
-
-
-
-

{nickname}

+
+
+
+ {ADMIN_BREADCRUMBS} +
+ +
+

{nickname}

+ +
-
-
- +
+ +
- + - + - +
TypeType {redirect_type}
Original URLOriginal URL {original_url}
Destination URLDestination URL {forwarded_url}
-
-
diff --git a/app/views/admin/settings.html b/app/views/admin/settings.html index 97adcec..59c8136 100644 --- a/app/views/admin/settings.html +++ b/app/views/admin/settings.html @@ -1,6 +1,16 @@ -
- Settings - {configForm} - -
-
\ No newline at end of file +
+ {ADMIN_BREADCRUMBS} +
+
+ {configForm} + + + +
+ + +
+ +
+
+
\ No newline at end of file diff --git a/app/views/admin/tokens/create.html b/app/views/admin/tokens/create.html index 08f6add..ede854d 100644 --- a/app/views/admin/tokens/create.html +++ b/app/views/admin/tokens/create.html @@ -1,28 +1,40 @@ -
- Create Token -
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
-
\ No newline at end of file +
+
+ Create Token +
+ {ADMIN_BREADCRUMBS} +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + +
+ +
+
+
+
+
\ No newline at end of file diff --git a/app/views/admin/tokens/edit.html b/app/views/admin/tokens/edit.html index cbc15e4..d84a542 100644 --- a/app/views/admin/tokens/edit.html +++ b/app/views/admin/tokens/edit.html @@ -1,29 +1,41 @@ -
- Edit Token -
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
-
\ No newline at end of file +
+
+ Edit Token +
+ {ADMIN_BREADCRUMBS} +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+ + + + + +
+ +
+
+
+
+
\ No newline at end of file diff --git a/app/views/admin/tokens/list.html b/app/views/admin/tokens/list.html index 5768f92..dbffd99 100644 --- a/app/views/admin/tokens/list.html +++ b/app/views/admin/tokens/list.html @@ -1,20 +1,22 @@ -Tokens -{PAGINATION} +
+ Tokens +
+ {ADMIN_BREADCRUMBS} - - + - + + {LOOP} - + {/LOOP} @@ -27,4 +29,5 @@ {/ALT}
IDNameName TypeDeleteDeleteDelete
{ID} {name} {token_type}
- Create \ No newline at end of file + Create +
\ No newline at end of file diff --git a/app/views/admin/tokens/view.html b/app/views/admin/tokens/view.html index 72cc885..abfbb4b 100644 --- a/app/views/admin/tokens/view.html +++ b/app/views/admin/tokens/view.html @@ -1,46 +1,51 @@ -
-
-
-
-
-

{name}

+
+
+
+ {ADMIN_BREADCRUMBS} +
+ +
+

{name}

+ +
-
-
- +
+ +
- + - + - + - - + + - - + + - +
TypeType {token_type}
Created AtCreated At {DTC}{createdAt}{/DTC}
Expires AtExpires At {DTC}{expiresAt}{/DTC}
Token{token}Token{token}
Secret{secret}Secret{secret}
NotesNotes {notes}
-
-
diff --git a/app/views/admin/users/create.html b/app/views/admin/users/create.html index f71dcf0..535c5a9 100644 --- a/app/views/admin/users/create.html +++ b/app/views/admin/users/create.html @@ -1,44 +1,74 @@ -
- Register -
-
- -
- +
+ Add User +
+ {ADMIN_BREADCRUMBS} + +
+ +
+ +
+ {groupSelect} +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
- {groupSelect} -
- -
-
\ No newline at end of file + + +
+ +
+
+ +
+
+
+ + + + + +
+ +
+ + +
\ No newline at end of file diff --git a/app/views/admin/users/edit.html b/app/views/admin/users/edit.html index 9bb7532..eb93fc1 100644 --- a/app/views/admin/users/edit.html +++ b/app/views/admin/users/edit.html @@ -1,45 +1,78 @@ -
- Edit User: {USERNAME} -
-
- -
- +
+ Edit User: {USERNAME} +
+ {ADMIN_BREADCRUMBS} + +
+ +
+ +
+ {groupSelect} +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
-
- -
- + + {AvatarSettings} + + +
+ +
+ +
-
-
- -
- + + +
+ +
+ +
-
- {AvatarSettings} -
- -
- + + +
+ +
+
+ +
+
-
- {groupSelect} -
- -
-
\ No newline at end of file + + +
+ +
+
+ +
+
+
+ + + + + +
+ +
+ + +
\ No newline at end of file diff --git a/app/views/admin/users/list.html b/app/views/admin/users/list.html index 28b5b35..ee18118 100644 --- a/app/views/admin/users/list.html +++ b/app/views/admin/users/list.html @@ -1,41 +1,44 @@ -Users -{PAGINATION} -
- - - - - - - - - - - - - {LOOP} - - - - - - - - - {/LOOP} - {ALT} - - - - {/ALT} - -
IDUsernameJoinedEditDelete - -
{ID}{username}{DTC date}{registered}{/DTC} - -
- No results to show. -
- Create - -
\ No newline at end of file +
+ Users +
+ {ADMIN_BREADCRUMBS} +
+ + + + + + + + + + + + + {LOOP} + + + + + + + + + {/LOOP} + {ALT} + + + + {/ALT} + +
IDUsernameJoinedEditDelete + +
{ID}{username}{DTC date}{registered}{/DTC} + +
+ No results to show. +
+ Create + +
+
\ No newline at end of file diff --git a/app/views/admin/users/view.html b/app/views/admin/users/view.html index 5c0cd8a..ff7c04b 100644 --- a/app/views/admin/users/view.html +++ b/app/views/admin/users/view.html @@ -1,68 +1,78 @@ -
-
-
-
-
-

{username}

-
-
-
-
- User Pic -
-
- - - {ADMIN} +
+
+
+ {ADMIN_BREADCRUMBS} +
+ +
+

{username}

+
+ + +
+
+ +
+ User Pic +
+ + +
+
+ + {ADMIN} + + + + - - - - - + - {/ADMIN} - - - - - - - - - - - - - {ADMIN} - - - - - - - - {/ADMIN} - -
Confirmed:{confirmedText}
Confirmed:{confirmedText}
Group:Group: {groupName}
Registered:{DTC date}{registered}{/DTC}
Last seen{DTC date}{lastLogin}{/DTC}
Gender{gender}
Email{email}
User ID{ID}
-
-
-
- -
-
-
-
\ No newline at end of file + {/ADMIN} + + Registered: + {DTC}{registered}{/DTC} + + + Last Seen: + {DTC}{lastLogin}{/DTC} + + + Gender: + {gender} + + {ADMIN} + + Email: + {email} + + + User ID: + {ID} + + {/ADMIN} + + +
+
+
+ + + +
+
+
+
diff --git a/app/views/email/confirmation.html b/app/views/email/confirmation.html deleted file mode 100644 index 108302b..0000000 --- a/app/views/email/confirmation.html +++ /dev/null @@ -1,14 +0,0 @@ -
- Email Confirmation -

Please enter the confirmation code you received in your email.

-
-
- -
- -
-
-
- -
-
\ No newline at end of file diff --git a/app/views/email/confirmation_resend.html b/app/views/email/confirmation_resend.html deleted file mode 100644 index 29b0fab..0000000 --- a/app/views/email/confirmation_resend.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

Please click the resend button to resend your email confirmation. Don't forget to check the spam folder!

- - -
-
\ No newline at end of file diff --git a/app/views/profile.html b/app/views/profile.html index 8da62b0..542e6c5 100644 --- a/app/views/profile.html +++ b/app/views/profile.html @@ -63,7 +63,7 @@ Edit - Delete + Delete {/ADMIN}
diff --git a/bin/tempus_project.php b/bin/tempus_project.php index f1e4f24..0789f60 100644 --- a/bin/tempus_project.php +++ b/bin/tempus_project.php @@ -94,7 +94,7 @@ class TheTempusProject extends Bedrock { ], [ 'text' => ' Contact', - 'url' => '{ROOT_URL}admin/contact', + 'url' => '{ROOT_URL}admin/SendMail', ], [ 'text' => ' Tokens',