summaryrefslogtreecommitdiff
path: root/modules/comment/models
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-01-10 00:34:23 +0000
committerBharat Mediratta <bharat@menalto.com>2009-01-10 00:34:23 +0000
commita7feeb576f491f285cb76cba0b99e01e7a3ae390 (patch)
tree8efe29cc0c989cbc1f9c4d38f82c46e14ff7ad3d /modules/comment/models
parent48e73e90817a9c525ed50dc332d4a4341a8c6295 (diff)
Big set of changes to comments, with related changes to akismet and
user modules. * Don't delete vars when we delete a module. This makes reinstalling a module a lot easier. * Add user::lookup() as the preferred way to load a user, so that other modules don't delve into the user module (that'd be a problem when we swap out user modules) * Notify site admins if Akismet is not fully configured * Bundle all server variables into the comment so that if/when we re-check the comment, we are not using the server info from the site admin's request. * Update Akismet to grab request context data from the comment * Pre-seed comment fields if we have a logged in user. Update comment::create() API to clarify it for this. * Delete comment::update(), that's a controller function. * Add url to User_Model * Add author_name() author_email() and author_url() to Comment_Model. It'll return the appropriate values depending on whether the comment was left by a logged in user or a guest. * Use resetForm() instead of clearForm() when we reload the comment form after ajax submit, this way we preserve the pre-seeded values. * In the user profile page, ignore blank passwords.
Diffstat (limited to 'modules/comment/models')
-rw-r--r--modules/comment/models/comment.php37
1 files changed, 31 insertions, 6 deletions
diff --git a/modules/comment/models/comment.php b/modules/comment/models/comment.php
index cd7a5d07..c83b2721 100644
--- a/modules/comment/models/comment.php
+++ b/modules/comment/models/comment.php
@@ -18,13 +18,38 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class Comment_Model extends ORM {
- var $rules = array(
- "author" => "required",
- "email" => "valid_email",
- "url" => "valid_url",
- "text" => "required");
-
function item() {
return ORM::factory("item", $this->item_id);
}
+
+ function author() {
+ return user::lookup($this->author_id);
+ }
+
+ function author_name() {
+ $author = $this->author();
+ if ($author->guest) {
+ return $this->guest_name;
+ } else {
+ return $author->full_name;
+ }
+ }
+
+ function author_email() {
+ $author = $this->author();
+ if ($author->guest) {
+ return $this->guest_email;
+ } else {
+ return $author->email;
+ }
+ }
+
+ function author_url() {
+ $author = $this->author();
+ if ($author->guest) {
+ return $this->guest_url;
+ } else {
+ return $author->url;
+ }
+ }
}