echo 'Table ' . PREFIX . 'account has column \'cleanup\'.' . EOL; echo ' - already cleaned: ' . $count . EOL; echo EOL; echo 'Start to clean accounts '; $_POST = array(Runalyze\Plugin\Tool\DatabaseCleanup\JobGeneral::ENDURANCE => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobGeneral::MAX_TRIMP => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobGeneral::VDOT => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobGeneral::VDOT_CORRECTOR => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobLoop::ELEVATION => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobLoop::JD_POINTS => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobLoop::TRIMP => true, Runalyze\Plugin\Tool\DatabaseCleanup\JobLoop::VDOT => true); /** * Run single cleanups */ $Accounts = $PDO->query(' SELECT id FROM `' . PREFIX . 'account` WHERE `cleanup`=0'); $AccountUpdate = $PDO->prepare('UPDATE `' . PREFIX . 'account` SET `cleanup`=1 WHERE `id`=?'); while ($Account = $Accounts->fetch()) { GlobalCleanupAccount::$ID = $Account['id']; DB::getInstance()->setAccountID($Account['id']); Runalyze\Context::reset(); Runalyze\Configuration::loadAll($Account['id']); ShoeFactory::reInitAllShoes(); $JobLoop = new Runalyze\Plugin\Tool\DatabaseCleanup\JobLoop(); $JobLoop->run(); $JobGeneral = new Runalyze\Plugin\Tool\DatabaseCleanup\JobGeneral(); $JobGeneral->run(); if (OUTPUT) { echo $Account['id'] . ':' . EOL; echo implode(EOL, $JobLoop->messages()); echo implode(EOL, $JobGeneral->messages()); echo EOL . EOL; } $AccountUpdate->execute(array($Account['id']));
*/ echo 'Start to fix routes '; /** * Run single cleanups */ $Routes = $PDO->query(' SELECT `id`, `accountid`, `geohashes` FROM `' . PREFIX . 'route` WHERE `startpoint` = "7zzzzzzzzz" OR (`startpoint` IS NOT NULL AND `min` IS NULL)'); $Updater = new Runalyze\Model\Route\Updater($PDO); while ($Route = $Routes->fetch()) { $Updater->setAccountID($Route['accountid']); GlobalCleanupAccount::$ID = $Route['accountid']; $PDO->setAccountID($Route['accountid']); $RouteEntity = new Runalyze\Model\Route\Entity($Route); $RouteEntity->forceToSetMinMaxFromGeohashes(); $Updater->update($RouteEntity, array('startpoint', 'endpoint', 'min', 'max')); echo '.' . (CLI ? '' : ' '); } /** * Finish */ echo 'done;' . EOL; echo EOL; echo 'Time: ' . (microtime(true) - $starttime) . 's' . EOL; echo 'Memory peak: ' . memory_get_peak_usage() . 'B' . EOL; echo EOL; echo 'You are done. All routes are cleaned.' . EOL;
*/ $Tracks = $PDO->query(' SELECT a.`id`, a.`sportid`, t.`accountid`, t.`time`, t.`distance`, t.`cadence` FROM `' . PREFIX . 'trackdata` as t INNER JOIN `' . PREFIX . 'training` as a ON a.`id` = t.`activityid` WHERE (t.`time` != "" AND t.`distance` != "" AND t.`cadence` != "")'); $Updater = new Runalyze\Model\Activity\Updater($PDO); while ($Track = $Tracks->fetch()) { $Updater->setAccountID($Track['accountid']); GlobalCleanupAccount::$ID = $Track['accountid']; $PDO->setAccountID($Track['accountid']); $Activity = new Runalyze\Model\Activity\Object(array('id' => $Track['id'], Runalyze\Model\Activity\Object::SPORTID => $Track['sportid'])); $Updater->setTrackdata(new Runalyze\Model\Trackdata\Object($Track)); $Updater->update($Activity, array('stride_length')); echo '.' . (CLI ? '' : ' '); } /** * Finish */ echo 'done;' . EOL; echo EOL; echo 'Time: ' . (microtime(true) - $starttime) . 's' . EOL; echo 'Memory peak: ' . memory_get_peak_usage() . 'B' . EOL; echo EOL; echo 'You are done. All stride lenghts are calculated.' . EOL;