-
SASSU Thomas authored
ajout characters platforms et erreur slim $_GET[page] inexistant et ajoiut des differents controleurs et vues
SASSU Thomas authoredajout characters platforms et erreur slim $_GET[page] inexistant et ajoiut des differents controleurs et vues
ControleurCharacter.php 1.50 KiB
<?php
namespace gp\controleurs;
use gp\modeles\Character;
use gp\vues\VueCharacter;
use Slim\Slim;
class ControleurCharacter
{
public function getCharacter($id){
$character = Character::where('id', '=', $id)->first();
$v = new VueCharacter(json_encode($character));
$v->render();
}
public function getcharacters() {
$results = null;
if(isset($_GET['page'])) {
$page = filter_var($_GET['page'], FILTER_SANITIZE_NUMBER_INT);
ini_set('memory_limit', '512M');
$response = Character::paginate(200, ['*'], 'page', $page);
$json = (json_decode(json_encode($response), true));
$route = explode('bdappli_laurent_vonderscher_sassu_percin/GamePedia', Slim::getInstance()->urlFor('getCharacters'));
foreach ($json['data'] as $character) {
$url = $route[1] . "{$character['id']}";
$results['characters'][] = ["character" => $character, "links" => ["self" => ["href" => $url]]];
}
$prev = $json['prev_page_url'];
$next = $json['next_page_url'];
if ($next == '') $next = $json['first_page_url'];
if ($prev == '') $prev = $json['last_page_url'];
$links = ["prev" => ["href" => "/api/platforms{$prev}"], "next" => ["href" => "/api/platforms{$next}"]];
$results['links'] = $links;
}
$v = new VueCharacter(json_encode($results));
$v->render();
}
}