diff options
-rw-r--r-- | account.php | 41 | ||||
-rw-r--r-- | includes/comment.inc | 16 |
2 files changed, 39 insertions, 18 deletions
diff --git a/account.php b/account.php index e05772c0f..af2205220 100644 --- a/account.php +++ b/account.php @@ -201,17 +201,52 @@ function account_user($uname) { $theme->footer(); } elseif ($uname && $account = account_get_user($uname)) { + $theme->header(); + + // Display account information: $output .= "<TABLE BORDER=\"0\" CELLPADDING=\"1\" CELLSPACING=\"1\">\n"; $output .= " <TR><TD ALIGN=\"right\"><B>". t("Username") .":</B></TD><TD>". check_output($account->userid) ."</TD></TR>\n"; - $output .= " <TR><TD ALIGN=\"right\"><B>". t("Real name") .":</B></TD><TD>". check_output($user->name) ."</TD></TR>\n"; + $output .= " <TR><TD ALIGN=\"right\"><B>". t("Real name") .":</B></TD><TD>". check_output($account->name) ."</TD></TR>\n"; $output .= " <TR><TD ALIGN=\"right\"><B>". t("E-mail") .":</B></TD><TD>". format_email($account->fake_email) ."</TD></TR>\n"; $output .= " <TR><TD ALIGN=\"right\"><B>". t("Homepage") .":</B></TD><TD>". format_url($account->url) ."</TD></TR>\n"; $output .= " <TR><TD ALIGN=\"right\"><B>". t("Bio") .":</B></TD><TD>". check_output($account->bio) ."</TD></TR>\n"; $output .= "</TABLE>\n"; - // Display account information: - $theme->header(); $theme->box(strtr(t("%a's user information"), array("%a" => $uname)), $output); + + // Display contributions: + if (user_access("access contents")) { + $result = db_query("SELECT n.nid, n.type, n.title, n.timestamp, COUNT(c.cid) AS count FROM node n LEFT JOIN comments c ON c.lid = n.nid WHERE n.status = '". node_status("posted") ."' AND n.author = '$account->id' GROUP BY n.nid DESC ORDER BY n.nid DESC LIMIT 25"); + + while ($node = db_fetch_object($result)) { + $nodes .= "<TABLE BORDER=\"0\" CELLPADDING=\"1\" CELLSPACING=\"1\">\n"; + $nodes .= " <TR><TD ALIGN=\"right\" VALIGN=\"top\"><B>". t("Subject") .":</B></TD><TD><A HREF=\"node.php?id=$node->nid\">". check_output($node->title) ."</A> (". format_plural($node->count, "comment", "comments") .")</TD></TR>\n"; + $nodes .= " <TR><TD ALIGN=\"right\" VALIGN=\"top\"><B>". t("Type") .":</B></TD><TD>". check_output($node->type) ."</A></TD></TR>\n"; + $nodes .= " <TR><TD ALIGN=\"right\" VALIGN=\"top\"><B>". t("Date") .":</B></TD><TD>". format_date($node->timestamp) ."</TD></TR>\n"; + $nodes .= "</TABLE>\n"; + $nodes .= "<P>\n"; + } + + $theme->box(strtr(t("%a's contributions"), array("%a" => $uname)), ($nodes ? $nodes : t("Not posted any nodes."))); + } + + if (user_access("access comments")) { + $sresult = db_query("SELECT n.nid, n.title, COUNT(n.nid) AS count FROM comments c LEFT JOIN node n ON c.lid = n.nid WHERE c.author = '$account->id' GROUP BY n.nid DESC ORDER BY n.nid DESC LIMIT 5"); + + while ($node = db_fetch_object($sresult)) { + $comments .= "<LI>". format_plural($node->count, "comment", "comments") ." ". t("attached to node") ." `<A HREF=\"node.php?id=$node->nid\">". check_output($node->title) ."</A>`:</LI>\n"; + $comments .= " <UL>\n"; + + $cresult = db_query("SELECT * FROM comments WHERE author = '$account->id' AND lid = '$node->nid'"); + while ($comment = db_fetch_object($cresult)) { + $comments .= " <LI><A HREF=\"node.php?id=$node->nid&cid=$comment->cid&pid=$comment->pid#$comment->cid\">". check_output($comment->subject) ."</A> (". t("replies") .": ". comment_num_replies($comment->cid) .", ". t("votes") .": $comment->votes, ". t("score") .": ". comment_score($comment) .")</LI>\n"; + } + $comments .= " </UL>\n"; + } + + $theme->box(strtr(t("%a's comments"), array("%a" => $uname)), ($comments ? $comments : t("Not posted any comments."))); + } + $theme->footer(); } else { diff --git a/includes/comment.inc b/includes/comment.inc index b88ceadfc..870d5feb8 100644 --- a/includes/comment.inc +++ b/includes/comment.inc @@ -163,20 +163,6 @@ function comment_moderation($comment) { return $output; } -function comment_controls($threshold = 1, $mode = 3, $order = 1) { - global $REQUEST_URI, $user; - $output .= "<DIV ALIGN=\"CENTER\">\n"; - $output .= "<FORM METHOD=\"post\" ACTION=\"$REQUEST_URI\">\n"; - $output .= comment_mode(($user->id ? $user->mode : $mode)); - $output .= comment_order(($user->id ? $user->sort : $order)); - $output .= comment_threshold(($user->id ? $user->threshold : $threshold)); - $output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Update settings") ."\">\n"; - $output .= "<INPUT TYPE=\"submit\" NAME=\"op\" VALUE=\"". t("Add comment") ."\">\n"; - $output .= "</FORM>\n"; - $output .= "</DIV>\n"; - return $output; -} - function comment_threshold($threshold) { for ($i = -1; $i < 6; $i++) $options .= " <OPTION VALUE=\"$i\"". ($threshold == $i ? " SELECTED" : "") .">". t("Filter") ." - $i</OPTION>"; return "<SELECT NAME=\"threshold\">$options</SELECT>\n"; @@ -273,7 +259,7 @@ function comment_render($lid, $cid) { if ($user->id) { // Comment control: - $theme->box(t("Comment control"), comment_controls($threshold, $mode, $order)); + $theme->box(t("Comment control"), $theme->comment_controls($threshold, $mode, $order)); // Print moderation form: print "<FORM METHOD=\"post\" ACTION=\"$REQUEST_URI\">\n"; |