diff --git a/src/library/database.php b/src/library/database.php index c6d78e1..3ab541c 100644 --- a/src/library/database.php +++ b/src/library/database.php @@ -960,6 +960,17 @@ class Database { return $this->_db->lastInsertId(); } + public function flushMagnetLock(int $magnetId) : int { + + $this->_debug->query->update->total++; + + $query = $this->_db->prepare('DELETE FROM `magnetLock` WHERE `magnetId` = ?'); + + $query->execute([$magnetId]); + + return $query->rowCount(); + } + public function findLastMagnetLock(int $magnetId) { $this->_debug->query->select->total++; diff --git a/src/public/edit.php b/src/public/edit.php index 309ca13..bb3580e 100644 --- a/src/public/edit.php +++ b/src/public/edit.php @@ -360,8 +360,27 @@ else { } } - // Refresh magnet data - $magnet = $db->getMagnet($magnet->magnetId); + // Is valid + if ($response->success && + $response->form->metaTitle->valid->success && + $response->form->metaDescription->valid->success && + $response->form->tr->valid->success && + $response->form->as->valid->success && + $response->form->xs->valid->success) + { + // Unlock form + $db->flushMagnetLock($magnet->magnetId); + + // Return redirect to the magnet page + header( + sprintf('Location: %s/magnet.php?magnetId=%s', WEBSITE_URL, $magnet->magnetId) + ); + } + else + { + // Refresh magnet data + $magnet = $db->getMagnet($magnet->magnetId); + } } // Meta Title, auto-replace with Display Name on empty value