Interface design: improve navigation between tags (clickable >)
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@71 b3834d28-1941-0410-a4f8-b48e95affb8f
This commit is contained in:
parent
0bc299ae6c
commit
1ed53ed341
3 changed files with 147 additions and 6 deletions
63
tag2tagedit.php
Normal file
63
tag2tagedit.php
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<?php
|
||||||
|
/***************************************************************************
|
||||||
|
Copyright (C) 2006 Scuttle project
|
||||||
|
http://sourceforge.net/projects/scuttle/
|
||||||
|
http://scuttle.org/
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
require_once('header.inc.php');
|
||||||
|
$tag2tagservice = & ServiceFactory :: getServiceInstance('Tag2TagService');
|
||||||
|
$templateservice = & ServiceFactory :: getServiceInstance('TemplateService');
|
||||||
|
$userservice = & ServiceFactory :: getServiceInstance('UserService');
|
||||||
|
|
||||||
|
$logged_on_user = $userservice->getCurrentUser();
|
||||||
|
|
||||||
|
//permissions
|
||||||
|
if($logged_on_user == null) {
|
||||||
|
$tplVars['error'] = T_('Permission denied.');
|
||||||
|
$templateservice->loadTemplate('error.500.tpl', $tplVars);
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
list ($url, $tag1, $tag2) = explode('/', $_SERVER['PATH_INFO']);
|
||||||
|
|
||||||
|
if ($_POST['confirm']) {
|
||||||
|
$tag = $_POST['tag1'];
|
||||||
|
$linkType = $_POST['linkType'];
|
||||||
|
$newTag = $_POST['tag2'];
|
||||||
|
if ($tag2tagservice->removeLinkedTags($_POST['tag1'], $_POST['tag2'], $linkType, $userservice->getCurrentUserId())) {
|
||||||
|
$tplVars['msg'] = T_('Tag link deleted');
|
||||||
|
header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')]));
|
||||||
|
} else {
|
||||||
|
$tplVars['error'] = T_('Failed to delete the link');
|
||||||
|
$templateservice->loadTemplate('error.500.tpl', $tplVars);
|
||||||
|
exit();
|
||||||
|
}
|
||||||
|
} elseif ($_POST['cancel']) {
|
||||||
|
header('Location: '. createURL('bookmarks', $logged_on_user[$userservice->getFieldName('username')] .'/'. $tags));
|
||||||
|
}
|
||||||
|
|
||||||
|
$tplVars['links'] = $tag2tagservice->getLinks($userservice->getCurrentUserId());
|
||||||
|
|
||||||
|
$tplVars['tag1'] = $tag1;
|
||||||
|
$tplVars['tag2'] = $tag2;
|
||||||
|
$tplVars['subtitle'] = T_('Edit Link Between Tags') .': '. $tag1.' > '.$tag2;
|
||||||
|
$tplVars['formaddaction'] = createUrl('tag2tagadd');
|
||||||
|
$tplVars['formdeleteaction'] = createUrl('tag2tagdelete');
|
||||||
|
$tplVars['referrer'] = $_SERVER['HTTP_REFERER'];
|
||||||
|
$templateservice->loadTemplate('tag2tagedit.tpl', $tplVars);
|
||||||
|
?>
|
|
@ -11,12 +11,17 @@ function displayLinkedTags($tag, $linkType, $uId, $cat_url, $user, $editingMode
|
||||||
$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService');
|
$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService');
|
||||||
$tagstatservice =& ServiceFactory::getServiceInstance('TagStatService');
|
$tagstatservice =& ServiceFactory::getServiceInstance('TagStatService');
|
||||||
|
|
||||||
|
// link '>'
|
||||||
|
if($level>1) {
|
||||||
|
$link = '<small><a href="'.createURL('tag2tagedit', $precedentTag.'/'.$tag).'" title="'._('Edit link').'">></a> </small>';
|
||||||
|
}
|
||||||
|
|
||||||
$output = '';
|
$output = '';
|
||||||
$output.= '<tr>';
|
$output.= '<tr>';
|
||||||
$output.= '<td></td>';
|
$output.= '<td></td>';
|
||||||
$output.= '<td>';
|
$output.= '<td>';
|
||||||
$output.= $level == 1?'<b>':'';
|
$output.= $level == 1?'<b>':'';
|
||||||
$output.= str_repeat(' ', $level*2) .'<a href="'. sprintf($cat_url, filter($user, 'url'), filter($tag, 'url')) .'" rel="tag">'. filter($tag) .'</a>';
|
$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.= $level == 1?'</b>':'';
|
||||||
//$output.= ' - '. $tagstatservice->getMaxDepth($tag, $linkType, $uId);
|
//$output.= ' - '. $tagstatservice->getMaxDepth($tag, $linkType, $uId);
|
||||||
|
|
||||||
|
@ -35,15 +40,15 @@ function displayLinkedTags($tag, $linkType, $uId, $cat_url, $user, $editingMode
|
||||||
$output.= '<span title="'.T_('Synonyms:').' '.$synonymList.'">, etc</span>';
|
$output.= '<span title="'.T_('Synonyms:').' '.$synonymList.'">, etc</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if($editingMode) {
|
/*if($editingMode) {
|
||||||
$output.= ' (';
|
$output.= ' (';
|
||||||
$output.= '<a href="'.createURL('tag2tagadd', $tag).'">add</a>';
|
$output.= '<a href="'.createURL('tag2tagadd', $tag).'" title="'._('Add a subtag').'">+</a>';
|
||||||
if($precedentTag != null) {
|
if(1) {
|
||||||
$output.= ' - ';
|
$output.= ' - ';
|
||||||
$output.= '<a href="'.createURL('tag2tagdelete', $precedentTag.'/'.$tag).'">del</a>';
|
$output.= '<a href="'.createURL('tag2tagdelete', $tag).'">-</a>';
|
||||||
}
|
}
|
||||||
$output.= ')';
|
$output.= ')';
|
||||||
}
|
}*/
|
||||||
$output.= '</td>';
|
$output.= '</td>';
|
||||||
$output.= '</tr>';
|
$output.= '</tr>';
|
||||||
|
|
||||||
|
|
73
templates/tag2tagedit.tpl.php
Normal file
73
templates/tag2tagedit.tpl.php
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<?php
|
||||||
|
$this->includeTemplate($GLOBALS['top_include']);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<form action="<?= $formaddaction ?>" method="post">
|
||||||
|
<p><?php echo T_('Create new link')?></p>
|
||||||
|
<p>
|
||||||
|
<input type="text" name="tag1" value="<?php echo $tag1 ?>"/>
|
||||||
|
<input type="text" name="linkType" value=">" size="1" maxlength="1"/>
|
||||||
|
<input type="text" name="tag2" />
|
||||||
|
</p>
|
||||||
|
<!--p><?php echo T_('Are you sure?'); ?></p-->
|
||||||
|
<p>
|
||||||
|
<input type="submit" name="confirm" value="<?php echo T_('Create'); ?>" />
|
||||||
|
<input type="submit" name="cancel" value="<?php echo T_('Cancel'); ?>" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<?php if (isset($referrer)): ?>
|
||||||
|
<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<form action="<?= $formdeleteaction ?>" method="post">
|
||||||
|
<p><?php echo T_('Delete the link')?></p>
|
||||||
|
<!--input type="hidden" name="tag1" value="<?php echo $tag1 ?>" />
|
||||||
|
<input type="hidden" name="tag2" value="<?php echo $tag2 ?>" /-->
|
||||||
|
<p>
|
||||||
|
<input type="text" name="tag1" value="<?php echo $tag1 ?>"/>
|
||||||
|
<input type="text" name="linkType" value=">" size="1" maxlength="1"/>
|
||||||
|
<input type="text" name="tag2" value="<?php echo $tag2 ?>"/>
|
||||||
|
</p>
|
||||||
|
<p><?php echo T_('Are you sure?'); ?></p>
|
||||||
|
<p>
|
||||||
|
<input type="submit" name="confirm" value="<?php echo T_('Yes'); ?>" />
|
||||||
|
<input type="submit" name="cancel" value="<?php echo T_('No'); ?>" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<?php if (isset($referrer)): ?>
|
||||||
|
<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div>
|
||||||
|
<?php endif; ?>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<?php
|
||||||
|
if(count($links)>0) {
|
||||||
|
echo T_("Existing links:");
|
||||||
|
foreach($links as $link) {
|
||||||
|
echo '<span style="white-space:nowrap;margin-left:25px;">';
|
||||||
|
if($link['tag1'] == $tag1 || $link['tag1'] == $tag2) {
|
||||||
|
$textTag1 = '<b>'.$tag1.'</b>';
|
||||||
|
} else {
|
||||||
|
$textTag1 = $link['tag1'];
|
||||||
|
}
|
||||||
|
if($link['tag2'] == $tag1 || $link['tag2'] == $tag2) {
|
||||||
|
$textTag2 = '<b>'.$tag2.'</b>';
|
||||||
|
} else {
|
||||||
|
$textTag2 = $link['tag2'];
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $textTag1.' '.$link['relationType'].' '.$textTag2;
|
||||||
|
echo "</span> ";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo T_('No links');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->includeTemplate($GLOBALS['bottom_include']);
|
||||||
|
?>
|
Loading…
Reference in a new issue