Commit Graph
89 Commits
Author SHA1 Message Date
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
Bharat Mediratta c67234974d Refactor site admin menu into a theme function and build the menus in
the various modules.  In the process, rename xxx_menu::site_navigation() to just
xxx_menu::site().  And add xxx_menu::admin().

The menus are the same as before, but I changed the HTML to be
consistent with the way that we do it in the regular site, and this
broke the superfish styles.  I don't know how to fix this.. help me
Chad!
2008-12-18 07:32:34 +00:00
Tim Almdal 611b8f44ed Add firing comment_added and comment_updated events 2008-12-06 06:10:15 +00:00
Bharat Mediratta 8b6ed6c477 Create module::event() which runs Gallery events. It works by
convention.  To respond to the "photo_created" event in the gmaps
module, you create modules/gmaps/helpers/gmaps_event.php containing
class gmaps_event which has function photo_created.

Renamed all events from gallery.foo.bar to foo_bar
Updated tag module to use new convention.
2008-11-28 19:37:01 +00:00
Tim Almdal 828f23896f Rename item events and create events for comment create, login, logout, user creation. I probably forgot some, but its a start. 2008-11-28 00:51:38 +00:00
Bharat Mediratta c95c17b133 Centralize logging around installing/uninstalling modules. 2008-11-27 09:45:26 +00:00