From 3e9e2154a6ec7e4a1ab34b16f9e7ab9ea5c7f109 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Tue, 15 Mar 2011 07:59:03 +0100 Subject: Fix bug #3187177: Wrong URL / Export XML Bookmarks --- doc/ChangeLog | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/ChangeLog b/doc/ChangeLog index acfce25..6144a81 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -8,6 +8,7 @@ ChangeLog for SemantiScuttle - Implement patch #3059829: update FR_CA translation - Update php-gettext library to 1.0.10 - api/posts/add respects the "replace" parameter now +- Fix bug #3187177: Wrong URL / Export XML Bookmarks 0.97.2 - 2011-02-17 -- cgit v1.2.3-54-g00ecf From 82ada0d75f249733936a0826b115b20cba0657ab Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Tue, 15 Mar 2011 19:13:14 +0100 Subject: Implement request #3054906: Show user's full name instead of nickname --- .../bookmarkcommondescriptionedit.tpl.php | 3 +- data/templates/bookmarks.tpl.php | 3 +- data/templates/sidebar.block.users.php | 2 +- data/templates/tagcommondescriptionedit.tpl.php | 3 +- data/templates/users.tpl.php | 9 ++++- doc/ChangeLog | 5 +-- src/SemanticScuttle/Model/UserArray.php | 41 ++++++++++++++++++++++ src/SemanticScuttle/Service/Bookmark.php | 3 +- src/SemanticScuttle/header.php | 1 + www/rss.php | 2 +- 10 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 src/SemanticScuttle/Model/UserArray.php (limited to 'doc') diff --git a/data/templates/bookmarkcommondescriptionedit.tpl.php b/data/templates/bookmarkcommondescriptionedit.tpl.php index af5909a..807c58b 100644 --- a/data/templates/bookmarkcommondescriptionedit.tpl.php +++ b/data/templates/bookmarkcommondescriptionedit.tpl.php @@ -30,7 +30,8 @@ window.onload = function() { if(strlen($description['cdDatetime'])>0) { echo T_('Last modification:').' '.$description['cdDatetime'].', '; $lastUser = $userservice->getUser($description['uId']); - echo ''.$lastUser['username'].''; + echo '' + . SemanticScuttle_Model_UserArray::getName($lastUser) . ''; } ?> diff --git a/data/templates/bookmarks.tpl.php b/data/templates/bookmarks.tpl.php index e32d3c9..c404358 100644 --- a/data/templates/bookmarks.tpl.php +++ b/data/templates/bookmarks.tpl.php @@ -309,7 +309,8 @@ if ($currenttag!= '') { $copy .= T_('you'); } else { $copy .= '' - . $row['username'] . ''; + . SemanticScuttle_Model_UserArray::getName($row) + . ''; } // Udders! diff --git a/data/templates/sidebar.block.users.php b/data/templates/sidebar.block.users.php index 3ad18bc..826871e 100644 --- a/data/templates/sidebar.block.users.php +++ b/data/templates/sidebar.block.users.php @@ -18,7 +18,7 @@ if ($lastUsers && count($lastUsers) > 0) { foreach ($lastUsers as $row) { echo ''; echo ''; - echo $row['username']; + echo SemanticScuttle_Model_UserArray::getName($row); echo ''; echo ' ('.T_('bookmarks').')'; echo ''; diff --git a/data/templates/tagcommondescriptionedit.tpl.php b/data/templates/tagcommondescriptionedit.tpl.php index d3a006a..f938f93 100644 --- a/data/templates/tagcommondescriptionedit.tpl.php +++ b/data/templates/tagcommondescriptionedit.tpl.php @@ -20,7 +20,8 @@ window.onload = function() { if(strlen($description['cdDatetime'])>0) { echo T_('Last modification:').' '.$description['cdDatetime'].', '; $lastUser = $userservice->getUser($description['uId']); - echo ''.$lastUser['username'].''; + echo '' + . SemanticScuttle_Model_UserArray::getName($lastUser) . ''; } ?> diff --git a/data/templates/users.tpl.php b/data/templates/users.tpl.php index c209f94..fa92bef 100644 --- a/data/templates/users.tpl.php +++ b/data/templates/users.tpl.php @@ -14,7 +14,14 @@ if ($users && count($users) > 0) { '.$row['username'].' ('.T_('profile').' '.T_('created in').' '.date('M Y',strtotime($row['uDatetime'])).') : '.T_('bookmarks').''; + echo '
  • ' + . SemanticScuttle_Model_UserArray::getName($row) . '' + . ' (' + . T_('profile') . ' ' + . T_('created in') . ' ' + . date('M Y', strtotime($row['uDatetime'])) . ')' + . ' : ' + . T_('bookmarks') . '
  • '; } ?> diff --git a/doc/ChangeLog b/doc/ChangeLog index 6144a81..4c93a9a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -3,12 +3,13 @@ ChangeLog for SemantiScuttle 0.9X.X - 2010-XX-XX ------------------- +- Fix bug #3187177: Wrong URL / Export XML Bookmarks - Fix bug in getTagsForBookmarks() that fetched all tags -- Show error message on mysqli connection errors +- Implement request #3054906: Show user's full name instead of nickname - Implement patch #3059829: update FR_CA translation +- Show error message on mysqli connection errors - Update php-gettext library to 1.0.10 - api/posts/add respects the "replace" parameter now -- Fix bug #3187177: Wrong URL / Export XML Bookmarks 0.97.2 - 2011-02-17 diff --git a/src/SemanticScuttle/Model/UserArray.php b/src/SemanticScuttle/Model/UserArray.php new file mode 100644 index 0000000..a0d9c9b --- /dev/null +++ b/src/SemanticScuttle/Model/UserArray.php @@ -0,0 +1,41 @@ + + * @license GPL http://www.gnu.org/licenses/gpl.html + * @link http://sourceforge.net/projects/semanticscuttle + */ + +/** + * Mostly static methods that help working with a user row array from database. + * + * @category Bookmarking + * @package SemanticScuttle + * @author Christian Weiske + * @license GPL http://www.gnu.org/licenses/gpl.html + * @link http://sourceforge.net/projects/semanticscuttle + */ +class SemanticScuttle_Model_UserArray +{ + /** + * Returns full user name as specified in the profile if it is set, + * otherwise the nickname/loginname is returned. + * + * @param array $row User row array from database + * + * @return string Full name or username + */ + public static function getName($row) + { + if (isset($row['name']) && $row['name']) { + return $row['name']; + } + return $row['username']; + } +} +?> \ No newline at end of file diff --git a/src/SemanticScuttle/Service/Bookmark.php b/src/SemanticScuttle/Service/Bookmark.php index 6f8a172..a30ad5f 100644 --- a/src/SemanticScuttle/Service/Bookmark.php +++ b/src/SemanticScuttle/Service/Bookmark.php @@ -734,7 +734,8 @@ class SemanticScuttle_Service_Bookmark extends SemanticScuttle_DbService if (SQL_LAYER == 'mysql4') { $query_1 .= 'SQL_CALC_FOUND_ROWS '; } - $query_1 .= 'B.*, U.'. $userservice->getFieldName('username'); + $query_1 .= 'B.*, U.'. $userservice->getFieldName('username') + . ', U.name'; $query_2 = ' FROM '. $userservice->getTableName() .' AS U' . ', '. $this->getTableName() .' AS B'; diff --git a/src/SemanticScuttle/header.php b/src/SemanticScuttle/header.php index d1a5c29..4fecb8f 100644 --- a/src/SemanticScuttle/header.php +++ b/src/SemanticScuttle/header.php @@ -68,6 +68,7 @@ require_once 'SemanticScuttle/Service.php'; require_once 'SemanticScuttle/DbService.php'; require_once 'SemanticScuttle/Service/Factory.php'; require_once 'SemanticScuttle/functions.php'; +require_once 'SemanticScuttle/Model/UserArray.php'; if (count($GLOBALS['serviceoverrides']) > 0 && !defined('UNIT_TEST_MODE') diff --git a/www/rss.php b/www/rss.php index 6dcfb4c..298d9ba 100644 --- a/www/rss.php +++ b/www/rss.php @@ -116,7 +116,7 @@ foreach ($bookmarks_tmp as $key => $row) { 'title' => $row['bTitle'], 'link' => $_link, 'description' => $row['bDescription'], - 'creator' => $row['username'], + 'creator' => SemanticScuttle_Model_UserArray::getName($row), 'pubdate' => $_pubdate, 'tags' => $row['tags'] ); -- cgit v1.2.3-54-g00ecf From e1370d949c48b98261f63bc2048b09c1c8648244 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Thu, 24 Mar 2011 19:09:19 +0100 Subject: update changelog --- doc/ChangeLog | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/ChangeLog b/doc/ChangeLog index 4c93a9a..aff6dc3 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -10,6 +10,7 @@ ChangeLog for SemantiScuttle - Show error message on mysqli connection errors - Update php-gettext library to 1.0.10 - api/posts/add respects the "replace" parameter now +- Fix privacy issue when fetching tags of several users 0.97.2 - 2011-02-17 -- cgit v1.2.3-54-g00ecf From 28460d52cb556b1172fdcb5cb4c1cc15a13960a7 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Mon, 4 Apr 2011 22:26:00 +0200 Subject: end user docs todo --- doc/README.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/README.txt b/doc/README.txt index 97387d2..a7f9b66 100644 --- a/doc/README.txt +++ b/doc/README.txt @@ -89,3 +89,13 @@ Number of bookmarks always 0: "0 bookmark(s)" This issue occurs when debug mode is enabled. Technically, this is because the database layers DEBUG_EXTRA gets enabled through debug mode. + + + +End user docs +------------- +Unfortunately, there are no real end user docs yet. +Here is a list of interesting things: +- Bookmarklets: Text selection is used as description +- Tag nesting: Paris > France > World +- Tag alias: Deutschland = Germany -- cgit v1.2.3-54-g00ecf From 599ac400f2e54c4a7041059eef545bf5f2efb3d7 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Tue, 5 Apr 2011 19:05:31 +0200 Subject: update changelog with jquery merge --- doc/ChangeLog | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/ChangeLog b/doc/ChangeLog index aff6dc3..273e84b 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,8 +1,9 @@ ChangeLog for SemantiScuttle ============================ -0.9X.X - 2010-XX-XX +0.98.0 - 2011-XX-XX ------------------- +- Switch to jQuery and drop dojo - Fix bug #3187177: Wrong URL / Export XML Bookmarks - Fix bug in getTagsForBookmarks() that fetched all tags - Implement request #3054906: Show user's full name instead of nickname -- cgit v1.2.3-54-g00ecf From 12c77161aca2c7d76fa5154fa1f4e214106d834b Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Wed, 6 Apr 2011 19:03:52 +0200 Subject: move doc-todo to doc-todo file --- doc/README.txt | 10 ---------- doc/developers/doc-TODO | 5 +++++ 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/README.txt b/doc/README.txt index a7f9b66..97387d2 100644 --- a/doc/README.txt +++ b/doc/README.txt @@ -89,13 +89,3 @@ Number of bookmarks always 0: "0 bookmark(s)" This issue occurs when debug mode is enabled. Technically, this is because the database layers DEBUG_EXTRA gets enabled through debug mode. - - - -End user docs -------------- -Unfortunately, there are no real end user docs yet. -Here is a list of interesting things: -- Bookmarklets: Text selection is used as description -- Tag nesting: Paris > France > World -- Tag alias: Deutschland = Germany diff --git a/doc/developers/doc-TODO b/doc/developers/doc-TODO index 69f6907..4fac4ab 100644 --- a/doc/developers/doc-TODO +++ b/doc/developers/doc-TODO @@ -1,3 +1,8 @@ +- Bookmarklets: Text selection is used as description +- Tag nesting: Paris > France > World +- Tag alias: Deutschland = Germany + + - Which fields are searched? title, description, private note, username, tags -- cgit v1.2.3-54-g00ecf From a25838b267f76c027318df268797842b52d6ecea Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Fri, 15 Apr 2011 07:55:06 +0200 Subject: Fix bug #3097187: Using opensearch with two tags does not work in Firefox --- doc/ChangeLog | 1 + tests/www/searchTest.php | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ www/search.php | 10 +++++---- 3 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 tests/www/searchTest.php (limited to 'doc') diff --git a/doc/ChangeLog b/doc/ChangeLog index 273e84b..a7374e2 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -6,6 +6,7 @@ ChangeLog for SemantiScuttle - Switch to jQuery and drop dojo - Fix bug #3187177: Wrong URL / Export XML Bookmarks - Fix bug in getTagsForBookmarks() that fetched all tags +- Fix bug #3097187: Using opensearch with two tags does not work in Firefox - Implement request #3054906: Show user's full name instead of nickname - Implement patch #3059829: update FR_CA translation - Show error message on mysqli connection errors diff --git a/tests/www/searchTest.php b/tests/www/searchTest.php new file mode 100644 index 0000000..81eb2cc --- /dev/null +++ b/tests/www/searchTest.php @@ -0,0 +1,53 @@ +addBookmark(null, null, 0, null, 'unittest foo bar'); + $res = $this->getRequest('/all/foo+bar')->send(); + $this->assertSelectCount( + '.xfolkentry', true, $res->getBody(), + 'No bookmark found' + ); + + $res = $this->getRequest('/all/baz+bat')->send(); + $this->assertSelectCount( + '.xfolkentry', false, $res->getBody(), + 'Bookmarks found' + ); + } + + + /** + * Some browsers using opensearch do "rawurlencode" on the terms, + * for example Opera. Multiple terms separated with space + * appear as "foo%20bar" in the URL. + */ + public function testMultipleTermsRawUrlEncoded() + { + $this->addBookmark(null, null, 0, null, 'unittest foo bar'); + $res = $this->getRequest('/all/foo bar')->send(); + $this->assertSelectCount( + '.xfolkentry', true, $res->getBody(), + 'No bookmark found' + ); + + $res = $this->getRequest('/all/baz bat')->send(); + $this->assertSelectCount( + '.xfolkentry', false, $res->getBody(), + 'Bookmarks found' + ); + } + +} + +?> \ No newline at end of file diff --git a/www/search.php b/www/search.php index 3cff550..a5c13e3 100644 --- a/www/search.php +++ b/www/search.php @@ -40,8 +40,8 @@ if (POST_TERMS != '') { } /* Service creation: only useful services are created */ -$bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); -$searchhistoryservice =SemanticScuttle_Service_Factory::get('SearchHistory'); +$bookmarkservice = SemanticScuttle_Service_Factory::get('Bookmark'); +$searchhistoryservice = SemanticScuttle_Service_Factory::get('SearchHistory'); /* Managing current logged user */ $currentUserId = $userservice->getCurrentUserId(); @@ -53,11 +53,13 @@ if(count($exploded) == 4) { list($url, $range, $terms, $page) = $exploded; } else if (count($exploded) == 2) { list($url, $range) = $exploded; - $terms = $page= NULL; + $terms = $page = NULL; } else { list($url, $range, $terms) = $exploded; - $page= NULL; + $page = NULL; } +//some OpenSearch clients need that +$terms = urldecode($terms); $tplVars['loadjs'] = true; -- cgit v1.2.3-54-g00ecf