diff options
author | Dries Buytaert <dries@buytaert.net> | 2004-01-13 19:25:37 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2004-01-13 19:25:37 +0000 |
commit | eee72bfa9509e99be79f9c92e6330bc00ea498dd (patch) | |
tree | 30c11ee855f1025325e617aeefa6ee307a957a2a /modules | |
parent | 75685d8c3d21eb8ac93e03b9f202aefdedaabe58 (diff) | |
download | brdo-eee72bfa9509e99be79f9c92e6330bc00ea498dd.tar.gz brdo-eee72bfa9509e99be79f9c92e6330bc00ea498dd.tar.bz2 |
- Patch 4859: new drupal_unpack() consolidates duplicate code and makes it
easy to show avatars next to nodes and comments. Patch by Moshe. As a
showcase, maybe Xtemplate should have an option to enable/disable avatars?
Diffstat (limited to 'modules')
-rw-r--r-- | modules/comment.module | 7 | ||||
-rw-r--r-- | modules/comment/comment.module | 7 | ||||
-rw-r--r-- | modules/node.module | 5 | ||||
-rw-r--r-- | modules/node/node.module | 5 | ||||
-rw-r--r-- | modules/user.module | 9 | ||||
-rw-r--r-- | modules/user/user.module | 9 |
6 files changed, 20 insertions, 22 deletions
diff --git a/modules/comment.module b/modules/comment.module index 4bf8a7712..4ae5b52d8 100644 --- a/modules/comment.module +++ b/modules/comment.module @@ -187,7 +187,7 @@ function comment_edit($cid) { global $user; $comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $cid)); - + $comment = drupal_unpack($comment); if (comment_access("edit", $comment)) { return comment_preview(object2array($comment)); } @@ -205,6 +205,7 @@ function comment_reply($pid, $nid) { if ($pid) { $comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $pid)); + $comment = drupal_unpack($comment); $output .= theme("comment_view", $comment); } else if (user_access("access content")) { @@ -259,6 +260,7 @@ function comment_preview($edit) { if ($edit["pid"]) { $comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $edit["pid"])); + $comment = drupal_unpack($comment); $output .= theme("comment_view", $comment); } else { @@ -678,7 +680,6 @@ function comment_render($node, $cid = 0) { */ $result = pager_query($query, $comments_per_page, 0, "SELECT COUNT(*) FROM {comments} WHERE nid = '". check_query($nid) ."'"); - if (db_num_rows($result) && (variable_get("comment_controls", 0) == 0 || variable_get("comment_controls", 0) == 2)) { $output .= "<form method=\"post\" action=\"". url("comment") ."\"><div>\n"; $output .= theme("comment_controls", $threshold, $mode, $order, $comments_per_page); @@ -690,6 +691,7 @@ function comment_render($node, $cid = 0) { $output .= form_hidden("nid", $nid); while ($comment = db_fetch_object($result)) { + $comment = drupal_unpack($comment); $comment->depth = count(explode(".", $comment->thread)) - 1; if ($mode == 1) { @@ -899,6 +901,7 @@ function comment_admin_edit($id) { $result = db_query("SELECT c.*, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $id); $comment = db_fetch_object($result); + $comment = drupal_unpack($comment); if ($comment) { $form .= form_item(t("Author"), format_name($comment)); diff --git a/modules/comment/comment.module b/modules/comment/comment.module index 4bf8a7712..4ae5b52d8 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -187,7 +187,7 @@ function comment_edit($cid) { global $user; $comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $cid)); - + $comment = drupal_unpack($comment); if (comment_access("edit", $comment)) { return comment_preview(object2array($comment)); } @@ -205,6 +205,7 @@ function comment_reply($pid, $nid) { if ($pid) { $comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $pid)); + $comment = drupal_unpack($comment); $output .= theme("comment_view", $comment); } else if (user_access("access content")) { @@ -259,6 +260,7 @@ function comment_preview($edit) { if ($edit["pid"]) { $comment = db_fetch_object(db_query("SELECT c.*, u.uid, u.name, u.data FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status = 0", $edit["pid"])); + $comment = drupal_unpack($comment); $output .= theme("comment_view", $comment); } else { @@ -678,7 +680,6 @@ function comment_render($node, $cid = 0) { */ $result = pager_query($query, $comments_per_page, 0, "SELECT COUNT(*) FROM {comments} WHERE nid = '". check_query($nid) ."'"); - if (db_num_rows($result) && (variable_get("comment_controls", 0) == 0 || variable_get("comment_controls", 0) == 2)) { $output .= "<form method=\"post\" action=\"". url("comment") ."\"><div>\n"; $output .= theme("comment_controls", $threshold, $mode, $order, $comments_per_page); @@ -690,6 +691,7 @@ function comment_render($node, $cid = 0) { $output .= form_hidden("nid", $nid); while ($comment = db_fetch_object($result)) { + $comment = drupal_unpack($comment); $comment->depth = count(explode(".", $comment->thread)) - 1; if ($mode == 1) { @@ -899,6 +901,7 @@ function comment_admin_edit($id) { $result = db_query("SELECT c.*, u.name, u.uid FROM {comments} c INNER JOIN {users} u ON c.uid = u.uid WHERE c.cid = %d AND c.status != 2", $id); $comment = db_fetch_object($result); + $comment = drupal_unpack($comment); if ($comment) { $form .= form_item(t("Author"), format_name($comment)); diff --git a/modules/node.module b/modules/node.module index 770661cc1..7f1b2a532 100644 --- a/modules/node.module +++ b/modules/node.module @@ -263,10 +263,11 @@ function node_load($conditions, $revision = -1) { ** Retrieve the node: */ - $node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name FROM {node} n INNER JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond))); + $node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name, u.data FROM {node} n INNER JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond))); + $node = drupal_unpack($node); /* - ** Unserialize the revisions field: + ** Unserialize the revisions and user data fields: */ if ($node->revisions) { diff --git a/modules/node/node.module b/modules/node/node.module index 770661cc1..7f1b2a532 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -263,10 +263,11 @@ function node_load($conditions, $revision = -1) { ** Retrieve the node: */ - $node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name FROM {node} n INNER JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond))); + $node = db_fetch_object(db_query("SELECT n.*, u.uid, u.name, u.data FROM {node} n INNER JOIN {users} u ON u.uid = n.uid WHERE ". implode(" AND ", $cond))); + $node = drupal_unpack($node); /* - ** Unserialize the revisions field: + ** Unserialize the revisions and user data fields: */ if ($node->revisions) { diff --git a/modules/user.module b/modules/user.module index bd58e9fa9..82d766e00 100644 --- a/modules/user.module +++ b/modules/user.module @@ -40,13 +40,8 @@ function user_load($array = array()) { $result = db_query_range("SELECT u.*, r.name AS role FROM {role} r INNER JOIN {users} u ON r.rid = u.rid WHERE $query u.status < 3", 0, 1); $user = db_fetch_object($result); - if ($user->data && $data = unserialize($user->data)) { - foreach ($data as $key => $value) { - if (!isset($user->$key)) { - $user->$key = $value; - } - } - } + $user = drupal_unpack($user); + user_module_invoke("load", $array, $user); diff --git a/modules/user/user.module b/modules/user/user.module index bd58e9fa9..82d766e00 100644 --- a/modules/user/user.module +++ b/modules/user/user.module @@ -40,13 +40,8 @@ function user_load($array = array()) { $result = db_query_range("SELECT u.*, r.name AS role FROM {role} r INNER JOIN {users} u ON r.rid = u.rid WHERE $query u.status < 3", 0, 1); $user = db_fetch_object($result); - if ($user->data && $data = unserialize($user->data)) { - foreach ($data as $key => $value) { - if (!isset($user->$key)) { - $user->$key = $value; - } - } - } + $user = drupal_unpack($user); + user_module_invoke("load", $array, $user); |