diff options
Diffstat (limited to 'data/templates')
44 files changed, 2463 insertions, 0 deletions
| diff --git a/data/templates/about.tpl.php b/data/templates/about.tpl.php new file mode 100644 index 0000000..4a93d75 --- /dev/null +++ b/data/templates/about.tpl.php @@ -0,0 +1,34 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<ul> +<li><?php echo T_('<strong>Store</strong> all your favourite links in one place, accessible from anywhere.'); ?></li> +<li><?php echo T_('<strong>Share</strong> your bookmarks with everyone, with friends on your watchlist or just keep them private.') ;?></li> +<li><?php echo T_('<strong>Tag</strong> your bookmarks with as many labels as you want, instead of wrestling with folders.'); ?></li> +<li><?php echo sprintf('<strong><a href="'.createURL('register').'">'.T_('Register now').'</a> </strong>'.T_(' to start using %s!'), $GLOBALS['sitename']); ?></li> +</ul> + +<h3><?php echo T_('Geek Stuff'); ?></h3> +<ul> +<li><a href="http://sourceforge.net/projects/semanticscuttle/">Semantic Scuttle</a> <?php echo T_('is licensed under the ');?> <a href="http://www.gnu.org/copyleft/gpl.html"><acronym title="GNU\'s Not Unix">GNU</acronym> General Public License</a> (<?php echo T_('you can freely host it on your own web server.'); ?>)</li> +<li><?php echo sprintf(T_('%1$s supports most of the <a href="http://del.icio.us/doc/api">del.icio.us <abbr title="Application Programming Interface">API</abbr></a>. Almost all of the neat tools made for that system can be modified to work with %1$s instead. If you find a tool that won\'t let you change the API address, ask the creator to add this setting. You never know, they might just do it.'), $GLOBALS['sitename']); ?></li> + + + +<?php if(!is_null($currentUser) && $currentUser->isAdmin()): ?> +<li>SemanticScuttle v0.94</li> +<?php endif ?> +</ul> + +<h3><?php echo T_('Tips'); ?></h3> +<ul> +<li><?php echo T_('Add search plugin into your browser:'); ?> <a href="#" onclick="window.external.AddSearchProvider('<?php echo ROOT?>api/opensearch.php');">opensearch</a></li> +<li><?php echo T_('The secret tag "system:unfiled" allows you to find bookmarks without tags.'); ?></li> +<li><?php echo T_('The secret tag "system:imported" allows you to find imported bookmarks.'); ?></li> +</ul> + + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/admin.tpl.php b/data/templates/admin.tpl.php new file mode 100644 index 0000000..c8d47e8 --- /dev/null +++ b/data/templates/admin.tpl.php @@ -0,0 +1,35 @@ +<?php
 +
 +$this->includeTemplate($GLOBALS['top_include']); + +echo '<h3>'.T_('Users management').'</h3>'; +
 +echo '<ol id="bookmarks">';
 + +foreach($users as $user) {
 +	echo '<li class="xfolkentry">'."\n";
 +
 +	echo '<div class="link">';
 +	echo '<a href="'.createURL('profile', $user->getUsername()).'">'.$user->getUsername().'</a>'; +	echo ' - <span title='. T_('Public/Shared/Private') .'>'. $user->getNbBookmarks('public') .' / '. $user->getNbBookmarks('shared') .' / '. $user->getNbBookmarks('private') .' '. T_('bookmark(s)') .'</span>';
 +	echo '</div>';
 + +	if($user->getUsername() != $currentUser->getUsername()) {
 +	    echo '<div class="meta">';
 +	    echo '<a href="'.createURL('admin','delete/'.$user->getUsername()).'" onclick="return confirm(\''.T_('Are you sure?').'\');">'.T_('Delete').'</a>';
 +	    echo '</div>'; +	}
 +
 +	echo '</li>'."\n";
 +} +echo '</ol>'; +?> +<h3><?php echo T_('Other actions')?></h3> +<p> +<a href="<?php echo createURL('admin','checkUrl/') ?>"> <?php echo T_('Check all URLs (May take some time)')  ?></a> +</p> +<?php
 +$this->includeTemplate('sidebar.tpl');
 +$this->includeTemplate($GLOBALS['bottom_include']);
 +
 +?>
 diff --git a/data/templates/bookmarkcommondescriptionedit.tpl.php b/data/templates/bookmarkcommondescriptionedit.tpl.php new file mode 100644 index 0000000..af5909a --- /dev/null +++ b/data/templates/bookmarkcommondescriptionedit.tpl.php @@ -0,0 +1,57 @@ +<?php + +$this->includeTemplate($GLOBALS['top_include']); + +list ($url, $hash) = explode('/', $_SERVER['PATH_INFO']); + + +?> +<script type="text/javascript"> +window.onload = function() { +    document.getElementById("title").focus(); +} +</script> + +<form action="<?php echo $formaction; ?>" method="post"> +<table title="<?php echo T_('Collaborative description: these fields can be viewed and modified by every users') ?>"> +<tr> +    <th align="left"><?php echo T_('Title'); ?></th> +    <td><input type="text" id="title" name="title" size="75" maxlength="255" value="<?php echo $description['cdTitle']; ?>" onkeypress="this.style.backgroundImage = 'none';" /></td> +    <td></td> +</tr> +<tr> +    <th align="left"><?php echo T_('Description'); ?></th> +    <td><textarea name="description" cols="75" rows="10"><?php echo $description['cdDescription']; ?></textarea></td> +</tr> +<tr> +    <td></td> +    <td> + 	<?php +	if(strlen($description['cdDatetime'])>0) { +	   echo T_('Last modification:').' '.$description['cdDatetime'].', '; +	   $lastUser = $userservice->getUser($description['uId']); +	   echo  '<a href="'.createURL('profile', $lastUser['username']).'">'.$lastUser['username'].'</a>'; +	} +	?> +    </td> +    <td></td> +</tr> +<tr> +    <td></td> +    <td> +    <input type="submit" name="confirm" value="<?php echo T_('Update'); ?>" /> +    <input type="submit" name="cancel" value="<?php echo T_('Cancel'); ?>" /> +    </td> +    <td></td> +</tr> +</table> + +<?php if (isset($referrer)): ?> +<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div> +<?php endif; ?> +<div><input type="hidden" name="hash" value="<?php echo $hash; ?>" /></div> +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']);  +?> diff --git a/data/templates/bookmarks.tpl.php b/data/templates/bookmarks.tpl.php new file mode 100644 index 0000000..2b673b7 --- /dev/null +++ b/data/templates/bookmarks.tpl.php @@ -0,0 +1,344 @@ +<?php + +/* Service creation: only useful services are created */ +$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); +$tagservice =& ServiceFactory::getServiceInstance('TagService'); +$cdservice =& ServiceFactory::getServiceInstance('CommonDescriptionService'); + + +$pageName = isset($pageName)?$pageName:""; +$user = isset($user)?$user:""; +$currenttag = isset($currenttag)?$currenttag:""; + + +$this->includeTemplate($GLOBALS['top_include']); + +include('search.inc.php'); +?> + +<?php if($pageName == PAGE_INDEX && $GLOBALS['welcomeMessage']):?> +<p id="welcome"><?php echo $GLOBALS['welcomeMessage'];?></p> +<?php endif?> + + +<?php if($GLOBALS['enableAdminColors']!=false && isset($userid) && $userservice->isAdmin($userid) && $pageName != PAGE_WATCHLIST) : ?> +<div style="width:70%;text-align:center;"> +<img src="<?php echo ROOT ?>images/logo_24.gif" width="12px"/> <?php echo T_('Bookmarks on this page are managed by an admin user.'); ?><img src="<?php echo ROOT ?>images/logo_24.gif" width="12px"/> +</div> +<?php endif?> + + +<?php +// common tag description +if(($currenttag!= '' && $GLOBALS['enableCommonTagDescription']) +|| (isset($hash) && $GLOBALS['enableCommonBookmarkDescription'])):?> + + +<p class="commondescription"><?php +$cDescription = ''; +if($currenttag!= '' && $cdservice->getLastTagDescription($currenttag)) { +	$cDescription = $cdservice->getLastTagDescription($currenttag); +	echo nl2br(filter($cDescription['cdDescription'])); +} elseif(isset($hash) && $cdservice->getLastBookmarkDescription($hash)) { +	$cDescription = $cdservice->getLastBookmarkDescription($hash); +	echo nl2br(filter($cDescription['cdTitle'])). "<br/>"; +	echo nl2br(filter($cDescription['cdDescription'])). "<br/>"; +} + +//common tag description edit +if($userservice->isLoggedOn()) { +	if($currenttag!= '' && ($GLOBALS['enableCommonTagDescriptionEditedByAll'] || $currentUser->isAdmin())) { +		echo ' <a href="'. createURL('tagcommondescriptionedit', $currenttag).'" title="'.T_('Edit the common description of this tag').'">'; +		echo !is_array($cDescription) || strlen($cDescription['cdDescription'])==0?T_('Edit the common description of this tag'):''; +		echo ' <img src="'.ROOT.'images/b_edit.png" /></a>'; +	} elseif(isset($hash)) { +		echo ' (<a href="'.createURL('bookmarkcommondescriptionedit', $hash).'" title="'.T_('Edit the common description of this bookmark').'">'; +		echo T_('Edit the common description of this bookmark').'</a>)'; +	} +} +?></p> +<?php endif ?> + + +<?php +/* personal tag description */ +if($currenttag!= '' && $user!='') { +	$userObject = $userservice->getUserByUsername($user); +	if($tagservice->getDescription($currenttag, $userObject['uId'])) { ?> + +<p class="commondescription"><?php +$pDescription = $tagservice->getDescription($currenttag, $userObject['uId']); +echo nl2br(filter($pDescription['tDescription'])); + +//personal tag description edit +if($userservice->isLoggedOn()) { +	if($currenttag!= '') { +		echo ' <a href="'. createURL('tagedit', $currenttag).'" title="'.T_('Edit your personal description of this tag').'" >'; +		echo strlen($pDescription['tDescription'])==0?T_('Edit your personal description of this tag'):''; +		echo ' <img src="'.ROOT.'images/b_edit.png" /></a>'; +	} +} +?></p> + +<?php +	} +} +?> + +<?php if (count($bookmarks) > 0) { ?> +<script type="text/javascript"> +window.onload = playerLoad; +</script> + +<p id="sort"><?php echo $total.' '.T_("bookmark(s)"); ?> - <?php echo T_("Sort by:"); ?> +<?php +switch(getSortOrder()) { +	case 'date_asc': +	$titleArrow = ''; +	$dateArrow = ' ↑'; +	$dateSort = 'date_desc'; +	$titleSort = 'title_asc'; +	break; +	case 'title_asc': +	$titleArrow = ' ↑'; +	$dateArrow = ''; +	$dateSort = 'date_desc'; +	$titleSort = 'title_desc';	 +	break; +	case 'title_desc': +	$titleArrow = ' ↓'; +	$dateArrow = ''; +	$dateSort = 'date_desc'; +	$titleSort = 'title_asc'; +	break; +	case 'date_desc': +	default: +	$titleArrow = ''; +	$dateArrow = ' ↓'; +	$dateSort = 'date_asc'; +	$titleSort = 'title_asc'; +	break; +} +?> <a href="?sort=<?php echo $dateSort ?>"><?php echo T_("Date").$dateArrow; ?></a><span> +/ </span> <a href="?sort=<?php echo $titleSort ?>"><?php echo T_("Title").$titleArrow; ?></a><span> +/ </span> <?php +if($currenttag!= '') { +	if($user!= '') { +		echo ' - '; +		echo '<a href="'. createURL('tags', $currenttag) .'">'; +		echo T_('Bookmarks from other users for this tag').'</a>'; +		//echo T_(' for these tags'); +	} else if($userservice->isLoggedOn()){ +		echo ' - '; +		echo '<a href="'. createURL('bookmarks', $currentUser->getUsername().'/'.$currenttag) .'">'; +		echo T_('Only your bookmarks for this tag').'</a>'; +		//echo T_(' for these tags'); +	} +} +?></p> + +<?php +	// PAGINATION + +	// Ordering +	$sortOrder = ''; +	if (GET_SORT != '') { +		$sortOrder = 'sort='. GET_SORT; +	} + +	$sortAmp = (($sortOrder) ? '&'. $sortOrder : ''); +	$sortQue = (($sortOrder) ? '?'. $sortOrder : ''); + +	// Previous +	$perpage = getPerPageCount($currentUser); +	if (!$page || $page < 2) { +		$page = 1; +		$start = 0; +		$bfirst = '<span class="disable">'. T_('First') .'</span>'; +		$bprev = '<span class="disable">'. T_('Previous') .'</span>'; +	} else { +		$prev = $page - 1; +		$prev = 'page='. $prev; +		$start = ($page - 1) * $perpage; +		$bfirst= '<a href="'. sprintf($nav_url, $user, $currenttag, '') . $sortQue .'">'. T_('First') .'</a>'; +		$bprev = '<a href="'. sprintf($nav_url, $user, $currenttag, '?') . $prev . $sortAmp .'">'. T_('Previous') .'</a>'; +	} + +	// Next +	$next = $page + 1; +	$totalpages = ceil($total / $perpage); +	if (count($bookmarks) < $perpage || $perpage * $page == $total) { +		$bnext = '<span class="disable">'. T_('Next') .'</span>'; +		$blast = '<span class="disable">'. T_('Last') ."</span>\n"; +	} else { +		$bnext = '<a href="'. sprintf($nav_url, $user, $currenttag, '?page=') . $next . $sortAmp .'">'. T_('Next') .'</a>'; +		$blast = '<a href="'. sprintf($nav_url, $user, $currenttag, '?page=') . $totalpages . $sortAmp .'">'. T_('Last') ."</a>\n"; +	} + +	// RSS +	$brss = ''; +	$size = count($rsschannels); +	for ($i = 0; $i < $size; $i++) { +		$brss =  '<a style="background:#FFFFFF" href="'. $rsschannels[$i][1] .'" title="'. $rsschannels[$i][0] .'"><img src="'. ROOT .'images/rss.gif" width="16" height="16" alt="'. $rsschannels[$i][0] .'" /></a>'; +	} + +	$pagesBanner = '<p class="paging">'. $bfirst .'<span> / </span>'. $bprev .'<span> / </span>'. $bnext .'<span> / </span>'. $blast .'<span> / </span>'. sprintf(T_('Page %d of %d'), $page, $totalpages) ." ". $brss ." </p>\n"; +	 +	if(getPerPageCount($currentUser) > 10) { +		echo $pagesBanner; // display a page banner if too many bookmarks to manage +	}  + + +?> + + + +<ol <?php echo ($start > 0 ? ' start="'. ++$start .'"' : ''); ?> +	id="bookmarks"> + +	<?php +	foreach(array_keys($bookmarks) as $key) { +		$row =& $bookmarks[$key]; +		switch ($row['bStatus']) { +			case 0: +				$access = ''; +				break; +			case 1: +				$access = ' shared'; +				break; +			case 2: +				$access = ' private'; +				break; +		} + +		$cats = ''; +		$tagsForCopy = ''; +		$tags = $row['tags']; +		foreach(array_keys($tags) as $key) { + +			$tag =& $tags[$key]; +			$cats .= '<a href="'. sprintf($cat_url, filter($row['username'], 'url'), filter($tag, 'url')) .'" rel="tag">'. filter($tag) .'</a>, '; +			$tagsForCopy.= $tag.','; +		} +		$cats = substr($cats, 0, -2); +		if ($cats != '') { +			$cats = ' '.T_('Tags:').' '. $cats; +		} + +		// Edit and delete links +		$edit = ''; +		if ($bookmarkservice->editAllowed($row)) { +			$edit = ' - <a href="'. createURL('edit', $row['bId']) .'">'. T_('Edit') .'</a><script type="text/javascript">document.write(" - <a href=\"#\" onclick=\"deleteBookmark(this, '. $row['bId'] .'); return false;\">'. T_('Delete') .'<\/a>");</script>'; +		} +		 +		// Last update +		$update = ' <small title="'. T_('Last update') .'">('. date($GLOBALS['shortdate'], strtotime($row['bModified'])). ') </small>'; + +		// User attribution +		$copy = ' '. T_('by'). ' '; +		if($userservice->isLoggedOn() && $currentUser->getUsername() ==  $row['username']) { +			$copy.= T_('you');			 +		} else { +			$copy.= '<a href="'. createURL('bookmarks', $row['username']) .'">'. $row['username'] .'</a>'; +		} + +		// Udders! +		if (!isset($hash)) { +			$others = $bookmarkservice->countOthers($row['bAddress']); +			$ostart = '<a href="'. createURL('history', $row['bHash']) .'">'; +			$oend = '</a>'; +			switch ($others) { +				case 0: +					break; +				case 1: +					$copy .= sprintf(T_(' and %s1 other%s'), $ostart, $oend); +					break; +				default: +					$copy .= sprintf(T_(' and %2$s%1$s others%3$s'), $others, $ostart, $oend); +			} +		} + +		// Copy link +		if ($userservice->isLoggedOn() +		&& ($currentUser->getId() != $row['uId']) +		&& !$bookmarkservice->bookmarkExists($row['bAddress'], $currentUser->getId())) { +			$copy .= ' - <a href="'. createURL('bookmarks', $currentUser->getUsername() .'?action=add&copyOf='. $row['bId']) .'" title="'.T_('Copy this bookmark to YOUR bookmarks.').'">'. T_('Copy') .'</a>'; +		} + +		// Nofollow option +		$rel = ''; +		if ($GLOBALS['nofollow']) { +			$rel = ' rel="nofollow"'; +		} + +		$address = filter($row['bAddress']); + +		// Redirection option +		if ($GLOBALS['useredir']) { +			$address = $GLOBALS['url_redir'] . $address; +		} +		 +		// Admin specific design +		if($userservice->isAdmin($row['uId'])) { +			$adminBgClass = 'class="adminBackground"'; +			$adminStar = ' <img src="'. ROOT .'images/logo_24.gif" width="12px" title="'. T_('This bookmark is certified by an admin user.') .'" />'; +		} else { +			$adminBgClass = ''; +			$adminStar = ''; +		} +		 +		// Private Note (just visible by the owner and his/her contacts) +		if($userservice->isLoggedOn() && ($currentUser->getId() == $row['uId'] || in_array($row['username'], $userservice->getWatchNames($currentUser->getId(), true)))) { +			$privateNoteField = $row['bPrivateNote']; +		} else { +			$privateNoteField = ''; +		} +		 +		// Output +		echo '<li class="xfolkentry'. $access .'" >'."\n"; +		if ($GLOBALS['enableWebsiteThumbnails']) { +			$thumbnailHash = md5($address.$GLOBALS['thumbnailsUserId'].$GLOBALS['thumbnailsKey']); +			//echo '<a href="'. $address .'"'. $rel .' ><img class="thumbnail" src="http://www.artviper.net/screenshots/screener.php?url='.$address.'&w=120&sdx=1280&userID='.$GLOBALS['thumbnailsUserId'].'&hash='.$thumbnailHash.'" />'; +			echo '<img class="thumbnail" onclick="window.location.href=\''.$address.'\'" src="http://www.artviper.net/screenshots/screener.php?url='.$address.'&w=120&sdx=1280&userID='.$GLOBALS['thumbnailsUserId'].'&hash='.$thumbnailHash.'" />'; +		} +		 +		echo '<div '.$adminBgClass.' >';; + +		echo '<div class="link"><a href="'. $address .'"'. $rel .' class="taggedlink" target="_blank">'. filter($row['bTitle']) ."</a>" . $adminStar . "</div>\n"; +		if ($row['bDescription'] == '') { +			$bkDescription = '-'; +		} else { +			// Improve description display (anchors, links, ...) +			$bkDescription = preg_replace('|\[\/.*?\]|', '', filter($row['bDescription'])); // remove final anchor +			$bkDescription = preg_replace('|\[(.*?)\]|', ' <span class="anchorBookmark">$1</span> » ', $bkDescription); // highlight starting anchor +			$bkDescription = preg_replace('@((http|https|ftp)://.*?)( |\r|$)@', '<a href="$1" rel="nofollow">$1</a>$3', $bkDescription); // make url clickable +			 +		} +		echo '<div class="description">'. nl2br($bkDescription) ."</div>\n"; +		//if(!isset($hash)) { +			echo '<div class="address">'.shortenString($address).'</div>'; +		//} + +		echo '<div class="meta">'.  $cats . $copy . $edit . $update ."</div>\n"; +		echo $privateNoteField!=''?'<div class="privateNote" title="'. T_('Private Note on this bookmark') .'">'.$privateNoteField."</div>\n":''; +		echo '</div>'; + +		echo "</li>\n"; +	} +	?> + +</ol> + +	<?php +	if(getPerPageCount($currentUser)>7) {	 +		echo '<p class="backToTop"><a href="#header" title="'.T_('Come back to the top of this page.').'">'.T_('Top of the page').'</a></p>'; +	} +	echo $pagesBanner;  // display previous and next links pages + RSS link +	 + +} else { +	echo '<p class="error">'.T_('No bookmarks available').'</p>'; +} +$this->includeTemplate('sidebar.tpl'); +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/bottom.inc.php b/data/templates/bottom.inc.php new file mode 100644 index 0000000..a1b65bf --- /dev/null +++ b/data/templates/bottom.inc.php @@ -0,0 +1,34 @@ +<!--following code is generated by templates/bottom.inc.php--> +<div id="bottom"> +<?php echo $GLOBALS['footerMessage'].' ';?> +<?php +echo '<a href="'.createURL('about').'">'.T_('About').'</a>'; +echo ' - '; +echo T_("Propulsed by "); +echo "<a href=\"https://sourceforge.net/projects/semanticscuttle/\">SemanticScuttle</a>"; + +if($GLOBALS['enableWebsiteThumbnails']) { +	// Licence to the thumbnails provider (OBLIGATORY IF YOU USE ARTVIPER SERVICE) +	echo " (<a href=\"http://www.artviper.net\" title=\"artViper designstudio\">thumbnails by artViper designstudio</a>)"; +} +?> + +</div> + + +<?php if(isset($GLOBALS['googleAnalyticsCode']) && $GLOBALS['googleAnalyticsCode']!= ''):?> + +<script type="text/javascript"> +var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); +document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); +</script> +<script type="text/javascript"> +try { +var pageTracker = _gat._getTracker("<?php echo $GLOBALS['googleAnalyticsCode']?>"); +pageTracker._trackPageview(); +} catch(err) {}</script> + +<?php endif;?> + +</body> +</html> diff --git a/data/templates/dojo.inc.php b/data/templates/dojo.inc.php new file mode 100644 index 0000000..16b22c6 --- /dev/null +++ b/data/templates/dojo.inc.php @@ -0,0 +1,35 @@ +<?php +/*************************************************************************** + Copyright (C) 2005 - 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 + ***************************************************************************/ + +?> + +<?php if (isset($loadjs)) :?> +<script type="text/javascript" +	src="http://ajax.googleapis.com/ajax/libs/dojo/1.2/dojo/dojo.xd.js" +	djConfig="parseOnLoad:true, isDebug:<?php echo DEBUG_MODE?'true':'false' ?>, usePlainJson:true, baseUrl: '<?php echo ROOT ?>', modulePaths: {'js': 'includes/js'}"></script> +  +<script type="text/javascript"> +dojo.require("dojo.parser"); +dojo.require("dojo.data.ItemFileReadStore"); +dojo.require("js.MultiComboBox");  // DOJO module adapted for SemanticScuttle +dojo.require("dijit.Tree"); +</script> +<?php endif ?>
\ No newline at end of file diff --git a/data/templates/dynamictags.inc.php b/data/templates/dynamictags.inc.php new file mode 100644 index 0000000..c6b0d16 --- /dev/null +++ b/data/templates/dynamictags.inc.php @@ -0,0 +1,141 @@ +<?php +/*************************************************************************** + Copyright (C) 2005 - 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 + ***************************************************************************/ + +/* Service creation: only useful services are created */ +$b2tservice = & ServiceFactory :: getServiceInstance('Bookmark2TagService'); + +$logged_on_userid = $userservice->getCurrentUserId(); + +//tags from current user +$userPopularTags        =& $b2tservice->getPopularTags($logged_on_userid, 25, $logged_on_userid); +$userPopularTagsCloud   =& $b2tservice->tagCloud($userPopularTags, 5, 90, 175); +$userPopularTagsCount   = count($userPopularTags); + +//tags from all users +$allPopularTags        =& $b2tservice->getPopularTags(null, 5, $logged_on_userid); +$allPopularTagsCloud   =& $b2tservice->tagCloud($allPopularTags, 5, 90, 175); +$allPopularTagsCount   = count($allPopularTags); + + +// function printing the cloud +function writeTagsProposition($tagsCloud, $title) { +	echo 'document.write(\'<div class="collapsible">\');'; +	echo 'document.write(\'<h3>'. $title .'<\/h3>\');'; +	echo 'document.write(\'<p id="popularTags" class="tags">\');'; +	 +	$taglist = ''; +	foreach(array_keys($tagsCloud) as $key) { +	    $row =& $tagsCloud[$key]; +	    $entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); +	    $taglist .= '<span title="'. $row['bCount'] .' '. $entries .'" style="font-size:'. $row['size'] .'" onclick="addTag(this)">'. filter($row['tag']) .'<\/span> '; +	} + +	echo 'document.write(\''. $taglist .'\');'; +	echo 'document.write(\'<\/p>\');'; +	echo 'document.write(\'<\/div>\');'; +	 +} + + +if ($allPopularTagsCount > 0 || $userPopularTagsCount > 0 ) { ?> + +<script type="text/javascript"> +Array.prototype.contains = function (ele) { +    for (var i = 0; i < this.length; i++) { +        if (this[i] == ele) { +            return true; +        } +    } +    return false; +}; + +Array.prototype.remove = function (ele) { +    var arr = new Array(); +    var count = 0; +    for (var i = 0; i < this.length; i++) { +        if (this[i] != ele) { +            arr[count] = this[i]; +            count++; +        } +    } +    return arr; +}; + +function addonload(addition) { +    //var existing = window.onload; +    window.onload = function () { +        //existing(); +        addition(); +    } +} + +addonload( +    function () { +        var taglist = document.getElementById('tags'); +        var tags = taglist.value.split(', '); +         +        var populartags = document.getElementById('popularTags').getElementsByTagName('span'); +         +        for (var i = 0; i < populartags.length; i++) { +            if (tags.contains(populartags[i].innerHTML)) { +                populartags[i].className = 'selected'; +            } +        } +    } +); + +function addTag(ele) { +    var thisTag = ele.innerHTML; +    var taglist = document.getElementById('tags'); +    var tags = taglist.value.split(', '); +     +    // If tag is already listed, remove it +    if (tags.contains(thisTag)) { +        tags = tags.remove(thisTag); +        ele.className = 'unselected'; +         +    // Otherwise add it +    } else { +        tags.splice(0, 0, thisTag); +        ele.className = 'selected'; +    } +     +    taglist.value = tags.join(', '); +     +    document.getElementById('tags').focus(); +} + +<?php +if( $userPopularTagsCount > 0) { +	writeTagsProposition($userPopularTagsCloud, T_('Popular Tags')); +} +if( $allPopularTagsCount > 0) { +	writeTagsProposition($allPopularTagsCloud, T_('Popular Tags From All Users')); +} + + +?> + +</script> + +<?php +} +?> diff --git a/data/templates/editbookmark.tpl.php b/data/templates/editbookmark.tpl.php new file mode 100644 index 0000000..8a08717 --- /dev/null +++ b/data/templates/editbookmark.tpl.php @@ -0,0 +1,177 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); + +$accessPublic = ''; +$accessShared = ''; +$accessPrivate = ''; +switch ($row['bStatus']) { +    case 0 : +        $accessPublic = ' selected="selected"'; +        break; +    case 1 : +        $accessShared = ' selected="selected"'; +        break; +    case 2 : +        $accessPrivate = ' selected="selected"'; +        break; +} + +$this->includeTemplate("dojo.inc"); +?> + + + +<script type="text/javascript"> +//window.onload = function() { +//    document.getElementById("address").focus(); +//} +</script> + +<form action="<?php echo $formaction; ?>" method="post"> +<table> +<tr> +    <th align="left"><?php echo T_('Address'); ?></th> +    <td><input type="text" id="address" name="address" size="75" maxlength="65535" value="<?php echo filter($row['bAddress'], 'xml'); ?>" onblur="useAddress(this)" /></td> +    <td>← <?php echo T_('Required'); ?></td> +</tr> +<tr> +    <th align="left"><?php echo T_('Title'); ?></th> +    <td><input type="text" id="titleField" name="title" size="75" maxlength="255" value="<?php echo filter($row['bTitle'], 'xml'); ?>" onkeypress="this.style.backgroundImage = 'none';" /></td> +    <td>← <?php echo T_('Required'); ?></td> +</tr> +<tr> +    <th align="left"> +    <?php echo T_('Description'); ?> +    <a onclick="var nz = document.getElementById('privateNoteZone'); nz.style.display='';this.style.display='none';"><?php echo T_("Add Note"); ?></a> +    </th> +    <td><textarea name="description" id="description" rows="5" cols="63" ><?php echo filter($row['bDescription'], 'xml'); ?></textarea></td> +    <td>← <?php echo T_('You can use anchors to delimite attributes. for example: [publisher]blah[/publisher] '); ?>  +    <?php if(count($GLOBALS['descriptionAnchors'])>0): ?> +    <br /><br /> +    <?php echo T_('Suggested anchors: '); ?> +	<?php foreach($GLOBALS['descriptionAnchors'] as $anchorName => $anchorValue): ?> +    <?php if(is_numeric($anchorName)) { +    	$anchorName = $anchorValue; +    	$anchorValue = '['.$anchorValue.']'.'[/'.$anchorValue.']'; +    } ?> +    <span class="anchor" title="<?php echo $anchorValue ?>" onclick="addAnchor('<?php echo $anchorValue ?>', 'description')"><?php echo $anchorName ?></span> +    <?php endforeach; ?> +    <?php endif; ?> +    </td> +</tr> +<tr id="privateNoteZone" <?php if(strlen($row['bPrivateNote'])==0):?>style="display:none"<?php endif; ?>> +    <th align="left"><?php echo T_('Private Note'); ?></th> +    <td><textarea name="privateNote" id="privateNote" rows="1" cols="63" ><?php echo filter($row['bPrivateNote'], 'xml'); ?></textarea></td> +    <td>← <?php echo T_('Just visible by you and your contacts.'); ?>  +    </td> +</tr> +<tr> +    <th align="left"><?php echo T_('Tags'); ?></th> +    <td class="scuttletheme"> +    <span dojoType="dojo.data.ItemFileReadStore" jsId="memberTagStore" url="<?php echo ROOT?>ajax/<?php echo ($GLOBALS['adminsAreAdvisedTagsFromOtherAdmins'] && $currentUser->isAdmin())?'getadmintags':'getcontacttags'?>.php"></span> +    <input type="text" dojoType="js.MultiComboBox" id="tags" name="tags" size="75" value="<?php echo filter(implode(', ', $row['tags']), 'xml'); ?>" store="memberTagStore" delimiter="," searchAttr="tag" hasDownArrow="false" queryExpr="*${0}*" autoComplete="false" highlightMatch="all"/></td> +    <td>← <?php echo T_('Comma-separated'); ?></td> +</tr> +<tr> +    <th></th> +    <td align="right"><small><?php echo T_('Note: use ">" to include one tag in another. e.g.: europe>france>paris')?><small></td> +</tr> +<tr> +    <th></th> +    <td align="right"><small><?php echo T_('Note: use "=" to make synonym two tags. e.g.: france=frenchcountry')?><small></td> +</tr> +<tr> +    <th align="left"><?php echo T_('Privacy'); ?></th> +    <td> +        <select name="status"> +            <option value="0"<?php echo $accessPublic ?>><?php echo T_('Public'); ?></option> +            <option value="1"<?php echo $accessShared ?>><?php echo T_('Shared with Watch List'); ?></option> +            <option value="2"<?php echo $accessPrivate ?>><?php echo T_('Private'); ?></option> +        </select> +    </td> +    <td></td> +</tr> +<tr> +    <td></td> +    <td> +        <input type="submit" name="submitted" value="<?php echo $btnsubmit; ?>" /> +        <input type="button" name="cancel" value="<?php echo T_('Cancel') ?>" onclick="<?php echo $popup?'window.close();':'javascript: history.go(-1)'; ?>" /> +        <?php +        if (isset($showdelete) && $showdelete) { +        ?> +        <input type="submit" name="delete" value="<?php echo T_('Delete Bookmark'); ?>" /> +        <?php +        } +        if (isset($showdelete) && $showdelete) { +			echo ' (<a href="'.createURL('bookmarkcommondescriptionedit', $row['bHash']).'">'; +			echo T_('edit common description').'</a>)'; +        } +         +        if ($popup) { +        ?> +        <input type="hidden" name="popup" value="1" /> +        <?php +        } elseif (isset($referrer)) { +        ?> +        <input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /> +        <?php +        } +        ?> +    </td> +    <td></td> +</tr> +</table> +</form> + +<?php +// Dynamic tag selection +$this->includeTemplate('dynamictags.inc'); + +// Bookmarklets and import links +if (empty($_REQUEST['popup']) && (!isset($showdelete) || !$showdelete)) { +?> + +<h3><?php echo T_('Bookmarklet'); ?></h3> +<p> +<script type="text/javascript"> +var browser=navigator.appName; +if (browser == "Opera") +    { +    document.write("<?php echo sprintf(T_("Click one of the following bookmarklets to add a button you can click whenever you want to add the page you are on to %s"), $GLOBALS['sitename']); ?>:</p>"); +    } +else +    { +    document.write("<?php echo sprintf(T_("Drag one of the following bookmarklets to your browser's bookmarks and click it whenever you want to add the page you are on to %s"), $GLOBALS['sitename']); ?>:</p>"); +    } +var selection = ''; +if (window.getSelection) { +    selection = 'window.getSelection()'; +} else if (document.getSelection) { +    selection = 'document.getSelection()'; +} else if (document.selection) { +    selection = 'document.selection.createRange().text'; +} +document.write('<ul>'); +if (browser == "Opera") +    { +    document.write('<li><a class="bookmarklet" href="opera:/button/Go%20to%20page,%20%22javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');location.href=\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&address=\'+a+\'&title=\'+t+\'&description=\'+d;void 0%22;,,%22Post%20to%20<?php echo $GLOBALS['sitename']; ?>%22,%22Scuttle%22"><?php echo sprintf(T_('Post to %s'), $GLOBALS['sitename']); ?><\/a><\/li>');	 +    document.write('<li><a class="bookmarklet" href="opera:/button/Go%20to%20page,%20%22javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');open(\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&popup=1&address=\'+a+\'&title=\'+t+\'&description=\'+d,\'<?php echo $GLOBALS['sitename']; ?>\',\'modal=1,status=0,scrollbars=1,toolbar=0,resizable=1,width=790,height=465,left=\'+(screen.width-790)/2+\',top=\'+(screen.height-425)/2);void 0;%22,,%22Post%20to%20<?php echo $GLOBALS['sitename']; ?>%20(Pop-up)%22,%22Scuttle%22"><?php echo sprintf(T_('Post to %s (Pop-up)'), $GLOBALS['sitename']); ?><\/a><\/li>'); +    } +else +    { +    document.write('<li><a class="bookmarklet" href="javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');location.href=\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&address=\'+a+\'&title=\'+t+\'&description=\'+d;void 0;"><?php echo sprintf(T_('Post to %s'), $GLOBALS['sitename']); ?><\/a><\/li>'); +    document.write('<li><a class="bookmarklet" href="javascript:x=document;a=encodeURIComponent(x.location.href);t=encodeURIComponent(x.title);d=encodeURIComponent('+selection+');open(\'<?php echo createURL('bookmarks', $GLOBALS['user']); ?>?action=add&popup=1&address=\'+a+\'&title=\'+t+\'&description=\'+d,\'<?php echo $GLOBALS['sitename']; ?>\',\'modal=1,status=0,scrollbars=1,toolbar=0,resizable=1,width=790,height=465,left=\'+(screen.width-790)/2+\',top=\'+(screen.height-425)/2);void 0;"><?php echo sprintf(T_('Post to %s (Pop-up)'), $GLOBALS['sitename']); ?><\/a><\/li>'); +    } +document.write('<\/ul>'); +</script> + +<h3><?php echo T_('Import'); ?></h3> +<ul> +    <li><a href="<?php echo createURL('importNetscape'); ?>"><?php echo T_('Import bookmarks from bookmark file'); ?></a> (<?php echo T_('Internet Explorer, Mozilla Firefox and Netscape'); ?>)</li> +    <li><a href="<?php echo createURL('import'); ?>"><?php echo T_('Import bookmarks from del.icio.us'); ?></a></li> +</ul> + +<?php +} +$this->includeTemplate($GLOBALS['bottom_include']);  +?> diff --git a/data/templates/editprofile.tpl.php b/data/templates/editprofile.tpl.php new file mode 100644 index 0000000..b55d250 --- /dev/null +++ b/data/templates/editprofile.tpl.php @@ -0,0 +1,73 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<form action="<?php echo $formaction; ?>" method="post"> +<input type="hidden" name="token" value="<?php echo $token; ?>"> + +</table> + +<h3><?php echo T_('Account Details'); ?></h3> + +<table class="profile"> +<tr> +    <th align="left"><?php echo T_('Username'); ?></th> +    <td><?php echo $user; ?></td> +    <td></td> +</tr> +<tr> +    <th align="left"><?php echo T_('New Password'); ?></th> +    <td><input type="password" name="pPass" size="20" /></td> +    <td></td> +</tr> +<tr> +    <th align="left"><?php echo T_('Confirm Password'); ?></th> +    <td><input type="password" name="pPassConf" size="20" /></td> +    <td></td> +</tr> +<tr> +    <th align="left"><?php echo T_('E-mail'); ?></th> +    <td><input type="text" name="pMail" size="75" value="<?php echo filter($objectUser->getEmail(), 'xml'); ?>" /></td> +    <td>← <?php echo T_('Required'); ?></td> +</tr> +</table> + +<h3><?php echo T_('Personal Details'); ?></h3> + +<table class="profile"> +<tr> +    <th align="left"><?php echo T_('Name'); ?></th> +    <td><input type="text" name="pName" size="75" value="<?php echo filter($objectUser->getName(), 'xml'); ?>" /></td> +</tr> +<tr> +    <th align="left"><?php echo T_('Homepage'); ?></th> +    <td><input type="text" name="pPage" size="75" value="<?php echo filter($objectUser->getHomepage()); ?>" /></td> +</tr> +<tr> +    <th align="left"><?php echo T_('Description'); ?></th> +    <td><textarea name="pDesc" cols="75" rows="10"><?php echo $objectUser->getContent(); ?></textarea></td> +</tr> +<tr> +    <th></th> +    <td><input type="submit" name="submitted" value="<?php echo T_('Save Changes'); ?>" /></td> +</tr> +</table> +<h3><?php echo T_('Actions'); ?></h3> +<table class="profile"> +<tr> +    <th align="left"><?php echo T_('Export bookmarks'); ?></th> +    <td> +	<a href="../api/export_html.php"><?php echo T_('HTML file (for browsers)')?></a> / +	<a href="../api/posts/all"><?php echo T_('XML file (like del.icio.us)')?></a> /  +	<a href="../api/export_csv.php"><?php echo T_('CSV file (for spreadsheet tools)')?></a> +    </td> +</tr> +<tr><th> </th><td> </td></tr> +<tr><th> </th><td> </td></tr> +</table> + +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/error.404.tpl.php b/data/templates/error.404.tpl.php new file mode 100644 index 0000000..fe9401d --- /dev/null +++ b/data/templates/error.404.tpl.php @@ -0,0 +1,9 @@ +<?php +header('HTTP/1.x 404 Not Found'); +$this->includeTemplate($GLOBALS['top_include']); +if (!$error) { +    echo '<h1>'. T_('Not Found') .'</h1>'; +    echo '<p>'. T_('The requested URL was not found on this server') .'</p>'; +} +$this->includeTemplate($GLOBALS['bottom_include']); +?>
\ No newline at end of file diff --git a/data/templates/error.500.tpl.php b/data/templates/error.500.tpl.php new file mode 100644 index 0000000..1d7f7ae --- /dev/null +++ b/data/templates/error.500.tpl.php @@ -0,0 +1,9 @@ +<?php +header('HTTP/1.x 500 Server error'); +$this->includeTemplate($GLOBALS['top_include']); +if (!$error) { +    echo '<h1>'. T_('General server error') .'</h1>'; +    echo '<p>'. T_('The requested URL could not be processed') .'</p>'; +} +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/importDelicious.tpl.php b/data/templates/importDelicious.tpl.php new file mode 100644 index 0000000..bc4d892 --- /dev/null +++ b/data/templates/importDelicious.tpl.php @@ -0,0 +1,42 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<form id="import" enctype="multipart/form-data" action="<?php echo $formaction; ?>" method="post"> +<table> +<tr valign="top"> +    <th align="left"><?php echo T_('File'); ?></th> +    <td> +        <input type="hidden" name="MAX_FILE_SIZE" value="1024000" /> +        <input type="file" name="userfile" size="50" /> +    </td> +</tr> +<tr valign="top"> +    <th align="left"><?php echo T_('Privacy'); ?></th> +    <td> +        <select name="status"> +            <option value="0"><?php echo T_('Public'); ?></option> +            <option value="1"><?php echo T_('Shared with Watchlist'); ?></option> +            <option value="2"><?php echo T_('Private'); ?></option> +        </select> +    </td> +</tr> +<tr> +    <td /> +    <td><input type="submit" value="<?php echo T_('Import'); ?>" /></td> +</tr> +</table> +</form> + +<h3><?php echo T_('Instructions'); ?></h3> +<ol> +    <li><?php echo T_('Log in to the <a href="http://del.icio.us/api/posts/all">export page at del.icio.us</a>'); ?>.</li> +    <li><?php echo T_('Save the resulting <abbr title="Extensible Markup Language">XML</abbr> file to your computer'); ?>.</li> +    <li><?php echo T_('Click <kbd>Browse...</kbd> to find this file on your computer. The maximum size the file can be is 1MB'); ?>.</li> +    <li><?php echo T_('Select the default privacy setting for your imported bookmarks'); ?>.</li> +    <li><?php echo T_('Click <kbd>Import</kbd> to start importing the bookmarks; it may take a minute'); ?>.</li> +</ol> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?>
\ No newline at end of file diff --git a/data/templates/importNetscape.tpl.php b/data/templates/importNetscape.tpl.php new file mode 100644 index 0000000..627a5af --- /dev/null +++ b/data/templates/importNetscape.tpl.php @@ -0,0 +1,50 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<div id="bookmarks"> +    <form id="import" enctype="multipart/form-data" action="<?php echo $formaction; ?>" method="post"> +    <table> +    <tr valign="top"> +        <th align="left"><?php echo T_('File'); ?></th> +        <td> +            <input type="hidden" name="MAX_FILE_SIZE" value="1024000" /> +            <input type="file" name="userfile" size="50" /> +        </td> +    </tr> +    <tr valign="top"> +        <th align="left"><?php echo T_('Privacy'); ?></th> +        <td> +            <select name="status"> +                <option value="0"><?php echo T_('Public'); ?></option> +                <option value="1"><?php echo T_('Shared with Watchlist'); ?></option> +                <option value="2"><?php echo T_('Private'); ?></option> +            </select> +        </td> +    </tr> +    <tr> +        <td /> +        <td><input type="submit" value="<?php echo T_('Import'); ?>" /></td> +    </tr> +    </table> +    </form> + +    <h3><?php echo T_('Instructions'); ?></h3> +    <ol> +        <li> +            <p><?php echo T_('Export your bookmarks from your browser to a file'); ?>:</p> +            <ul> +                <li><?php echo T_('Internet Explorer: <kbd>File > Import and Export... > Export Favorites'); ?></kbd></li> +                <li><?php echo T_('Mozilla Firefox: <kbd>Bookmarks > Manage Bookmarks... > File > Export...'); ?></kbd></li> +                <li><?php echo T_('Netscape: <kbd>Bookmarks > Manage Bookmarks... > Tools > Export...'); ?></kbd></li> +            </ul> +        </li> +        <li><?php echo T_('Click <kbd>Browse...</kbd> to find the saved bookmark file on your computer. The maximum size the file can be is 1MB'); ?>.</li> +        <li><?php echo T_('Select the default privacy setting for your imported bookmarks'); ?>.</li> +        <li><?php echo T_('Click <kbd>Import</kbd> to start importing the bookmarks; it may take a minute'); ?>.</li> +    </ol> +</div> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?>
\ No newline at end of file diff --git a/data/templates/importStructure.tpl.php b/data/templates/importStructure.tpl.php new file mode 100644 index 0000000..9c54612 --- /dev/null +++ b/data/templates/importStructure.tpl.php @@ -0,0 +1,42 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<div id="bookmarks"> +<form id="import" enctype="multipart/form-data" +	action="<?php echo $formaction; ?>" method="post"> +<table> +	<tr valign="top"> +		<th align="left"><?php echo T_('File'); ?></th> +		<td><input type="hidden" name="MAX_FILE_SIZE" value="1024000" /> <input +			type="file" name="userfile" size="50" /></td> +	</tr> +	<tr> +		<td /> +		<td><input type="submit" value="<?php echo T_('Import'); ?>" /></td> +	</tr> +</table> +</form> + +<h3><?php echo T_('Instructions'); ?></h3> +<ol> +	<li> +	<p><?php echo T_('Create your structure into a simple text file and following this model:');?></p> +	<ul> +		<li>firstTagOfLevel1</li> +		<li>    firstTagOfLevel2 <i>(the line starts with two spaces)</i></li> +		<li>    secondTagOfLevel2</li> +		<li>    thirdTagOfLevel2</li> +		<li>secondTagOfLevel1</li> +		<li>    fourthTagOfLevel2 <i>(included into secondTagOfLevel1)</i></li> +	</ul> +	</li> +	<li> +	<p><?php echo T_('Then import the file. The tags and their relations will be added to your profile.'); ?></p> +	</li> +</ol> +</div> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?>
\ No newline at end of file diff --git a/data/templates/login.tpl.php b/data/templates/login.tpl.php new file mode 100644 index 0000000..e68ab54 --- /dev/null +++ b/data/templates/login.tpl.php @@ -0,0 +1,41 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<script type="text/javascript"> +window.onload = function() { +    document.getElementById("username").focus(); +} +</script> + +<?php +if (!$userservice->isSessionStable()) { +    echo '<p class="error">'.T_('Please activate cookies').'</p>'; +} +?> + +<form action="<?php echo $formaction; ?>" method="post"> +    <div><input type="hidden" name="query" value="<?php echo $querystring; ?>" /></div> +    <table> +    <tr> +        <th align="left"><label for="username"><?php echo T_('Username'); ?></label></th> +        <td><input type="text" id="username" name="username" size="20" /></td> +        <td></td> +    </tr> +    <tr> +        <th align="left"><label for="password"><?php echo T_('Password'); ?></label></th> +        <td><input type="password" id="password" name="password" size="20" /></td> +        <td><input type="checkbox" name="keeppass" value="yes" /> <?php echo T_("Don't ask for my password for 2 weeks"); ?>.</td> +    </tr> +    <tr> +        <td></td> +        <td><input type="submit" name="submitted" value="<?php echo T_('Log In'); ?>" /></td> +        <td></td> +    </tr> +    </table> +    <p>» <a href="<?php echo ROOT ?>password.php"><?php echo T_('Forgotten your password?') ?></a></p> +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?>
\ No newline at end of file diff --git a/data/templates/password.tpl.php b/data/templates/password.tpl.php new file mode 100644 index 0000000..55dbed6 --- /dev/null +++ b/data/templates/password.tpl.php @@ -0,0 +1,26 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<p><?php echo sprintf(T_('If you have forgotten your password, %s can generate a new one. Enter the username and e-mail address of your account into the form below and we will e-mail your new password to you.'), $GLOBALS['sitename']); ?></p> + +<form action="<?php echo $formaction; ?>" method="post"> +    <table> +    <tr> +        <th align="left"><label for="username"><?php echo T_('Username'); ?></label></th> +        <td><input type="text" id="username" name="username" size="20" class="required" /></td> +    </tr> +    <tr> +        <th align="left"><label for="email"><?php echo T_('E-mail'); ?></label></th> +        <td><input type="text" id="email" name="email" size="40" class="required" /></td> +    </tr> +    <tr> +        <td></td> +        <td><input type="submit" name="submitted" value="<?php echo T_('Generate Password'); ?>" /></td> +    </tr> +    </table> +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?>
\ No newline at end of file diff --git a/data/templates/profile.tpl.php b/data/templates/profile.tpl.php new file mode 100644 index 0000000..1e2003a --- /dev/null +++ b/data/templates/profile.tpl.php @@ -0,0 +1,74 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<dl id="profile"> +<dt><?php echo T_('Username'); ?></dt> +    <dd><?php echo $user; ?></dd> +<?php +if ($userservice->isLoggedOn() && $currentUser->isAdmin()) { +?> +<dt><?php echo T_('Email'); ?></dt> +    <dd><?php echo filter($objectUser->getEmail()) ?></dd>     +<?php +} +if ($objectUser->getName() != "") { +?> +<dt><?php echo T_('Name'); ?></dt> +    <dd><?php echo filter($objectUser->getName()); ?></dd> +<?php +} +if ($objectUser->getHomepage() != "") { +?> +<dt><?php echo T_('Homepage'); ?></dt> +    <dd><a href="<?php echo filter($objectUser->getHomepage()); ?>"><?php echo filter($objectUser->getHomepage()); ?></a></dd> +<?php +} +?> +<dt><?php echo T_('Member Since'); ?></dt> +    <dd><?php echo date($GLOBALS['longdate'], strtotime($objectUser->getDatetime())); ?></dd> +<?php +if ($objectUser->getContent() != "") { +?> +<dt><?php echo T_('Description'); ?></dt> +    <dd><?php echo $objectUser->getContent(); ?></dd> +<?php +} +$watching = $userservice->getWatchNames($userid); +if ($watching) { +?> +    <dt><?php echo T_('Watching'); ?></dt> +        <dd> +            <?php +            $list = ''; +            foreach($watching as $watchuser) { +                $list .= '<a href="'. createURL('bookmarks', $watchuser) .'">'. $watchuser .'</a>, '; +            } +            echo substr($list, 0, -2); +            ?> +        </dd> +<?php +} +$watchnames = $userservice->getWatchNames($userid, true); +if ($watchnames) { +?> +    <dt><?php echo T_('Watched By'); ?></dt> +        <dd> +            <?php +            $list = ''; +            foreach($watchnames as $watchuser) { +                $list .= '<a href="'. createURL('bookmarks', $watchuser) .'">'. $watchuser .'</a>, '; +            } +            echo substr($list, 0, -2); +            ?> +        </dd> +<?php +} +?> +<dt><?php echo T_('Bookmarks'); ?></dt> +    <dd><a href="<?php echo createURL('bookmarks', $user) ?>"><?php echo T_('Go to bookmarks')?> >></a></dd> +</dl> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/register.tpl.php b/data/templates/register.tpl.php new file mode 100644 index 0000000..da3deec --- /dev/null +++ b/data/templates/register.tpl.php @@ -0,0 +1,49 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<script type="text/javascript"> +window.onload = function() { +    document.getElementById("username").focus(); +} +</script> + +<p><?php echo sprintf(T_('Sign up here to create a free %s account. All the information requested below is required'), $GLOBALS['sitename']); ?>.</p> + +<form action="<?php echo $formaction; ?>" method="post"> +<table> +<tr> +    <th align="left"><label for="username"><?php echo T_('Username'); ?></label></th> +    <td><input type="text" id="username" name="username" size="20" class="required" onkeyup="isAvailable(this, '')" /> </td> +    <td id="availability"><?php echo '←'.T_(' at least 5 characters, alphanumeric (no spaces, no dots or other special ones)') ?></td> +</tr> +<tr> +    <th align="left"><label for="password"><?php echo T_('Password'); ?></label></th> +    <td><input type="password" id="password" name="password" size="20" class="required" /></td> +    <td></td> +</tr> +<tr> +    <th align="left"><label for="email"><?php echo T_('E-mail'); ?></label></th> +    <td><input type="text" id="email" name="email" size="40" class="required" /></td> +    <td><?php echo '←'.T_(' to send you your password if you forget it')?></td> +</tr> + +<?php if(strlen($antispamQuestion)>0) {?> +<tr> +    <th align="left"><label for="antispamAnswer"><?php echo T_('Antispam question'); ?></label></th> +    <td><input type="text" id="antispamAnswer" name="antispamAnswer" size="40" class="required" value="<?php echo $antispamQuestion; ?>" onfocus="if (this.value == '<?php echo $antispamQuestion; ?>') this.value = '';" onblur="if (this.value == '') this.value = '<?php echo $antispamQuestion; ?>';"/></td> +    <td></td> +</tr> +<?php } ?> + +<tr> +    <td></td> +    <td><input type="submit" name="submitted" value="<?php echo T_('Register'); ?>" /></td> +    <td></td> +</tr> +</table> +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/rss.tpl.php b/data/templates/rss.tpl.php new file mode 100644 index 0000000..0f03c06 --- /dev/null +++ b/data/templates/rss.tpl.php @@ -0,0 +1,28 @@ +<?php +echo '<?xml version="1.0" encoding="UTF-8" ?'.">\n"; +?> + +<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<channel> +    <title><?php echo $feedtitle; ?></title>  +    <link><?php echo $feedlink; ?></link>  +    <description><?php echo $feeddescription; ?></description> +    <ttl>60</ttl> + +<?php foreach($bookmarks as $bookmark): ?> +    <item> +        <title><?php echo $bookmark['title']; ?></title> +        <link><?php echo $bookmark['link']; ?></link> +        <description><?php echo $bookmark['description']; ?></description> +        <dc:creator><?php echo $bookmark['creator']; ?></dc:creator> +        <pubDate><?php echo $bookmark['pubdate']; ?></pubDate> + +    <?php foreach($bookmark['tags'] as $tag): ?> +        <category><?php echo $tag; ?></category> +    <?php endforeach; ?> + +    </item> +<?php endforeach; ?> + +</channel> +</rss>
\ No newline at end of file diff --git a/data/templates/sidebar.block.common.php b/data/templates/sidebar.block.common.php new file mode 100644 index 0000000..6f1e9f7 --- /dev/null +++ b/data/templates/sidebar.block.common.php @@ -0,0 +1,28 @@ +<?php +$b2tservice =& ServiceFactory::getServiceInstance('Bookmark2TagService'); +$commonTags =& $b2tservice->getRelatedTagsByHash($hash); +$commonTags =& $b2tservice->tagCloud($commonTags, 5, 90, 225, 'alphabet_asc'); + +if ($commonTags && count($commonTags) > 0) { +	?> + +<h2><?php echo T_('Popular Tags'); ?></h2> +<div id="common"> +<p class="tags"><?php +$contents = ''; + +if(strlen($user)==0) { +	$cat_url = createURL('tags', '%2$s'); +} + +foreach ($commonTags as $row) { +	$entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); +	$contents .= '<a href="'. sprintf($cat_url, $user, filter($row['tag'], 'url')) .'" title="'. $row['bCount'] .' '. $entries .'" rel="tag" style="font-size:'. $row['size'] .'">'. filter($row['tag']) .'</a> '; +} +echo $contents ."\n"; +?></p> +</div> + +<?php +} +?> diff --git a/data/templates/sidebar.block.linked.php b/data/templates/sidebar.block.linked.php new file mode 100644 index 0000000..0fa36c9 --- /dev/null +++ b/data/templates/sidebar.block.linked.php @@ -0,0 +1,105 @@ +<?php +/* Service creation: only useful services are created */ +$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService'); + +require_once('sidebar.linkedtags.inc.php'); + +/* Manage input */ +$user = isset($user)?$user:''; +$userid = isset($userid)?$userid:0; +$currenttag = isset($currenttag)?$currenttag:''; +$summarizeLinkedTags = isset($summarizeLinkedTags)?$summarizeLinkedTags:false; + + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +	$logged_on_userid = NULL; +} + +$explodedTags = array(); +if (strlen($currenttag)>0) { +	$explodedTags = explode('+', $currenttag); +} else { +	if($summarizeLinkedTags == true) { +		$orphewTags = $tag2tagservice->getOrphewTags('>', $userid, 4, "nb"); +	} else { +		$orphewTags = $tag2tagservice->getOrphewTags('>', $userid); +	} + +	foreach($orphewTags as $orphewTag) { +		$explodedTags[] = $orphewTag['tag']; +	} +} + +?> + +<?php +if(($logged_on_userid != null) && ($userid === $logged_on_userid)) { +	$editingMode = true; +} else { +	$editingMode = false; +} + +$this->includeTemplate("dojo.inc"); +?> + +<?php if(count($explodedTags)>0 || $editingMode):?> + +<h2><?php + + +echo T_('Linked Tags').' '; +//if($userid != null) { +$cUser = $userservice->getUser($userid); +//echo '<small><a href="'.createURL('alltags', $cUser['username']).'">('.T_('all tags').')</a></small>'; +//} +?></h2> +<?php //endif?> + +<div id="related"> <?php +if($editingMode) { +	echo '<p style="margin-bottom: 13px;text-align:center;">'; +	echo ' (<a href="'. createURL('tag2tagadd','') .'" rel="tag">'.T_('Add new link').'</a>) '; +	echo ' (<a href="'. createURL('tag2tagdelete','') .'" rel="tag">'.T_('Delete link').'</a>)'; +	echo '</p>'; +} + +if(strlen($user)==0) { +	$cat_url = createURL('tags', '%2$s'); +} + +$stopList = array(); +foreach($explodedTags as $explodedTag) { +	if(!in_array($explodedTag, $stopList)) { + + + +		// fathers tag +		$fatherTags = $tag2tagservice->getLinkedTags($explodedTag, '>', $userid, true); +		if(count($fatherTags)>0) { +			foreach($fatherTags as $fatherTag) { +				echo '<a href="'. sprintf($cat_url, filter($user, 'url'), filter($fatherTag, 'url')) .'" rel="tag">('. filter($fatherTag) .')</a> '; +			} +		} +		/* +		 $displayLinkedTags = displayLinkedTags($explodedTag, '>', $userid, $cat_url, $user, $editingMode, null, 1); +		 echo $displayLinkedTags['output']; +		 if(is_array($displayLinkedTags['stopList'])) { +		 $stopList = array_merge($stopList, $displayLinkedTags['stopList']); +		 }*/ +		echo '<div dojoType="dojo.data.ItemFileReadStore" url="'.ROOT.'ajax/getlinkedtags.php?tag='.filter($explodedTag, 'url').'&uId='.$userid.'" jsid="linkedTagStore" ></div>'; +		echo '<div dojoType="dijit.Tree" store="linkedTagStore" labelAttr="name" >'; +		echo '<script type="dojo/method" event="onClick" args="item">'; +		$returnUrl = sprintf($cat_url, filter($user, 'url'), filter('', 'url')); +		echo 'window.location = "'.$returnUrl.'"+item.name'; +		echo '</script>'; +		echo '<script type="dojo/method" event="getLabelClass" args="item">'; +		echo 'return \'treeTag\';'; +		echo '</script>'; +		echo '</div>'; +	} + +} +?> </div> + +<?php endif?> diff --git a/data/templates/sidebar.block.menu.php b/data/templates/sidebar.block.menu.php new file mode 100644 index 0000000..ed1069a --- /dev/null +++ b/data/templates/sidebar.block.menu.php @@ -0,0 +1,80 @@ +<?php +/* Service creation: only useful services are created */ +$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService'); + + +require_once('sidebar.linkedtags.inc.php'); + +/* Manage input */ +$userid = isset($userid)?$userid:0; +$user = isset($user)?$user:null; + + +$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(!isset($user) || $user == '') { +    $cat_url = createURL('tags', '%2$s'); +} + +$menuTags = $tag2tagservice->getMenuTags($userid); +if (sizeof($menuTags) > 0 || ($userid != 0 && $userid === $logged_on_userid)) { +?> + +<h2> +<?php +    echo '<span title="'.sprintf(T_('Tags included into the tag \'%s\''), $GLOBALS['menuTag']).'">'.T_('Menu Tags').'</span> '; +    //} +?> +</h2> + + +<div id="related"> +<table> +<?php +    if($editingMode) { +	echo '<tr><td></td><td>'; +	echo ' (<a href="'. createURL('tag2tagadd','menu') .'" rel="tag">'.T_('Add new link').'</a>) '; +	echo ' (<a href="'. createURL('tag2tagdelete','menu') .'" 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> + +<?php $cUser = $userservice->getUser($userid); ?> +<?php if($userid>0): ?> +<?php if($userid==$logged_on_userid): ?> +<p style="text-align:right"><a href="<?php echo createURL('alltags', $cUser['username']); ?>" title="<?php echo T_('See all your tags')?>"><?php echo T_('all your tags'); ?></a> →</p> +<?php else: ?> +<p style="text-align:right"><a href="<?php echo createURL('alltags', $cUser['username']); ?>" title="<?php echo T_('See all tags from this user')?>"><?php echo T_('all tags from this user'); ?></a> →</p> +<?php endif; ?> + +<?php else : ?> +<p style="text-align:right"><a href="<?php echo createURL('populartags', $cUser['username']); ?>" title="<?php echo T_('See popular tags')?>"><?php echo T_('Popular Tags'); ?></a> →</p> +<?php endif; ?> +</div> + +<?php +} +?> diff --git a/data/templates/sidebar.block.menu2.php b/data/templates/sidebar.block.menu2.php new file mode 100644 index 0000000..8329ef3 --- /dev/null +++ b/data/templates/sidebar.block.menu2.php @@ -0,0 +1,58 @@ +<?php +/* Service creation: only useful services are created */ +$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService'); + +require_once('sidebar.linkedtags.inc.php'); + +/* Manage input */ +$userid = isset($userid)?$userid:0; +$user = isset($user)?$user:null; + + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +	$logged_on_userid = NULL; +} + + +$cat_url = createURL('tags', '%2$s'); +$menu2Tags = $GLOBALS['menu2Tags']; + +if (sizeOf($menu2Tags) > 0) { +	$this->includeTemplate("dojo.inc"); +	?> + +<h2><?php echo T_('Featured Menu Tags');?></h2> + + +<div id="maintagsmenu" +<?php echo 'title="'.T_('This menu is composed of keywords (tags) organized by admins.').'"'?>> + +<?php +foreach($menu2Tags as $menu2Tag) { + +	echo '<div dojoType="dojo.data.ItemFileReadStore" url="'.ROOT.'ajax/getadminlinkedtags.php?tag='.filter($menu2Tag, 'url').'" jsid="linkedTagStore" ></div>'; +	echo '<div dojoType="dijit.Tree" store="linkedTagStore" labelAttr="name" >'; +	echo '<script type="dojo/method" event="onClick" args="item">'; +	$returnUrl = sprintf($cat_url, filter($user, 'url'), filter('', 'url')); +	echo 'window.location = "'.$returnUrl.'"+item.name'; +	echo '</script>'; +	//echo '<script type="dojo/method" event="getLabel" args="item">'; +	//echo 'return item.name + "...";'; +	//echo '</script>'; +	//echo '<script type="dojo/method" event="onMouseOver" args="item">'; +	//echo 'i = item.relatedTarget;'; +	//echo 'if(i.innerHTML.charAt(i.innerHTML)=="a") alert(i.innerHTML)'; +	//echo '</script>'; +	//echo '<script type="dojo/method" event="getLabelClass" args="item">'; +	//echo 'return \'treeTag\';'; +	//echo '</script>'; +	echo '</div>'; +} +?> +</div> + + +<?php +} +?> diff --git a/data/templates/sidebar.block.popular.php b/data/templates/sidebar.block.popular.php new file mode 100644 index 0000000..4279620 --- /dev/null +++ b/data/templates/sidebar.block.popular.php @@ -0,0 +1,44 @@ +<?php +/* Service creation: only useful services are created */ +$b2tservice =& ServiceFactory::getServiceInstance('Bookmark2TagService'); + + +if(!isset($user)) { +	$user = ''; +} +if(!isset($userid)) { +	$userid = NULL; +} + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +    $logged_on_userid = NULL; +} +$popularTags =& $b2tservice->getPopularTags($userid, $popCount, $logged_on_userid); +$popularTags =& $b2tservice->tagCloud($popularTags, 5, 90, 225, 'alphabet_asc');  + +if ($popularTags && count($popularTags) > 0) { +?> + +<h2><?php echo T_('Popular Tags'); ?></h2> +<div id="popular"> +    <p class="tags"> +    <?php +    $contents = ''; +     +    if(strlen($user)==0) { +	$cat_url = createURL('tags', '%2$s'); +    } + +    foreach ($popularTags as $row) { +        $entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); +        $contents .= '<a href="'. sprintf($cat_url, $user, filter($row['tag'], 'url')) .'" title="'. $row['bCount'] .' '. $entries .'" rel="tag" style="font-size:'. $row['size'] .'">'. filter($row['tag']) .'</a> '; +    } +    echo $contents ."\n"; +    ?> +    </p> +</div> + +<?php +} +?> diff --git a/data/templates/sidebar.block.recent.php b/data/templates/sidebar.block.recent.php new file mode 100644 index 0000000..71f9aa9 --- /dev/null +++ b/data/templates/sidebar.block.recent.php @@ -0,0 +1,39 @@ +<?php +/* Service creation: only useful services are created */ +$b2tservice =& ServiceFactory::getServiceInstance('Bookmark2TagService'); + +/* Manage input */ +$userid = isset($userid)?$userid:NULL; + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +    $logged_on_userid = NULL; +} +$recentTags = $b2tservice->getPopularTags($userid, $popCount, $logged_on_userid, $GLOBALS['defaultRecentDays']); +$recentTags =& $b2tservice->tagCloud($recentTags, 5, 90, 225, 'alphabet_asc');  + +if ($recentTags && count($recentTags) > 0) { +?> + +<h2><?php echo T_('Recent Tags'); ?></h2> +<div id="recent"> +    <?php +    $contents = '<p class="tags">'; + +    if(!isset($user) || $user == '') { +    	$user = ''; +		$cat_url = createURL('tags', '%2$s'); +    } + +    foreach ($recentTags as $row) {    	 +        $entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); +        $contents .= '<a href="'. sprintf($cat_url, $user, filter($row['tag'], 'url')) .'" title="'. $row['bCount'] .' '. $entries .'" rel="tag" style="font-size:'. $row['size'] .'">'. filter($row['tag']) .'</a> '; +    } +    echo $contents ."</p>\n"; +    ?> +    <p style="text-align:right"><a href="<?php echo createURL('populartags'); ?>"><?php echo T_('Popular Tags'); ?></a> →</p> +</div> + +<?php +} +?> diff --git a/data/templates/sidebar.block.related.php b/data/templates/sidebar.block.related.php new file mode 100644 index 0000000..182ea83 --- /dev/null +++ b/data/templates/sidebar.block.related.php @@ -0,0 +1,40 @@ +<?php +/* Service creation: only useful services are created */ +$b2tservice =& ServiceFactory::getServiceInstance('Bookmark2TagService'); + + +if(!isset($user)) $user=""; + + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +    $logged_on_userid = NULL; +} + +if(!isset($userid)) { +	$userid = NULL; +} + +if(isset($user) && strlen($user)==0) { +    $cat_url = createURL('tags', '%2$s'); +} +if ($currenttag) { +    $relatedTags = $b2tservice->getRelatedTags($currenttag, $userid, $logged_on_userid); +    if (sizeof($relatedTags) > 0) { +?> + +<h2><?php echo T_('Related Tags'); ?></h2> +<div id="related"> +    <table> +    <?php foreach($relatedTags as $row): ?> +    <tr>         +        <td><a href="<?php echo sprintf($cat_url, filter($user, 'url'), filter($row['tag'], 'url')); ?>" rel="tag"><?php echo filter($row['tag']); ?></a> <a href="<?php echo sprintf($cat_url, filter($user, 'url'), filter($currenttag, 'url') .'+'. filter($row['tag'], 'url')); ?>" title="<?php echo $currenttag . '+' . filter($row['tag']); ?>" class="crossTags">+</a></td>       +    </tr> +    <?php endforeach; ?> +    </table> +</div> + +<?php +    } +} +?> diff --git a/data/templates/sidebar.block.search.php b/data/templates/sidebar.block.search.php new file mode 100644 index 0000000..4e3c801 --- /dev/null +++ b/data/templates/sidebar.block.search.php @@ -0,0 +1,34 @@ +<?php +/* Service creation: only useful services are created */ +$searchhistoryservice =& ServiceFactory::getServiceInstance('SearchHistoryService'); + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +    $logged_on_userid = NULL; +} + +$lastSearches = $searchhistoryservice->getAllSearches('all', NULL, 3, NULL, true, false); + +if ($lastSearches && count($lastSearches) > 0) { +?> + +<h2><?php echo T_('Last Searches'); ?></h2> +<div id="searches"> +<table> +<?php +foreach ($lastSearches as $row) { +    echo '<tr><td>'; +    echo  '<a href="'.createURL('search', $range.'/'.$row['shTerms']).'">'; +    echo $row['shTerms']; +    echo '</a>'; +    echo ' <span title="'.T_('Number of bookmarks for this query').'">('.$row['shNbResults'].')</span>'; +    echo '</td></tr>'; +} +//echo '<tr><td><a href="'.createURL('users').'">...</a></td></tr>'; +?> + +</table> +</div> +<?php +} +?> diff --git a/data/templates/sidebar.block.tagactions.php b/data/templates/sidebar.block.tagactions.php new file mode 100644 index 0000000..3351866 --- /dev/null +++ b/data/templates/sidebar.block.tagactions.php @@ -0,0 +1,35 @@ +<?php +/* Service creation: only useful services are created */ +//No specific services + +if ($userservice->isLoggedOn()) { + +    if ($currentUser->getUsername() == $user) { +        $tags = explode('+', $currenttag); +        $renametext = T_ngettext('Rename Tag', 'Rename Tags', count($tags)); +        $renamelink = createURL('tagrename', $currenttag); +        $deletelink = createURL('tagdelete', $currenttag); +        $tagdesclink = createURL('tagedit', $currenttag); +        $commondesclink = createURL('tagcommondescriptionedit', $currenttag); +        $addtag2taglinklink = createURL('tag2tagadd', $currenttag); +?> + +<h2><?php echo T_('Actions'); ?></h2> +<div id="tagactions"> +    <ul> +        <li><a href="<?php echo $renamelink; ?>"><?php echo $renametext ?></a></li> +        <?php if (count($tags) == 1): ?> +        <li><a href="<?php echo $deletelink; ?>"><?php echo T_('Delete Tag') ?></a></li> +        <?php endif; ?> +        <li><a href="<?php echo $tagdesclink; ?>"><?php echo T_('Edit Tag Description') ?></a></li> +        <?php if ($GLOBALS['enableCommonTagDescription'] && ($GLOBALS['enableCommonTagDescriptionEditedByAll'] || $currentUser->isAdmin() )): ?> +        <li><a href="<?php echo $commondesclink; ?>"><?php echo T_('Edit Tag Common Description') ?></a></li> +	<?php endif; ?> +        <li><a href="<?php echo $addtag2taglinklink; ?>"><?php echo T_('Create a link to another tag') ?></a></li> +    </ul> +</div> + +<?php +    } +} +?> diff --git a/data/templates/sidebar.block.users.php b/data/templates/sidebar.block.users.php new file mode 100644 index 0000000..3ad18bc --- /dev/null +++ b/data/templates/sidebar.block.users.php @@ -0,0 +1,34 @@ +<?php +/* Service creation: only useful services are created */ +//No specific services + +$logged_on_userid = $userservice->getCurrentUserId(); +if ($logged_on_userid === false) { +    $logged_on_userid = NULL; +} +$lastUsers = $userservice->getUsers(3); + +if ($lastUsers && count($lastUsers) > 0) { +?> + +<h2><?php echo T_('New Users'); ?></h2> +<div id="users"> +<table> +<?php +foreach ($lastUsers as $row) { +    echo '<tr><td>'; +    echo  '<a href="'.createURL('profile', $row['username']).'">'; +    echo $row['username']; +    echo '</a>'; +    echo ' (<a href="'.createURL('bookmarks', $row['username']).'">'.T_('bookmarks').'</a>)'; +    echo '</td></tr>'; +} +//echo '<tr><td><a href="'.createURL('users').'">...</a></td></tr>'; +?> + +</table> +<p style="text-align:right"><a href="<?php echo createURL('users'); ?>" title="<?php echo T_('See all users')?>"><?php echo T_('All users'); ?></a> →</p> +</div> +<?php +} +?> diff --git a/data/templates/sidebar.block.watchlist.php b/data/templates/sidebar.block.watchlist.php new file mode 100644 index 0000000..8f4984e --- /dev/null +++ b/data/templates/sidebar.block.watchlist.php @@ -0,0 +1,60 @@ +<?php +/* Service creation: only useful services are created */ +//No specific services + +$watching = $userservice->getWatchNames($userid); +$watchedBy = $userservice->getWatchNames($userid, true); + + +$closeContacts = array(); // people in my contacts list and who I am also in the contacts list +foreach($watching as $watchuser) { +	if(in_array($watchuser, $watchedBy)) { +		$closeContacts[] = $watchuser; +	} +} + +?> + +<?php if(count($closeContacts)>0):?> +<h2 title="<?php echo T_('Close contacts are mutual contacts');?>"><?php echo ' &harr '. T_('Close contacts'); ?></h2> +<div id="watching"> +    <ul> +    <?php foreach($closeContacts as $watchuser): ?> +        <li><a href="<?php echo createURL('bookmarks', $watchuser); ?>"><?php echo $watchuser; ?></a> </li> +    <?php endforeach; ?> +    </ul> +</div> +<?php endif; ?> + + +<h2><?php echo ' → '. T_('Watching'); ?></h2> +<div id="watching"> +    <ul> +        <?php if($userservice->isLoggedOn() && $currentUser->getUsername() == $user): ?>             +        <li> +          <form action="<?php echo createURL('watch', '');?>" method="post"> +            <input type="text" name="contact" value="<?php echo T_('Add a contact...');?>" onfocus="if (this.value == '<?php echo T_('Add a contact...');?>') this.value = '';" onblur="if (this.value == '') this.value = '<?php echo T_('Add a contact...');?>';" title="<?php echo T_('Type a username to add it to your contacts.') ?>" /> +          </form> +        </li> +        <?php endif; ?> +     +    <?php foreach($watching as $watchuser): ?> +        <li><a href="<?php echo createURL('bookmarks', $watchuser); ?>"><?php echo $watchuser; ?></a> +        <?php if($userservice->isLoggedOn() && $currentUser->getUsername() == $user): ?> +         - <a href="<?php echo createUrl('watch','?contact='.$watchuser); ?>" title="<?php echo T_('Remove this contact'); ?>">x<a/> +        </li> +        <?php endif; ?>   +    <?php endforeach; ?> +         +    </ul> +</div> + +<h2><?php echo ' ← '. T_('Watched By'); ?></h2> +<div id="watching"> +    <ul> +    <?php foreach($watchedBy as $watchuser): ?> +        <li><a href="<?php echo createURL('bookmarks', $watchuser); ?>"><?php echo $watchuser; ?></a> </li> +    <?php endforeach; ?> +    </ul> + +</div> diff --git a/data/templates/sidebar.block.watchstatus.php b/data/templates/sidebar.block.watchstatus.php new file mode 100644 index 0000000..99574aa --- /dev/null +++ b/data/templates/sidebar.block.watchstatus.php @@ -0,0 +1,28 @@ +<?php +/* Service creation: only useful services are created */ +//No specific services + + +if ($userservice->isLoggedOn()) { + +    if ($currentUser->getUsername() != $user) { +        $result = $userservice->getWatchStatus($userid, $userservice->getCurrentUserId()); +        if ($result) { +            $linkText = T_('Remove from Watchlist'); +        } else { +            $linkText = T_('Add to Watchlist'); +        } +        $linkAddress = createURL('watch', $user); +?> + +<h2><?php echo T_('Actions'); ?></h2> +<div id="watchlist"> +    <ul> +        <li><a href="<?php echo $linkAddress ?>"><?php echo $linkText ?></a></li> +    </ul> +</div> + +<?php +    } +} +?>
\ No newline at end of file diff --git a/data/templates/sidebar.linkedtags.inc.php b/data/templates/sidebar.linkedtags.inc.php new file mode 100644 index 0000000..555eafc --- /dev/null +++ b/data/templates/sidebar.linkedtags.inc.php @@ -0,0 +1,84 @@ +<?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 = '> ';	 +	} +    } 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(isset($displayLinkedTags) && is_array($displayLinkedTags['stopList'])) { +		    $stopList = array_merge($stopList, $displayLinkedTags['stopList']); +		    $stopList = array_unique($stopList); +		} +	    } + +    }	 +    return array('output' => $output, 'stopList' => $stopList); +} + +?> diff --git a/data/templates/sidebar.tpl.php b/data/templates/sidebar.tpl.php new file mode 100644 index 0000000..e823af5 --- /dev/null +++ b/data/templates/sidebar.tpl.php @@ -0,0 +1,19 @@ +<?php if($GLOBALS['enableAdminColors']!=false && isset($userid) && $userservice->isAdmin($userid)): ?> +<div id="sidebar" class="adminBackground"> +<?php else: ?> +<div id="sidebar"> +<?php endif ?> + + +<?php +echo $GLOBALS['sidebarTopMessage'].' '; + +$size = count($sidebar_blocks); +for ($i = 0; $i < $size; $i++) { +	$this->includeTemplate('sidebar.block.'. $sidebar_blocks[$i]); +} + +echo $GLOBALS['sidebarBottomMessage']; +?> + +</div> diff --git a/data/templates/tag2tagadd.tpl.php b/data/templates/tag2tagadd.tpl.php new file mode 100644 index 0000000..5c82223 --- /dev/null +++ b/data/templates/tag2tagadd.tpl.php @@ -0,0 +1,57 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<form action="<?= $formaction ?>" method="post"> + +<p align=right" style="float:right"> +<small style="text-align:right"><?php echo T_('Note: use "=" to make synonym two tags. e.g.: france=frenchcountry')?></small><br/> +<small style="text-align:right"><?php echo T_('Note: use ">" to include one tag in another. e.g.: europe>france>paris')?></small><br/> +</p> + +<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> +<small style="text-align:right"><?php echo sprintf(T_('Note: include a tag into \'%s\' tag (e.g. %s>countries) display the tag into the menu box'), $GLOBALS['menuTag'], $GLOBALS['menuTag'])?></small> +</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> + +<?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']);  +?> diff --git a/data/templates/tag2tagdelete.tpl.php b/data/templates/tag2tagdelete.tpl.php new file mode 100644 index 0000000..2f0715b --- /dev/null +++ b/data/templates/tag2tagdelete.tpl.php @@ -0,0 +1,49 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<form action="<?= $formaction ?>" method="post"> +<!--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> + +<?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']);  +?> diff --git a/data/templates/tag2tagedit.tpl.php b/data/templates/tag2tagedit.tpl.php new file mode 100644 index 0000000..740a654 --- /dev/null +++ b/data/templates/tag2tagedit.tpl.php @@ -0,0 +1,73 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<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 /> + +<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 /> + +<?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']);  +?> diff --git a/data/templates/tagcommondescriptionedit.tpl.php b/data/templates/tagcommondescriptionedit.tpl.php new file mode 100644 index 0000000..d3a006a --- /dev/null +++ b/data/templates/tagcommondescriptionedit.tpl.php @@ -0,0 +1,48 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); + +?> +<script type="text/javascript"> +window.onload = function() { +    document.getElementById("description").focus(); +} +</script> +<form action="<?php echo $formaction; ?>" method="post"> +<table> +<tr> +    <th align="left"><?php echo T_('Description'); ?></th> +    <td><textarea name="description" cols="75" rows="10"><?php echo $description['cdDescription']; ?></textarea></td> +</tr> +<tr> +    <td></td> +    <td> + 	<?php +	if(strlen($description['cdDatetime'])>0) { +	   echo T_('Last modification:').' '.$description['cdDatetime'].', '; +	   $lastUser = $userservice->getUser($description['uId']); +	   echo  '<a href="'.createURL('profile', $lastUser['username']).'">'.$lastUser['username'].'</a>'; +	} +	?> +    </td> +    <td></td> +</tr> +<tr> +    <td></td> +    <td> +    <input type="submit" name="confirm" value="<?php echo T_('Update'); ?>" /> +    <input type="submit" name="cancel" value="<?php echo T_('Cancel'); ?>" /> +    </td> +    <td></td> +</tr> +</table> +</p> + +<?php if (isset($referrer)): ?> +<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div> +<?php endif; ?> +<div><input type="hidden" name="tag" value="<?php echo $tag; ?>" /></div> +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']);  +?> diff --git a/data/templates/tagdelete.tpl.php b/data/templates/tagdelete.tpl.php new file mode 100644 index 0000000..3e9744a --- /dev/null +++ b/data/templates/tagdelete.tpl.php @@ -0,0 +1,20 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<form action="<?= $formaction ?>" method="post"> +<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> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']);  +?>
\ No newline at end of file diff --git a/data/templates/tagedit.tpl.php b/data/templates/tagedit.tpl.php new file mode 100644 index 0000000..5edfbc7 --- /dev/null +++ b/data/templates/tagedit.tpl.php @@ -0,0 +1,34 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> +<script type="text/javascript"> +window.onload = function() { +    document.getElementById("description").focus(); +} +</script> +<form action="<?php echo $formaction; ?>" method="post"> +<table> +<tr> +    <th align="left"><?php echo T_('Description'); ?></th> +    <td><textarea name="description" cols="75" rows="10"><?php echo $description['tDescription']; ?></textarea></td> +</tr> +<tr> +    <td></td> +    <td> +    <input type="submit" name="confirm" value="<?php echo T_('Update'); ?>" /> +    <input type="submit" name="cancel" value="<?php echo T_('Cancel'); ?>" /> +    </td> +    <td></td> +</tr> +</table> +</p> + +<?php if (isset($referrer)): ?> +<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div> +<?php endif; ?> +<div><input type="hidden" name="tag" value="<?php echo $tag; ?>" /></div> +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']);  +?> diff --git a/data/templates/tagrename.tpl.php b/data/templates/tagrename.tpl.php new file mode 100644 index 0000000..ea8b516 --- /dev/null +++ b/data/templates/tagrename.tpl.php @@ -0,0 +1,41 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> +<script type="text/javascript"> +window.onload = function() { +    document.getElementById("new").focus(); +} +</script> +<form action="<?php echo $formaction; ?>" method="post"> +<table> +<tr> +    <th align="left"><?php echo T_('Old'); ?></th> +    <td><input type="text" name="old" id="old" value="<?php echo $old; ?>" /></td> +    <td>← <?php echo T_('Required'); ?></td> +</tr> +<tr> +    <th align="left"><?php echo T_('New'); ?></th> +    <td><input type="text" name="new" id="new" value="" /></td> +    <td>← <?php echo T_('Required'); ?></td> +</tr> +<tr> +    <td></td> +    <td> +    <input type="submit" name="confirm" value="<?php echo T_('Rename'); ?>" /> +    <input type="submit" name="cancel" value="<?php echo T_('Cancel'); ?>" /> +    </td> +    <td></td> +</tr> + +</table> +</p> + +<?php if (isset($referrer)): ?> +<div><input type="hidden" name="referrer" value="<?php echo $referrer; ?>" /></div> +<?php endif; ?> + +</form> + +<?php +$this->includeTemplate($GLOBALS['bottom_include']);  +?>
\ No newline at end of file diff --git a/data/templates/tags.tpl.php b/data/templates/tags.tpl.php new file mode 100644 index 0000000..d6259cc --- /dev/null +++ b/data/templates/tags.tpl.php @@ -0,0 +1,31 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); +?> + +<?php +if ($tags && count($tags) > 0) { +?> + +<p id="sort"> +    <?php echo T_("Sort by:"); ?> +    <a href="?sort=alphabet_asc"><?php echo T_("Alphabet"); ?></a><span> / </span> +    <a href="?sort=popularity_asc"><?php echo T_("Popularity"); ?></a> +</p> +<p class="tags"> + +<?php +$contents = ''; +foreach ($tags as $row) { +    $entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']); +    $contents .= '<a href="'. sprintf($cat_url, $user, filter($row['tag'], 'url')) .'" title="'. $row['bCount'] .' '. $entries .'" rel="tag" style="font-size:'. $row['size'] .'">'. filter($row['tag']) .'</a> '; +} +echo $contents ."\n"; +?> + +</p> + +<?php +} +$this->includeTemplate('sidebar.tpl'); +$this->includeTemplate($GLOBALS['bottom_include']); +?> diff --git a/data/templates/toolbar.inc.php b/data/templates/toolbar.inc.php new file mode 100644 index 0000000..fa7170a --- /dev/null +++ b/data/templates/toolbar.inc.php @@ -0,0 +1,35 @@ +<?php +if ($userservice->isLoggedOn()) { +    $cUserId = $userservice->getCurrentUserId(); +    $cUsername = $currentUser->getUsername(); +?> + +    <ul id="navigation"> +    	<li><a href="<?php echo createURL(''); ?>"><?php echo T_('Home'); ?></a></li>     +        <li><a href="<?php echo createURL('bookmarks', $cUsername); ?>"><?php echo T_('Bookmarks'); ?></a></li> +	<li><a href="<?php echo createURL('alltags', $cUsername); ?>"><?php echo T_('Tags'); ?></a></li> +        <li><a href="<?php echo createURL('watchlist', $cUsername); ?>"><?php echo T_('Watchlist'); ?></a></li> +	<li><a href="<?php echo $userservice->getProfileUrl($cUserId, $cUsername); ?>"><?php echo T_('Profile'); ?></a></li> +        <li><a href="<?php echo createURL('bookmarks', $cUsername . '?action=add'); ?>"><?php echo T_('Add a Bookmark'); ?></a></li> +        <li class="access"><?php echo $cUsername?><a href="<?php echo ROOT ?>?action=logout">(<?php echo T_('Log Out'); ?>)</a></li> +        <li><a href="<?php echo createURL('about'); ?>"><?php echo T_('About'); ?></a></li> +	<?php if($currentUser->isAdmin()): ?>
 +        <li><a href="<?php echo createURL('admin', ''); ?>"><?php echo '['.T_('Admin').']'; ?></a></li>
 +	<?php endif; ?> + +    </ul> + +<?php +} else { +?> +    <ul id="navigation"> +    	<li><a href="<?php echo createURL(''); ?>"><?php echo T_('Home'); ?></a></li> +	<li><a href="<?php echo createURL('populartags'); ?>"><?php echo T_('Popular Tags'); ?></a></li> +        <li><a href="<?php echo createURL('about'); ?>"><?php echo T_('About'); ?></a></li> +        <li class="access"><a href="<?php echo createURL('login'); ?>"><?php echo T_('Log In'); ?></a></li> +        <li class="access"><a href="<?php echo createURL('register'); ?>"><?php echo T_('Register'); ?></a></li> +    </ul> + +<?php +} +?> diff --git a/data/templates/top.inc.php b/data/templates/top.inc.php new file mode 100644 index 0000000..13b0347 --- /dev/null +++ b/data/templates/top.inc.php @@ -0,0 +1,61 @@ +<?php header('Content-Type: text/html; charset=utf-8'); ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> + <head> +  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +  <title><?php echo filter($GLOBALS['sitename'] .(isset($pagetitle) ? ' » ' . $pagetitle : '')); ?></title> +  <link rel="icon" type="image/png" href="<?php echo ROOT ?>icon.png" /> +  <link rel="stylesheet" type="text/css" href="<?php echo ROOT ?>scuttle.css" /> +  <link rel="search" type="application/opensearchdescription+xml" href="<?php echo ROOT ?>api/opensearch.php" title="<?php echo $GLOBALS['sitename'] ?>"/> +<?php +if(isset($rsschannels)) { +	$size = count($rsschannels); +	for ($i = 0; $i < $size; $i++) { +		echo '  <link rel="alternate" type="application/rss+xml" title="'. $rsschannels[$i][0] .'" href="'. $rsschannels[$i][1] .'" />'; +	} +} +?> +  <link rel="stylesheet" type="text/css" +	href="http://ajax.googleapis.com/ajax/libs/dojo/1.2/dijit/themes/nihilo/nihilo.css" /> + +<?php if (isset($loadjs)) :?> +  <script type="text/javascript" src="<?php echo ROOT ?>jsScuttle.php"></script> +<?php endif ?> + + </head> + + <body class="nihilo"> +<!-- the class is used by Dojo widgets --> + +<?php +$headerstyle = ''; +if(isset($_GET['popup'])) { +	$headerstyle = ' class="popup"'; +} +?> + +<div id="header" <?php echo $headerstyle; ?>> +<h1><a href="<?php echo ROOT ?>"><?php echo $GLOBALS['sitename']; ?></a></h1> +<?php +if(!isset($_GET['popup'])) { +	$this->includeTemplate('toolbar.inc'); +} +?></div> + +<?php +if (isset($subtitle)) { +	echo '<h2>'. $subtitle ."</h2>\n"; +} +if(DEBUG_MODE) { +	echo '<p class="error">'. T_('Admins, your installation is in "Debug Mode" ($debugMode = true). To go in "Normal Mode" and hide debugging messages, change $debugMode to false into config.inc.php.') ."</p>\n"; +} +if (isset($error) && $error!='') { +	echo '<p class="error">'. $error ."</p>\n"; +} +if (isset($msg) && $msg!='') { +	echo '<p class="success">'. $msg ."</p>\n"; +} +if (isset($tipMsg) && $tipMsg!='') { +	echo '<p class="tipMsg">'. $tipMsg ."</p>\n"; +} +?> diff --git a/data/templates/users.tpl.php b/data/templates/users.tpl.php new file mode 100644 index 0000000..c209f94 --- /dev/null +++ b/data/templates/users.tpl.php @@ -0,0 +1,26 @@ +<?php +$this->includeTemplate($GLOBALS['top_include']); + +if ($users && count($users) > 0) { +?> + +<!--p id="sort"> +    <?php echo T_("Sort by:"); ?> +    <a href="?sort=alphabet_asc"><?php echo T_("Alphabet"); ?></a><span> / </span> +    <a href="?sort=popularity_asc"><?php echo T_("Popularity"); ?></a> +</p--> +<p class="users"> +<ul> +<?php +$contents = '<'; +foreach ($users as $row) { +    echo  '<li><strong>'.$row['username'].'</strong> (<a href="'.createURL('profile', $row['username']).'">'.T_('profile').'</a> '.T_('created in').' '.date('M Y',strtotime($row['uDatetime'])).') : <a href="'.createURL('bookmarks', $row['username']).'">'.T_('bookmarks').'</a></li>'; +} +?> +</ul> +</p> + +<?php +} +$this->includeTemplate($GLOBALS['bottom_include']); +?> | 
