Version 4.3.0
This commit is contained in:
1 parent
96997ddd8e
commit
fe1acf984a
1349 files changed
+116159
-67711
No files matched your search
@@ -232,9 +232,9 @@ class _messenger extends \IPS\Content\Controller
|
||||
{
|
||||
$where[] = array( 'core_message_topic_user_map.map_has_unread=1' );
|
||||
}
|
||||
|
||||
/* Add a folder filter */
|
||||
if ( isset( \IPS\Request::i()->folder ) or !is_null( $folder ) )
|
||||
|
||||
/* Add a folder filter, if we are not coming from the Messages menu */
|
||||
if ( !isset( \IPS\Request::i()->_fromMenu ) )
|
||||
{
|
||||
if ( !is_null( $folder ) AND isset( $folders[ $folder ] ) )
|
||||
{
|
||||
@@ -252,6 +252,9 @@ class _messenger extends \IPS\Content\Controller
|
||||
|
||||
if ( \IPS\Request::i()->q )
|
||||
{
|
||||
/* Limit result set to prevent time outs */
|
||||
$where[] = array( 'core_message_topic_user_map.map_last_topic_reply > ?', \IPS\DateTime::ts( time() )->sub( new \DateInterval( 'P1Y' ) )->getTimeStamp() );
|
||||
|
||||
$subQuery = \IPS\Db::i()->select( 'map_topic_id', array( 'core_message_topic_user_map', 'core_message_topic_user_map' ), $where );
|
||||
$where = array( array( 'core_message_posts.msg_topic_id IN (?)', $subQuery ) );
|
||||
$query = array();
|
||||
@@ -283,7 +286,7 @@ class _messenger extends \IPS\Content\Controller
|
||||
/* Get a count */
|
||||
try
|
||||
{
|
||||
$count = \IPS\Db::i()->select( 'COUNT(*)', 'core_message_posts', $where, NULL, NULL, 'msg_topic_id' )
|
||||
$count = \IPS\Db::i()->select( 'COUNT( DISTINCT(msg_topic_id) )', 'core_message_posts', array_merge( $where, array( array( 'core_message_topic_user_map.map_last_topic_reply > ?', \IPS\DateTime::ts( time() )->sub( new \DateInterval( 'P1Y' ) )->getTimeStamp() ) ) ) )
|
||||
->join(
|
||||
'core_message_topics',
|
||||
'core_message_posts.msg_topic_id=core_message_topics.mt_id'
|
||||
@@ -416,10 +419,17 @@ class _messenger extends \IPS\Content\Controller
|
||||
{
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('messaging')->conversation( $conversation, $folders );
|
||||
}
|
||||
elseif( \IPS\Request::i()->q )
|
||||
{
|
||||
\IPS\Output::i()->json( array(
|
||||
'data' => \IPS\Theme::i()->getTemplate('messaging')->messageListRows( $conversations, $pagination, FALSE, $folders ),
|
||||
'pagination' => $pagination
|
||||
) );
|
||||
}
|
||||
elseif( \IPS\Request::i()->overview )
|
||||
{
|
||||
\IPS\Output::i()->json( array(
|
||||
'data' => \IPS\Theme::i()->getTemplate('messaging')->messageListRows( $conversations, $pagination, TRUE, $folders ),
|
||||
'data' => \IPS\Theme::i()->getTemplate('messaging')->messageListRows( $conversations, $pagination, \IPS\Request::i()->_fromMenu ? FALSE : TRUE, $folders ),
|
||||
'pagination' => $pagination,
|
||||
'listBaseUrl' => $listUrl->setQueryString( array( 'sortBy' => \IPS\Request::i()->sortBy, 'filter' => \IPS\Request::i()->filter ) )->stripQueryString( 'id' )
|
||||
) );
|
||||
@@ -431,7 +441,7 @@ class _messenger extends \IPS\Content\Controller
|
||||
}
|
||||
else
|
||||
{
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('messaging')->template( $folder, $folders, $folderCounts, $conversations, $pagination, $conversation, $baseUrl, ( $conversation ? 'messenger_convo' : 'messenger' ), ( \IPS\Request::i()->sortBy ? htmlspecialchars( \IPS\Request::i()->sortBy, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ): 'mt_last_post_time' ), ( \IPS\Request::i()->filter ? htmlspecialchars( \IPS\Request::i()->filter, ENT_QUOTES | \IPS\HTMLENTITIES, 'UTF-8', FALSE ) : '' ) );
|
||||
\IPS\Output::i()->output = \IPS\Theme::i()->getTemplate('messaging')->template( $folder, $folders, $folderCounts, $conversations, $pagination, $conversation, $baseUrl, ( $conversation ? 'messenger_convo' : 'messenger' ), ( \IPS\Request::i()->sortBy ? htmlspecialchars( \IPS\Request::i()->sortBy, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ): 'mt_last_post_time' ), ( \IPS\Request::i()->filter ? htmlspecialchars( \IPS\Request::i()->filter, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ) : '' ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -459,8 +469,13 @@ class _messenger extends \IPS\Content\Controller
|
||||
\IPS\Session::i()->csrfCheck();
|
||||
|
||||
$folders = json_decode( \IPS\Member::loggedIn()->pconversation_filters, TRUE );
|
||||
array_walk( $folders, function( &$val )
|
||||
{
|
||||
$val = htmlspecialchars( $val, ENT_DISALLOWED | ENT_QUOTES, 'UTF-8' );
|
||||
} );
|
||||
|
||||
$form = new \IPS\Helpers\Form;
|
||||
$form->add( new \IPS\Helpers\Form\Select( 'move_message_to', NULL, FALSE, array( 'options' => array_merge( array( 'myconvo' => 'inbox' ), $folders ) ) ) );
|
||||
$form->add( new \IPS\Helpers\Form\Select( 'move_message_to', NULL, FALSE, array( 'options' => array_merge( array( 'myconvo' => \IPS\Member::loggedIn()->language()->addToStack('inbox') ), $folders ), 'parse' => 'normal' ) ) );
|
||||
|
||||
if ( $values = $form->values() )
|
||||
{
|
||||
@@ -742,6 +757,7 @@ class _messenger extends \IPS\Content\Controller
|
||||
$ids[] = $member->member_id;
|
||||
|
||||
$notification = new \IPS\Notification( \IPS\Application::load('core'), 'private_message_added', $conversation, array( $conversation, \IPS\Member::loggedIn() ) );
|
||||
$notification->recipients->attach( $member );
|
||||
$notification->send();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user