/** * Presentation slide as json * * @param Request $request * @param Response $response * @param Array $args * @return Response */ public function json(Request $request, Response $response, array $args) { $path = $this->settings['presentation']['presentation']; $fileName = substr_replace($args['file'], '.', -3, 1); $filePath = $path . $fileName; $slideNumber = (int) preg_replace('/\\D/', '', $args['slide']); $file = new File($filePath); $data = []; if ($file->load() === true) { $slide = new Slide($filePath); $data['error'] = false; $data['slide'] = $slide->renderForAjax($slideNumber); } else { $data['error'] = true; $data['message'] = 'Could not load presentation file.'; } return $response->withJson($data); }