app\models\Task::calcDuration PHP Метод

calcDuration() публичный статический Метод

public static calcDuration ( $task ) : integer
$task
Результат integer
    public static function calcDuration($task)
    {
        $duration = 0;
        $parts = json_decode($task->time_log) ?: [];
        foreach ($parts as $part) {
            if (count($part) == 1 || !$part[1]) {
                $duration += time() - $part[0];
            } else {
                $duration += $part[1] - $part[0];
            }
        }
        return $duration;
    }

Usage Example

Пример #1
0
 protected function getDatatableColumns($entityType, $hideClient)
 {
     return [['client_name', function ($model) {
         return $model->client_public_id ? link_to("clients/{$model->client_public_id}", Utils::getClientDisplayName($model)) : '';
     }, !$hideClient], ['created_at', function ($model) {
         return link_to("tasks/{$model->public_id}/edit", Task::calcStartTime($model));
     }], ['time_log', function ($model) {
         return Utils::formatTime(Task::calcDuration($model));
     }], ['description', function ($model) {
         return $model->description;
     }], ['invoice_number', function ($model) {
         return self::getStatusLabel($model);
     }]];
 }
All Usage Examples Of app\models\Task::calcDuration