<?php

class Result extends Model
{
    protected $dbTable = "result";
    protected $dbFields = array(
        'tournament' =>  ['type' => 'text', 'required'], //tournament ID
        'run' =>  ['type' => 'text', 'required'],       //run ID
        'user' =>  ['type' => 'text', 'required'],       //user ID
        'dog' =>   ['type' => 'text', 'required'], //dog ID

        'disqualified' =>   ['type' => 'bool','default'=>0],
        'refusals' =>   ['type' => 'int','default'=>0],
        'errors' =>   ['type' => 'int','default'=>0],
        'timefaults' =>   ['type' => 'float','default'=>0],
        'runtime' =>   ['type' => 'float','default'=>0],
        'penalties' =>   ['type' => 'float','default'=>0],
        'rating' =>   ['type' => 'text'],
        'points' =>   ['type' => 'int','default'=>0],
        'speed' =>   ['type' => 'float','default'=>0], //in m/sec
        'ranking' =>   ['type' => 'int','default'=>0],
        'photos' =>   ['type' => 'array','default'=>[]],
        'videos' =>   ['type' => 'array','default'=>[]],
        'memo' =>   ['type' => 'text'],
        'public' =>   ['type' => 'bool','default'=>1],
    );

    function getDataOfRun($rid)
    {
        $run = new Run();
        if($run->exists($rid))
            $run->load($rid);
        else return false;

        $results = $run->data['results'];
        if(is_array($results) && count($results)>0)
        {
            $res = [];
            foreach($results as $r)
            {
                $result = new Result();
                if($result->exists($r))
                {
                    $result->load($r);
                    $res[] = $result->data;
                }
            }
            return $res;
        }
        else return [];
    }

}