File: //home/xedaptot/tracking.naniguide.com/app/controllers/api/SplashController.php
<?php
/**
* =======================================================================================
* GemFramework (c) GemPixel
* ---------------------------------------------------------------------------------------
* This software is packaged with an exclusive framework as such distribution
* or modification of this framework is not allowed before prior consent from
* GemPixel. If you find that this framework is packaged in a software not distributed
* by GemPixel or authorized parties, you must not use this software and contact GemPixel
* at https://gempixel.com/contact to inform them of this misuse.
* =======================================================================================
*
* @package GemPixel\Premium-URL-Shortener
* @author GemPixel (https://gempixel.com)
* @license https://gempixel.com/licenses
* @link https://gempixel.com
*/
namespace API;
use Core\Helper;
use Core\Request;
use Core\Response;
use Core\DB;
use Core\Auth;
use Models\User;
class Splash {
/**
* Check if is admin
*
* @author GemPixel <https://gempixel.com>
* @version 6.0
*/
public function __construct(){
$user = Auth::ApiUser();
if(!$user->keyCan('splash')) return die(Response::factory(['error' => true, 'message' => 'You do not have access to this endpoint with this API key.'])->json());
if(!$user->has('splash')){
die(Response::factory(['error' => 1, 'message' => 'You do not have permission to access this endpoint.'], 403)->json());
}
}
/**
* List all plans
*
* @author GemPixel <https://gempixel.com>
* @version 6.0
* @param \Core\Request $request
* @return void
*/
public function get(Request $request){
$splashes = [];
$query = DB::splash()->where('userid', Auth::ApiUser()->id);
$page = (int) currentpage();
$limit = 15;
if( $request->limit && \is_numeric($request->limit) ){
$limit = (int) $request->limit;
}
$total = $query->count();
$results = $query->limit($limit)->offset(($page-1)*$limit)->findMany();
if(($total % $limit)<>0) {
$max = floor($total/$limit)+1;
} else {
$max = floor($total/$limit);
}
foreach($results as $splash){
$splashes[] = [
"id" => $splash->id,
"name" => $splash->name,
"date" => $splash->date,
];
}
return Response::factory(['error' => 0, 'data' => ['result' => $total, 'perpage' => $limit, 'currentpage' => $page, 'nextpage' => $max == 0 || $page == $max ? null : $page+1, 'maxpage' => $max, 'splash' => $splashes]])->json();
}
}