Example #1
0
 /**
  * Calculate for activity object
  * 
  * This method does not lookup trackdata of the activity!
  * If you want an exact intensity value, use `calculateByTrackdata(...)`
  * 
  * @param \Runalyze\Model\Activity\Entity $activity
  * @return int
  */
 public function calculateByActivity(Activity\Entity $activity)
 {
     if ($activity->hrAvg() > 0) {
         return $this->calculateByHeartrateAverage($activity->hrAvg(), $activity->duration());
     }
     return $this->calculateByPace($activity->distance(), $activity->duration());
 }
Example #2
0
 /**
  * @return string
  */
 public function hrIcon()
 {
     if ($this->Activity->hrAvg() > 0) {
         $Icon = new Icon(Icon::HEART);
         $Icon->setTooltip(__('Heartrate data available'));
         return $Icon->code();
     }
     return '';
 }
Example #3
0
 /**
  * Calculate trimp
  * @return int
  */
 public function calculateTrimp()
 {
     if ($this->knowsTrackdata() && $this->Trackdata->has(Model\Trackdata\Entity::HEARTRATE)) {
         $Collector = new Trimp\DataCollector($this->Trackdata->heartRate(), $this->Trackdata->time());
         $data = $Collector->result();
     } elseif ($this->Activity->hrAvg() > 0) {
         $data = array($this->Activity->hrAvg() => $this->Activity->duration());
     } else {
         $Factory = Context::Factory();
         if ($this->Activity->typeid() > 0) {
             $data = array($Factory->type($this->Activity->typeid())->hrAvg() => $this->Activity->duration());
         } else {
             $data = array($Factory->sport($this->Activity->sportid())->avgHR() => $this->Activity->duration());
         }
     }
     $Athlete = Context::Athlete();
     $Calculator = new Trimp\Calculator($Athlete, $data);
     return round($Calculator->value());
 }
    /**
     * Display table-row for a competition
     * @param array $data
     */
    private function displayWKTr(array $data)
    {
        $Activity = new Activity\Entity($data);
        $Linker = new Linker($Activity);
        $Dataview = new Dataview($Activity);
        echo '<tr class="r">
				<td>' . $this->getIconForCompetition($data['id']) . '</td>
				<td class="c small">' . $Linker->weekLink() . '</a></td>
				<td class="l"><strong>' . $Linker->linkWithComment() . '</strong></td>
				<td>' . $Dataview->distance(1) . '</td>
				<td>' . $Dataview->duration()->string(Duration::FORMAT_COMPETITION) . '</td>
				<td class="small">' . $Dataview->pace()->value() . '</td>
				<td class="small">' . Helper::Unknown($Activity->hrAvg()) . ' / ' . Helper::Unknown($Activity->hrMax()) . ' bpm</td>
				<td class="small">' . ($Activity->weather()->isEmpty() ? '' : $Activity->weather()->fullString($Activity->isNight())) . '</td>
			</tr>';
    }
Example #5
0
 /**
  * Heart rate in bpm
  * @return int
  */
 public function bpm()
 {
     return $this->Activity->hrAvg();
 }