summaryrefslogtreecommitdiff
path: root/src/http/Controller/Village.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/Controller/Village.php')
-rw-r--r--src/http/Controller/Village.php69
1 files changed, 63 insertions, 6 deletions
diff --git a/src/http/Controller/Village.php b/src/http/Controller/Village.php
index 7b1f227..22713b1 100644
--- a/src/http/Controller/Village.php
+++ b/src/http/Controller/Village.php
@@ -4,6 +4,8 @@ namespace App\http\Controller;
use App\DB;
use App\Guard;
+use App\Model\Event\SendResources;
+use App\Model\Event\SendResourcesCarriers;
use App\Model\Event\SendUnits;
use App\Model\Event\TrainUnits;
use App\Model\Event\UpgradeBuilding;
@@ -27,7 +29,7 @@ class Village
join user_villages on villages.id = user_villages.village_id
where user_villages.user_id=:id
SQL,
- ['id' => $_SESSION['user']['id']]
+ ['id' => $_SESSION['user']['id'] ?? -1]
);
return new Response(View::render('villages.twig', [
@@ -55,26 +57,32 @@ class Village
)->fetchAll();
foreach ($eventsBuilding as $row) {
- $events['UpgradeBuilding'][$row['type']][] = DB::convertToModel(UpgradeBuilding::class, $row);
+ $model = DB::convertToModel(UpgradeBuilding::class, $row);
+ $model->populateEvent();
+
+ $events['UpgradeBuilding'][$row['type']][] = $model;
}
$eventsUnits = DB::query(
<<<SQL
select * from events_train_units as event
left join events on event.event_id = events.id
- where village_id=:id
+ where events.village_id=:id
SQL, ['id' => $village->id]
)->fetchAll();
foreach ($eventsUnits as $row) {
- $events['TrainUnits'][] = DB::convertToModel(TrainUnits::class, $row);
+ $model = DB::convertToModel(TrainUnits::class, $row);
+ $model->populateEvent();
+
+ $events['TrainUnits'][] = $model;
}
$eventsUnitsSendOwn = DB::query(
<<<SQL
select * from events_send_units as event
left join events on event.event_id = events.id
- where village_id=:id
+ where events.village_id=:id
SQL, ['id' => $village->id]
)->fetchAll();
@@ -87,7 +95,56 @@ class Village
)->fetchAll();
foreach ([...$eventsUnitsSendOwn, ...$eventsUnitsSendOther] as $row) {
- $events['SendUnits'][] = DB::convertToModel(SendUnits::class, $row);;
+ $model = DB::convertToModel(SendUnits::class, $row);
+ $model->populateEvent();
+
+ $events['SendUnits'][] = DB::convertToModel(SendUnits::class, $row);
+ }
+
+ $eventsResourcesSendOwn = DB::query(
+ <<<SQL
+ select * from events_send_resources as event
+ left join events on event.event_id = events.id
+ where events.village_id=:id
+ SQL, ['id' => $village->id]
+ )->fetchAll();
+
+ $eventsResourcesSendOther = DB::query(
+ <<<SQL
+ select * from events_send_resources as event
+ left join events on event.event_id = events.id
+ where (destination=:id or source=:id) and village_id!=:id and is_canceled=false
+ SQL, ['id' => $village->id]
+ )->fetchAll();
+
+ foreach ([...$eventsResourcesSendOwn, ...$eventsResourcesSendOther] as $row) {
+ $model = DB::convertToModel(SendResources::class, $row);
+ $model->populateEvent();
+
+ $events['SendResources'][] = DB::convertToModel(SendResources::class, $row);
+ }
+
+ $eventsResourcesCarriersSendOwn = DB::query(
+ <<<SQL
+ select * from events_send_resources_carriers as event
+ left join events on event.event_id = events.id
+ where events.village_id=:id
+ SQL, ['id' => $village->id]
+ )->fetchAll();
+
+ $eventsResourcesCarriersSendOther = DB::query(
+ <<<SQL
+ select * from events_send_resources_carriers as event
+ left join events on event.event_id = events.id
+ where (destination=:id or source=:id) and village_id!=:id
+ SQL, ['id' => $village->id]
+ )->fetchAll();
+
+ foreach ([...$eventsResourcesCarriersSendOwn, ...$eventsResourcesCarriersSendOther] as $row) {
+ $model = DB::convertToModel(SendResourcesCarriers::class, $row);
+ $model->populateEvent();
+
+ $events['SendResourcesCarriers'][] = $model;
}
$buildings = [];