aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2016-10-09 21:37:30 +0200
committerTristan Darricau <github@nicofuma.fr>2016-11-02 19:38:33 +0100
commitd90afa67d866e1be44d3a69c97497c8412695f8d (patch)
tree56c892af6d0e9c222e375b56d8999d61da8cf84a
parent7bb4e88acdb0f45f8bfbad74b558db65524cbe1a (diff)
downloadforums-d90afa67d866e1be44d3a69c97497c8412695f8d.tar
forums-d90afa67d866e1be44d3a69c97497c8412695f8d.tar.gz
forums-d90afa67d866e1be44d3a69c97497c8412695f8d.tar.bz2
forums-d90afa67d866e1be44d3a69c97497c8412695f8d.tar.xz
forums-d90afa67d866e1be44d3a69c97497c8412695f8d.zip
[ticket/14814] Fix reparser cron
PHPBB3-14814
-rw-r--r--phpBB/phpbb/console/command/reparser/reparse.php2
-rw-r--r--phpBB/phpbb/cron/task/text_reparser/reparser.php8
-rw-r--r--phpBB/phpbb/db/migration/data/v320/text_reparser.php20
3 files changed, 22 insertions, 8 deletions
diff --git a/phpBB/phpbb/console/command/reparser/reparse.php b/phpBB/phpbb/console/command/reparser/reparse.php
index b10bd56a58..cebeee0919 100644
--- a/phpBB/phpbb/console/command/reparser/reparse.php
+++ b/phpBB/phpbb/console/command/reparser/reparse.php
@@ -208,7 +208,7 @@ class reparse extends \phpbb\console\command\command
$size = $this->get_option('range-size');
// range-max has no default value, it must be computed for each reparser
- if ($max == null)
+ if ($max === null)
{
$max = $reparser->get_max_id();
}
diff --git a/phpBB/phpbb/cron/task/text_reparser/reparser.php b/phpBB/phpbb/cron/task/text_reparser/reparser.php
index aa644de827..7099128efd 100644
--- a/phpBB/phpbb/cron/task/text_reparser/reparser.php
+++ b/phpBB/phpbb/cron/task/text_reparser/reparser.php
@@ -99,7 +99,7 @@ class reparser extends \phpbb\cron\task\base
$this->reparser_manager->get_resume_data($this->reparser_name);
}
- if (empty($this->resume_data['range-max']) || $this->resume_data['range-max'] >= $this->resume_data['range-min'])
+ if (!isset($this->resume_data['range-max']) || $this->resume_data['range-max'] >= $this->resume_data['range-min'])
{
return true;
}
@@ -147,9 +147,9 @@ class reparser extends \phpbb\cron\task\base
*/
$reparser = $this->reparsers[$this->reparser_name];
- $min = !empty($this->resume_data['range-min']) ? $this->resume_data['range-min'] : self::MIN;
- $current = !empty($this->resume_data['range-max']) ? $this->resume_data['range-max'] : $reparser->get_max_id();
- $size = !empty($this->resume_data['range-size']) ? $this->resume_data['range-size'] : self::SIZE;
+ $min = isset($this->resume_data['range-min']) ? $this->resume_data['range-min'] : self::MIN;
+ $current = isset($this->resume_data['range-max']) ? $this->resume_data['range-max'] : $reparser->get_max_id();
+ $size = isset($this->resume_data['range-size']) ? $this->resume_data['range-size'] : self::SIZE;
if ($current >= $min)
{
diff --git a/phpBB/phpbb/db/migration/data/v320/text_reparser.php b/phpBB/phpbb/db/migration/data/v320/text_reparser.php
index ea614feb40..03c5d39fe4 100644
--- a/phpBB/phpbb/db/migration/data/v320/text_reparser.php
+++ b/phpBB/phpbb/db/migration/data/v320/text_reparser.php
@@ -13,6 +13,9 @@
namespace phpbb\db\migration\data\v320;
+use phpbb\textreparser\manager;
+use phpbb\textreparser\reparser_interface;
+
class text_reparser extends \phpbb\db\migration\container_aware_migration
{
static public function depends_on()
@@ -48,7 +51,19 @@ class text_reparser extends \phpbb\db\migration\container_aware_migration
public function reparse($resume_data)
{
- // Somtimes a cron job is too much
+ /** @var manager $reparser_manager */
+ $reparser_manager = $this->container->get('text_reparser.manager');
+
+ /** @var reparser_interface[] $reparsers */
+ $reparsers = $this->container->get('text_reparser_collection');
+
+ // Initialize all reparsers
+ foreach ($reparsers as $name => $reparser)
+ {
+ $reparser_manager->update_resume_data($name, 1, $reparser->get_max_id(), 100);
+ }
+
+ // Sometimes a cron job is too much
$limit = 100;
$fast_reparsers = array(
'text_reparser.contact_admin_info',
@@ -65,7 +80,7 @@ class text_reparser extends \phpbb\db\migration\container_aware_migration
);
}
- $fast_reparsers_size = sizeof($fast_reparsers);
+ $fast_reparsers_size = count($fast_reparsers);
$processed_records = 0;
while ($processed_records < $limit && $resume_data['reparser'] < $fast_reparsers_size)
{
@@ -87,7 +102,6 @@ class text_reparser extends \phpbb\db\migration\container_aware_migration
if ($start === 1)
{
// Prevent CLI command from running these reparsers again
- $reparser_manager = $this->container->get('text_reparser.manager');
$reparser_manager->update_resume_data($fast_reparsers[$resume_data['reparser']], 1, 0, $limit);
$resume_data['reparser']++;