diff --git a/app/js/main.js b/app/js/main.js index 47b416a..805f466 100644 --- a/app/js/main.js +++ b/app/js/main.js @@ -95,25 +95,45 @@ $(document).ready(function() { }); document.addEventListener('DOMContentLoaded', function () { + const ttpDarkmode = document.getElementById('dark-mode-pref'); const toggleButton = document.getElementById('dark-mode-toggle'); const enableButton = document.getElementById('dark-mode-toggle-button'); const darkModeStylesheet = document.getElementById('dark-mode-stylesheet'); + let currentState = ''; - // Check if dark mode is saved in localStorage - if (localStorage.getItem('darkMode') === 'enabled') { + // Check if dark mode is set by ttp + if ( ttpDarkmode ) { + if ( 'true' == ttpDarkmode.value ) { + currentState = 'enabled'; + } + if ( 'false' == ttpDarkmode.value ) { + currentState = 'disabled'; + } + } + + // Check if dark mode is set in localStorage + if ( '' == currentState ) { + if ( localStorage.getItem('darkMode') === 'enabled' ) { + currentState = 'enabled'; + } + } + + // Update current button states + if ( 'enabled' == currentState ) { darkModeStylesheet.disabled = false; - + if ( toggleButton ) { toggleButton.checked = true; } - + if ( enableButton ) { enableButton.innerText = 'Disable Now'; } } + // Style striped table elements document.querySelectorAll('.table-striped').forEach((table) => { - if (localStorage.getItem('darkMode') === 'enabled') { + if ( 'enabled' == currentState ) { table.classList.add('table-dark'); } else { table.classList.add('table-light') @@ -122,7 +142,7 @@ document.addEventListener('DOMContentLoaded', function () { if ( enableButton ) { enableButton.addEventListener('click', function () { - if (darkModeStylesheet.disabled) { + if ( darkModeStylesheet.disabled ) { darkModeStylesheet.disabled = false; localStorage.setItem('darkMode', 'enabled'); enableButton.innerText = 'Disable Now'; @@ -138,21 +158,21 @@ document.addEventListener('DOMContentLoaded', function () { toggleButton.addEventListener('click', function () { if (darkModeStylesheet.disabled) { toggleDarkModePref( true ); - darkModeStylesheet.disabled = false; - localStorage.setItem('darkMode', 'enabled'); + darkModeStylesheet.disabled = false; + localStorage.setItem('darkMode', 'enabled'); + } else { + toggleDarkModePref( false ); + 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 { - toggleDarkModePref( false ); - 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'); + table.classList.add('table-light'); + table.classList.remove('table-dark'); } }); }); diff --git a/app/models/group.php b/app/models/group.php index bbc512b..759dae7 100644 --- a/app/models/group.php +++ b/app/models/group.php @@ -31,7 +31,7 @@ class Group extends DatabaseModel { 'defaultGroup' => [ 'type' => 'customSelect', 'pretty' => 'The Default Group for new registrations.', - 'default' => 5, + 'default' => 4, ], ]; public $databaseMatrix = [ diff --git a/app/plugins/messages/controllers/messages.php b/app/plugins/messages/controllers/messages.php index 7bcd560..c07e8cc 100644 --- a/app/plugins/messages/controllers/messages.php +++ b/app/plugins/messages/controllers/messages.php @@ -19,6 +19,9 @@ use TheTempusProject\Houdini\Classes\Views; use TheTempusProject\Houdini\Classes\Issues; use TheTempusProject\Bedrock\Functions\Check; use TheTempusProject\Bedrock\Functions\Input; +use TheTempusProject\TheTempusProject as App; +use TheTempusProject\Hermes\Functions\Redirect; +use TheTempusProject\Bedrock\Functions\Session; class Messages extends Controller { private static $message; @@ -27,6 +30,10 @@ class Messages extends Controller { parent::__construct(); self::$title = 'Messages'; self::$message = new Message; + if ( ! App::$isLoggedIn ) { + Session::flash( 'error', 'You do not have permission to access this page.' ); + return Redirect::home(); + } } public function create() { @@ -71,8 +78,9 @@ class Messages extends Controller { } public function index() { - Views::view( 'messages.inbox', self::$message->getInbox() ); - Views::view( 'messages.outbox', self::$message->getOutbox() ); + Components::set( 'message_inbox', Views::simpleView( 'messages.inbox', self::$message->getInbox() ) ); + Components::set( 'message_outbox', Views::simpleView( 'messages.outbox', self::$message->getOutbox() ) ); + Views::view( 'messages.index' ); } public function read( $id = '' ) { diff --git a/app/plugins/messages/views/badge.html b/app/plugins/messages/views/badge.html index 9e3a4ca..0a248f2 100644 --- a/app/plugins/messages/views/badge.html +++ b/app/plugins/messages/views/badge.html @@ -1 +1 @@ -{MESSAGE_COUNT} \ No newline at end of file +{MESSAGE_COUNT} \ No newline at end of file diff --git a/app/plugins/messages/views/inbox.html b/app/plugins/messages/views/inbox.html index b1ababa..71b1c34 100644 --- a/app/plugins/messages/views/inbox.html +++ b/app/plugins/messages/views/inbox.html @@ -1,7 +1,6 @@

Inbox

-{PAGINATION}
- +
diff --git a/app/plugins/messages/views/index.html b/app/plugins/messages/views/index.html new file mode 100644 index 0000000..f35bcad --- /dev/null +++ b/app/plugins/messages/views/index.html @@ -0,0 +1,8 @@ +
+
+ {message_inbox} +
+
+ {message_outbox} +
+
\ No newline at end of file diff --git a/app/plugins/messages/views/message.html b/app/plugins/messages/views/message.html index e076f5b..919a748 100644 --- a/app/plugins/messages/views/message.html +++ b/app/plugins/messages/views/message.html @@ -1,43 +1,37 @@ -
-
+
{LOOP} - {SINGLE} -
-

{subject}

-
- {/SINGLE} -
-
-
- {userFrom}
- User Pic + {SINGLE} +
+
{subject}
-
-
From
- - - -
{message}
+ {/SINGLE} +
+
+
+ {userFrom}
+ User Pic +
+
+ {message} +
- - + {/LOOP} - +
- \ No newline at end of file diff --git a/app/plugins/messages/views/nav/recentMessagesDropdown.html b/app/plugins/messages/views/nav/recentMessagesDropdown.html index f353853..c89a2e8 100644 --- a/app/plugins/messages/views/nav/recentMessagesDropdown.html +++ b/app/plugins/messages/views/nav/recentMessagesDropdown.html @@ -1,49 +1,46 @@ \ No newline at end of file diff --git a/app/plugins/messages/views/outbox.html b/app/plugins/messages/views/outbox.html index 8099144..9ab1833 100644 --- a/app/plugins/messages/views/outbox.html +++ b/app/plugins/messages/views/outbox.html @@ -1,7 +1,6 @@

Outbox

-{PAGINATION}
- +
diff --git a/app/plugins/messages/views/reply.html b/app/plugins/messages/views/reply.html index aae3f2f..e3abe02 100644 --- a/app/plugins/messages/views/reply.html +++ b/app/plugins/messages/views/reply.html @@ -1,14 +1,18 @@ - - Reply -
-
- -
- +
+ + Reply +
+
+
+ + +
+
+ + +
+
-
- - -
- \ No newline at end of file + + \ No newline at end of file diff --git a/app/plugins/notifications/controllers/notifications.php b/app/plugins/notifications/controllers/notifications.php index f18406b..6dfc3e1 100644 --- a/app/plugins/notifications/controllers/notifications.php +++ b/app/plugins/notifications/controllers/notifications.php @@ -17,6 +17,8 @@ use TheTempusProject\Houdini\Classes\Issues; use TheTempusProject\Classes\Controller; use TheTempusProject\Models\Notification as NotificationsModel; use TheTempusProject\TheTempusProject as App; +use TheTempusProject\Hermes\Functions\Redirect; +use TheTempusProject\Bedrock\Functions\Session; class Notifications extends Controller { protected static $notifications; @@ -26,6 +28,10 @@ class Notifications extends Controller { self::$notifications = new NotificationsModel; self::$title = 'Notifications - {SITENAME}'; self::$pageDescription = 'Your recent notifications'; + if ( ! App::$isLoggedIn ) { + Session::flash( 'error', 'You do not have permission to access this page.' ); + return Redirect::home(); + } } public function index() { diff --git a/app/plugins/notifications/views/nav/recentNotificationsDropdown.html b/app/plugins/notifications/views/nav/recentNotificationsDropdown.html index 0715826..f3f0648 100644 --- a/app/plugins/notifications/views/nav/recentNotificationsDropdown.html +++ b/app/plugins/notifications/views/nav/recentNotificationsDropdown.html @@ -7,7 +7,7 @@ data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - {NBADGE} + {NBADGE}
To