diff --git a/app/Controllers/Home.php b/app/Controllers/Home.php
index 4a2d726..4240b3d 100644
--- a/app/Controllers/Home.php
+++ b/app/Controllers/Home.php
@@ -2,8 +2,6 @@
namespace App\Controllers;
use App\Models\CarCatsModel;
-use App\Models\TracksModel;
-use App\Models\BestLapsModel;
use CodeIgniter\API\ResponseTrait;
class Home extends BaseController
@@ -14,13 +12,9 @@ class Home extends BaseController
{
$tplData = [];
$carCatModel = new CarCatsModel;
- $bestLapsModel = new BestLapsModel;
// select interested period
- if(array_key_exists('period', $_COOKIE))
- {
- $period = $_COOKIE['period'];
- }
+ if(array_key_exists('period', $_COOKIE)) $period = $_COOKIE['period'];
if($this->request->getGet('period'))
{
@@ -33,40 +27,31 @@ class Home extends BaseController
switch ($period)
{
- case 'today': //today
- $datediff = (1*24*60*60);
- $backto = time() - $datediff;
+ case 'today': // Today
$tplData['periodString'] = 'In the last day';
break;
- case 'week': //last week
- $datediff = (7*24*60*60);
- $backto = time() - $datediff;
+ case 'week': // Last week
$tplData['periodString'] = 'In the last week';
break;
- case 'month': //last month
- $datediff = (30*24*60*60);
- $backto = time()-$datediff;
+ case 'month': // Last month
$tplData['periodString'] = 'In the last month';
break;
- case 'year': //last year
- $datediff = (365*24*60*60);
- $backto = time()-$datediff;
+ case 'year': // Last year
$tplData['periodString'] = 'In the last year';
break;
- case 'allTime'://always
- $datediff = (50000*24*60*60);
- $backto = time() - $datediff;
+ case 'allTime': // Always
$tplData['periodString'] = 'all time';
break;
default:
throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound();
}
- //select the category to display
+ // Select the category to display
$catId = $this->request->getGet('cat');
+
if ($catId)
{
- // Check if the cat exists
+ // Check if the car's category exists
$exists = $carCatModel->find($catId);
if (!$exists) throw \CodeIgniter\Exceptions\PageNotFoundException::forPageNotFound();
@@ -84,98 +69,9 @@ class Home extends BaseController
$categoriesList = $carCatModel->select('id, name, count(carId) as totalCars')->groupBy('id')->findAll();
$currCat = $carCatModel->find($carCatId);
- //$carsCatList = $carCatModel->select('carId')->where('id', $carCatId)->findAll();
- $carsCatIds = $carCatModel->getCarsInCat($carCatId);
-
$tplData['currCat'] = $currCat;
$tplData['carCategoriesList'] = $categoriesList;
- //$carsCatIds = [];
- //foreach ($carsCatList as $car) $carsCatIds[] = $car->carId;
-
- //UGLY: there is some category that have no car assigned so create a fake $carsql for them
- //to prevent errors in the generated queries
- /*
- $carsql = '0';
- if($carsql == ''){
- $carsql = " B.car_id='NonExistentCarIdFindThisIfYouCan'";
- }
- */
-
- /*
- ################################
- ## MOST ACTIVE USER OF THIS CATEGORY BASED ON LAPS RUN
- ## WITH A CAR OF THIS CATEGORY
- ################################
- */
-
- /*
- $builder = $this->db->table('races r');
- $builder->select('r.user_id, COUNT(*) AS count, u.username');
- $builder->join('users u', 'u.id = r.user_id');
- $builder->where('UNIX_TIMESTAMP(r.timestamp) >', $backto);
- $builder->whereIn('r.car_id', $carsCatIds);
- $builder->groupBy('r.user_id');
- $builder->orderBy('count DESC');
-
- $tplData['users'] = [];
- $query = $builder->get();
- if ($query && $query->getNumRows() > 0) $tplData['users'] = $query->getResult();
- */
-
- /*
- ################################
- ## SELECT THE BEST LAPS FOR EACH TRACK
- ## WITH A CAR OFT HIS CATEGORY
- ################################
- */
- //list($tplData['mylaps'], $_) = $bestLapsModel->getBests($period, $carCatId, 0, 0);
- /*
- $tplData['tracks'] = [];
- $builder = $this->db->table('races');
- $builder->select('track_id, COUNT(*) AS count');
- $builder->where('UNIX_TIMESTAMP(timestamp) >', $backto);
- $builder->whereIn('car_id', $carsCatIds);
- $builder->groupBy('track_id');
- $builder->orderBy('count DESC');
-
- $query = $builder->get();
-
- if ($query && $query->getNumRows() > 0)
- {
- $tracks = $query->getResult();
-
- $tracksIds = [];
- foreach($tracks as $track) $tracksIds[] = $track->track_id;
-
- $tracksModel = new TracksModel();
- $tracksNames = [];
- $tracksNamesList = $tracksModel->select('id, name')->whereIn('id', $tracksIds)->findAll();
-
- foreach($tracksNamesList as $name) $tracksNames[$name->id] = $name->name;
- foreach($tracksIds as $id)
- {
- if (!key_exists($id, $tracksNames)) $tracksNames[$id] = "$id (Modded)";
- }
-
- $tplData['tracks'] = $tracks;
- $tplData['tracksNames'] = $tracksNames;
- }*/
-
- /*
- $tplData['cars'] = [];
-
- $builder = $this->db->table('races r');
- $builder->join('cars c', 'c.id = r.car_id');
- $builder->select('r.car_id, COUNT(r.car_id) as count, c.name');
- $builder->where('UNIX_TIMESTAMP(r.timestamp) >', $backto);
- $builder->whereIn('r.car_id', $carsCatIds);
- $builder->groupBy('r.car_id');
- $builder->orderBy('count DESC');
-
- $query = $builder->get();
- if ($query && $query->getNumRows() > 0) $tplData['cars'] = $query->getResult();
- */
echo get_header('Home', ['minidt.css']);
echo view('main', $tplData);
echo get_footer(['minidt.js', 'home_tables.js']);
diff --git a/app/Models/CarsModel.php b/app/Models/CarsModel.php
index 528cf74..14c4126 100644
--- a/app/Models/CarsModel.php
+++ b/app/Models/CarsModel.php
@@ -8,6 +8,14 @@ class CarsModel extends BaseModel
protected $allowedFields = ['id', 'name', 'img', 'category', 'width', 'length', 'mass', 'fueltank', 'engine', 'drivetrain'];
+ /**
+ * Return the most used cars in the category
+ * @param array $carsCatIds List with the car's ID on the category
+ * @param string $period The period of time between the current date and when you want to obtain the list.
+ * @param int $page Current page
+ * @param int $limit The limit of results to be obtained
+ * @return array An array with the list and the total number of unpaginated results.
+ */
public function getMostUsedCars(array $carsCatIds, string $period='today', int $page=0, int $limit=20)
{
$list = [];
@@ -42,52 +50,4 @@ class CarsModel extends BaseModel
return [$list, $total];
}
-
- /*
- public function __construct($car=null)
- {
- if ($car) $this->data = $this->data($car);
- }
-
- public function getLink(string $text=null): string
- {
- if(!$text) $text = $this->data->name;
- return "data->id}'>$text";
- }
-
- public function card() {
- return $this->data->name . $this->data->img;
- }
-
- public function imgTag()
- {
- return "";
- }
-
- public function imgTagFull()
- {
- return "";
- }
-
- public function clickableName()
- {
- return $this->linkTag($this->name);
- }
-
- public function clickableImgTag()
- {
- return $this->linkTag($this->imgTag());
- }
-
- public function linkTag($content)
- {
- return "$content";
- }
-
- public function linkTitleImgTag()
- {
- $content = $this->name . '
' . $this->imgTag();
- return "$content";
- }
- */
}
diff --git a/app/Models/TracksModel.php b/app/Models/TracksModel.php
index 52871fa..f29bb4b 100644
--- a/app/Models/TracksModel.php
+++ b/app/Models/TracksModel.php
@@ -11,6 +11,14 @@ class TracksModel extends BaseModel
protected $db;
protected $allowedFields = ['id', 'name', 'img', 'category', 'author', 'description'];
+ /**
+ * Return the most used tracks in the category
+ * @param array $carsCatIds List with the car's ID on the category
+ * @param string $period The period of time between the current date and when you want to obtain the list.
+ * @param int $page Current page
+ * @param int $limit The limit of results to be obtained
+ * @return array An array with the list and the total number of unpaginated results.
+ */
public function getMostUsedTracks(array $carsCatIds, string $period='today', int $page=0, int $limit=20)
{
$list = [];
@@ -45,51 +53,4 @@ class TracksModel extends BaseModel
return [$list, $total];
}
-
- /*
- public function __construct($track=null)
- {
- if ($track) $this->import($track);
- }
-
- public function import($properties)
- {
- foreach($properties as $key => $value) $this->{$key} = $value;
- }
-
- public function getLink($text='')
- {
- if($text == '') $text = $this->username;
- return ''.$text.'';
- }
-
- public function card($text='')
- {
- return $this->name.$this->img;
- }
-
- public function imgTag() {
- return "";
- }
-
- public function imgTagFull() {
- return "";
- }
- public function clickableName() {
- return $this->linkTag($this->name);
-
- }
- public function clickableImgTag() {
- return $this->linkTag($this->imgTag());
- }
- public function linkTag($content) {
- return "".$content."";
- }
-
- public function linkTitleImgTag()
- {
- $content = $this->name . '
' . $this->imgTag();
- return "$content";
- }
- */
}
diff --git a/app/Models/UsersModel.php b/app/Models/UsersModel.php
index 21ad12c..e767745 100644
--- a/app/Models/UsersModel.php
+++ b/app/Models/UsersModel.php
@@ -39,28 +39,6 @@ class UsersModel extends BaseModel
$this->raceTypes->race = 2;
}
- /*
- public function initialize()
- {
- $this->session = session();
- $this->carsModel = new CarsModel;
- $this->tracksModel = new TracksModel;
-
- $this->raceTypes = new \stdClass;
- $this->raceTypes->practice = 0;
- $this->raceTypes->qualify = 1;
- $this->raceTypes->race = 2;
- }
-
- public function getUsers()
- {
- $query = $this->db->table('users')->get();
- $users = [];
-
- if ($query && $query->getNumRows() > 0) $users = $query->getResult();
- return $users;
- }
- */
public function getUser($username)
{
$builder = $this->builder();
@@ -101,57 +79,6 @@ class UsersModel extends BaseModel
return false;
}
- /*
- private function import($properties)
- {
- foreach($properties as $key => $value){
- $this->{$key} = $value;
- }
-
- // Add the flag filename
- $this->flag = str_replace(' ', '_', $this->nation) . '.png';
- }
-
- public function getFromDb()
- {
- $builder = $this->db->table('users');
- $builder->where('id', $this->id);
- $query = $builder->get(1);
-
- if ($query && $query->getNumRows() == 1)
- {
- $this->import($query->getRowArray());
- }
- else
- {
- //no valid result found! create a fake user
- $this->username = 'guest';
- $this->nation = '';
- }
- }
-
- public function getLink($text='')
- {
- if ($text == '') $text=$this->username;
- return "$text";
- }
-
- public function getSmallFlagImg()
- {
- return "";
- }
-
- public function getMediumFlagImg()
- {
- return "";
- }
-
- public function getImgFile()
- {
- return "";
- }
-
- */
public function getRaceSessions()
{
$builder = $this->db->table('races r');