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

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

View File

@ -32,7 +32,6 @@
<link rel="icon" href="{ROOT_URL}images/favicon.ico">
<!-- Required CSS -->
<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">
<!-- RSS -->
<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 -->
<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="">
<button type="button" class="navbar-toggler" 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>
@ -55,7 +54,7 @@
<div class="collapse navbar-collapse navbar-ex1-collapse">
{topNavLeft}
<div class="navbar-right">
<ul class="nav navbar-nav">
<ul class="navbar-nav">
{topNavRight}
</ul>
</div>
@ -75,9 +74,7 @@
{/ISSUES}
<div class="row">
<div class="container">
<div class="page-header">
<h1 class="blog-title">{SITENAME} Blog</h1>
</div>
<h1 class="blog-title">{SITENAME} Blog</h1>
<div class="row">
<div class="col-sm-8 blog-main">
{BLOG_BREADCRUMBS}

View File

@ -14,9 +14,9 @@
<tr>
<td>{title}</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/edit/{ID}" class="btn btn-sm btn-warning" role="button"><i class="glyphicon glyphicon-edit"></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><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="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="fa fa-fw fa-trash"></i></a></td>
</tr>
{/LOOP}
{ALT}

View File

@ -24,8 +24,8 @@
<td>{commentCount}</td>
<td>{DTC}{created}{/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/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/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="fa fa-fw fa-trash"></i></a></td>
<td>
<input type="checkbox" value="{ID}" name="B_[]">
</td>

View File

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

View File

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

View File

@ -1,8 +1,8 @@
<div class="panel panel-info">
<div class="panel-heading">
<h3 class="panel-title">Archives</h3>
<div class="card panel-info">
<div class="card-header">
<h3 class="card-title">Archives</h3>
</div>
<div class="panel-body">
<div class="card-body">
<ol class="list-unstyled">
{LOOP}
<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">{DTC}{time}{/DTC}</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/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/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="fa fa-fw fa-trash"></i></a></td>
<td>
<input type="checkbox" value="{ID}" name="BR_[]">
</td>

View File

@ -1,11 +1,11 @@
<div class="container">
<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="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Bug Report</h3>
<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="card panel-primary">
<div class="card-header">
<h3 class="card-title">Bug Report</h3>
</div>
<div class="panel-body">
<div class="card-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
@ -49,12 +49,12 @@
</div>
</div>
</div>
<div class="panel-footer">
<div class="card-footer">
{ADMIN}
<form action="{ROOT_URL}admin/bugreport/delete" method="post">
<INPUT type="hidden" name="BR_" value="{ID}"/>
<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>
{/ADMIN}
</div>

View File

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

View File

@ -13,8 +13,8 @@
<tr>
<td>{authorName}</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/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/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="fa fa-fw fa-trash"></i></a></td>
</tr>
{/LOOP}
{ALT}

View File

@ -22,8 +22,8 @@
<td><a href="{ROOT_URL}admin/blog/view/{contentID}">{contentTitle}</a></td>
<td>{content}</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/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/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="fa fa-fw fa-trash"></i></a></td>
<td>
<input type="checkbox" value="{ID}" name="C_[]">
</td>

View File

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

View File

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

View File

@ -20,8 +20,8 @@
<td>{ID}</td>
<td>{DTC}{time}{/DTC}</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/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/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="fa fa-fw fa-trash"></i></a></td>
<td>
<input type="checkbox" value="{ID}" name="F_[]">
</td>

View File

@ -1,11 +1,11 @@
<div class="container">
<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="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">Feedback</h3>
<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="card panel-primary">
<div class="card-header">
<h3 class="card-title">Feedback</h3>
</div>
<div class="panel-body">
<div class="card-body">
<div class="row">
<div class=" col-md-12 col-lg-12 ">
<table class="table table-user-primary">
@ -41,12 +41,12 @@
</div>
</div>
</div>
<div class="panel-footer">
<div class="card-footer">
{ADMIN}
<form action="{ROOT_URL}admin/feedback/delete" method="post">
<INPUT type="hidden" name="F_" value="{ID}"/>
<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>
{/ADMIN}
</div>

View File

@ -61,7 +61,7 @@ class Message extends DatabaseModel {
Debug::info( 'Invalid user ID' );
return false;
}
$messageData = self::$db->getPaginated( $this->tableName, [ 'ID', '=', $parent ] );
$messageData = self::$db->get( $this->tableName, [ 'ID', '=', $parent ] );
if ( $messageData->count() == 0 ) {
Debug::info( 'Message not found.' );
return false;
@ -71,7 +71,7 @@ class Message extends DatabaseModel {
if ( $type !== null ) {
$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->first()->recieverDeleted == 0 ) {
$message = $messageData->first();
@ -93,7 +93,7 @@ class Message extends DatabaseModel {
Debug::info( 'Invalid ID' );
return false;
}
$messageData = self::$db->getPaginated( $this->tableName, [ 'ID', '=', $id ] );
$messageData = self::$db->get( $this->tableName, [ 'ID', '=', $id ] );
if ( $messageData->count() == 0 ) {
Debug::info( 'Message not found.' );
return false;
@ -122,7 +122,7 @@ class Message extends DatabaseModel {
} else {
$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 );
if ( $markRead == true ) {
@ -138,7 +138,7 @@ class Message extends DatabaseModel {
$limit = 10;
}
$limit = [ 0, $limit ];
$messageData = self::$db->getPaginated(
$messageData = self::$db->get(
$this->tableName,
[
'parent', '=', 0,
@ -154,7 +154,7 @@ class Message extends DatabaseModel {
$limit
);
if ( $messageData->count() == 0 ) {
Debug::info( 'No messages found' );
Debug::info( 'getInbox: No messages found' );
return false;
}
$filters = [
@ -175,7 +175,7 @@ class Message extends DatabaseModel {
$limit = 10;
}
$limit = [ 0, $limit ];
$messageData = self::$db->getPaginated(
$messageData = self::$db->get(
$this->tableName,
[
'parent', '=', 0,
@ -187,7 +187,7 @@ class Message extends DatabaseModel {
$limit
);
if ( $messageData->count() == 0 ) {
Debug::info( 'No messages found' );
Debug::info( 'getOutbox: No messages found' );
return false;
}
$filters = [

View File

@ -32,23 +32,23 @@ class Messages extends Plugin {
],
];
private static $loaded = false;
public function __construct() {
// This was taken directly from the main app
// load the message template data as part of the template
$messages = new Message;
Components::set( 'MESSAGE_COUNT', $messages->unreadCount() );
if ( $messages->unreadCount() > 0 ) {
$messageBadge = Views::simpleView( 'messages.badge' );
} else {
$messageBadge = '';
}
Components::set( 'MBADGE', $messageBadge );
if ( App::$isLoggedIn ) {
Components::set( 'RECENT_MESSAGES', Views::simpleView( 'messages.nav.recentMessagesDropdown', $messages->getInbox( 5 ) ) );
} else {
Components::set( 'RECENT_MESSAGES', '' );
}
if ( ! self::$loaded ) {
$messages = new Message;
Components::set( 'MESSAGE_COUNT', $messages->unreadCount() );
if ( $messages->unreadCount() > 0 ) {
$messageBadge = Views::simpleView( 'messages.badge' );
} else {
$messageBadge = '';
}
Components::set( 'MBADGE', $messageBadge );
if ( App::$isLoggedIn ) {
Components::set( 'RECENT_MESSAGES', Views::simpleView( 'messages.nav.recentMessagesDropdown', $messages->getInbox( 5 ) ) );
} else {
Components::set( '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>';
self::$loaded = true;

View File

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

View File

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

View File

@ -1,6 +1,15 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-envelope"></i>{MBADGE}</a>
<ul class="dropdown-menu message-dropdown">
<li class="dropdown nav-link">
<a
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">
<div class="media">
<div class="media-body text-center" style="padding-bottom: 10px; padding-top: 10px">
@ -12,7 +21,7 @@
<li class="message-preview">
<a href="{ROOT_URL}messages/view/{ID}">
<div class="media">
<span class="pull-left">
<span class="float-left">
<img class="media-object avatar-round-40" src="{ROOT_URL}{fromAvatar}" alt="">
</span>
<div class="media-body">
@ -38,4 +47,4 @@
<a href="{ROOT_URL}messages">Read All New Messages</a>
</li>
</ul>
</li>
</li>

View File

@ -73,12 +73,12 @@ class Notification extends DatabaseModel {
'expiresAt', '<', time(),
];
if ( empty( $limit ) ) {
$notifications = self::$db->getPaginated( $this->tableName, $whereClause );
$notifications = self::$db->get( $this->tableName, $whereClause );
} 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() ) {
Debug::info( 'No Notifications found.' );
Debug::info( 'Notification:getByUser No Notifications found' );
return false;
}
return $this->filter( $notifications->results() );

View File

@ -33,7 +33,7 @@ class Notifications extends Plugin {
];
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',
],
];
@ -49,14 +49,14 @@ class Notifications extends Plugin {
$messageBadge = '';
}
Components::set( 'NBADGE', $messageBadge );
if ( App::$isLoggedIn ) {
Components::set( 'recentNotifications', Views::simpleView( 'notifications.nav.recentNotificationsDropdown', $notifications->getByUser( 10 ) ) );
} else {
Components::set( 'recentNotifications', '' );
}
if ( ! self::$loaded ) {
if ( App::$isLoggedIn ) {
Components::set( 'recentNotifications', Views::simpleView( 'notifications.nav.recentNotificationsDropdown', $notifications->getByUser( 10 ) ) );
} else {
Components::set( '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;
}
}

View File

@ -13,8 +13,8 @@
{LOOP}
<tr {unseenBadge}>
<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/delete/{ID}" class="btn btn-sm btn-danger" role="button"><i class="glyphicon glyphicon-trash"></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="fa fa-fw fa-trash"></i></a></td>
</tr>
{/LOOP}
{ALT}

View File

@ -1,6 +1,15 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-bell"></i>{NBADGE}</a>
<ul class="dropdown-menu message-dropdown">
<li class="dropdown nav-link">
<a
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}
<li class="message-preview">
<a href="{ROOT_URL}notifications">

View File

@ -17,7 +17,7 @@
<tr>
<td align="center">{ID}</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>
<input type="checkbox" value="{ID}" name="S_[]">
</td>