if (isset($params['searchtags'])) {
$tags = explode(' ', $params['searchtags']);
- $tags=array_diff($tags, array($_GET['removetag'])); // Remove value from array $tags.
- if (count($tags)==0) {
+ // Remove value from array $tags.
+ $tags = array_diff($tags, array($_GET['removetag']));
+ $params['searchtags'] = implode(' ',$tags);
+
+ if (empty($params['searchtags'])) {
unset($params['searchtags']);
- } else {
- $params['searchtags'] = implode(' ',$tags);
}
+
unset($params['page']); // We also remove page (keeping the same page has no sense, since the results are different)
}
header('Location: ?'.http_build_query($params));
// -------- User wants to rename a tag or delete it
if ($targetPage == Router::$PAGE_CHANGETAG)
{
- if (empty($_POST['fromtag']))
- {
- $PAGE->assign('linkcount',count($LINKSDB));
- $PAGE->assign('token',getToken());
+ if (empty($_POST['fromtag']) || (empty($_POST['totag']) && isset($_POST['renametag']))) {
+ $PAGE->assign('linkcount', count($LINKSDB));
+ $PAGE->assign('token', getToken());
$PAGE->assign('tags', $LINKSDB->allTags());
$PAGE->renderPage('changetag');
exit;
}
- if (!tokenOk($_POST['token'])) die('Wrong token.');
+
+ if (!tokenOk($_POST['token'])) {
+ die('Wrong token.');
+ }
// Delete a tag:
- if (!empty($_POST['deletetag']) && !empty($_POST['fromtag']))
- {
+ if (isset($_POST['deletetag']) && !empty($_POST['fromtag'])) {
$needle=trim($_POST['fromtag']);
// True for case-sensitive tag search.
$linksToAlter = $LINKSDB->filter(LinkFilter::$FILTER_TAG, $needle, true);
}
// Rename a tag:
- if (!empty($_POST['renametag']) && !empty($_POST['fromtag']) && !empty($_POST['totag']))
- {
+ if (isset($_POST['renametag']) && !empty($_POST['fromtag']) && !empty($_POST['totag'])) {
$needle=trim($_POST['fromtag']);
// True for case-sensitive tag search.
$linksToAlter = $LINKSDB->filter(LinkFilter::$FILTER_TAG, $needle, true);