diff --git a/application/Router.php b/application/Router.php index caed4a28..c9a51912 100644 --- a/application/Router.php +++ b/application/Router.php @@ -31,6 +31,8 @@ class Router public static $PAGE_EDITLINK = 'edit_link'; + public static $PAGE_DELETELINK = 'delete_link'; + public static $PAGE_EXPORT = 'export'; public static $PAGE_IMPORT = 'import'; @@ -120,6 +122,10 @@ public static function findPage($query, $get, $loggedIn) return self::$PAGE_EDITLINK; } + if (isset($get['delete_link'])) { + return self::$PAGE_DELETELINK; + } + if (startsWith($query, 'do='. self::$PAGE_EXPORT)) { return self::$PAGE_EXPORT; } diff --git a/index.php b/index.php index bb1debd3..2ed14d4f 100644 --- a/index.php +++ b/index.php @@ -1316,21 +1316,21 @@ function renderPage($conf, $pluginManager, $LINKSDB) } // -------- User clicked the "Delete" button when editing a link: Delete link from database. - if (isset($_POST['delete_link'])) + if ($targetPage == Router::$PAGE_DELETELINK) { - if (!tokenOk($_POST['token'])) die('Wrong token.'); - // We do not need to ask for confirmation: // - confirmation is handled by JavaScript // - we are protected from XSRF by the token. - // FIXME! We keep `lf_linkdate` for consistency before a proper API. To be removed. - $id = isset($_POST['lf_id']) ? intval(escape($_POST['lf_id'])) : intval(escape($_POST['lf_linkdate'])); - - $pluginManager->executeHooks('delete_link', $LINKSDB[$id]); + if (! tokenOk($_GET['token'])) { + die('Wrong token.'); + } + $id = intval(escape($_GET['lf_linkdate'])); + $link = $LINKSDB[$id]; + $pluginManager->executeHooks('delete_link', $link); unset($LINKSDB[$id]); - $LINKSDB->save('resource.page_cache'); // save to disk + $LINKSDB->save($conf->get('resource.page_cache')); // save to disk // If we are called from the bookmarklet, we must close the popup: if (isset($_GET['source']) && ($_GET['source']=='bookmarklet' || $_GET['source']=='firefoxsocialapi')) { echo ''; exit; } diff --git a/tpl/linklist.html b/tpl/linklist.html index 0f1a5e8c..d4232342 100644 --- a/tpl/linklist.html +++ b/tpl/linklist.html @@ -84,7 +84,7 @@
-
+