Version 5.0.0 beta 4
This commit is contained in:
1 parent
e86153356a
commit
2f24f9de48
276 files changed
+8614
-6044
No files matched your search
@@ -18,6 +18,7 @@ use Exception;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\forums\Topic\ArchivedPost;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
@@ -35,7 +36,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class DeleteEmptyTopics
|
||||
class DeleteEmptyTopics extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -69,7 +70,7 @@ class DeleteEmptyTopics
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( mixed &$data, int $offset ): int
|
||||
@@ -109,7 +110,7 @@ class DeleteEmptyTopics
|
||||
}
|
||||
|
||||
/* If the topic isn't archived, we can delete it */
|
||||
if ( $topic->isArchived() == FALSE )
|
||||
if ( !$topic->isArchived() )
|
||||
{
|
||||
$topic->delete();
|
||||
}
|
||||
|
||||
@@ -17,11 +17,13 @@ use DOMElement;
|
||||
use Exception;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Http\Url;
|
||||
use IPS\Log;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
use IPS\Settings;
|
||||
use IPS\Task\Queue\OutOfRangeException as QueueOutOfRangeException;
|
||||
use IPS\Text\DOMParser;
|
||||
use IPS\Xml\DOMDocument;
|
||||
use OutOfRangeException;
|
||||
@@ -39,12 +41,17 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class InvisionCommunityRebuildContent
|
||||
class InvisionCommunityRebuildContent extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* @brief Number of content items to rebuild per cycle
|
||||
*/
|
||||
public $rebuild = REBUILD_SLOW;
|
||||
public int $rebuild = REBUILD_SLOW;
|
||||
|
||||
/**
|
||||
* @var App|null
|
||||
*/
|
||||
protected ?App $app = null;
|
||||
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -88,8 +95,8 @@ class InvisionCommunityRebuildContent
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @throws \IPS\Task\Queue\OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws QueueOutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( mixed &$data, int $offset ): int
|
||||
{
|
||||
@@ -97,13 +104,13 @@ class InvisionCommunityRebuildContent
|
||||
$exploded = explode( '\\', $classname );
|
||||
if ( !class_exists( $classname ) or !Application::appIsEnabled( $exploded[1] ) )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Make sure there's even content to parse */
|
||||
if( !isset( $classname::$databaseColumnMap['content'] ) )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Intentionally no try/catch as it means app doesn't exist */
|
||||
@@ -114,12 +121,12 @@ class InvisionCommunityRebuildContent
|
||||
/* This extension is ONLY for InvisionCommunity conversions */
|
||||
if( $this->app->app_key != 'invisioncommunity' )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
}
|
||||
catch( OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
$softwareClass = $this->app->getSource( FALSE, FALSE );
|
||||
@@ -218,7 +225,7 @@ class InvisionCommunityRebuildContent
|
||||
|
||||
if( $last === NULL )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Return the number rebuilt so far, so that the rebuild progress bar text makes sense */
|
||||
@@ -251,7 +258,7 @@ class InvisionCommunityRebuildContent
|
||||
* @param DOMElement $element DOM element
|
||||
* @return void
|
||||
*/
|
||||
public function updateMention( DOMElement $element )
|
||||
public function updateMention( DOMElement $element ) : void
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -272,7 +279,7 @@ class InvisionCommunityRebuildContent
|
||||
/**
|
||||
* @brief Mapping of content types to converter lookups - Add more for other apps when we support them
|
||||
*/
|
||||
protected $embedLocations = array( 'forums' => array( 'content' => 'forums_topics', 'comment' => 'forums_posts' ) );
|
||||
protected array $embedLocations = array( 'forums' => array( 'content' => 'forums_topics', 'comment' => 'forums_posts' ) );
|
||||
|
||||
/**
|
||||
* Update local embeds for new names, IDs
|
||||
@@ -280,7 +287,7 @@ class InvisionCommunityRebuildContent
|
||||
* @param DOMElement $element DOM element
|
||||
* @return void
|
||||
*/
|
||||
public function updateEmbed( DOMElement $element )
|
||||
public function updateEmbed( DOMElement $element ) : void
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -328,7 +335,7 @@ class InvisionCommunityRebuildContent
|
||||
* @param DOMElement $element DOM element
|
||||
* @return void
|
||||
*/
|
||||
public function updateQuote( DOMElement $element )
|
||||
public function updateQuote( DOMElement $element ) : void
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -18,10 +18,12 @@ use InvalidArgumentException;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Data\Store;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\IPS;
|
||||
use IPS\Log;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
use IPS\Task\Queue\OutOfRangeException as QueueOutOfRangeException;
|
||||
use IPS\Text\LegacyParser;
|
||||
use OutOfRangeException;
|
||||
use function defined;
|
||||
@@ -38,12 +40,12 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildContent
|
||||
class RebuildContent extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* @brief Number of content items to rebuild per cycle
|
||||
*/
|
||||
public $rebuild = REBUILD_SLOW;
|
||||
public int $rebuild = REBUILD_SLOW;
|
||||
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -87,8 +89,8 @@ class RebuildContent
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @throws \IPS\Task\Queue\OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws QueueOutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( mixed &$data, int $offset ): int
|
||||
{
|
||||
@@ -96,13 +98,13 @@ class RebuildContent
|
||||
$exploded = explode( '\\', $classname );
|
||||
if ( !class_exists( $classname ) or !Application::appIsEnabled( $exploded[1] ) )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Make sure there's even content to parse */
|
||||
if( !isset( $classname::$databaseColumnMap['content'] ) )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Intentionally no try/catch as it means app doesn't exist */
|
||||
@@ -112,7 +114,7 @@ class RebuildContent
|
||||
}
|
||||
catch( OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
$softwareClass = $app->getSource( FALSE, FALSE );
|
||||
@@ -213,7 +215,7 @@ class RebuildContent
|
||||
}
|
||||
|
||||
/* Then pass off to legacy parser to bring up to 4.x */
|
||||
$item->$contentColumn = LegacyParser::parseStatic( $item->$contentColumn, $member, false, $classname::$application . '_' . IPS::mb_ucfirst( $module ), $id1, $id2, NULL, isset( $classname::$itemClass ) ? $classname::$itemClass : get_class( $item ) );
|
||||
$item->$contentColumn = LegacyParser::parseStatic( $item->$contentColumn, $member, false, $classname::$application . '_' . IPS::mb_ucfirst( $module ), $id1, $id2, NULL, $classname::$itemClass ?? get_class( $item ) );
|
||||
}
|
||||
catch( InvalidArgumentException $e )
|
||||
{
|
||||
@@ -242,7 +244,7 @@ class RebuildContent
|
||||
|
||||
if( $last === NULL )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Return the number rebuilt so far, so that the rebuild progress bar text makes sense */
|
||||
|
||||
@@ -15,6 +15,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
|
||||
use Exception;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
@@ -32,7 +33,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildConversationFirstIds
|
||||
class RebuildConversationFirstIds extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
use Exception;
|
||||
use IPS\Application;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\forums\Topic\ArchivedPost;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
@@ -34,7 +35,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildFirstPostIds
|
||||
class RebuildFirstPostIds extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -87,7 +88,7 @@ class RebuildFirstPostIds
|
||||
|
||||
foreach( new ActiveRecordIterator( Db::i()->select( '*', 'forums_topics', array( "tid>?", $offset ), "tid ASC", array( 0, REBUILD_SLOW ) ), 'IPS\forums\Topic' ) AS $topic )
|
||||
{
|
||||
if ( $topic->isArchived() == FALSE )
|
||||
if ( !$topic->isArchived() )
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ use InvalidArgumentException;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
@@ -34,7 +35,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildGalleryImages
|
||||
class RebuildGalleryImages extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -68,7 +69,7 @@ class RebuildGalleryImages
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( mixed &$data, int $offset ): int
|
||||
@@ -111,12 +112,7 @@ class RebuildGalleryImages
|
||||
$image->buildThumbnails();
|
||||
$image->save();
|
||||
}
|
||||
catch( DomainException $e )
|
||||
{
|
||||
$image->delete();
|
||||
}
|
||||
/* File fails the image type test */
|
||||
catch( InvalidArgumentException $e )
|
||||
catch( DomainException | InvalidArgumentException $e )
|
||||
{
|
||||
$image->delete();
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Member;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
use function defined;
|
||||
@@ -29,12 +30,12 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildNonContent
|
||||
class RebuildNonContent extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* @brief Number of content items to rebuild per cycle
|
||||
*/
|
||||
public $rebuild = REBUILD_SLOW;
|
||||
public int $rebuild = REBUILD_SLOW;
|
||||
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -70,12 +71,13 @@ class RebuildNonContent
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( array &$data, int $offset ): int
|
||||
{
|
||||
foreach( Application::allExtensions( 'core', 'EditorLocations', FALSE, NULL, NULL, TRUE ) as $_key => $extension )
|
||||
$did = 0;
|
||||
foreach( Application::allExtensions( 'core', 'EditorLocations', FALSE ) as $_key => $extension )
|
||||
{
|
||||
if( $_key != $data['extension'] )
|
||||
{
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
use Exception;
|
||||
use IPS\convert\App;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\File;
|
||||
use IPS\Member;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
@@ -33,7 +34,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildProfilePhotos
|
||||
class RebuildProfilePhotos extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -67,7 +68,7 @@ class RebuildProfilePhotos
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( mixed &$data, int $offset ): int
|
||||
|
||||
@@ -17,9 +17,11 @@ use Exception;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\IPS;
|
||||
use IPS\Log;
|
||||
use IPS\Member;
|
||||
use IPS\Task\Queue\OutOfRangeException as QueueOutOfRangeException;
|
||||
use OutOfRangeException;
|
||||
use function defined;
|
||||
use function in_array;
|
||||
@@ -34,7 +36,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RebuildTagCache
|
||||
class RebuildTagCache extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
@@ -75,8 +77,8 @@ class RebuildTagCache
|
||||
*
|
||||
* @param mixed $data Data as it was passed to \IPS\Task::queue()
|
||||
* @param int $offset Offset
|
||||
* @return int|null New offset or NULL if complete
|
||||
* @throws \IPS\Task\Queue\OutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
* @return int New offset or NULL if complete
|
||||
* @throws QueueOutOfRangeException Indicates offset doesn't exist and thus task is complete
|
||||
*/
|
||||
public function run( mixed &$data, int $offset ): int
|
||||
{
|
||||
@@ -84,7 +86,7 @@ class RebuildTagCache
|
||||
$exploded = explode( '\\', $classname );
|
||||
if ( !class_exists( $classname ) or !Application::appIsEnabled( $exploded[1] ) OR !in_array( 'IPS\Content\Taggable', class_implements( $classname ) ) )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Intentionally no try/catch as it means app doesn't exist */
|
||||
@@ -94,7 +96,7 @@ class RebuildTagCache
|
||||
}
|
||||
catch( OutOfRangeException $e )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
Log::debug( "Running " . $classname . ", with an offset of " . $offset, 'rebuildTagCache' );
|
||||
@@ -178,7 +180,7 @@ class RebuildTagCache
|
||||
|
||||
if( $last === NULL )
|
||||
{
|
||||
throw new \IPS\Task\Queue\OutOfRangeException;
|
||||
throw new QueueOutOfRangeException;
|
||||
}
|
||||
|
||||
/* Return the number rebuilt so far, so that the rebuild progress bar text makes sense */
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Member;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
use function defined;
|
||||
@@ -30,7 +31,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RecountAnswerRatings
|
||||
class RecountAnswerRatings extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
|
||||
@@ -14,6 +14,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
/* To prevent PHP errors (extending class does not exist) revealing path */
|
||||
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Member;
|
||||
use IPS\Patterns\ActiveRecordIterator;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
@@ -29,7 +30,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RecountClubMembers
|
||||
class RecountClubMembers extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
|
||||
@@ -16,6 +16,7 @@ namespace IPS\convert\extensions\core\Queue;
|
||||
use IPS\Application;
|
||||
use IPS\convert\App;
|
||||
use IPS\Db;
|
||||
use IPS\Extensions\QueueAbstract;
|
||||
use IPS\Member;
|
||||
use IPS\Task\Queue\OutOfRangeException;
|
||||
use function defined;
|
||||
@@ -30,7 +31,7 @@ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) )
|
||||
/**
|
||||
* Background Task
|
||||
*/
|
||||
class RecountQuestionRatings
|
||||
class RecountQuestionRatings extends QueueAbstract
|
||||
{
|
||||
/**
|
||||
* Parse data before queuing
|
||||
|
||||
Reference in new issue
Block a user