diff options
| -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); +} +?>  | 
