diff options
-rw-r--r-- | index.php | 2 | ||||
-rw-r--r-- | services/userservice.php | 16 | ||||
-rw-r--r-- | templates/sidebar.block.users.php | 32 | ||||
-rw-r--r-- | templates/users.tpl.php | 26 | ||||
-rw-r--r-- | users.php | 64 |
5 files changed, 139 insertions, 1 deletions
@@ -67,7 +67,7 @@ $dtend = date('Y-m-d H:i:s', strtotime('tomorrow')); $tplVars['page'] = $page; $tplVars['start'] = $start; $tplVars['popCount'] = 30; -$tplVars['sidebar_blocks'] = array('linked', 'recent'); +$tplVars['sidebar_blocks'] = array('users', 'linked', 'recent'); $tplVars['range'] = 'all'; $tplVars['pagetitle'] = T_('Store, share and tag your favourite links'); $tplVars['subtitle'] = T_('Recent Bookmarks'); diff --git a/services/userservice.php b/services/userservice.php index 4a7cd4f..381ae51 100644 --- a/services/userservice.php +++ b/services/userservice.php @@ -62,6 +62,22 @@ class UserService { return false; } + function & getUsers($nb=0) { + $query = 'SELECT * FROM '. $this->getTableName() .' ORDER BY `uId` DESC'; + if($nb>0) { + $query .= ' LIMIT 0, '.$nb; + } + if (! ($dbresult =& $this->db->sql_query($query)) ) { + message_die(GENERAL_ERROR, 'Could not get user', '', __LINE__, __FILE__, $query, $this->db); + return false; + } + + while ($row = & $this->db->sql_fetchrow($dbresult)) { + $users[] = $row; + } + return $users; + } + function _randompassword() { $seed = (integer) md5(microtime()); mt_srand($seed); diff --git a/templates/sidebar.block.users.php b/templates/sidebar.block.users.php new file mode 100644 index 0000000..23bf1cc --- /dev/null +++ b/templates/sidebar.block.users.php @@ -0,0 +1,32 @@ +<?php +$tagservice =& ServiceFactory::getServiceInstance('TagService'); +$userservice =& ServiceFactory::getServiceInstance('UserService'); + +$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_('Last 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 '</td></tr>'; +} +echo '<tr><td><a href="'.createURL('users').'">...</a></td></tr>'; +?> + +</table> +</div> +<?php +} +?> diff --git a/templates/users.tpl.php b/templates/users.tpl.php new file mode 100644 index 0000000..edce48d --- /dev/null +++ b/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 '<strong>'.$row['username'].'</strong><li><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']); +?> diff --git a/users.php b/users.php new file mode 100644 index 0000000..1275157 --- /dev/null +++ b/users.php @@ -0,0 +1,64 @@ +<?php +/*************************************************************************** +Copyright (C) 2004 - 2006 Scuttle project +http://sourceforge.net/projects/scuttle/ +http://scuttle.org/ + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +***************************************************************************/ + +require_once('header.inc.php'); + +$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService'); +$templateservice =& ServiceFactory::getServiceInstance('TemplateService'); +$userservice =& ServiceFactory::getServiceInstance('UserService'); +$cacheservice =& ServiceFactory::getServiceInstance('CacheService'); + +$tplVars = array(); + +list($url, $cat) = explode('/', $_SERVER['PATH_INFO']); + +$pagetitle = T_('Users'); + +if ($usecache) { + // Generate hash for caching on + if ($userservice->isLoggedOn()) { + $hash = md5($_SERVER['REQUEST_URI'] . $userservice->getCurrentUserID()); + } else { + $hash = md5($_SERVER['REQUEST_URI']); + } + + // Cache for 30 minutes + $cacheservice->Start($hash, 1800); +} + +// Header variables +$tplVars['pagetitle'] = $pagetitle; +$tplVars['loadjs'] = true; + +$tplVars['sidebar_blocks'] = array('recent', 'popular'); +$tplVars['subtitle'] = filter($pagetitle); + +$tplVars['users'] =& $userservice->getUsers(); +//$tplVars['cat_url'] = createURL('tags', '%2$s'); +//$tplVars['nav_url'] = createURL('tags', '%2$s%3$s'); + +$templateservice->loadTemplate('users.tpl', $tplVars); + +if ($usecache) { + // Cache output if existing copy has expired + $cacheservice->End($hash); +} +?> |