1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
<?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');
$tagstatservice =& ServiceFactory::getServiceInstance('TagStatService');
$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>';
//$output.= ' - '. $tagstatservice->getMaxDepth($tag, $linkType, $uId);
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);
$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 {
if($userid != null) {
$orphewTags = $tag2tagservice->getOrphewTags('>', $userid);
} else {
$orphewTags = $tag2tagservice->getOrphewTags('>', $userid, 4, "nb");
}
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').' ';
//if($userid != null) {
$cUser = $userservice->getUser($userid);
echo '<a href="'.createURL('alltags', $cUser['username']).'">('.T_('plus').')</a>';
//}
?>
</h2>
<div id="linked">
<table>
<?php
if(($logged_on_userid != null) && ($userid === $logged_on_userid)) {
$editingMode = true;
} else {
$editingMode = false;
}
foreach($explodedTags as $explodedTag) {
echo displayLinkedTags($explodedTag, '>', $userid, $cat_url, $user, $editingMode);
}
?>
</table>
</div>
<?php
}
}
?>
|