From 3265b349197a07152dd0650444c205a267697228 Mon Sep 17 00:00:00 2001 From: mensonge Date: Fri, 11 Jan 2008 12:55:10 +0000 Subject: [PATCH] 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 --- index.php | 2 +- services/userservice.php | 16 ++++++++ templates/sidebar.block.users.php | 32 ++++++++++++++++ templates/users.tpl.php | 26 +++++++++++++ users.php | 64 +++++++++++++++++++++++++++++++ 5 files changed, 139 insertions(+), 1 deletion(-) create mode 100644 templates/sidebar.block.users.php create mode 100644 templates/users.tpl.php create mode 100644 users.php 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 @@ +getCurrentUserId(); +if ($logged_on_userid === false) { + $logged_on_userid = NULL; +} +$lastUsers = $userservice->getUsers(3); + +if ($lastUsers && count($lastUsers) > 0) { +?> + +

+
+ +'; +} +echo ''; +?> + +
'; + echo ''; + echo $row['username']; + echo ''; + echo '
...
+
+ 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 @@ +includeTemplate($GLOBALS['top_include']); + +if ($users && count($users) > 0) { +?> + + +

+

+

+ +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 @@ +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); +} +?>