summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2018-03-22 23:21:49 -0300
committerSilvio Rhatto <rhatto@riseup.net>2018-03-22 23:21:49 -0300
commit21650e310ef4064d436ffc8364e9c6ad2c7629fc (patch)
tree78d84808e9e76331c6337f79c24f98be0a7fbe6d
parentfe7abc66a5aaa0f788053b42557b79488086cafe (diff)
downloadsemanticscuttle-21650e310ef4064d436ffc8364e9c6ad2c7629fc.tar.gz
semanticscuttle-21650e310ef4064d436ffc8364e9c6ad2c7629fc.tar.bz2
Permalink support
-rw-r--r--data/templates/default/bookmarks.tpl.php18
-rw-r--r--www/permalink.php122
2 files changed, 137 insertions, 3 deletions
diff --git a/data/templates/default/bookmarks.tpl.php b/data/templates/default/bookmarks.tpl.php
index 818eea0..20b5336 100644
--- a/data/templates/default/bookmarks.tpl.php
+++ b/data/templates/default/bookmarks.tpl.php
@@ -112,6 +112,7 @@ if($userservice->isLoggedOn()) {
window.onload = playerLoad;
</script>
+<?php if (count($bookmarks) > 1) { ?>
<p id="sort"><?php echo $total.' '.T_("bookmark(s)"); ?> - <?php echo T_("Sort by:"); ?>
<?php
$titleArrow = '';
@@ -162,6 +163,7 @@ default:
<a href="?sort=<?php echo $votingSort ?>"><?php echo T_("Voting").$votingArrow; ?></a>
<span>/</span>
<?php } ?>
+<?php } ?>
<?php
if ($currenttag!= '') {
@@ -275,6 +277,12 @@ if ($currenttag!= '') {
break;
}
+ // Add username in case bookmark was loaded using getBookmark()
+ if (!isset($row['username']) && isset($row['uId'])) {
+ $userinfo = $userservice->getObjectUser($row['uId']);
+ $row['username'] = $userinfo->username;
+ }
+
$cats = '';
$tagsForCopy = '';
$tags = $row['tags'];
@@ -310,12 +318,13 @@ if ($currenttag!= '') {
$update = ' <small title="'. T_('Last update') .'">('. date($GLOBALS['shortdate'], strtotime($row['bModified'])). ') </small>';
// User attribution
- $copy = ' ' . T_('by') . ' ';
if ($userservice->isLoggedOn()
&& $currentUser->getUsername() == $row['username']
) {
+ $copy = ' ' . T_('by') . ' ';
$copy .= T_('you');
- } else {
+ } else if (isset($row['username'])) {
+ $copy = ' ' . T_('by') . ' ';
$copy .= '<a href="' . createURL('bookmarks', $row['username']) . '">'
. SemanticScuttle_Model_UserArray::getName($row)
. '</a>';
@@ -506,6 +515,7 @@ if ($currenttag!= '') {
. $edit . "\n"
. $update . "\n"
. $cacheLink ."\n"
+ . ' | <a href="/permalink/'. $row['bId'] . '">Permalink</a>' ."\n"
. " </div>\n";
echo $privateNoteField != ''
? ' <div class="privateNote" title="'. T_('Private Note on this bookmark') .'">'.$privateNoteField."</div>\n"
@@ -524,8 +534,10 @@ if ($currenttag!= '') {
if(getPerPageCount($currentUser)>7) {
echo '<p class="backToTop"><a href="#header" title="'.T_('Come back to the top of this page.').'">'.T_('Top of the page').'</a></p>';
}
- echo $pagesBanner; // display previous and next links pages + RSS link
+ if (isset($bookmarks) && count($bookmarks) > 1) {
+ echo $pagesBanner; // display previous and next links pages + RSS link
+ }
} else {
echo '<p class="error">'.T_('No bookmarks available').'</p>';
diff --git a/www/permalink.php b/www/permalink.php
new file mode 100644
index 0000000..d389294
--- /dev/null
+++ b/www/permalink.php
@@ -0,0 +1,122 @@
+<?php
+/***************************************************************************
+ Copyright (C) 2004 - 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 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
+ ***************************************************************************/
+
+require_once 'www-header.php';
+
+/* Service creation: only useful services are created */
+$bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark');
+$cacheservice =SemanticScuttle_Service_Factory::get('Cache');
+
+/* Managing all possible inputs */
+isset($_GET['action']) ? define('GET_ACTION', $_GET['action']): define('GET_ACTION', '');
+isset($_GET['page']) ? define('GET_PAGE', $_GET['page']): define('GET_PAGE', 0);
+isset($_GET['sort']) ? define('GET_SORT', $_GET['sort']): define('GET_SORT', '');
+
+
+// Logout action
+if (GET_ACTION == "logout") {
+ $userservice->logout();
+ $tplVars['currentUser'] = null;
+ $tplvars['msg'] = T_('You have now logged out');
+}
+
+
+// Header variables
+$tplVars['loadjs'] = true;
+$tplVars['rsschannels'] = array(
+ array(
+ sprintf(T_('%s: Recent bookmarks'), $sitename),
+ createURL('rss') . '?sort=' . getSortOrder()
+ )
+);
+
+if ($userservice->isLoggedOn()) {
+ if ($userservice->isPrivateKeyValid($currentUser->getPrivateKey())) {
+ $currentUsername = $currentUser->getUsername();
+ array_push(
+ $tplVars['rsschannels'],
+ array(
+ sprintf(
+ T_('%s: Recent bookmarks (+private %s)'),
+ $sitename, $currentUsername
+ ),
+ createURL('rss')
+ . '?sort=' . getSortOrder()
+ . '&privateKey=' . $currentUser->getPrivateKey()
+ )
+ );
+ }
+}
+
+if ($usecache) {
+ // Generate hash for caching on
+ $hashtext = $_SERVER['REQUEST_URI'];
+ if ($userservice->isLoggedOn()) {
+ $hashtext .= $userservice->getCurrentUserID();
+ }
+ $hash = md5($hashtext);
+
+ // Cache for 15 minutes
+ $cacheservice->Start($hash, 900);
+}
+
+// Pagination
+$perpage = getPerPageCount($currentUser);
+if (intval(GET_PAGE) > 1) {
+ $page = intval(GET_PAGE);
+ $start = ($page - 1) * $perpage;
+} else {
+ $page = 0;
+ $start = 0;
+}
+
+$tplVars['page'] = $page;
+$tplVars['start'] = $start;
+$tplVars['popCount'] = 30;
+$tplVars['sidebar_blocks'] = $GLOBALS["index_sidebar_blocks"];
+$tplVars['range'] = 'all';
+$tplVars['pagetitle'] = T_('Store, share and tag your favourite links');
+$tplVars['subtitle'] = T_('All Bookmarks');
+$tplVars['bookmarkCount'] = $start + 1;
+
+//$bookmarks = $bookmarkservice->getBookmarks($start, $perpage, NULL, NULL, NULL, getSortOrder(), NULL, 0, NULL);
+list ($url, $bid) = explode('/', $_SERVER['PATH_INFO']);
+$bookmark = $bookmarkservice->getBookmark($bid, TRUE);
+$bookmarks = array('bookmarks' => array($bookmark));
+$tplVars['pagetitle'] = $bookmark['bTitle'];
+
+$tplVars['total'] = $bookmarks['total'];
+$tplVars['bookmarks'] = $bookmarks['bookmarks'];
+$tplVars['cat_url'] = createURL('bookmarks', '%1$s/%2$s');
+//$tplVars['cat_url'] = createURL('tags', '%2$s');
+$tplVars['nav_url'] = createURL('index', '%3$s');
+$tplVars['summarizeLinkedTags'] = true;
+$tplVars['pageName'] = PAGE_BOOKMARKS;
+$tplVars['user'] = '';
+$tplVars['currenttag'] = '';
+
+$templateservice->loadTemplate('bookmarks.tpl', $tplVars);
+
+if ($usecache) {
+ // Cache output if existing copy has expired
+ $cacheservice->End($hash);
+}
+?>