diff options
| -rw-r--r-- | doc/ChangeLog | 1 | ||||
| -rw-r--r-- | tests/data/BookmarkTest_deliciousbookmarks_private.xml | 1 | ||||
| -rw-r--r-- | www/import.php | 29 | 
3 files changed, 25 insertions, 6 deletions
| diff --git a/doc/ChangeLog b/doc/ChangeLog index 6297764..8485802 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -17,6 +17,7 @@ ChangeLog for SemantiScuttle  - Fix bug #3384416: Use URL with protocol in bookmarklet  - Fix bug: Invalid HTML when website thumbnails are activated  - Fix bug #3413459: Thumbnails not in one line +- Fix bug #3468293: Delicious import does not preserve private links  - Implement request #3403609: fr_CA translation update  - Implement patch #3476011: PostgreSQL tables can not be initialized    (Frédéric Fauberteau [triaxx]) diff --git a/tests/data/BookmarkTest_deliciousbookmarks_private.xml b/tests/data/BookmarkTest_deliciousbookmarks_private.xml new file mode 100644 index 0000000..0ad8142 --- /dev/null +++ b/tests/data/BookmarkTest_deliciousbookmarks_private.xml @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><posts tag="" total="1" user="cweiske"><post description="Christians Tagebuch" extended="" hash="d82ca757a4583a24260a1126b5dafb0d" href="http://cweiske.de/tagebuch/" private="yes" shared="no" tag="private" time="2012-01-20T20:18:56Z"/></posts>
\ No newline at end of file diff --git a/www/import.php b/www/import.php index 3aa2714..1293a2f 100644 --- a/www/import.php +++ b/www/import.php @@ -27,7 +27,9 @@ require_once 'www-header.php';  /* Managing all possible inputs */  // First input is $_FILES  // Other inputs -isset($_POST['status']) ? define('POST_STATUS', $_POST['status']): define('POST_STATUS', $GLOBALS['defaults']['privacy']); +isset($_POST['status']) +    ? define('POST_STATUS', $_POST['status']) +    : define('POST_STATUS', $GLOBALS['defaults']['privacy']);  if ($userservice->isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['size'] > 0) { @@ -54,6 +56,7 @@ if ($userservice->isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['si  		}  	}  	xml_parser_free($xml_parser); +	//FIXME: show errors and warnings  	header('Location: '. createURL('bookmarks', $userinfo->getUsername()));  } else {  	$templatename = 'importDelicious.tpl'; @@ -70,7 +73,8 @@ function startElement($parser, $name, $attrs) {  	$bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark');  	if ($name == 'POST') { -		while(list($attrTitle, $attrVal) = each($attrs)) { +		$newstatus = $status; +		while (list($attrTitle, $attrVal) = each($attrs)) {  			switch ($attrTitle) {  				case 'HREF':  					$bAddress = $attrVal; @@ -87,6 +91,11 @@ function startElement($parser, $name, $attrs) {  				case 'TAG':  					$tags = strtolower($attrVal);  					break; +				case 'PRIVATE': +					if ($attrVal == 'yes') { +						$newstatus = 2; +					} +					break;  			}  		}  		if ($bookmarkservice->bookmarkExists($bAddress, $userservice->getCurrentUserId())) { @@ -100,12 +109,20 @@ function startElement($parser, $name, $attrs) {  				$bDatetime = gmdate('Y-m-d H:i:s');  			} -			if ($bookmarkservice->addBookmark($bAddress, $bTitle, $bDescription, '', $status, $tags, null, $bDatetime, true, true)) -			$tplVars['msg'] = T_('Bookmark imported.'); -			else -			$tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.'); +			$res = $bookmarkservice->addBookmark( +				$bAddress, $bTitle, $bDescription, '', $newstatus, $tags, +				null, $bDatetime, true, true +			); +			if ($res) { +				$tplVars['msg'] = T_('Bookmark imported.'); +			} else { +				$tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.'); +			}  		}  	} +	if (!isset($depth[$parser])) { +		$depth[$parser] = 0; +	}  	$depth[$parser]++;  } | 
