diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-01-09 15:51:35 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-01-09 15:51:35 +0000 |
commit | ef9143907f1ea6600a6c66065f0e18ac42f3535b (patch) | |
tree | 37382b6d5b8df60670cd5efecbcfd388d68d06e8 /templates/sidebar.block.linked.php | |
parent | b1c3fbad478b43080e7506243d3fb77465a599d4 (diff) | |
download | semanticscuttle-ef9143907f1ea6600a6c66065f0e18ac42f3535b.tar.gz semanticscuttle-ef9143907f1ea6600a6c66065f0e18ac42f3535b.tar.bz2 |
Structured tags '>' for each user
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@3 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'templates/sidebar.block.linked.php')
-rw-r--r-- | templates/sidebar.block.linked.php | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/templates/sidebar.block.linked.php b/templates/sidebar.block.linked.php new file mode 100644 index 0000000..23bcb0c --- /dev/null +++ b/templates/sidebar.block.linked.php @@ -0,0 +1,78 @@ +<?php +$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService'); +$userservice =& ServiceFactory::getServiceInstance('UserService'); + +function displayLinkedTags($tag, $linkType, $uId, $cat_url, $user, $editingMode =false, $precedentTag =null, $level=0, $stopList=array()) { + $tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService'); + + $output = ''; + $output.= '<tr>'; + $output.= '<td></td>'; + $output.= '<td>'. str_repeat(' ', $level*2) .'<a href="'. sprintf($cat_url, filter($user, 'url'), filter($tag, 'url')) .'" rel="tag">'. filter($tag) .'</a>'; + if($editingMode) { + $output.= ' ('; + $output.= '<a href="'.createURL('tag2tagadd', $tag).'">add</a>'; + if($precedentTag != null) { + $output.= ' - '; + $output.= '<a href="'.createURL('tag2tagdelete', $precedentTag.'/'.$tag).'">del</a>'; + } + $output.= ')'; + } + $output.= '</td>'; + $output.= '</tr>'; + + if(!in_array($tag, $stopList)) { + $linkedTags = $tag2tagservice->getLinkedTags($tag, '>', $userid, $level); + $precedentTag = $tag; + $stopList[] = $tag; + $level = $level + 1; + foreach($linkedTags as $linkedTag) { + $output.= displayLinkedTags($linkedTag, $linkType, $uId, $cat_url, $user, $editingMode, $precedentTag, $level, $stopList); + } + } + return $output; +} + + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { + $logged_on_userid = NULL; +} + +$explodedTags = array(); +if ($currenttag) { + $explodedTags = explode('+', $currenttag); +} else { + $orphewTags = $tag2tagservice->getOrphewTags('>', $userid); + foreach($orphewTags as $orphewTag) { + $explodedTags[] = $orphewTag['tag']; + } +} + +if(count($explodedTags) > 0) { + $displayLinkedZone = false; + foreach($explodedTags as $explodedTag) { + if($tag2tagservice->getLinkedTags($explodedTag, '>', $userid)) { + $displayLinkedZone = true; + break; + } + } + if ($displayLinkedZone) { +?> + +<h2><?php echo T_('Linked Tags'); ?></h2> +<div id="linked"> + <table> + <?php + $editingMode = ($userid === $logged_on_userid); + foreach($explodedTags as $explodedTag) { + echo displayLinkedTags($explodedTag, '>', $userid, $cat_url, $user, $editingMode); + } + ?> + </table> +</div> + +<?php + } +} +?> |