0) { return self::FINISH_EXECUTION; } return self::CONTINUE_EXECUTION; } private static function do() { $limit = self::$limit; $dbRes = Main\Application::getConnection()->query(<<fetch())) { if ($usr = Forum\User::getById($res['ENTITY_ID'])) { $usr->calculateStatistic(); } $last = $res; } if ($last) { Main\Application::getConnection()->queryExecute(<<= {$last['ID']} AND ENTITY_TYPE='USER' SQL ); } return $limit; } public static function runForTopic(int $topicId) { Main\Application::getConnection()->queryExecute(<< 0 AND APPROVED='Y' GROUP BY AUTHOR_ID SQL ); self::bind(0); } public static function calcForTopics(array $topicIds) { $topicIds = implode(', ', array_map('intval', $topicIds)); if ($topicIds === '') { return; } Main\Application::getConnection()->queryExecute(<< 0 AND APPROVED='Y' GROUP BY AUTHOR_ID SQL ); self::bind(300); } }