summaryrefslogtreecommitdiff
path: root/modules/notification/helpers
AgeCommit message (Collapse)Author
2013-01-31Drop the requirement to have the install() function set the moduleBharat Mediratta
version. It's redundant. Fixes #1985.
2013-01-21Update copyright to 2013. Fixes #1953.Bharat Mediratta
2012-05-15Fix a typo leading to notification module not sending any text. Fixes #1862.Bharat Mediratta
2012-02-27Update copyright to 2012. #1822Bharat Mediratta
2011-01-21Update copyright to 2011.Bharat Mediratta
2010-12-28Use db::expr instead of "new Database_Expression". Resolves #1560.Bharat Mediratta
2010-09-08Oops, forgot to update install() with the locale change that I made inBharat Mediratta
cc399bf4f07fd7060536f442373a1e9c0ea4a5aa. No permanent harm done, though.
2010-09-06Track the language of the user receiving the notification and send theBharat Mediratta
email in that user's language. Incidentally, send one email per recipient, else we're leaking email addresses which is bad for community sites. Bump notification module to v2 in the process. Fixes ticket #1287.
2010-08-25Notifying on item_updated is overbroad. Fix for ticket #1286.Bharat Mediratta
2010-08-15We use UTF-8 everywhere. Fixes ticket #1285.Bharat Mediratta
2010-03-03Update the copyright to 2010. It's only 3 months into the year :-)Bharat Mediratta
2010-02-19Refactor away the "display_all" construct in User_Profile_Controller.Bharat Mediratta
"display_all" is too coarse, and we should be letting event handlers make the appropriate decision on what to display and when. This duplicates some code, but it's now very clear in the event handlers what's getting shown. Throw a 404 if we try to view the user profile for a missing user. The only feature change in this should be that we now display the name, full name and website for a user to any other registered user, which makes sense since these are typically public fields. Don't show any of the edit buttons unless identity::is_writable()
2010-02-04remove debugging statementTim Almdal
2010-01-24Add the active notifications and rest api key to user profile page.Tim Almdal
2010-01-16Remove debug code.Bharat Mediratta
2010-01-16Don't use MY_ORM::original() here since the values may not haveBharat Mediratta
changed since the last save. Instead, use the original ORM passed in.
2010-01-12Put quotes around the item titles in all the messages and more importantly ↵Tim Almdal
actually display the original's title properly. Fixes ticket #966, but does now show us ticket #978
2010-01-09Fix for ticket #972 and more. In Kohana 2.4, ORM::delete_all ignores any whereTim Almdal
clauses and deletes all the entries in the table unless an array of id's are passed as the parameter. This fix used the Database_builder to specify any where conditions. Thanks psvo for find the first one. :-)
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-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-08Check for subscribers *before* going through the process of creatingBharat Mediratta
and rendering the email message. Fixes ticket #724.
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-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.