Exemplo n.º 1
0
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']));
Exemplo n.º 2
0
 */
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;