Age | Commit message (Collapse) | Author |
|
version. It's redundant. Fixes #1985.
|
|
|
|
|
|
|
|
|
|
|
|
cc399bf4f07fd7060536f442373a1e9c0ea4a5aa. No permanent harm done,
though.
|
|
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.
|
|
|
|
|
|
|
|
"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()
|
|
|
|
|
|
|
|
changed since the last save. Instead, use the original ORM passed in.
|
|
actually display the original's title properly. Fixes ticket #966, but does now show us ticket #978
|
|
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. :-)
|
|
|
|
->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.
|
|
|
|
Convert all open_paren() calls to and_open() or or_open() as appropriate.
|
|
|
|
- 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
|
|
"user_deleted" events to use ORM or the Kohana query builder to build the database update calls instead of coding the sql directly.
|
|
subscription, items and tasks.
|
|
* 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.
|
|
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
|
|
directly
|
|
MY_Session class to provide the user state changes in the session and a login.php helper that has the login form.
|
|
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.
|
|
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.
|
|
the notifications to use user::get_user_list instead of accessing the table directly.
|
|
shared images from wind to lib. Deleted unused images in the admin_wind. This will likely break a few ajax features.
|
|
and rendering the email message. Fixes ticket #724.
|
|
|
|
to get the first item in an ORM result set.
|
|
when we catch the exception instead.
|
|
exceptions, so the exceptions don't interrupt the upstream processes
|
|
the system's default table specification. Fixes ticket #597.
|
|
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 }
|
|
This is the first step towards having a simple, lightweight and
unified API for module interaction.
|
|
|
|
|
|
have "view" access to the item the notification is being generated for.
Fix for ticket: #538.
|
|
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
|
|
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.
|
|
|
|
names from watch to notify.
|
|
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.
|