/** * Initialize slide * * @param string $filePath Path of presentation file */ public function __construct($filePath) { $file = new File($filePath); if ($file->load() === false) { echo 'Error! loading file .' . $filePath; } $this->contents = $file->getContents(); $this->contents = explode(PHP_EOL . PHP_EOL . PHP_EOL, $this->contents); $this->slideCount = count($this->contents); $this->slideNumber = 0; $this->prev = false; $this->next = false; $this->parser = new Parsedown(); }
/** * Edit presentation * * @param Request $request * @param Response $response * @param Array $args * @return Response */ public function edit(Request $request, Response $response, array $args) { $path = $this->settings['presentation']['presentation']; $fileName = substr_replace($args['file'], '.', -3, 1); $filePath = $path . $fileName; $form = new Form($filePath); if ($form->getForm()['error'] === true) { $form = ['message' => $form->getForm()['message'], 'alert_type' => 'danger']; } else { $form = ['message' => $form->getForm()['message'], 'alert_type' => 'info']; } $file = new File($filePath); if ($file->load() === false) { $this->flash->addMessage('message', 'Error while loading file "' . $fileName . '".'); $this->flash->addMessage('alert_type', 'danger'); return $response->withRedirect('/admin/'); } else { $form['input_value']['content'] = $file->getContents(); } $data = ['form' => $form, 'file_name' => $args['file'], 'csrf_name' => $request->getAttribute('csrf_name'), 'csrf_value' => $request->getAttribute('csrf_value')]; return $this->view->render($response, 'admin/edit.twig', $data); }