diff options
| author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-01-11 12:55:10 +0000 | 
|---|---|---|
| committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-01-11 12:55:10 +0000 | 
| commit | 3265b349197a07152dd0650444c205a267697228 (patch) | |
| tree | e5ef8a29fdb07075a70bc9b142d3d3db5cc552b9 | |
| parent | ff4f55fb5f7575fe6e629e782232c5eb0df4c8f8 (diff) | |
| download | semanticscuttle-3265b349197a07152dd0650444c205a267697228.tar.gz semanticscuttle-3265b349197a07152dd0650444c205a267697228.tar.bz2 | |
new feature: creation of a page listing all users and a user block on the front page
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@12 b3834d28-1941-0410-a4f8-b48e95affb8f
| -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); +} +?> | 
