This repository has been archived on 2023-12-29. You can view files and clone it, but cannot push or open issues or pull requests.
dogstats/web/models/Dog.model.php

67 lines
1.9 KiB
PHP
Raw Normal View History

2023-10-23 14:36:28 +02:00
<?php
2023-10-22 23:05:24 +02:00
2023-10-23 14:36:28 +02:00
class Dog extends Model
{
2023-10-22 23:05:24 +02:00
protected $dbTable = "dogs";
2023-10-23 14:36:28 +02:00
protected $dbFields = array(
'registered' => ['type' => 'datetime', 'required', 'unique', 'autoValMethod' => 'getDateTime'],
'name' => ['type' => 'text'],
'kennel_name' => ['type' => 'text'],
'breed' => ['type' => 'text'],
'size' => ['type' => 'text'], //in cm
'birthday' => ['type' => 'text'],
'agility_size' => ['type' => 'text'], //S,M,I,L
'photo' => ['type' => 'text', 'default' => 'https://pictshare.net/1ch3e5.png'],
'active' => ['type' => 'bool', 'default' => 1]
2023-10-22 23:05:24 +02:00
);
2023-10-23 14:36:28 +02:00
2023-10-31 22:43:08 +01:00
function getResults($dogid=false)
{
if(!$dogid)
$dogid = $this->id;
$res = new Result();
$keys = $GLOBALS['redis']->keys($res->getTable() . ':*');
$results = [];
foreach ($keys as $key) {
$id = end(explode(':', $key));
$res = new Result();
$res->load($id);
if ($res->data['dog'] == $dogid) {
$results[] = $res->data;
}
}
return $results;
}
function getRuns()
{
$run = new Run();
$keys = $GLOBALS['redis']->keys($run->dbTable . ':*');
$runs = [];
foreach ($keys as $key) {
$id = end(explode(':', $key));
$run = new Run();
$run->load($id);
if ($run->data['dog'] == $this->id)
$runs[] = $run->data;
}
return $runs;
}
2023-10-23 14:36:28 +02:00
function isMyDog($dog = false)
{
if ($dog == false)
$dog = $this->id;
if (!$this->exists($dog))
return false;
2023-10-29 15:58:16 +01:00
else if(!is_array($_SESSION['user']->data['dogs']))
return false;
2023-10-23 14:36:28 +02:00
else {
if (in_array($dog, $_SESSION['user']->data['dogs']))
return true;
else return false;
}
}
}