{ $start = $counter = $end = 0; $progress = $this->progress; $total = count($progress); for ($i = 0; $i < $total; $i++) { if ($progress[$i]->state === RestoreProgress::STATE_ON_WORK) { $start = $progress[$i]->date; if ($i == $total - 1) { $counter += $this->countRange($start, date('Y-m-d H:i:s')); } } elseif ($start != 0) { $counter += $this->countRange($start, $progress[$i]->date); $start = 0; } } return $counter; }