Commit Graph

94 Commits

Author SHA1 Message Date
Chad Kieffer
aed5a4c788 2009-01-10 22:39:24 +00:00
Chad Kieffer
82848bd3a9 HTML format cleanup 2009-01-10 19:13:00 +00:00
Bharat Mediratta
44bfc1c6a4 Auto-delete 7-day old spam/deleted comments. 2009-01-10 11:25:33 +00:00
Bharat Mediratta
74766e5b82 Create a 'recently deleted' queue 2009-01-10 11:11:24 +00:00
Bharat Mediratta
9d584a528b Update the queue counts in the menu list whenever we
approve/unapprove/spam a comment.
2009-01-10 07:55:16 +00:00
Bharat Mediratta
9b90b4b0cd Use the theme's avatar as the default if Gravatar doesn't have one. 2009-01-10 06:18:35 +00:00
Bharat Mediratta
a5c4e3d465 Integrate Gravatar. Boy, that was easy. 2009-01-10 05:56:11 +00:00
Bharat Mediratta
a7feeb576f 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.
2009-01-10 00:34:23 +00:00
Chad Kieffer
3c31549011 Added gCommentsAdminMenu to clearfix. 2009-01-09 08:08:22 +00:00
Chad Kieffer
f97d7da720 Reformated comment admin table layout. Added bulk action checkboxes and menu, reply link, and edit link, all of which need to be wired up. 2009-01-09 07:33:22 +00:00
Bharat Mediratta
a0f3c09a07 Eliminate unused avatar code (for now) 2009-01-09 04:43:34 +00:00
Andy Staudacher
a631fe29f3 i18n refactoring: Rename all _() (reserved by gettext) calls to t().
- And refactor printf to our string interpolation / pluralization syntax
- Also, a slight change to the translations_incomings table, using binary(16) instead of char(32) as message key.
2009-01-08 17:13:06 +00:00
Bharat Mediratta
e9d61d5f9d "delete" is a reserved word in Chrome, apparently. 2009-01-08 03:05:53 +00:00
Bharat Mediratta
8bf388a6f6 Incremental improvement in comment moderation:
1) Akismet now detects when we change a comment's published state and submits
   info back to akismet.com as appropriate

2) We now show 4 different queues (all / approved / unapproved / spam) and let you
   move messages between the queues

3) We track and display "spam caught" stats.

4) You can delete comments entirely.
2009-01-08 02:50:23 +00:00
Bharat Mediratta
01dcbbcda5 Add very basic comment listing which shows the different queues
(approved, unapproved, spam).
2009-01-07 09:08:53 +00:00
Bharat Mediratta
17c8e14753 Properly check comment permissions. Don't show comments that aren't
published.  Fix _form_add to take an item id.  Oh and email address is
no longer required.
2009-01-07 08:18:15 +00:00
Bharat Mediratta
9460e08da8 Create a new "fragment" page type to use when we're not sending back a fully themed page. 2009-01-07 07:42:38 +00:00
Tim Almdal
4645c459e1 Add a catch around the call to the spam filter and if the spam filter check fails set the comment
state to unpublished.
2009-01-06 14:36:20 +00:00
Bharat Mediratta
625d078557 Extend Theme_View to look in modules for photo and album menus. Move
"view comments" link to the comment menu helper.
2009-01-04 07:40:37 +00:00
Chad Kieffer
bdff96bd54 Added a jump to comments button with a scroll to effect. 2009-01-03 19:09:32 +00:00
Chad Kieffer
a57ede2f96 Added default user avatar. Comment thread updates, including display of avatar. Sidebar block display white space updates. Combined gLoginMenu and gCredits css. 2009-01-03 01:11:20 +00:00
Bharat Mediratta
8595b75d9b Restructire site admin menu a bit:
Rename menu "General Settings" -> "Settings"
  Rename "Comments Moderation" -> "Comments"
  Move "Content" -> "Configure Spam Filtering" -> "Settings" -> "Spam Filtering"
2009-01-02 20:18:44 +00:00
Tim Almdal
9644dcc480 1) Removed the published boolean database field
2) Replaced it with a string field (state) which contains the state of the comment. i.e. published, unpublished, spam.  Unsure if we want to create constants in comments.php to standardize the valid values... thoughts?
3) synchronized the spamfilter and comment unit tests with the current functionality
2009-01-02 18:54:37 +00:00
Tim Almdal
206edb59b9 Update the api to allow each driver to specify validation rules and generate the appropriate form content. Add a callback so if the driver changes in the driver selection dropdown, then the api form fields are updated with the new form fields for that driver 2009-01-02 18:31:23 +00:00
Bharat Mediratta
cd1d023754 Change the preamble for views in two ways:
1) drop unnecessary semicolon
2) start with <?php for extra security in the case that the server itself doesn't
   have short_tags enabled (the app won't work, but we need to make sure that we're
   still secure)
2009-01-01 00:23:29 +00:00
Tim Almdal
517ddf5388 First look at the spam filter module. At this point, it does not connect to any spam services. But you can go into the admin screen and choose the driver and set the api key. 2008-12-31 06:19:35 +00:00
Chad Kieffer
246139cf1f Tabs to spaces. 2008-12-31 03:29:25 +00:00
Andy Staudacher
1cacf769d1 Make the url parameter optional in comment::create() (according to the comment model) 2008-12-30 21:00:47 +00:00
Bharat Mediratta
f29aad03a6 Make some columns smaller so that multi-column keys don't exceed 1024
bytes on some systems.
2008-12-30 01:37:09 +00:00
Bharat Mediratta
1b53073b55 Mark the "website" field as hidden. 2008-12-29 23:36:58 +00:00
Tim Almdal
f5136051c9 Filter on published in Comment_Controller::_index() 2008-12-29 22:59:44 +00:00
Bharat Mediratta
6ab195854d Remove rest::JSON content type; it's causing lots of problems and it doesn't directly help since text/html works just as well for our JSON communications 2008-12-29 22:41:53 +00:00
Tim Almdal
69603ede7a Implemented bharat's suggestions to the comment module in preparation for the spam_filter module 2008-12-29 21:09:44 +00:00
Tim Almdal
95f1440ef2 Changes to the comment module to support spam filtering. Basically added two columns to the comment table. The url of the author's web site(default null) and a flag to indicate that the comment is visible (default true).
The comment block has changed to only display comments that are visible.

And there is code added to call the spam_filter helper if the spam_filter module is installed.
2008-12-29 19:37:19 +00:00
Bharat Mediratta
3c0be5156b url::site is implicit in Forge actions, don't specify it a 2nd time 2008-12-29 18:38:40 +00:00
Bharat Mediratta
36b903b234 Remove a test for code that was removed 2008-12-25 10:14:28 +00:00
Bharat Mediratta
fdc0f83024 Big round of normalization of the way that our controllers
communicate.  Almost all controllers now use JSON to speak to the
theme when we're dealing with form processing.  This means tht we only
send the form back and forth, but we use a JSON protocol to tell the
browser success/error status as well as the location of any newly
created resources, or where the browser should redirect the user.

Lots of small changes:
1) Admin -> Edit Profile is gone.  Instead I fixed the "Modify Profile" link
   in the top right corner to be a modal dialog

2) We use json_encode everywhere.  No more Atom/XML for now.  We can bring those
   back later, though.  For now there's a lot of code duplication but that'll be
   easy to clean up.

3) REST_Controller is no longer abstract.   All methods its subclasses should create
   throw exceptions, which means that subclasses don't have to implement stubs for
   those methods.

4) New pattern: helper method get_add_form calls take an Item_Model,
   not an id since we have to load the Item_Model in the controller
   anyway to check permissions.

5) User/Groups REST resources are separate from User/Group in the site
   admin.  They do different things, we should avoid confusing overlap.
2008-12-25 05:12:46 +00:00
Bharat Mediratta
f6ebb436e4 Rest_Controller -> REST_Controller everywhere, for consistency. 2008-12-25 02:38:53 +00:00
Bharat Mediratta
fd49c74607 Convert tag module over to returning JSON. 2008-12-25 01:34:17 +00:00
Bharat Mediratta
7a9d4a2224 Fix the way we dump out comment in _show(). 2008-12-25 01:06:37 +00:00
Bharat Mediratta
cdcd8bf377 Update the form first, then clear it on success (else it doesn't get cleared on success) 2008-12-25 00:56:10 +00:00
Bharat Mediratta
d62acf041f Be consistent: resource is a url, data is the actual JSON encoded result. 2008-12-25 00:53:45 +00:00
Bharat Mediratta
0bb82b7621 Gut the comment module and simplify it. Stop trying to support Atom
and XML for now, we have no driver for those technologies so anything
we implement is not going to be sufficiently tested and therefore
it'll be broken.

Change all comment functions to return JSON and update the JS to deal
purely with JSON.  This is our new protocol for talking to the browser
and it should be flexible and portable.

Create comments.html.php.  This duplicates comment.html.php, but will
be more efficient for rendering comments since we won't be creating a
new View for every comment we render.
2008-12-25 00:47:40 +00:00
Bharat Mediratta
b0dff620e2 Minor cleanups. 2008-12-24 04:05:47 +00:00
Bharat Mediratta
fe27bd1eb3 Change the way that we track modules.
Each module now has a "module.info" file that has information about
the module, including the core.  We can display the installed version,
and the version in the code.

Also take a first shot at a modules admin page.
2008-12-22 03:41:33 +00:00
Bharat Mediratta
78ce8615f3 Implement the "recent comments" block with real data. 2008-12-21 02:02:41 +00:00
Bharat Mediratta
81e87dfecd Change "datetime" to "created" to give some semantics to this field. 2008-12-21 01:29:25 +00:00
Bharat Mediratta
ad0ddc236c Fix preamble 2008-12-20 07:30:27 +00:00
Bharat Mediratta
b933d1a170 Move Recent Comments into its own block. 2008-12-20 01:25:03 +00:00
Bharat Mediratta
f5bc55e72d Add labels to the form groups. 2008-12-18 22:35:16 +00:00