]> gitweb.fluxo.info Git - semanticscuttle.git/commitdiff
Permalink support
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 23 Mar 2018 02:21:49 +0000 (23:21 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 23 Mar 2018 02:21:49 +0000 (23:21 -0300)
data/templates/default/bookmarks.tpl.php
www/permalink.php [new file with mode: 0644]

index 818eea09b5d1e5171e8b5ab6b87da87aa3a08814..20b53361b21bc8c7a4dcb898be40b7a2e986c729 100644 (file)
@@ -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 (file)
index 0000000..d389294
--- /dev/null
@@ -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);
+}
+?>