/** * MODULE : Édition d'une news */ public function edit() { // Erreur 404 if (!$this->getData([$this->getUrl(0), $this->getUrl(2)])) { return false; } elseif ($this->getPost('submit')) { // Modifie la clef de la news si le titre a été modifié $key = $this->getPost('title') ? $this->getPost('title', helper::URL) : $this->getUrl(2); // Sauvegarde la date de création de la news $date = $this->getData([$this->getUrl(0), $this->getUrl(2), 'date']); // Si la clef à changée if ($key !== $this->getUrl(2)) { // Incrémente la nouvelle clef de la news pour éviter les doublons $key = helper::increment($key, $this->getData($this->getUrl(0))); // Supprime l'ancienne news $this->removeData([$this->getUrl(0), $this->getUrl(2)]); } // Modifie la news ou en crée une nouvelle si la clef a changée $this->setData([$this->getUrl(0), $key, ['title' => $this->getPost('title', helper::STRING), 'date' => $date, 'content' => $this->getPost('content')]]); // Enregistre les données $this->saveData(); // Notification de modification $this->setNotification('News modifiée avec succès !'); // Redirige vers l'édition de la nouvelle news si la clef à changée ou sinon vers l'ancienne helper::redirect('module/' . $this->getUrl(0) . '/edit/' . $key); } // Contenu de la page self::$content = template::openForm() . template::openRow() . template::text('title', ['label' => 'Titre de la news', 'value' => $this->getData([$this->getUrl(0), $this->getUrl(2), 'title']), 'required' => 'required']) . template::newRow() . template::textarea('content', ['class' => 'editor', 'value' => $this->getData([$this->getUrl(0), $this->getUrl(2), 'content'])]) . template::newRow() . template::button('back', ['value' => 'Retour', 'href' => helper::baseUrl() . 'module/' . $this->getUrl(0), 'col' => 2]) . template::submit('submit', ['col' => 2, 'offset' => 8]) . template::closeRow(); template::closeForm(); }
/** * MODULE : Édition d'une news */ public function edit() { if (!$this->getData($this->getUrl(1), $this->getUrl(3))) { return false; } elseif ($this->getPost('submit')) { $key = $this->getPost('title') ? $this->getPost('title', helpers::URL) : $this->getUrl(3); $date = $this->getData($this->getUrl(1), $this->getUrl(3), 'date'); if ($key !== $this->getUrl(3)) { $key = helpers::increment($key, $this->getData($this->getUrl(1))); $this->removeData($this->getUrl(1), $this->getUrl(3)); } $this->setData($this->getUrl(1), $key, ['title' => $this->getPost('title', helpers::STRING), 'date' => $date, 'content' => $this->getPost('content')]); $this->saveData(); $this->setNotification('News modifiée avec succès !'); helpers::redirect('module/' . $this->getUrl(1) . '/' . $this->getUrl(2) . '/' . $key); } self::$content = template::openForm() . template::openRow() . template::text('title', ['label' => 'Titre de la news', 'value' => $this->getData($this->getUrl(1), $this->getUrl(3), 'title'), 'required' => true]) . template::newRow() . template::textarea('content', ['class' => 'editor', 'value' => $this->getData($this->getUrl(1), $this->getUrl(3), 'content')]) . template::newRow() . template::button('back', ['value' => 'Retour', 'href' => '?module/' . $this->getUrl(1), 'col' => 2]) . template::submit('submit', ['col' => 2, 'offset' => 8]) . template::closeRow(); template::closeForm(); }