summaryrefslogtreecommitdiff
path: root/modules/comment/controllers
AgeCommit message (Collapse)Author
2009-02-22Standardize to uppercase DESC in the order by method callsTim Almdal
2009-02-02Resolve Trac Ticket #32Tim Almdal
2009-02-02Fix trac issue: #31Tim Almdal
2009-01-18Reset the form before sending it back on success so that we clear the values.Bharat Mediratta
2009-01-16Fix validation when adding new comments.Bharat Mediratta
Fire off the appropriate item_related_update events as appropriate.
2009-01-15Changing t() placeholder syntax from {{replace_me}} to %replace_me.Andy Staudacher
2009-01-15Simplifying the way t() is called. Refactoring localization function ↵Andy Staudacher
t($message, $options=array()) into 2 separate functions: - the new t($message, $options=array()) is for simple strings, optionally with placeholder interpolation. - t2($singular, $plural, $count, $options=array()) is for plurals.
2009-01-15Rename 'xxx_changed' events to 'xxx_updated'Bharat Mediratta
2009-01-10Auto-delete 7-day old spam/deleted comments.Bharat Mediratta
2009-01-10Create a 'recently deleted' queueBharat Mediratta
2009-01-10Update the queue counts in the menu list whenever weBharat Mediratta
approve/unapprove/spam a comment.
2009-01-10Big set of changes to comments, with related changes to akismet andBharat Mediratta
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-08i18n refactoring: Rename all _() (reserved by gettext) calls to t().Andy Staudacher
- 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-08Incremental improvement in comment moderation:Bharat Mediratta
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-07Add very basic comment listing which shows the different queuesBharat Mediratta
(approved, unapproved, spam).
2009-01-07Properly check comment permissions. Don't show comments that aren'tBharat Mediratta
published. Fix _form_add to take an item id. Oh and email address is no longer required.
2009-01-07Create a new "fragment" page type to use when we're not sending back a fully ↵Bharat Mediratta
themed page.
2009-01-021) Removed the published boolean database fieldTim Almdal
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
2008-12-29Filter on published in Comment_Controller::_index()Tim Almdal
2008-12-29Remove rest::JSON content type; it's causing lots of problems and it doesn't ↵Bharat Mediratta
directly help since text/html works just as well for our JSON communications
2008-12-29Implemented bharat's suggestions to the comment module in preparation for ↵Tim Almdal
the spam_filter module
2008-12-29Changes to the comment module to support spam filtering. Basically added ↵Tim Almdal
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-25Big round of normalization of the way that our controllersBharat Mediratta
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-25Rest_Controller -> REST_Controller everywhere, for consistency.Bharat Mediratta
2008-12-25Fix the way we dump out comment in _show().Bharat Mediratta
2008-12-25Be consistent: resource is a url, data is the actual JSON encoded result.Bharat Mediratta
2008-12-25Gut the comment module and simplify it. Stop trying to support AtomBharat Mediratta
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-24Minor cleanups.Bharat Mediratta
2008-12-21Change "datetime" to "created" to give some semantics to this field.Bharat Mediratta
2008-12-06Add firing comment_added and comment_updated eventsTim Almdal
2008-11-23Changed and extended the Atom library a little so that the code for creating ↵Jozef Selesi
entries and feeds has been considerably simplified and reduced.
2008-11-23* Individual comment views now output valid Atom 1.0 entries:Jozef Selesi
http://example.gallery.com/index.php/comments/{comment_id}?_format=atom * Changed Content-Type of Atom feeds and entries to XML for easier debugging. * Added an Atom helper class with some common functions and cleaned up entry and feed generation code a bit in the comment helper. * Style fixes.
2008-11-22* Fixed a bug in the Atom library where child elements were not added to ↵Jozef Selesi
their proper parents. * Added valid Atom 1.0 feeds for comments. They can be seen at: http://gallery.example.com/index.php/comments?item_id={photo_id}&_format=atom
2008-11-22* Added test for rest::request_method().Jozef Selesi
* Implemented delete in comment.
2008-11-20* Added HTTP status constants and helper functions to REST helper.Jozef Selesi
* HTTP header setting in comment module now going through REST helper API. * Fixed items controller test. * Fixed user installer test. * Fixed _create() handling in the REST controller. * Fixed routing for edit and add forms. * Added some tests for the REST controller. * Set svn:eol-style to LF on a bunch of files. * Added preamble to MY_Forge.php.
2008-11-19Change the way that we do RESTful routing.Bharat Mediratta
1) We now use __call() in REST_Controller to handle any requests to a controller that were not already handled. In the case of RESTful controllers, this should be the only entry point (although they're free to break the model and add other ones.. nothing stops them). This means that we can remove all the catch-all routes in routes.php which greatly simplifies it. 2) Move request_method() and output_format() out of REST_Controller and into the REST helper in core/helpers/rest.php 3) Experiment with letting the various subclasses check the output_format and deal with it themselves. This simplifies the API, but it might be a bad idea in that it might push too much work to the individual controllers. It's a balancing act, time will tell, I'm willing to change it back later.
2008-11-18* Changed REST API. Now there are two separate methods for forms:Jozef Selesi
GET /form/edit/{controller}/{resource_id} -> controller::_form_edit($resource) GET /form/add/{controller}/{parameters} -> controller::_form_add($parameters) * Updated comment, user and core modules to reflect the API changes * Cleaned up routing and handling of requests to /{controller}
2008-11-18- All comments of an item can now be seen /comments?item_id=Jozef Selesi
- Return proper Content-Type header for GET /comments requests - Got rid of the query processing for index() in REST_Controller() - Small misc fixes
2008-11-18First iteration of REST controller refactoring. RESTful controllers that ↵Jozef Selesi
refer to collections should now have plural names and there should be only one controller per resource. Updated existing classes that implement REST_Controller. The routing now works like this: GET /controller -> controller::_index() POST /controller -> controller::_create() GET /controller/id -> controller::_show() PUT /controller/id -> controller::_update() DELETE /controller/id -> controller::_delete() GET /form/edit/controller/resource_id -> controller::_form() GET /form/add/controller/data -> controller::_form()
2008-11-17Add output formats to our REST controllers. Add support for JSON andBharat Mediratta
XML to the comment controllers as a proof of concept. It's not fully baked; we should examine ways to create helpers to make this process easier.
2008-11-16Put _method into the edit form's url; Implement Comment::_put() properlyBharat Mediratta
2008-11-16Drop the call to render() and just use the View's __toString method toBharat Mediratta
print it out.
2008-11-16Several large changes:Bharat Mediratta
1) Changed the way that we get forms. Now, if you want to get a form for a REST resource you prefix /form to the resource id. So: /form/photo/1 : returns a form for editing photo id 1 /form/comments/1 : returns a form for adding a comment to photo id 1 /form/comment/1 : returns a form for editing comment id 1 2) Changed the comment module to have two controllers: comment: deals with a single comment resource comments: deal with collections of comments attached to an item Related stuff: - Moved the comments js into the theme - Reworked Comment_Helper for clarity - Moved form generation code down into Comment_Helper - Cleaned up routes (eliminating new comment ones added in recent rev) - Added form() function to all REST controllers - Changed comment module to use a block instead of an arbitrary helper call from the theme - Comment controller only returns HTML currently, but returns a 201 Created status code when a new comment is added, which the Ajax code can catch and act upon. - Got rid of a lot of extra views in comment module
2008-11-16Create MY_Forge to specify the defaul htmlTim Almdal
2008-11-15Do comment add in a single request, some code cleanup.Jozef Selesi
2008-11-15Initial add comment implementation.Jozef Selesi
2008-11-11Move scaffolding code out of the comments controller to welcome.php.Jozef Selesi
2008-11-10Comment creation controller, helper and test. Add comments from the scaffold.Jozef Selesi