summaryrefslogtreecommitdiff
path: root/modules/gallery/controllers/albums.php
AgeCommit message (Collapse)Author
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-22Use the request::referrer to determine if we are editting the photo or albumTim Almdal
from the context menu or from its photo or album page. Fixes ticket #745. Thanks to jankoprowski for the referrer approach.
2009-10-22Merge branch 'master' into talmdal_devTim Almdal
2009-10-22When an album or photo is updated always return the photo/album location asTim Almdal
part of the response. This insures that if the internet address changes, then the page will reload properly.
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-10-16Finish integrating the move of the user edit/update functions into the user ↵Tim Almdal
module. The premise is that the plugable user module will provide the update screens if the user backend supports updates.
2009-10-08Part of the previous commit, forgot to save... againTim Almdal
2009-09-23Remove a commented line I forgot to take outTim Almdal
2009-09-22Wrap the login form with a view in order to include a forgot password link. ↵Tim Almdal
Fixes ticket #620
2009-09-21Fix Item_Model::get_position() so that our sort is stable when the comparisonBharat Mediratta
row has a null value in the sort field. Fix for #627 Note: this changes get_position() to take an Item_Model instead of an id!
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-08Actually use the slug when creating new albums (instead of just converting theBharat Mediratta
filename over).
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-09-071. Actually set the slug to the new value in the controllers.Bharat Mediratta
2. Fix up an issue where we were crashing if there were no conflicting rows 3. Amend Item_Model so that if you change the slug, it flushes the cache for all children
2009-09-07Add the 'Internet Address' field to all items, along with properBharat Mediratta
validation for the fields.
2009-09-02Undo rest of the indentation issue accidentally created in 8312eb andBharat Mediratta
partially fixed in 2c30dc
2009-09-02fix a leading space that was causing the file_structure_test to failTim Almdal
2009-08-31Stay on the same page when editing albums/movies/photos. Fixes ticketBharat Mediratta
2009-08-31XSS review fixes (mostly adding missing html::mark_clean()) calls.Andy Staudacher
2009-08-29Using SafeString in album controller / viewAndy Staudacher
2009-07-28Convert the album add dialog to use the new Form_Script libraryTim Almdal
Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
2009-07-28Revert commit 078c77a62b623322956457bfd7bfbdaf56203b00 and change theTim Almdal
tag_event:item_edit_form to use the new Form_Script library to inject script into a form. Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
2009-07-24Add tag autocomplete to the album and photo edit pop up dialogs.Tim Almdal
This required putting a wrapper view around the forms and passing this view as the parameter to the item_edit_form event. The view contains a $script variable that the modules can add script to be included in the form html when rendered as part of the ajax response.
2009-07-20Make some API changes simplify the tag editing code. We now have aBharat Mediratta
good pattern for allowing modules to add their own hooks to item forms! 1) Album, photo and movie forms now all use edit_item as the group and we publish item_edit_form and item_edit_form_completed events which makes it much easier in the module to handle all events. They can still differentiate based on $item->type if they want to. 2) Added tag::clear_all() and tag::compact() functions which takes the place of hiwilson's tag::update() function and is now used in tag_event::item_delete(). This provides a simple API that allows us to have a lot less event handling code. It's less efficient than what hiwilson was doing before in that it will delete and re-add tags, but if that ever turns out to be a performance issue we can do something about it then.
2009-07-20(1)Add tag edit field in album/photo edit form. (2)provide edit ↵hiwilson
functionality. (3)support multi-word tagging.
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-15Remove a completed @todo.Bharat Mediratta
2009-07-01Fix a bunch of XSS vulnerabilities turned up by manual inspectionBharat Mediratta
using the checklist in ticket #385.
2009-06-23Don't allow renaming of the root album.Bharat Mediratta
2009-06-16Change the page.html file so that if the type of page is login, the sidebar ↵Tim Almdal
contents are are not shown
2009-06-15Fix up the titles in the default theme. They've been broken for aBharat Mediratta
while. This fixes ticket #342. The bug is that we were using $item instead of $theme->item(). But we were also not special casing tags properly, and they are effectively first class citizens (at least for now) so treat them properly. Also, set page_title by default in the theme so that we don't have to do an empty() check on it (makes the theme easier to read) and move the title out of Tags_Controller so that the theme has more control over it.
2009-06-09Replace login_page.html.php with the form, wrapped in our default pageBharat Mediratta
type.
2009-06-10Add some window dressing to login_page.html in order to make it more in lineTim Almdal
with the overall look of the Gallery3 theme Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
2009-06-10Created not_authorized.html.php which is a prettier login screen if the rootTim Almdal
album is not publicly browsable. Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
2009-06-09Rather than just displaying the "unformatted" login screen when the root albumTim Almdal
is not viewable by a guest, display the root album as if it was empty. When the page finishes loading force the login dialog to be displayed. Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
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-28Fix broken html::script() and url::file() references to the newlyBharat Mediratta
moved gallery module.
2009-05-27Update all references to the core application to now point to theBharat Mediratta
gallery module. This type of mass update is prone to some small bugs.
2009-05-27Restructure things so that the application is now just another module.Bharat Mediratta
Kohana makes this type of transition fairly straightforward in that all controllers/helpers/etc are still located in the cascading filesystem without any extra effort, except that I've temporarily added a hack to force modules/gallery into the module path. Rename what's left of "core" to be "application" so that it conforms more closely to the Kohana standard (basically, just application/config/config.php which is the minimal thing that you need in the application directory) There's still considerable work left to be done here.