Bug fix: correct popup behaviour.

git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@284 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
mensonge 2009-02-17 09:36:20 +00:00
parent 715ddba1dc
commit 760dd70519
4 changed files with 29 additions and 14 deletions

View file

@ -163,7 +163,7 @@ if ($userservice->isLoggedOn() && POST_SUBMITTED != '') {
if (GET_ACTION == "add") { if (GET_ACTION == "add") {
// If the bookmark exists already, edit the original // If the bookmark exists already, edit the original
if ($bookmarkservice->bookmarkExists(stripslashes(GET_ADDRESS), $currentUserID)) { if ($bookmarkservice->bookmarkExists(stripslashes(GET_ADDRESS), $currentUserID)) {
$bookmark =& $bookmarkservice->getBookmarks(0, NULL, $currentUserID, NULL, NULL, NULL, NULL, NULL, NULL, md5(stripslashes(GET_ADDRESS))); $bookmark =& $bookmarkservice->getBookmarks(0, NULL, $currentUserID, NULL, NULL, NULL, NULL, NULL, NULL, md5($bookmarkservice->normalize(stripslashes(GET_ADDRESS))));
$popup = (GET_POPUP!='') ? '?popup=1' : ''; $popup = (GET_POPUP!='') ? '?popup=1' : '';
header('Location: '. createURL('edit', $bookmark['bookmarks'][0]['bId'] . $popup)); header('Location: '. createURL('edit', $bookmark['bookmarks'][0]['bId'] . $popup));
exit(); exit();
@ -185,10 +185,22 @@ if ($templatename == 'editbookmark.tpl') {
); );
$tplVars['tags'] = POST_TAGS; $tplVars['tags'] = POST_TAGS;
} else { } else {
$tplVars['row'] = $bookmarkservice->getBookmark(GET_COPYOF, true); if(GET_COPYOF != '') { //copy from bookmarks page
if(!$currentUser->isAdmin()) { $tplVars['row'] = $bookmarkservice->getBookmark(GET_COPYOF, true);
$tplVars['row']['bPrivateNote'] = ''; //only admin can copy private note if(!$currentUser->isAdmin()) {
$tplVars['row']['bPrivateNote'] = ''; //only admin can copy private note
}
}else { //copy from pop-up bookmarklet
$tplVars['row'] = array(
'bTitle' => stripslashes(GET_TITLE),
'bAddress' => stripslashes(GET_ADDRESS),
'bDescription' => stripslashes(GET_DESCRIPTION),
'bPrivateNote' => stripslashes(GET_PRIVATENOTE),
'tags' => (GET_TAGS ? explode(',', stripslashes(GET_TAGS)) : array()),
'bStatus' => 0
);
} }
} }
$title = T_('Add a Bookmark'); $title = T_('Add a Bookmark');
$tplVars['referrer'] = $_SERVER['HTTP_REFERER']; $tplVars['referrer'] = $_SERVER['HTTP_REFERER'];

View file

@ -87,12 +87,13 @@ if (!($row = $bookmarkservice->getBookmark(intval($bookmark), true))) {
if (POST_DELETE != '') { if (POST_DELETE != '') {
// Delete bookmark // Delete bookmark
if ($bookmarkservice->deleteBookmark($bookmark)) { if ($bookmarkservice->deleteBookmark($bookmark)) {
if (POST_REFERRER != '') { if (POST_POPUP != '') {
$tplVars['msg'] = '<script type="text/javascript">window.close();</script>';
} elseif (POST_REFERRER != '') {
header('Location: '. POST_REFERRER); header('Location: '. POST_REFERRER);
} else { } else {
header('Location: '. createURL('bookmarks', $currentUser->getUsername())); header('Location: '. createURL('bookmarks', $currentUser->getUsername()));
} }
exit();
} else { } else {
$tplVars['error'] = T_('Failed to delete bookmark'); $tplVars['error'] = T_('Failed to delete bookmark');
$templateservice->loadTemplate('error.500.tpl', $tplVars); $templateservice->loadTemplate('error.500.tpl', $tplVars);

View file

@ -437,7 +437,9 @@ class BookmarkService {
return false; return false;
} }
$query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'tags WHERE bId = '. intval($bookmarkid);
$query = 'DELETE FROM '. $GLOBALS['tableprefix'] .'bookmarks2tags WHERE bId = '. intval($bookmarkid);
$this->db->sql_transaction('begin'); $this->db->sql_transaction('begin');
if (!($dbresult = & $this->db->sql_query($query))) { if (!($dbresult = & $this->db->sql_query($query))) {
$this->db->sql_transaction('rollback'); $this->db->sql_transaction('rollback');

View file

@ -95,7 +95,7 @@ $this->includeTemplate("dojo.inc");
<td></td> <td></td>
<td> <td>
<input type="submit" name="submitted" value="<?php echo $btnsubmit; ?>" /> <input type="submit" name="submitted" value="<?php echo $btnsubmit; ?>" />
<input type="button" name="cancel" value="<?php echo T_('Cancel') ?>" onclick="javascript: history.go(-1)" /> <input type="button" name="cancel" value="<?php echo T_('Cancel') ?>" onclick="<?php echo $popup?'window.close();':'javascript: history.go(-1)'; ?>" />
<?php <?php
if (isset($showdelete) && $showdelete) { if (isset($showdelete) && $showdelete) {
?> ?>