/** * Construct context * @var int $activityID * @var int $accountID */ public function __construct($activityID, $accountID) { $Factory = new Factory((int) $accountID); $this->Activity = $Factory->activity((int) $activityID); $this->Trackdata = $Factory->trackdata((int) $activityID); $this->Swimdata = $Factory->swimdata((int) $activityID); $this->Route = $this->Activity->get(Activity\Entity::ROUTEID) ? $Factory->route($this->Activity->get(Activity\Entity::ROUTEID)) : null; $this->HRV = $Factory->hrv((int) $activityID); $this->Sport = $Factory->sport($this->Activity->sportid()); $this->Swimdata->fillDistanceArray($this->Trackdata); $this->Swimdata->fillSwolfArray($this->Trackdata); $this->Dataview = new Dataview($this->Activity); }
/** * @return string */ public function mapIcon() { if ($this->Activity->get(Activity\Entity::ROUTEID) > 0) { $Icon = new Icon(Icon::MAP_ARROW); $Icon->setTooltip(__('Route data available')); return $Icon->code(); } return ''; }
/** * @param enum $trackdataKey * @param enum $activityKey */ protected function removeFromActivityIfValueIsEqualToAverage($trackdataKey, $activityKey) { // TODO: this does not use a filter for low values as ParserAbstractSingle does $dataArray = $this->Trackdata->get($trackdataKey); $dataAverage = round(array_sum($dataArray) / count($dataArray)); if ($this->Activity->get($activityKey) == $dataAverage) { $this->Activity->set($activityKey, ''); } }
/** * Delete route */ protected function deleteRoute() { if ($this->Object->get(Model\Activity\Entity::ROUTEID) > 0) { // TODO: check if route was uniquely used // For the moment, routes are created uniquely, so that's right. $Deleter = new Model\Route\Deleter($this->PDO, new Model\Route\Entity(array('id' => $this->Object->get(Model\Activity\Entity::ROUTEID)))); $Deleter->setAccountID($this->AccountID); $Deleter->delete(); } }
/** * Construct updater * @param \PDO $connection * @param int $accountID * @param \Runalyze\Model\Activity\Entity $activity * @param \Runalyze\Model\Factory $factory */ public function __construct(\PDO $connection, $accountID, Entity $activity, Model\Factory $factory) { $this->PDO = $connection; $this->AccountID = $accountID; $this->Activity = $activity; $this->OldActivity = clone $activity; $this->Trackdata = $factory->trackdata($activity->id()); $this->OldTrackdata = clone $this->Trackdata; $this->Route = $factory->route($activity->get(Entity::ROUTEID)); $this->OldRoute = clone $this->Route; // TODO: What's with STRIDE_LENGTH and VERTICAL_RATIO? // - so far, there are updateStrideLength() and updateVerticalRatio() in Activity\Updater $this->ActivityKeysForTrackdataKeys = [Model\Trackdata\Entity::HEARTRATE => Model\Activity\Entity::HR_AVG, Model\Trackdata\Entity::CADENCE => Model\Activity\Entity::CADENCE, Model\Trackdata\Entity::VERTICAL_OSCILLATION => Model\Activity\Entity::VERTICAL_OSCILLATION, Model\Trackdata\Entity::GROUNDCONTACT => Model\Activity\Entity::GROUNDCONTACT, Model\Trackdata\Entity::POWER => Model\Activity\Entity::POWER, Model\Trackdata\Entity::TEMPERATURE => Model\Activity\Entity::TEMPERATURE]; }