summaryrefslogtreecommitdiff
path: root/modules/notification
AgeCommit message (Collapse)Author
2009-12-06Update database queries.Bharat Mediratta
2009-12-02Use:Bharat Mediratta
->select(new Database_Expression("DISTINCT `email`")) instead of: ->select("DISTINCT email") This is not the perfect API. http://dev.kohanaphp.com/issues/2396 is the upstream tracking ticket for a better API.
2009-11-26Convert some more Database::instance() calls to db::build() form.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-26Update ORM::where() calls to take 3 args.Bharat Mediratta
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-01Convert the event handlers for the "identity provider changed" and ↵Tim Almdal
"user_deleted" events to use ORM or the Kohana query builder to build the database update calls instead of coding the sql directly.
2009-10-31Add identity_change handlers to resolve the ownership issues of comments, ↵Tim Almdal
subscription, items and tasks.
2009-10-30Patch to clean up loose ends when a user is deleted.Tim Almdal
* For items and tasks the owner id is set to admin * For notification subscriptions, the subscription is deleted * For comments, I've extracted the user name, email and url and set the guest_name, guest_email and guest_url columns while setting the author_id to identity::guest()->id Fix for ticket #777.
2009-10-28Normalize capitalization ticket #596Tim Almdal
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-21Change this files to use the API instead of referencing the group tables ↵Tim Almdal
directly
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-16Cleanup merge of user/group helpers into Identity interface. Reduce ↵Tim Almdal
redundant code in the user module and remove references to the Identity helper from the user module as the user module should be able to access things directly. Simplify the get_user_list api method to just accept an array of ids to return user objects for.
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-10-09Add support for the in filter to get_user_list and get_group_list. Convert ↵Tim Almdal
the notifications to use user::get_user_list instead of accessing the table directly.
2009-10-04Renamed most, if not all css selectors from gName to g-name. Moved a few ↵Chad Kieffer
shared images from wind to lib. Deleted unused images in the admin_wind. This will likely break a few ajax features.
2009-09-10Convert a couple of instances of Item_Model::url(array(), true) to ↵Bharat Mediratta
Item_Model::abs_url()
2009-09-10Use abs_url() inside url::redirect() calls so that we don't just windBharat Mediratta
up tacking onto the base url.
2009-09-08Check for subscribers *before* going through the process of creatingBharat Mediratta
and rendering the email message. Fixes ticket #724.
2009-09-08Move specialized (pretty) url generation back into Item_Model so thatBharat Mediratta
we're not relying on overriding url::site() to do tricks around item urls. This means that you won't get item urls by doing url::site("albums/37"), for example, but it also means that we won't get pretty urls where we don't expect them (like in the action of a <form> element). Incidentally, this will help us move over to using the slug format because if you've got a bad character in a url, the edit forms will now work on it since they'll be id based.
2009-08-31XSS review fixes (mostly adding missing html::mark_clean()) calls.Andy Staudacher
2009-08-29Update all code to use helper method html::clean(), html::purify(), ... ↵Andy Staudacher
instead of SafeString directly.
2009-08-29Merge commit 'upstream/master'Andy Staudacher
Conflicts: modules/akismet/views/admin_akismet.html.php modules/comment/helpers/comment_rss.php modules/gallery/helpers/gallery_rss.php modules/gallery/libraries/I18n.php modules/gallery/views/permissions_browse.html.php modules/gallery/views/simple_uploader.html.php modules/info/views/info_block.html.php modules/organize/controllers/organize.php modules/organize/views/organize.html.php modules/organize/views/organize_album.html.php themes/default/views/album.html.php themes/default/views/movie.html.php themes/default/views/photo.html.php
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-08-29Log the actual exception details, before swallowing the exception.Bharat Mediratta
2009-08-28Fix a bug in notification where were using get() instead of current()Bharat Mediratta
to get the first item in an ORM result set.
2009-08-28Don't record mail failures when we throw the exception, record themBharat Mediratta
when we catch the exception instead.
2009-08-28Wrap all the notification helpers call with a try catch that swallows the ↵Tim Almdal
exceptions, so the exceptions don't interrupt the upstream processes
2009-08-27Remove 'ENGINE=InnoDB' specification from tables that we create. UseBharat Mediratta
the system's default table specification. Fixes ticket #597.
2009-08-02Change the API for getting to the original state of an ORM.Bharat Mediratta
Old API: $obj->original("field_name") New API: $obj->original()->field_name This allows us to revert the varous xxx_updated events back to passing an original ORM as well as the the updated one. This makes for a cleaner event API. Old API: comment_updated($comment) { $comment->original("field_name") } Old API: comment_updated($old, $new) { $old->field_name }
2009-07-28Use events to generate menus, instead of having xxx_menu helpers.Bharat Mediratta
This is the first step towards having a simple, lightweight and unified API for module interaction.
2009-07-25Rename columns that use reserved SQL words : items.left and items.rightRomain LE DISEZ
2009-07-23Remove extra error log lineBharat Mediratta
2009-07-22Modified the notification get_subscribers to ignore any users that don'tTim Almdal
have "view" access to the item the notification is being generated for. Fix for ticket: #538.
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-13Add quotes around all values that contain spaces in them, and add aBharat Mediratta
test to make sure that we continue to do so. This makes sure that we don't have problems with 5.3 which treats the literal "on" as a boolean.
2009-07-09Fix typo in p::purify() call.Bharat Mediratta
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-23Refactor the install/upgrade code to be more flexible.Bharat Mediratta
Add xxx_installer::upgrade($version) method so that upgrade stanzas are separate from install stanzas. In the old code, to do an upgrade meant that you had to re-evolve everything from the initial install because we'd step through each version's changes. But what we really want is for the initial install to start off in the perfect initial state, and the upgrades to do the work behind the scenes. So now the install() function gets things set up properly the first time, and the upgrade() function does any work to catch you up to the latest code. See gallery_installer.php for a good example.
2009-06-05Move watch notification menu from the view menu to under the Options menu.Chad Kieffer
2009-06-04Update notify/watch eyeglasses icon with bullhorn icon. Rename css/image ↵Chad Kieffer
names from watch to notify.
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-31Run all variables that come from user-entered data through p::clean()Bharat Mediratta
2009-05-31Run p::clean() on any variables that contain data entered by users.Bharat Mediratta
2009-05-26Restructure the module lifecycle.Bharat Mediratta
Install: <module>_installer::install() is called, any necessary tables are created. Activate: <module>_installer::activate() is called. Module controllers are routable, helpers are accessible, etc. The module is in use. Deactivate: <module>_installer::deactivate() is called. Module code is not accessible or routable. Module is *not* in use, but its tables are still around. Uninstall: <module>_installer::uninstall() is called. Module is completely removed from the database. Admin > Modules will install and activate modules, but will only deactivate (will NOT uninstall modules).
2009-05-21Redirect after success to the absolute urlBharat Mediratta
2009-05-13Gee it's May already. Update copyright to 2009.Bharat Mediratta
2009-03-04Redefine the batch API to be very very simple. You callBharat Mediratta
batch::start() before starting a series of events, and batch::stop() when you're done. In batch mode, the notification module will store up pending notifications. When the batch job is complete, it'll send a single digested email to each user for all of her notifications. Updated the scaffold and local_import to use this. Haven't modified SimpleUploader yet.