diff options
Diffstat (limited to 'data/templates/bookmarks.tpl.php')
-rw-r--r-- | data/templates/bookmarks.tpl.php | 344 |
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 = ' ↑'; + $dateSort = 'date_desc'; + $titleSort = 'title_asc'; + break; + case 'title_asc': + $titleArrow = ' ↑'; + $dateArrow = ''; + $dateSort = 'date_desc'; + $titleSort = 'title_desc'; + break; + case 'title_desc': + $titleArrow = ' ↓'; + $dateArrow = ''; + $dateSort = 'date_desc'; + $titleSort = 'title_asc'; + break; + case 'date_desc': + default: + $titleArrow = ''; + $dateArrow = ' ↓'; + $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) ? '&'. $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&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']); +?> |