[geeklog-cvs] geeklog: When viewing your own profile page, you now get an "edi...
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Sun Oct 4 13:57:05 EDT 2009
changeset 7359:b71518e57545
url: http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/b71518e57545
user: Dirk Haun <dirk at haun-online.de>
date: Sun Oct 04 13:51:37 2009 +0200
description:
When viewing your own profile page, you now get an "edit" link that take you to "My Account"
diffstat:
public_html/docs/history | 2 +
public_html/users.php | 127 ++++++++++++++++++++++-------------------
2 files changed, 70 insertions(+), 59 deletions(-)
diffs (242 lines):
diff -r b6d086ec0e01 -r b71518e57545 public_html/docs/history
--- a/public_html/docs/history Sun Oct 04 13:32:11 2009 +0200
+++ b/public_html/docs/history Sun Oct 04 13:51:37 2009 +0200
@@ -3,6 +3,8 @@
Oct ??, 2009 (1.6.1)
------------
+- When viewing your own profile page, you now get an "edit" link that take you
+ to "My Account" [Dirk]
- Additional checks in "Mail Story to a Friend", "Send mail to user", and
"Mail Users" dialogs to make sure users don't enter email addresses into the
name fields (bug #0000992) [Dirk]
diff -r b6d086ec0e01 -r b71518e57545 public_html/users.php
--- a/public_html/users.php Sun Oct 04 13:32:11 2009 +0200
+++ b/public_html/users.php Sun Oct 04 13:51:37 2009 +0200
@@ -59,75 +59,76 @@
*
* This grabs the user profile for a given user and displays it
*
-* @param int $user User ID of profile to get
+* @param int $uid User ID of profile to get
* @param int $msg Message to display (if != 0)
* @param string $plugin optional plugin name for message
* @return string HTML for user profile page
*
*/
-function userprofile($user, $msg = 0, $plugin = '')
+function userprofile($uid, $msg = 0, $plugin = '')
{
- global $_CONF, $_TABLES, $_USER, $LANG01, $LANG04, $LANG09, $LANG28, $LANG_LOGIN;
+ global $_CONF, $_TABLES, $_USER, $_IMAGE_TYPE,
+ $LANG01, $LANG04, $LANG09, $LANG28, $LANG_LOGIN, $LANG_ADMIN;
$retval = '';
- if (empty ($_USER['username']) &&
+ if (empty($_USER['username']) &&
(($_CONF['loginrequired'] == 1) || ($_CONF['profileloginrequired'] == 1))) {
- $retval .= COM_siteHeader ('menu', $LANG_LOGIN[1]);
- $retval .= COM_startBlock ($LANG_LOGIN[1], '',
- COM_getBlockTemplate ('_msg_block', 'header'));
+ $retval .= COM_siteHeader('menu', $LANG_LOGIN[1]);
+ $retval .= COM_startBlock($LANG_LOGIN[1], '',
+ COM_getBlockTemplate('_msg_block', 'header'));
$login = new Template($_CONF['path_layout'] . 'submit');
- $login->set_file (array ('login'=>'submitloginrequired.thtml'));
- $login->set_var ( 'xhtml', XHTML );
- $login->set_var ('login_message', $LANG_LOGIN[2]);
- $login->set_var ('site_url', $_CONF['site_url']);
- $login->set_var ('site_admin_url', $_CONF['site_admin_url']);
- $login->set_var ('layout_url', $_CONF['layout_url']);
- $login->set_var ('lang_login', $LANG_LOGIN[3]);
- $login->set_var ('lang_newuser', $LANG_LOGIN[4]);
- $login->parse ('output', 'login');
- $retval .= $login->finish ($login->get_var('output'));
- $retval .= COM_endBlock (COM_getBlockTemplate ('_msg_block', 'footer'));
- $retval .= COM_siteFooter ();
+ $login->set_file(array('login'=>'submitloginrequired.thtml'));
+ $login->set_var('xhtml', XHTML);
+ $login->set_var('login_message', $LANG_LOGIN[2]);
+ $login->set_var('site_url', $_CONF['site_url']);
+ $login->set_var('site_admin_url', $_CONF['site_admin_url']);
+ $login->set_var('layout_url', $_CONF['layout_url']);
+ $login->set_var('lang_login', $LANG_LOGIN[3]);
+ $login->set_var('lang_newuser', $LANG_LOGIN[4]);
+ $login->parse('output', 'login');
+ $retval .= $login->finish($login->get_var('output'));
+ $retval .= COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer'));
+ $retval .= COM_siteFooter();
return $retval;
}
- $result = DB_query ("SELECT {$_TABLES['users']}.uid,username,fullname,regdate,homepage,about,location,pgpkey,photo,email,status FROM {$_TABLES['userinfo']},{$_TABLES['users']} WHERE {$_TABLES['userinfo']}.uid = {$_TABLES['users']}.uid AND {$_TABLES['users']}.uid = $user");
- $nrows = DB_numRows ($result);
+ $result = DB_query("SELECT {$_TABLES['users']}.uid,username,fullname,regdate,homepage,about,location,pgpkey,photo,email,status FROM {$_TABLES['userinfo']},{$_TABLES['users']} WHERE {$_TABLES['userinfo']}.uid = {$_TABLES['users']}.uid AND {$_TABLES['users']}.uid = $uid");
+ $nrows = DB_numRows($result);
if ($nrows == 0) { // no such user
- return COM_refresh ($_CONF['site_url'] . '/index.php');
+ return COM_refresh($_CONF['site_url'] . '/index.php');
}
- $A = DB_fetchArray ($result);
+ $A = DB_fetchArray($result);
- if ($A['status'] == USER_ACCOUNT_DISABLED && !SEC_hasRights ('user.edit')) {
- COM_displayMessageAndAbort (30, '', 403, 'Forbidden');
+ if ($A['status'] == USER_ACCOUNT_DISABLED && !SEC_hasRights('user.edit')) {
+ COM_displayMessageAndAbort(30, '', 403, 'Forbidden');
}
- $display_name = htmlspecialchars(COM_getDisplayName($user, $A['username'],
+ $display_name = htmlspecialchars(COM_getDisplayName($uid, $A['username'],
$A['fullname']));
- $retval .= COM_siteHeader ('menu', $LANG04[1] . ' ' . $display_name);
+ $retval .= COM_siteHeader('menu', $LANG04[1] . ' ' . $display_name);
if ($msg > 0) {
$retval .= COM_showMessage($msg, $plugin);
}
// format date/time to user preference
- $curtime = COM_getUserDateTimeFormat ($A['regdate']);
+ $curtime = COM_getUserDateTimeFormat($A['regdate']);
$A['regdate'] = $curtime[0];
- $user_templates = new Template ($_CONF['path_layout'] . 'users');
- $user_templates->set_file (array ('profile' => 'profile.thtml',
- 'row' => 'commentrow.thtml',
- 'strow' => 'storyrow.thtml'));
- $user_templates->set_var ('xhtml', XHTML);
- $user_templates->set_var ('site_url', $_CONF['site_url']);
- $user_templates->set_var ('start_block_userprofile',
- COM_startBlock ($LANG04[1] . ' ' . $display_name));
- $user_templates->set_var ('end_block', COM_endBlock ());
- $user_templates->set_var ('lang_username', $LANG04[2]);
+ $user_templates = new Template($_CONF['path_layout'] . 'users');
+ $user_templates->set_file(array('profile' => 'profile.thtml',
+ 'row' => 'commentrow.thtml',
+ 'strow' => 'storyrow.thtml'));
+ $user_templates->set_var('xhtml', XHTML);
+ $user_templates->set_var('site_url', $_CONF['site_url']);
+ $user_templates->set_var('start_block_userprofile',
+ COM_startBlock($LANG04[1] . ' ' . $display_name));
+ $user_templates->set_var('end_block', COM_endBlock());
+ $user_templates->set_var('lang_username', $LANG04[2]);
if ($_CONF['show_fullname'] == 1) {
- if (empty ($A['fullname'])) {
+ if (empty($A['fullname'])) {
$username = $A['username'];
$fullname = '';
} else {
@@ -142,38 +143,46 @@
$fullname = htmlspecialchars($fullname);
if ($A['status'] == USER_ACCOUNT_DISABLED) {
- $username = sprintf ('<s title="%s">%s</s>', $LANG28[42], $username);
- if (!empty ($fullname)) {
- $fullname = sprintf ('<s title="%s">%s</s>', $LANG28[42], $fullname);
+ $username = sprintf('<s title="%s">%s</s>', $LANG28[42], $username);
+ if (!empty($fullname)) {
+ $fullname = sprintf('<s title="%s">%s</s>', $LANG28[42], $fullname);
}
}
- $user_templates->set_var ('username', $username);
- $user_templates->set_var ('user_fullname', $fullname);
+ $user_templates->set_var('username', $username);
+ $user_templates->set_var('user_fullname', $fullname);
- if (SEC_hasRights ('user.edit')) {
- global $_IMAGE_TYPE, $LANG_ADMIN;
-
+ if (!COM_isAnonUser() && ($_USER['uid'] == $uid)) {
+ $edit_icon = '<img src="' . $_CONF['layout_url'] . '/images/edit.'
+ . $_IMAGE_TYPE . '" alt="' . $LANG01[48]
+ . '" title="' . $LANG01[48] . '"' . XHTML . '>';
+ $edit_link_url = COM_createLink($edit_icon,
+ $_CONF['site_url'] . '/usersettings.php');
+ $user_templates->set_var('edit_icon', $edit_icon);
+ $user_templates->set_var('edit_link', $edit_link_url);
+ $user_templates->set_var('user_edit', $edit_link_url);
+ } elseif (SEC_hasRights('user.edit')) {
$edit_icon = '<img src="' . $_CONF['layout_url'] . '/images/edit.'
. $_IMAGE_TYPE . '" alt="' . $LANG_ADMIN['edit']
. '" title="' . $LANG_ADMIN['edit'] . '"' . XHTML . '>';
$edit_link_url = COM_createLink($edit_icon,
"{$_CONF['site_admin_url']}/user.php?mode=edit&uid={$A['uid']}");
- $user_templates->set_var ('edit_icon', $edit_icon);
- $user_templates->set_var ('edit_link', $edit_link_url);
- $user_templates->set_var ('user_edit', $edit_link_url);
+ $user_templates->set_var('edit_icon', $edit_icon);
+ $user_templates->set_var('edit_link', $edit_link_url);
+ $user_templates->set_var('user_edit', $edit_link_url);
}
if (isset ($A['photo']) && empty ($A['photo'])) {
$A['photo'] = '(none)'; // user does not have a photo
}
- $photo = USER_getPhoto ($user, $A['photo'], $A['email'], -1);
+ $photo = USER_getPhoto ($uid, $A['photo'], $A['email'], -1);
$user_templates->set_var ('user_photo', $photo);
$user_templates->set_var ('lang_membersince', $LANG04[67]);
$user_templates->set_var ('user_regdate', $A['regdate']);
$user_templates->set_var ('lang_email', $LANG04[5]);
- $user_templates->set_var ('user_id', $user);
+ $user_templates->set_var ('user_id', $uid);
+ $user_templates->set_var ('uid', $uid);
$user_templates->set_var ('lang_sendemail', $LANG04[81]);
$user_templates->set_var ('lang_homepage', $LANG04[6]);
$user_templates->set_var ('user_homepage', COM_killJS ($A['homepage']));
@@ -209,7 +218,7 @@
// list of last 10 stories by this user
if (count($tids) > 0) {
- $sql = "SELECT sid,title,UNIX_TIMESTAMP(date) AS unixdate FROM {$_TABLES['stories']} WHERE (uid = $user) AND (draft_flag = 0) AND (date <= NOW()) AND (tid IN ($topics))" . COM_getPermSQL ('AND');
+ $sql = "SELECT sid,title,UNIX_TIMESTAMP(date) AS unixdate FROM {$_TABLES['stories']} WHERE (uid = $uid) AND (draft_flag = 0) AND (date <= NOW()) AND (tid IN ($topics))" . COM_getPermSQL ('AND');
$sql .= " ORDER BY unixdate DESC LIMIT 10";
$result = DB_query ($sql);
$nrows = DB_numRows ($result);
@@ -257,7 +266,7 @@
$sidList = "'$sidList'";
// then, find all comments by the user in those stories
- $sql = "SELECT sid,title,cid,UNIX_TIMESTAMP(date) AS unixdate FROM {$_TABLES['comments']} WHERE (uid = $user) GROUP BY sid,title,cid,UNIX_TIMESTAMP(date)";
+ $sql = "SELECT sid,title,cid,UNIX_TIMESTAMP(date) AS unixdate FROM {$_TABLES['comments']} WHERE (uid = $uid) GROUP BY sid,title,cid,UNIX_TIMESTAMP(date)";
// SQL NOTE: Using a HAVING clause is usually faster than a where if the
// field is part of the select
@@ -295,12 +304,12 @@
// posting stats for this user
$user_templates->set_var ('lang_number_stories', $LANG04[84]);
- $sql = "SELECT COUNT(*) AS count FROM {$_TABLES['stories']} WHERE (uid = $user) AND (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND');
+ $sql = "SELECT COUNT(*) AS count FROM {$_TABLES['stories']} WHERE (uid = $uid) AND (draft_flag = 0) AND (date <= NOW())" . COM_getPermSQL ('AND');
$result = DB_query($sql);
$N = DB_fetchArray ($result);
$user_templates->set_var ('number_stories', COM_numberFormat ($N['count']));
$user_templates->set_var ('lang_number_comments', $LANG04[85]);
- $sql = "SELECT COUNT(*) AS count FROM {$_TABLES['comments']} WHERE (uid = $user)";
+ $sql = "SELECT COUNT(*) AS count FROM {$_TABLES['comments']} WHERE (uid = $uid)";
if (!empty ($sidList)) {
$sql .= " AND (sid in ($sidList))";
}
@@ -312,14 +321,14 @@
// Call custom registration function if enabled and exists
if ($_CONF['custom_registration'] && function_exists ('CUSTOM_userDisplay') ) {
- $user_templates->set_var ('customfields', CUSTOM_userDisplay ($user));
+ $user_templates->set_var ('customfields', CUSTOM_userDisplay ($uid));
}
- PLG_profileVariablesDisplay ($user, $user_templates);
+ PLG_profileVariablesDisplay ($uid, $user_templates);
$user_templates->parse ('output', 'profile');
$retval .= $user_templates->finish ($user_templates->get_var ('output'));
- $retval .= PLG_profileBlocksDisplay ($user);
+ $retval .= PLG_profileBlocksDisplay ($uid);
$retval .= COM_siteFooter ();
return $retval;
More information about the geeklog-cvs
mailing list