summaryrefslogtreecommitdiff
path: root/tag2tagdelete.php
diff options
context:
space:
mode:
Diffstat (limited to 'tag2tagdelete.php')
-rw-r--r--tag2tagdelete.php103
1 files changed, 64 insertions, 39 deletions
diff --git a/tag2tagdelete.php b/tag2tagdelete.php
index f0ae6ed..b62b623 100644
--- a/tag2tagdelete.php
+++ b/tag2tagdelete.php
@@ -1,62 +1,87 @@
<?php
/***************************************************************************
-Copyright (C) 2006 Scuttle project
-http://sourceforge.net/projects/scuttle/
-http://scuttle.org/
+ Copyright (C) 2006 Scuttle project
+ http://sourceforge.net/projects/scuttle/
+ http://scuttle.org/
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-***************************************************************************/
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ ***************************************************************************/
require_once('header.inc.php');
+
+/* Service creation: only useful services are created */
$tag2tagservice = & ServiceFactory :: getServiceInstance('Tag2TagService');
$templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
$userservice = & ServiceFactory :: getServiceInstance('UserService');
-$logged_on_user = $userservice->getCurrentUser();
+/* Managing all possible inputs */
+isset($_POST['confirm']) ? define('POST_CONFIRM', $_POST['confirm']): define('POST_CONFIRM', '');
+isset($_POST['cancel']) ? define('POST_CANCEL', $_POST['cancel']): define('POST_CANCEL', '');
+isset($_POST['tag1']) ? define('POST_TAG1', $_POST['tag1']): define('POST_TAG1', '');
+isset($_POST['linkType']) ? define('POST_LINKTYPE', $_POST['linkType']): define('POST_LINKTYPE', '');
+isset($_POST['tag2']) ? define('POST_TAG2', $_POST['tag2']): define('POST_TAG2', '');
+
+isset($_SERVER['HTTP_REFERER']) ? define('HTTP_REFERER', $_SERVER['HTTP_REFERER']): define('HTTP_REFERER', '');
+
+/* Managing current logged user */
+$currentUser = $userservice->getCurrentObjectUser();
//permissions
-if($logged_on_user == null) {
- $tplVars['error'] = T_('Permission denied.');
- $templateservice->loadTemplate('error.500.tpl', $tplVars);
- exit();
+if(!$userservice->isloggedOn()) {
+ $tplVars['error'] = T_('Permission denied.');
+ $templateservice->loadTemplate('error.500.tpl', $tplVars);
+ exit();
}
-list ($url, $tag1, $tag2) = explode('/', $_SERVER['PATH_INFO']);
-
-if ($_POST['confirm']) {
- $tag = $_POST['tag1'];
- $linkType = $_POST['linkType'];
- $newTag = $_POST['tag2'];
- if ($tag2tagservice->removeLinkedTags($_POST['tag1'], $_POST['tag2'], $linkType, $userservice->getCurrentUserId())) {
- $tplVars['msg'] = T_('Tag link deleted');
- header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')].'/'.$tag));
- } else {
- $tplVars['error'] = T_('Failed to delete the link');
- $templateservice->loadTemplate('error.500.tpl', $tplVars);
- exit();
- }
-} elseif ($_POST['cancel']) {
- header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags));
+/* Managing path info */
+if(isset($_SERVER['PATH_INFO'])) {
+ $exploded = explode('/', $_SERVER['PATH_INFO']);
+ if(count($exploded) == 3) {
+ list ($url, $tag1, $tag2) = explode('/', $_SERVER['PATH_INFO']);
+ } else {
+ list ($url, $tag1) = explode('/', $_SERVER['PATH_INFO']);
+ $tag2 = '';
+ }
+} else {
+ $url = $tag1 = $tag2 = '';
+}
+
+
+
+if (POST_CONFIRM) {
+ $tag = POST_TAG1;
+ $linkType = POST_LINKTYPE;
+ $newTag = POST_TAG2;
+ if ($tag2tagservice->removeLinkedTags(POST_TAG1, POST_TAG2, POST_LINKTYPE, $currentUser->getId())) {
+ $tplVars['msg'] = T_('Tag link deleted');
+ header('Location: '. createURL('bookmarks', $currentUser->getUsername().'/'.$tag));
+ } else {
+ $tplVars['error'] = T_('Failed to delete the link');
+ $templateservice->loadTemplate('error.500.tpl', $tplVars);
+ exit();
+ }
+} elseif (POST_CANCEL) {
+ header('Location: '. createURL('bookmarks', $currentUser->getUsername() .'/'. $tags));
}
-$tplVars['links'] = $tag2tagservice->getLinks($userservice->getCurrentUserId());
+$tplVars['links'] = $tag2tagservice->getLinks($currentUser->getId());
$tplVars['tag1'] = $tag1;
$tplVars['tag2'] = $tag2;
$tplVars['subtitle'] = T_('Delete Link Between Tags') .': '. $tag1.' > '.$tag2;
-$tplVars['formaction'] = $_SERVER['SCRIPT_NAME'] .'/'. $tag;
-$tplVars['referrer'] = $_SERVER['HTTP_REFERER'];
+$tplVars['formaction'] = $_SERVER['SCRIPT_NAME'];
+$tplVars['referrer'] = HTTP_REFERER;
$templateservice->loadTemplate('tag2tagdelete.tpl', $tplVars);
?>