File: D:/HostingSpaces/SBogers79/artofeinstein.be/app/Komma/Pages/PageService.php
<?php
namespace Komma\Pages;
use Carbon\Carbon;
class PageService {
protected $pageRepository;
public function __construct(PageRepository $pageRepository)
{
$this->pageRepository = $pageRepository;
}
public function getPageContent($id){
return $this->pageRepository->getPageContent($id);
}
public function getUrl($code_name){
return $this->pageRepository->getUrl($code_name);
}
public function getLocations(){
$locations = $this->pageRepository->getLocations();
foreach ($locations as $key => $location){
$location->images = $this->pageRepository->getLocationImages($location->location_id);
//determine the next location
if($key == (sizeof($locations)-1)){
$location->nextLocation = null;
}
else{
$location->nextLocation = $locations[($key+1)]->code_name;
$location->nextLocationName = $locations[($key+1)]->menu;
}
//determine the previous location
if($key == 0){
$location->prevLocation = null;
}
else{
$location->prevLocation = $locations[($key-1)]->code_name;
}
$locations[$key] = $location;
}
return $locations;
}
public function getTextBlocks(){
$text = $this->pageRepository->getTextBlocks();
$textArray = [];
$roomImages = $this->pageRepository->getRoomImages();
foreach($text as $block){
if($block->code_name == "side_building"){
$imagesLink= [];
foreach ($roomImages->get($block->id) as $image){
$imagesLink[] = $image->large_image_url; //TODO Set to medium and upload new foto's
}
$textArray[$block->code_name] = (object)[
'title' => $block->name,
'text' => $block->description,
'lft' => $block->lft,
'rgt' => $block->rgt,
'images' => $imagesLink
];
}
else
{
$textArray[$block->code_name] = (object)[
'title' => $block->name,
'text' => $block->description,
'lft' => $block->lft,
'rgt' => $block->rgt,
];
}
}
$mainBuilding = [];
$sideBuilding = [];
foreach($text as $key => $block){
$images = $roomImages->get($block->id);
$imagesLink = [];
if($images!=null)
{
foreach ($images as $image){
$imagesLink[] = $image->large_image_url;
}
}
if($block->lft > $textArray['main_building']->lft && $block->lft < $textArray['main_building']->rgt){
$mainBuilding[$block->code_name] = (object)[
'title' => $block->name,
'text' => $block->description,
'next' => $text[($key+1)]->code_name,
'next_name' => $text[($key+1)]->name,
'images' => $imagesLink
];
}
if($block->lft > $textArray['side_building']->lft && $block->lft < $textArray['side_building']->rgt){
$sideBuilding[$block->code_name] = (object)[
'title' => $block->name,
'next' => $text[($key+1)]->code_name,
'next_name' => $text[($key+1)]->name,
'images' => $imagesLink
];
}
}
return ['all' => $textArray, 'main_building' => $mainBuilding, 'side_building' => $sideBuilding];
}
}