Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

+21 -15
View File
@@ -2,10 +2,10 @@
/**
* @brief supportAutoresolve Task
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @subpackage nexus
* @package IPS Community Suite
* @subpackage Nexus
* @since 25 Apr 2014
* @version SVN_VERSION_NUMBER
*/
@@ -37,7 +37,7 @@ class _supportAutoresolve extends \IPS\Task
*/
public function execute()
{
if ( \IPS\Settings::i()->nexus_autoresolve_days )
if ( \IPS\Settings::i()->nexus_autoresolve_days AND \IPS\Settings::i()->nexus_autoresolve_status != '' )
{
/* Build where */
$where = array();
@@ -52,22 +52,28 @@ class _supportAutoresolve extends \IPS\Task
$resolvedStatus = \IPS\nexus\Support\Status::load( \IPS\Settings::i()->nexus_autoresolve_status );
foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'nexus_support_requests', $resolveWhere ), 'IPS\nexus\Support\Request' ) as $request )
{
$oldStatus = $request->status;
$request->status = $resolvedStatus;
$request->save();
$request->log( 'autoresolve', $oldStatus, $resolvedStatus, FALSE );
}
/* Warnings */
$warningWhere = array_merge( $where, array(
array( 'r_last_reply<?', \IPS\DateTime::create()->sub( new \DateInterval( 'PT' . \IPS\Settings::i()->nexus_autoresolve_notify . 'H' ) )->getTimestamp() ),
array( 'r_ar_notify=0' )
) );
foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'nexus_support_requests', $warningWhere ), 'IPS\nexus\Support\Request' ) as $request )
{
$email = \IPS\Email::buildFromTemplate( 'nexus', 'autoresolveWarning', array( $request, \IPS\DateTime::ts( $request->last_reply )->add( new \DateInterval( 'P' . \IPS\Settings::i()->nexus_autoresolve_days . 'D' ) )->relative() ) );
$email->send( $request->email ?: $request->author() );
$request->ar_notify = TRUE;
$request->save();
if ( \IPS\Settings::i()->nexus_autoresolve_notify )
{
$warningWhere = array_merge( $where, array(
array( 'r_last_reply<?', \IPS\DateTime::create()->sub( new \DateInterval( 'P' . \IPS\Settings::i()->nexus_autoresolve_days . 'D' ) )->add( new \DateInterval( 'PT' . \IPS\Settings::i()->nexus_autoresolve_notify . 'H' ) )->getTimestamp() ),
array( 'r_ar_notify=0' )
) );
foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'nexus_support_requests', $warningWhere ), 'IPS\nexus\Support\Request' ) as $request )
{
$email = \IPS\Email::buildFromTemplate( 'nexus', 'autoresolveWarning', array( $request, \IPS\DateTime::ts( $request->last_reply )->add( new \DateInterval( 'P' . \IPS\Settings::i()->nexus_autoresolve_days . 'D' ) )->relative() ), \IPS\Email::TYPE_TRANSACTIONAL );
$email->send( $request->email ?: $request->author() );
$request->ar_notify = TRUE;
$request->save();
$request->log( 'autoresolve_warning', NULL, NULL, FALSE );
}
}
}
else