aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-01-11 12:55:10 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-01-11 12:55:10 +0000
commit3265b349197a07152dd0650444c205a267697228 (patch)
treee5ef8a29fdb07075a70bc9b142d3d3db5cc552b9
parentff4f55fb5f7575fe6e629e782232c5eb0df4c8f8 (diff)
downloadsemanticscuttle-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.php2
-rw-r--r--services/userservice.php16
-rw-r--r--templates/sidebar.block.users.php32
-rw-r--r--templates/users.tpl.php26
-rw-r--r--users.php64
5 files changed, 139 insertions, 1 deletions
diff --git a/index.php b/index.php
index aa9ba05..17e7e0a 100644
--- a/index.php
+++ b/index.php
@@ -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);
+}
+?>