<?php /* Service creation: only useful services are created */ $userservice =& ServiceFactory::getServiceInstance('UserService'); $bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); $tagservice =& ServiceFactory::getServiceInstance('TagService'); $cdservice =& ServiceFactory::getServiceInstance('CommonDescriptionService'); // Momentary useful to go to object code $currentObjectUser = $userservice->getCurrentObjectUser(); $pageName = isset($pageName)?$pageName:""; $user = isset($user)?$user:""; $this->includeTemplate($GLOBALS['top_include']); include('search.inc.php'); ?> <?php if($pageName == PAGE_INDEX):?> <p id="welcome"><?php echo $GLOBALS['welcomeMessage'];?></p> <?php endif?> <?php // common tag description if((isset($currenttag) && $currenttag!= '' && $GLOBALS['enableCommonTagDescription']) || (isset($hash) && $GLOBALS['enableCommonBookmarkDescription'])):?> <p class="commondescription"><?php if(isset($currenttag) && $currenttag!= '' && $cdservice->getLastTagDescription($currenttag)) { $description = $cdservice->getLastTagDescription($currenttag); echo nl2br(filter($description['cdDescription'])); } elseif(isset($hash) && $cdservice->getLastBookmarkDescription($hash)) { $description = $cdservice->getLastBookmarkDescription($hash); echo nl2br(filter($description['cdTitle'])). "<br/>"; echo nl2br(filter($description['cdDescription'])). "<br/>"; } //common tag description edit if($userservice->isLoggedOn()) { if(isset($currenttag) && $currenttag!= '') { echo ' (<a href="'. createURL('tagcommondescriptionedit', $currenttag).'">'; echo T_('edit common description').'</a>)'; } elseif(isset($hash)) { echo ' (<a href="'.createURL('bookmarkcommondescriptionedit', $hash).'">'; echo T_('edit common description').'</a>)'; } } ?></p> <?php endif ?> <?php /* Private tag description */ if(isset($currenttag) && $currenttag!= '' && isset($user)) { $userObject = $userservice->getUserByUsername($user); if($tagservice->getDescription($currenttag, $userObject['uId'])) { ?> <p class="commondescription"><?php $description = $tagservice->getDescription($currenttag, $userObject['uId']); echo nl2br(filter($description['tDescription'])); ?></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 $dateSort = (getSortOrder()=='date_desc')? 'date_asc':'date_desc'; $titleSort = (getSortOrder()=='title_asc')? 'title_desc':'title_asc'; $urlSort = (getSortOrder()=='url_asc')? 'url_desc':'url_asc'; ?> <a href="?sort=<?php echo $dateSort ?>"><?php echo T_("Date"); ?></a><span> / </span> <a href="?sort=<?php echo $titleSort ?>"><?php echo T_("Title"); ?></a><span> / </span> <?php if (!isset($hash)) { ?> <a href="?sort=<?php echo $urlSort ?>"><?php echo T_("URL"); ?></a> <?php } ?> <?php if(isset($currenttag) && $currenttag!= '') { if(isset($user) && $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', $currentObjectUser->getUsername().'/'.$currenttag) .'">'; echo T_('Only your bookmarks for this tag').'</a>'; //echo T_(' for these tags'); } } ?></p> <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_('in').' '. $cats; } // Edit and delete links $edit = ''; if ($bookmarkservice->editAllowed($row['bId'])) { $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>'; } // User attribution $copy = ''; if (!isset($user) || isset($watched)) { $copy = ' '. T_('by') .' <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() && ($currentObjectUser->getId() != $row['uId']) && !$bookmarkservice->bookmarkExists($row['bAddress'], $currentObjectUser->getId())) { $copy .= ' - <a href="'. createURL('bookmarks', $currentObjectUser->getUsername() .'?action=add&address='. urlencode($row['bAddress']) .'&title='. urlencode($row['bTitle'])). '&description='.urlencode($row['bDescription']). '&tags='.$tagsForCopy .'">'. 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; } // 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 '<div>'; echo '<div class="link"><a href="'. $address .'"'. $rel .' class="taggedlink">'. filter($row['bTitle']) ."</a></div>\n"; if ($row['bDescription'] == '') { $row['bDescription'] = '-'; } echo '<div class="description">'. filter($row['bDescription']) ."</div>\n"; if(!isset($hash)) { echo '<div class="address">'.shortenString($address).'</div>'; } echo '<div class="meta">'. date($GLOBALS['shortdate'], strtotime($row['bDatetime'])) . $cats . $copy . $edit ."</div>\n"; echo '</div>'; echo "</li>\n"; } ?> </ol> <?php // PAGINATION // Ordering $sortOrder = ''; if (GET_SORT != '') { $sortOrder = 'sort='. GET_SORT; } $sortAmp = (($sortOrder) ? '&'. $sortOrder : ''); $sortQue = (($sortOrder) ? '?'. $sortOrder : ''); // Previous $perpage = getPerPageCount(); 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>'; } echo '<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"; } else { echo '<p class="error">'.T_('No bookmarks available').'</p>'; } $this->includeTemplate('sidebar.tpl'); $this->includeTemplate($GLOBALS['bottom_include']); ?>