2007-12-12 17:29:16 +01:00
< ? php
/***************************************************************************
2008-11-25 16:57:29 +01:00
Copyright ( C ) 2004 - 2006 Scuttle project
http :// sourceforge . net / projects / scuttle /
http :// scuttle . org /
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
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 .
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
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 .
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
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
***************************************************************************/
2007-12-12 17:29:16 +01:00
require_once ( 'header.inc.php' );
2008-11-25 16:57:29 +01:00
/* Service creation: only useful services are created */
2007-12-12 17:29:16 +01:00
$bookmarkservice =& ServiceFactory :: getServiceInstance ( 'BookmarkService' );
$cacheservice =& ServiceFactory :: getServiceInstance ( 'CacheService' );
2008-11-25 16:57:29 +01:00
/* Managing all possible inputs */
isset ( $_GET [ 'page' ]) ? define ( 'GET_PAGE' , $_GET [ 'page' ]) : define ( 'GET_PAGE' , 0 );
isset ( $_GET [ 'sort' ]) ? define ( 'GET_SORT' , $_GET [ 'sort' ]) : define ( 'GET_SORT' , '' );
/* Managing current logged user */
$currentUser = $userservice -> getCurrentObjectUser ();
2007-12-12 17:29:16 +01:00
2008-11-25 16:57:29 +01:00
/* Managing path info */
2007-12-12 17:29:16 +01:00
list ( $url , $cat ) = explode ( '/' , $_SERVER [ 'PATH_INFO' ]);
2008-11-25 16:57:29 +01:00
2007-12-12 17:29:16 +01:00
if ( ! $cat ) {
2008-11-25 16:57:29 +01:00
header ( 'Location: ' . createURL ( 'populartags' ));
exit ;
2007-12-12 17:29:16 +01:00
}
2008-12-18 23:11:03 +01:00
$titleTags = explode ( '+' , filter ( $cat ));
$pagetitle = T_ ( 'Tags' ) . ': ' ;
for ( $i = 0 ; $i < count ( $titleTags ); $i ++ ) {
$pagetitle .= $titleTags [ $i ] . '<a href="' . createUrl ( 'tags' , aggregateTags ( $titleTags , '+' , $titleTags [ $i ])) . '" title="' . T_ ( 'Remove the tag from the selection' ) . '">*</a> + ' ;
}
$pagetitle = substr ( $pagetitle , 0 , strlen ( $pagetitle ) - strlen ( ' + ' ));
//$cattitle = str_replace('+', ' + ', $cat);
2007-12-12 17:29:16 +01:00
if ( $usecache ) {
2008-11-25 16:57:29 +01:00
// Generate hash for caching on
if ( $userservice -> isLoggedOn ()) {
$hash = md5 ( $_SERVER [ 'REQUEST_URI' ] . $currentUser -> getId ());
} else {
$hash = md5 ( $_SERVER [ 'REQUEST_URI' ]);
}
// Cache for 30 minutes
$cacheservice -> Start ( $hash , 1800 );
2007-12-12 17:29:16 +01:00
}
// Header variables
2008-12-18 23:11:03 +01:00
//$tplVars['pagetitle'] = $pagetitle;
$tplVars [ 'pagetitle' ] = '' ;
2007-12-12 17:29:16 +01:00
$tplVars [ 'loadjs' ] = true ;
$tplVars [ 'rsschannels' ] = array (
2008-11-25 16:57:29 +01:00
array ( filter ( $sitename . ': ' . $pagetitle ), createURL ( 'rss' , 'all/' . filter ( $cat , 'url' )) . '?sort=' . getSortOrder ())
2007-12-12 17:29:16 +01:00
);
// Pagination
$perpage = getPerPageCount ();
2008-11-25 16:57:29 +01:00
if ( intval ( GET_PAGE ) > 1 ) {
$page = GET_PAGE ;
$start = ( $page - 1 ) * $perpage ;
2007-12-12 17:29:16 +01:00
} else {
2008-11-25 16:57:29 +01:00
$page = 0 ;
$start = 0 ;
2007-12-12 17:29:16 +01:00
}
$tplVars [ 'page' ] = $page ;
$tplVars [ 'start' ] = $start ;
$tplVars [ 'popCount' ] = 25 ;
$tplVars [ 'currenttag' ] = $cat ;
2008-01-11 10:34:32 +01:00
$tplVars [ 'sidebar_blocks' ] = array ( 'linked' , 'related' , 'popular' );
2008-12-18 23:11:03 +01:00
$tplVars [ 'subtitle' ] = $pagetitle ;
2007-12-12 17:29:16 +01:00
$tplVars [ 'bookmarkCount' ] = $start + 1 ;
$bookmarks =& $bookmarkservice -> getBookmarks ( $start , $perpage , NULL , $cat , NULL , getSortOrder ());
$tplVars [ 'total' ] = $bookmarks [ 'total' ];
$tplVars [ 'bookmarks' ] =& $bookmarks [ 'bookmarks' ];
2008-02-20 14:43:06 +01:00
$tplVars [ 'cat_url' ] = createURL ( 'bookmarks' , '%1$s/%2$s' );
2007-12-12 17:29:16 +01:00
$tplVars [ 'nav_url' ] = createURL ( 'tags' , '%2$s%3$s' );
$templateservice -> loadTemplate ( 'bookmarks.tpl' , $tplVars );
if ( $usecache ) {
2008-11-25 16:57:29 +01:00
// Cache output if existing copy has expired
$cacheservice -> End ( $hash );
2007-12-12 17:29:16 +01:00
}
2008-12-18 23:11:03 +01:00
2007-12-12 17:29:16 +01:00
?>