diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2018-03-22 23:21:49 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2018-03-22 23:21:49 -0300 |
commit | 21650e310ef4064d436ffc8364e9c6ad2c7629fc (patch) | |
tree | 78d84808e9e76331c6337f79c24f98be0a7fbe6d | |
parent | fe7abc66a5aaa0f788053b42557b79488086cafe (diff) | |
download | semanticscuttle-21650e310ef4064d436ffc8364e9c6ad2c7629fc.tar.gz semanticscuttle-21650e310ef4064d436ffc8364e9c6ad2c7629fc.tar.bz2 |
Permalink support
-rw-r--r-- | data/templates/default/bookmarks.tpl.php | 18 | ||||
-rw-r--r-- | www/permalink.php | 122 |
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); +} +?> |