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']); +?> |