summaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/sidebar.block.linked.php78
-rw-r--r--templates/sidebar.block.menu.php64
-rw-r--r--templates/sidebar.linkedtags.inc.php82
3 files changed, 148 insertions, 76 deletions
diff --git a/templates/sidebar.block.linked.php b/templates/sidebar.block.linked.php
index d415c27..b534db8 100644
--- a/templates/sidebar.block.linked.php
+++ b/templates/sidebar.block.linked.php
@@ -2,81 +2,7 @@
$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService');
$userservice =& ServiceFactory::getServiceInstance('UserService');
-function displayLinkedTags($tag, $linkType, $uId, $cat_url, $user, $editingMode =false, $precedentTag =null, $level=0, $stopList=array()) {
-
- if(in_array($tag, $stopList)) {
- return array('output' => '', 'stoplist' => $stopList);
- }
-
- $tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService');
- $tagstatservice =& ServiceFactory::getServiceInstance('TagStatService');
-
- // link '>'
- if($level>1) {
- if($editingMode) {
- $link = '<small><a href="'.createURL('tag2tagedit', $precedentTag.'/'.$tag).'" title="'._('Edit link').'">></a> </small>';
- } else {
- $link = '> ';
- }
- }
-
- $output = '';
- $output.= '<tr>';
- $output.= '<td></td>';
- $output.= '<td>';
- $output.= $level == 1?'<b>':'';
- $output.= str_repeat('&nbsp;', $level*2) .$link.'<a href="'. sprintf($cat_url, filter($user, 'url'), filter($tag, 'url')) .'" rel="tag">'. filter($tag) .'</a>';
- $output.= $level == 1?'</b>':'';
- //$output.= ' - '. $tagstatservice->getMaxDepth($tag, $linkType, $uId);
-
- $synonymTags = $tag2tagservice->getAllLinkedTags($tag, '=', $uId);
- $synonymTags = is_array($synonymTags)?$synonymTags:array($synonymTags);
- sort($synonymTags);
- $synonymList = '';
- foreach($synonymTags as $synonymTag) {
- //$output.= ", ".$synonymTag;
- $synonymList.= $synonymTag.' ';
- }
- if(count($synonymTags)>0) {
- $output.= ', '.$synonymTags[0];
- }
- if(count($synonymTags)>1) {
- $output.= '<span title="'.T_('Synonyms:').' '.$synonymList.'">, etc</span>';
- }
-
- /*if($editingMode) {
- $output.= ' (';
- $output.= '<a href="'.createURL('tag2tagadd', $tag).'" title="'._('Add a subtag').'">+</a>';
- if(1) {
- $output.= ' - ';
- $output.= '<a href="'.createURL('tag2tagdelete', $tag).'">-</a>';
- }
- $output.= ')';
- }*/
- $output.= '</td>';
- $output.= '</tr>';
-
- $tags = array($tag);
- $tags = array_merge($tags, $synonymTags);
- foreach($tags as $tag) {
-
- if(!in_array($tag, $stopList)) {
- $linkedTags = $tag2tagservice->getLinkedTags($tag, '>', $uId);
- $precedentTag = $tag;
- $stopList[] = $tag;
- foreach($linkedTags as $linkedTag) {
- $displayLinkedTags = displayLinkedTags($linkedTag, $linkType, $uId, $cat_url, $user, $editingMode, $precedentTag, $level + 1, $stopList);
- $output.= $displayLinkedTags['output'];
- }
- if(is_array($displayLinkedTags['stopList'])) {
- $stopList = array_merge($stopList, $displayLinkedTags['stopList']);
- $stopList = array_unique($stopList);
- }
- }
-
- }
- return array('output' => $output, 'stopList' => $stopList);
-}
+require_once('sidebar.linkedtags.inc.php');
$logged_on_userid = $userservice->getCurrentUserId();
if ($logged_on_userid === false) {
@@ -115,7 +41,7 @@ if(($logged_on_userid != null) && ($userid === $logged_on_userid)) {
echo T_('Linked Tags').' ';
//if($userid != null) {
$cUser = $userservice->getUser($userid);
- echo '<a href="'.createURL('alltags', $cUser['username']).'">('.T_('plus').')</a>';
+ echo '<small><a href="'.createURL('alltags', $cUser['username']).'">('.T_('all tags').')</a></small>';
//}
?>
</h2>
diff --git a/templates/sidebar.block.menu.php b/templates/sidebar.block.menu.php
new file mode 100644
index 0000000..20db5e0
--- /dev/null
+++ b/templates/sidebar.block.menu.php
@@ -0,0 +1,64 @@
+<?php
+$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService');
+$userservice =& ServiceFactory::getServiceInstance('UserService');
+
+require_once('sidebar.linkedtags.inc.php');
+
+$logged_on_userid = $userservice->getCurrentUserId();
+if ($logged_on_userid === false) {
+ $logged_on_userid = NULL;
+}
+
+// editing mode
+if(($logged_on_userid != null) && ($userid === $logged_on_userid)) {
+ $editingMode = true;
+} else {
+ $editingMode = false;
+}
+
+if(strlen($user)==0) {
+ $cat_url = createURL('tags', '%2$s');
+}
+
+$menuTags = $tag2tagservice->getMenuTags($userid);
+if (sizeof($menuTags) > 0) {
+?>
+
+<h2>
+<?php
+ echo '<span title="'.sprintf(T_('Tags included into the tag \'%s\''), $GLOBALS['menuTag']).'">'.T_('Menu Tags').'</span> ';
+ $cUser = $userservice->getUser($userid);
+ echo '<small span title="'.T_('See all tags').'"><a href="'.createURL('alltags', $cUser['username']).'">('.T_('all tags').')</a></small>';
+ //}
+?>
+</h2>
+
+
+<div id="related">
+<table>
+<?php
+ if($editingMode) {
+ echo '<tr><td></td><td>';
+ echo ' (<a href="'. createURL('tag2tagadd','') .'" rel="tag">'.T_('Add new link').'</a>) ';
+ echo ' (<a href="'. createURL('tag2tagdelete','') .'" rel="tag">'.T_('Delete link').'</a>)';
+ echo '</td></tr>';
+ }
+
+ $stopList = array();
+ foreach($menuTags as $menuTag) {
+ $tag = $menuTag['tag'];
+ if(!in_array($tag, $stopList)) {
+ $displayLinkedTags = displayLinkedTags($tag, '>', $userid, $cat_url, $user, $editingMode, null, 1);
+ echo $displayLinkedTags['output'];
+ if(is_array($displayLinkedTags['stopList'])) {
+ $stopList = array_merge($stopList, $displayLinkedTags['stopList']);
+ }
+ }
+ }
+?>
+</table>
+</div>
+
+<?php
+}
+?>
diff --git a/templates/sidebar.linkedtags.inc.php b/templates/sidebar.linkedtags.inc.php
new file mode 100644
index 0000000..95b420a
--- /dev/null
+++ b/templates/sidebar.linkedtags.inc.php
@@ -0,0 +1,82 @@
+<?php
+/*
+To be inserted into blocks where structured tags must be displayed in a tree format.
+*/
+
+function displayLinkedTags($tag, $linkType, $uId, $cat_url, $user, $editingMode =false, $precedentTag =null, $level=0, $stopList=array()) {
+
+ if(in_array($tag, $stopList)) {
+ return array('output' => '', 'stoplist' => $stopList);
+ }
+
+ $tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService');
+ $tagstatservice =& ServiceFactory::getServiceInstance('TagStatService');
+
+ // link '>'
+ if($level>1) {
+ if($editingMode) {
+ $link = '<small><a href="'.createURL('tag2tagedit', $precedentTag.'/'.$tag).'" title="'._('Edit link').'">></a> </small>';
+ } else {
+ $link = '> ';
+ }
+ }
+
+ $output = '';
+ $output.= '<tr>';
+ $output.= '<td></td>';
+ $output.= '<td>';
+ $output.= $level == 1?'<b>':'';
+ $output.= str_repeat('&nbsp;', $level*2) .$link.'<a href="'. sprintf($cat_url, filter($user, 'url'), filter($tag, 'url')) .'" rel="tag">'. filter($tag) .'</a>';
+ $output.= $level == 1?'</b>':'';
+ //$output.= ' - '. $tagstatservice->getMaxDepth($tag, $linkType, $uId);
+
+ $synonymTags = $tag2tagservice->getAllLinkedTags($tag, '=', $uId);
+ $synonymTags = is_array($synonymTags)?$synonymTags:array($synonymTags);
+ sort($synonymTags);
+ $synonymList = '';
+ foreach($synonymTags as $synonymTag) {
+ //$output.= ", ".$synonymTag;
+ $synonymList.= $synonymTag.' ';
+ }
+ if(count($synonymTags)>0) {
+ $output.= ', '.$synonymTags[0];
+ }
+ if(count($synonymTags)>1) {
+ $output.= '<span title="'.T_('Synonyms:').' '.$synonymList.'">, etc</span>';
+ }
+
+ /*if($editingMode) {
+ $output.= ' (';
+ $output.= '<a href="'.createURL('tag2tagadd', $tag).'" title="'._('Add a subtag').'">+</a>';
+ if(1) {
+ $output.= ' - ';
+ $output.= '<a href="'.createURL('tag2tagdelete', $tag).'">-</a>';
+ }
+ $output.= ')';
+ }*/
+ $output.= '</td>';
+ $output.= '</tr>';
+
+ $tags = array($tag);
+ $tags = array_merge($tags, $synonymTags);
+ foreach($tags as $tag) {
+
+ if(!in_array($tag, $stopList)) {
+ $linkedTags = $tag2tagservice->getLinkedTags($tag, '>', $uId);
+ $precedentTag = $tag;
+ $stopList[] = $tag;
+ foreach($linkedTags as $linkedTag) {
+ $displayLinkedTags = displayLinkedTags($linkedTag, $linkType, $uId, $cat_url, $user, $editingMode, $precedentTag, $level + 1, $stopList);
+ $output.= $displayLinkedTags['output'];
+ }
+ if(is_array($displayLinkedTags['stopList'])) {
+ $stopList = array_merge($stopList, $displayLinkedTags['stopList']);
+ $stopList = array_unique($stopList);
+ }
+ }
+
+ }
+ return array('output' => $output, 'stopList' => $stopList);
+}
+
+?>