summaryrefslogtreecommitdiff
path: root/modules/comment/controllers
AgeCommit message (Collapse)Author
2009-11-26Convert another Database::instance() query over to using db::build()Bharat Mediratta
2009-11-26Modify the expiration code to work with db::build()Bharat Mediratta
2009-11-26Convert all DB where() calls to take 3 arguments.Bharat Mediratta
Convert all open_paren() calls to and_open() or or_open() as appropriate.
2009-11-25ORM::orderby -> ORM::order_byBharat Mediratta
2009-11-25Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_devBharat Mediratta
Conflicts: modules/gallery/controllers/rest.php
2009-11-25Preliminary work to cut over to Kohana 2.4Bharat Mediratta
- Kohana::log() -> Kohana_Log::add() - Kohana::config_XXX -> Kohana_Config::instance()->XXX - Implement View::set_global in MY_View - Updated Cache_Database_Driver to latest APIs - ORM::$loaded -> ORM::loaded() - Updated item::viewable() to use K2.4 parenthesization
2009-11-25Refactor the comment module as part of ticket: #917 "Remove Rest Controller"Tim Almdal
* Remove the methods create, update, delete, get_edit_form as there are not used * Change the return when a comment is created to return the html for the new comment. This saves a second get request to down load the comment.
2009-11-17Redesign the way that we consider page types to create buckets of pageBharat Mediratta
types, and a subtype for specifics. Currently the top level bucket collection, item, other Here are the core subtypes so far: collection: album, search, tag item: movie, photo other: login, reset, comment-fragment, comment It's legal to create new page_subtypes whenever you want. Use the appropriate page_type to get the coarse grain behavior that you want.
2009-11-15Fix ticket 890 (related to 879): Don't double-escape menu labels on the ↵Andy Staudacher
comment admin screen.
2009-11-13Call for_js() on all menu labels, since they're SafeStrings. Fixes ticket #879.Bharat Mediratta
2009-10-22Change the name of identity library from Identity to IdentityProvider. ↵Tim Almdal
Create a helper class called identity to simplify call the Identity Provider. Move the contents of MY_Session.php to the new helper class and remove the MY_Session class
2009-10-16Remove all non Identity API methods from Identity.php. Created an ↵Tim Almdal
MY_Session class to provide the user state changes in the session and a login.php helper that has the login form.
2009-10-16Start simplifying the interface by moving the static methods from user.php ↵Tim Almdal
and group.php. Tried creating a identity helper, but the helper identity.php was confused with the library Identity.php. So got around this by making the methods on Identity static and calling the instance within the static methods. Also temporarily moved the user.php and group.php back into the user module.
2009-08-29Update all code to use helper method html::clean(), html::purify(), ... ↵Andy Staudacher
instead of SafeString directly.
2009-08-29Refactor all calls of p::clean() to SafeString::of() and p::purify() to ↵Andy Staudacher
SafeString::purify(). Removing any p::clean() calls for arguments to t() and t2() since their args are wrapped in a SafeString anyway.
2009-07-16Second non-trivial change to the event code. We now publish modelBharat Mediratta
related events from within the model handling code. The only exception to this currently is item_created which is challenging because we have to save the item using ORM_MPTT::add_to_parent() before the object itself is fully set up. When we get that down to one call to save() we can publish that event from within the model also.
2009-07-16Non-trivial changes to the event handling code:Bharat Mediratta
1) The item_updated event no longer takes the old and new items. Instead we overload ORM to track the original data and make that available via the item. This will allow us to move event publishing down into the API methods which in turn will give us more stability since we won't require each controller to remember to do it. 2) ORM class now tracks the original values. It doesn't track the original relationships (no need for that, yet) 3) Added new events: item_deleted group_deleted user_deleted
2009-07-04Fix for ticket #477. Use nl2br method when rendering comment::text andTim Almdal
item::description. In addition add p::clean or p::purify to places that xss cleaning had missed (i.e. rss feeds)
2009-07-03Split the clean method into two clean and purify. clean is a light weightTim Almdal
approach using html::specialchars and purify uses HTMLPurifier to intelligently cleanse the output fields. Use purifier for text and title fields where it is likely that a user would enter html to format their data.
2009-06-03Sanitize all data we return via json_encode() to guard against XSS andBharat Mediratta
other data leaks.
2009-06-01Security pass over all controller code. Mostly adding CSRF checkingBharat Mediratta
and verifying user permissions, but there are several above-the-bar changes: 1) Server add is now only available to admins. This is a hard requirement because we have to limit server access (eg: server_add::children) to a user subset and the current permission model doesn't include that. Easiest fix is to restrict to admins. Got rid of the server_add permission. 2) We now know check permissions at every level, which means in controllers AND in helpers. This "belt and suspenders" approach will give us defense in depth in case we overlook it in one area. 3) We now do CSRF checking in every controller method that changes the code, in addition to the Forge auto-check. Again, defense in depth and it makes scanning the code for security much simpler. 4) Moved Simple_Uploader_Controller::convert_filename_to_title to item:convert_filename_to_title 5) Fixed a bug in sending notification emails. 6) Fixed the Organize code to verify that you only have access to your own tasks. In general, added permission checks to organize which had pretty much no validation code. I did my best to verify every feature that I touched.
2009-05-13Gee it's May already. Update copyright to 2009.Bharat Mediratta
2009-05-11Refactor to support pagination and simplify the code.Bharat Mediratta
- Simplify the public controller methods - Fix a bug where missing thumbnails would cause a divide by zero error - actually pay attention to the page # for pagination and limit the query accordingly.
2009-02-28Change the pattern to identify tables that need prefix substitution toTim Almdal
mirror the drupal pattern of using braces {}.
2009-02-27This implements table prefix for all the queries in core, user, exif,Tim Almdal
tag, search, comment and notification modules (Ticket #68)
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