diff options
Diffstat (limited to 'phpBB/phpbb')
| -rw-r--r-- | phpBB/phpbb/console/command/reparser/reparse.php | 2 | ||||
| -rw-r--r-- | phpBB/phpbb/cron/task/text_reparser/reparser.php | 8 | ||||
| -rw-r--r-- | phpBB/phpbb/db/migration/data/v320/text_reparser.php | 20 | 
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']++; | 
