diff options
Diffstat (limited to 'templates')
| -rw-r--r-- | templates/sidebar.block.linked.php | 78 | ||||
| -rw-r--r-- | templates/sidebar.block.menu.php | 64 | ||||
| -rw-r--r-- | templates/sidebar.linkedtags.inc.php | 82 | 
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(' ', $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(' ', $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); +} + +?>  | 
