summaryrefslogtreecommitdiffstatshomepage
path: root/data/templates/bookmarks.tpl.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/templates/bookmarks.tpl.php')
-rw-r--r--data/templates/bookmarks.tpl.php344
1 files changed, 344 insertions, 0 deletions
diff --git a/data/templates/bookmarks.tpl.php b/data/templates/bookmarks.tpl.php
new file mode 100644
index 0000000..2b673b7
--- /dev/null
+++ b/data/templates/bookmarks.tpl.php
@@ -0,0 +1,344 @@
+<?php
+
+/* Service creation: only useful services are created */
+$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');
+$tagservice =& ServiceFactory::getServiceInstance('TagService');
+$cdservice =& ServiceFactory::getServiceInstance('CommonDescriptionService');
+
+
+$pageName = isset($pageName)?$pageName:"";
+$user = isset($user)?$user:"";
+$currenttag = isset($currenttag)?$currenttag:"";
+
+
+$this->includeTemplate($GLOBALS['top_include']);
+
+include('search.inc.php');
+?>
+
+<?php if($pageName == PAGE_INDEX && $GLOBALS['welcomeMessage']):?>
+<p id="welcome"><?php echo $GLOBALS['welcomeMessage'];?></p>
+<?php endif?>
+
+
+<?php if($GLOBALS['enableAdminColors']!=false && isset($userid) && $userservice->isAdmin($userid) && $pageName != PAGE_WATCHLIST) : ?>
+<div style="width:70%;text-align:center;">
+<img src="<?php echo ROOT ?>images/logo_24.gif" width="12px"/> <?php echo T_('Bookmarks on this page are managed by an admin user.'); ?><img src="<?php echo ROOT ?>images/logo_24.gif" width="12px"/>
+</div>
+<?php endif?>
+
+
+<?php
+// common tag description
+if(($currenttag!= '' && $GLOBALS['enableCommonTagDescription'])
+|| (isset($hash) && $GLOBALS['enableCommonBookmarkDescription'])):?>
+
+
+<p class="commondescription"><?php
+$cDescription = '';
+if($currenttag!= '' && $cdservice->getLastTagDescription($currenttag)) {
+ $cDescription = $cdservice->getLastTagDescription($currenttag);
+ echo nl2br(filter($cDescription['cdDescription']));
+} elseif(isset($hash) && $cdservice->getLastBookmarkDescription($hash)) {
+ $cDescription = $cdservice->getLastBookmarkDescription($hash);
+ echo nl2br(filter($cDescription['cdTitle'])). "<br/>";
+ echo nl2br(filter($cDescription['cdDescription'])). "<br/>";
+}
+
+//common tag description edit
+if($userservice->isLoggedOn()) {
+ if($currenttag!= '' && ($GLOBALS['enableCommonTagDescriptionEditedByAll'] || $currentUser->isAdmin())) {
+ echo ' <a href="'. createURL('tagcommondescriptionedit', $currenttag).'" title="'.T_('Edit the common description of this tag').'">';
+ echo !is_array($cDescription) || strlen($cDescription['cdDescription'])==0?T_('Edit the common description of this tag'):'';
+ echo ' <img src="'.ROOT.'images/b_edit.png" /></a>';
+ } elseif(isset($hash)) {
+ echo ' (<a href="'.createURL('bookmarkcommondescriptionedit', $hash).'" title="'.T_('Edit the common description of this bookmark').'">';
+ echo T_('Edit the common description of this bookmark').'</a>)';
+ }
+}
+?></p>
+<?php endif ?>
+
+
+<?php
+/* personal tag description */
+if($currenttag!= '' && $user!='') {
+ $userObject = $userservice->getUserByUsername($user);
+ if($tagservice->getDescription($currenttag, $userObject['uId'])) { ?>
+
+<p class="commondescription"><?php
+$pDescription = $tagservice->getDescription($currenttag, $userObject['uId']);
+echo nl2br(filter($pDescription['tDescription']));
+
+//personal tag description edit
+if($userservice->isLoggedOn()) {
+ if($currenttag!= '') {
+ echo ' <a href="'. createURL('tagedit', $currenttag).'" title="'.T_('Edit your personal description of this tag').'" >';
+ echo strlen($pDescription['tDescription'])==0?T_('Edit your personal description of this tag'):'';
+ echo ' <img src="'.ROOT.'images/b_edit.png" /></a>';
+ }
+}
+?></p>
+
+<?php
+ }
+}
+?>
+
+<?php if (count($bookmarks) > 0) { ?>
+<script type="text/javascript">
+window.onload = playerLoad;
+</script>
+
+<p id="sort"><?php echo $total.' '.T_("bookmark(s)"); ?> - <?php echo T_("Sort by:"); ?>
+<?php
+switch(getSortOrder()) {
+ case 'date_asc':
+ $titleArrow = '';
+ $dateArrow = ' &uarr;';
+ $dateSort = 'date_desc';
+ $titleSort = 'title_asc';
+ break;
+ case 'title_asc':
+ $titleArrow = ' &uarr;';
+ $dateArrow = '';
+ $dateSort = 'date_desc';
+ $titleSort = 'title_desc';
+ break;
+ case 'title_desc':
+ $titleArrow = ' &darr;';
+ $dateArrow = '';
+ $dateSort = 'date_desc';
+ $titleSort = 'title_asc';
+ break;
+ case 'date_desc':
+ default:
+ $titleArrow = '';
+ $dateArrow = ' &darr;';
+ $dateSort = 'date_asc';
+ $titleSort = 'title_asc';
+ break;
+}
+?> <a href="?sort=<?php echo $dateSort ?>"><?php echo T_("Date").$dateArrow; ?></a><span>
+/ </span> <a href="?sort=<?php echo $titleSort ?>"><?php echo T_("Title").$titleArrow; ?></a><span>
+/ </span> <?php
+if($currenttag!= '') {
+ if($user!= '') {
+ echo ' - ';
+ echo '<a href="'. createURL('tags', $currenttag) .'">';
+ echo T_('Bookmarks from other users for this tag').'</a>';
+ //echo T_(' for these tags');
+ } else if($userservice->isLoggedOn()){
+ echo ' - ';
+ echo '<a href="'. createURL('bookmarks', $currentUser->getUsername().'/'.$currenttag) .'">';
+ echo T_('Only your bookmarks for this tag').'</a>';
+ //echo T_(' for these tags');
+ }
+}
+?></p>
+
+<?php
+ // PAGINATION
+
+ // Ordering
+ $sortOrder = '';
+ if (GET_SORT != '') {
+ $sortOrder = 'sort='. GET_SORT;
+ }
+
+ $sortAmp = (($sortOrder) ? '&amp;'. $sortOrder : '');
+ $sortQue = (($sortOrder) ? '?'. $sortOrder : '');
+
+ // Previous
+ $perpage = getPerPageCount($currentUser);
+ if (!$page || $page < 2) {
+ $page = 1;
+ $start = 0;
+ $bfirst = '<span class="disable">'. T_('First') .'</span>';
+ $bprev = '<span class="disable">'. T_('Previous') .'</span>';
+ } else {
+ $prev = $page - 1;
+ $prev = 'page='. $prev;
+ $start = ($page - 1) * $perpage;
+ $bfirst= '<a href="'. sprintf($nav_url, $user, $currenttag, '') . $sortQue .'">'. T_('First') .'</a>';
+ $bprev = '<a href="'. sprintf($nav_url, $user, $currenttag, '?') . $prev . $sortAmp .'">'. T_('Previous') .'</a>';
+ }
+
+ // Next
+ $next = $page + 1;
+ $totalpages = ceil($total / $perpage);
+ if (count($bookmarks) < $perpage || $perpage * $page == $total) {
+ $bnext = '<span class="disable">'. T_('Next') .'</span>';
+ $blast = '<span class="disable">'. T_('Last') ."</span>\n";
+ } else {
+ $bnext = '<a href="'. sprintf($nav_url, $user, $currenttag, '?page=') . $next . $sortAmp .'">'. T_('Next') .'</a>';
+ $blast = '<a href="'. sprintf($nav_url, $user, $currenttag, '?page=') . $totalpages . $sortAmp .'">'. T_('Last') ."</a>\n";
+ }
+
+ // RSS
+ $brss = '';
+ $size = count($rsschannels);
+ for ($i = 0; $i < $size; $i++) {
+ $brss = '<a style="background:#FFFFFF" href="'. $rsschannels[$i][1] .'" title="'. $rsschannels[$i][0] .'"><img src="'. ROOT .'images/rss.gif" width="16" height="16" alt="'. $rsschannels[$i][0] .'" /></a>';
+ }
+
+ $pagesBanner = '<p class="paging">'. $bfirst .'<span> / </span>'. $bprev .'<span> / </span>'. $bnext .'<span> / </span>'. $blast .'<span> / </span>'. sprintf(T_('Page %d of %d'), $page, $totalpages) ." ". $brss ." </p>\n";
+
+ if(getPerPageCount($currentUser) > 10) {
+ echo $pagesBanner; // display a page banner if too many bookmarks to manage
+ }
+
+
+?>
+
+
+
+<ol <?php echo ($start > 0 ? ' start="'. ++$start .'"' : ''); ?>
+ id="bookmarks">
+
+ <?php
+ foreach(array_keys($bookmarks) as $key) {
+ $row =& $bookmarks[$key];
+ switch ($row['bStatus']) {
+ case 0:
+ $access = '';
+ break;
+ case 1:
+ $access = ' shared';
+ break;
+ case 2:
+ $access = ' private';
+ break;
+ }
+
+ $cats = '';
+ $tagsForCopy = '';
+ $tags = $row['tags'];
+ foreach(array_keys($tags) as $key) {
+
+ $tag =& $tags[$key];
+ $cats .= '<a href="'. sprintf($cat_url, filter($row['username'], 'url'), filter($tag, 'url')) .'" rel="tag">'. filter($tag) .'</a>, ';
+ $tagsForCopy.= $tag.',';
+ }
+ $cats = substr($cats, 0, -2);
+ if ($cats != '') {
+ $cats = ' '.T_('Tags:').' '. $cats;
+ }
+
+ // Edit and delete links
+ $edit = '';
+ if ($bookmarkservice->editAllowed($row)) {
+ $edit = ' - <a href="'. createURL('edit', $row['bId']) .'">'. T_('Edit') .'</a><script type="text/javascript">document.write(" - <a href=\"#\" onclick=\"deleteBookmark(this, '. $row['bId'] .'); return false;\">'. T_('Delete') .'<\/a>");</script>';
+ }
+
+ // Last update
+ $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_('you');
+ } else {
+ $copy.= '<a href="'. createURL('bookmarks', $row['username']) .'">'. $row['username'] .'</a>';
+ }
+
+ // Udders!
+ if (!isset($hash)) {
+ $others = $bookmarkservice->countOthers($row['bAddress']);
+ $ostart = '<a href="'. createURL('history', $row['bHash']) .'">';
+ $oend = '</a>';
+ switch ($others) {
+ case 0:
+ break;
+ case 1:
+ $copy .= sprintf(T_(' and %s1 other%s'), $ostart, $oend);
+ break;
+ default:
+ $copy .= sprintf(T_(' and %2$s%1$s others%3$s'), $others, $ostart, $oend);
+ }
+ }
+
+ // Copy link
+ if ($userservice->isLoggedOn()
+ && ($currentUser->getId() != $row['uId'])
+ && !$bookmarkservice->bookmarkExists($row['bAddress'], $currentUser->getId())) {
+ $copy .= ' - <a href="'. createURL('bookmarks', $currentUser->getUsername() .'?action=add&amp;copyOf='. $row['bId']) .'" title="'.T_('Copy this bookmark to YOUR bookmarks.').'">'. T_('Copy') .'</a>';
+ }
+
+ // Nofollow option
+ $rel = '';
+ if ($GLOBALS['nofollow']) {
+ $rel = ' rel="nofollow"';
+ }
+
+ $address = filter($row['bAddress']);
+
+ // Redirection option
+ if ($GLOBALS['useredir']) {
+ $address = $GLOBALS['url_redir'] . $address;
+ }
+
+ // Admin specific design
+ if($userservice->isAdmin($row['uId'])) {
+ $adminBgClass = 'class="adminBackground"';
+ $adminStar = ' <img src="'. ROOT .'images/logo_24.gif" width="12px" title="'. T_('This bookmark is certified by an admin user.') .'" />';
+ } else {
+ $adminBgClass = '';
+ $adminStar = '';
+ }
+
+ // Private Note (just visible by the owner and his/her contacts)
+ if($userservice->isLoggedOn() && ($currentUser->getId() == $row['uId'] || in_array($row['username'], $userservice->getWatchNames($currentUser->getId(), true)))) {
+ $privateNoteField = $row['bPrivateNote'];
+ } else {
+ $privateNoteField = '';
+ }
+
+ // Output
+ echo '<li class="xfolkentry'. $access .'" >'."\n";
+ if ($GLOBALS['enableWebsiteThumbnails']) {
+ $thumbnailHash = md5($address.$GLOBALS['thumbnailsUserId'].$GLOBALS['thumbnailsKey']);
+ //echo '<a href="'. $address .'"'. $rel .' ><img class="thumbnail" src="http://www.artviper.net/screenshots/screener.php?url='.$address.'&w=120&sdx=1280&userID='.$GLOBALS['thumbnailsUserId'].'&hash='.$thumbnailHash.'" />';
+ echo '<img class="thumbnail" onclick="window.location.href=\''.$address.'\'" src="http://www.artviper.net/screenshots/screener.php?url='.$address.'&w=120&sdx=1280&userID='.$GLOBALS['thumbnailsUserId'].'&hash='.$thumbnailHash.'" />';
+ }
+
+ echo '<div '.$adminBgClass.' >';;
+
+ echo '<div class="link"><a href="'. $address .'"'. $rel .' class="taggedlink" target="_blank">'. filter($row['bTitle']) ."</a>" . $adminStar . "</div>\n";
+ if ($row['bDescription'] == '') {
+ $bkDescription = '-';
+ } else {
+ // Improve description display (anchors, links, ...)
+ $bkDescription = preg_replace('|\[\/.*?\]|', '', filter($row['bDescription'])); // remove final anchor
+ $bkDescription = preg_replace('|\[(.*?)\]|', ' <span class="anchorBookmark">$1</span> ยป ', $bkDescription); // highlight starting anchor
+ $bkDescription = preg_replace('@((http|https|ftp)://.*?)( |\r|$)@', '<a href="$1" rel="nofollow">$1</a>$3', $bkDescription); // make url clickable
+
+ }
+ echo '<div class="description">'. nl2br($bkDescription) ."</div>\n";
+ //if(!isset($hash)) {
+ echo '<div class="address">'.shortenString($address).'</div>';
+ //}
+
+ echo '<div class="meta">'. $cats . $copy . $edit . $update ."</div>\n";
+ echo $privateNoteField!=''?'<div class="privateNote" title="'. T_('Private Note on this bookmark') .'">'.$privateNoteField."</div>\n":'';
+ echo '</div>';
+
+ echo "</li>\n";
+ }
+ ?>
+
+</ol>
+
+ <?php
+ 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
+
+
+} else {
+ echo '<p class="error">'.T_('No bookmarks available').'</p>';
+}
+$this->includeTemplate('sidebar.tpl');
+$this->includeTemplate($GLOBALS['bottom_include']);
+?>