summaryrefslogtreecommitdiff
path: root/modules/gallery/controllers/albums.php
AgeCommit message (Collapse)Author
2010-02-14For consistency, use straight Kohana_404_Exception instead of the event system.Andy Staudacher
2010-02-12Fix for tickets 1009 and 603: Show a themed error page to guests / ↵Andy Staudacher
registered users (not to admins though). And show a login form to guests for 404 (incl. insufficient view permissions) errors.
2010-02-11Security: Fix leaking of album / photo names. Reject previous fix for ticket ↵Andy Staudacher
1009. Side effect: Renaming auth::required_login() to login_page().
2010-02-10Refactor the code to display the login page if the user does not have viewTim Almdal
permission into the common auth::require_login() method.
2010-02-10If the user does not have permission to view the album, photo or movie, redirectTim Almdal
to a logon page to allow the user to login. Pass the target url as a session variable to allow the user to be redirected where they want to go if the login was successful. Fixes ticket #1009.
2010-01-19Change "dirname" to "name" in the edit album form. I'd rather haveBharat Mediratta
consistency between field names than deal with underlying issues with Forge bitching about the "name" property.
2010-01-15Move model business logic out of album::create() and intoBharat Mediratta
Item_Model::save(). This makes creating albums similar to editing them and makes it difficult to create an album poorly. I expect to be able to remove a lot of code from the photo and movie helper because it's duplicated here. In order to do this, I refactored ORM_MPTT::add_to_parent() into ORM_MPTT::save() so we now add it to the parent when we do save. This allows us to call save() only once which saves a database call per add. The Albums_Controller logic is roughly the same as before. Haven't updated the tests yet, they're going to fail miserably since many of them depend on album::create() which is now gone.
2010-01-15Don't use Input directly to get album names, etc. Use the form fields.Bharat Mediratta
2010-01-14Begin the process of converting to model based validation. RightBharat Mediratta
now only Albums_Controller::update() supports the pattern. All form and controller based validation happening when editing an album has been moved over. Model based validation means that our REST controllers share the same validation as web controllers. We'll have consistency enforced at the model level, which is a Good Thing. The basic pattern is now: 1) Rules are in the model 2) ORM::validate() (which is called by ORM::save() but you can call it directly, too) checks the model for all the rules and throws an ORM_Validation_Exception if there are failures 3) Actions are no longer taken when you call Item_Model::__set(). Instead, they're all queued up and executed when you call Item_Model::save(). Notes: - item::validate_xxx() functions are now in Item_Model:: - We still call $form->validate() because the form can have rules (and forms triggered by events will likely continue to have rules.
2009-12-31A more thorough fix for #745 and #940. Stop using the referer toBharat Mediratta
guess how to send the user back. Instead, proxy the originating item id through the edit forms so that we can tell exactly what page we were on when we began editing. If we were viewing the item, then redirect to its new url (in case it changed) to fix ticket #745. But if we were viewing some other item, then just stay on the current page to fix #940. The page_type approach didn't work because you'd have the same "collection" page_type when doing a context menu edit for an album.
2009-12-21Updates for the latest version of Kohana 2.4:Bharat Mediratta
1) Controller::$input is gone -- use Input::instance() now 2) Handle new 'database.<default>.connection.params' parameter 3) Handle new 'cache.<default>.prefix' parameter
2009-12-13Convert a database call.Bharat Mediratta
2009-12-01Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_devBharat Mediratta
2009-12-01Fix a typo that was breaking the home page (doh!)Bharat Mediratta
$this->_show() -> $this->show()
2009-11-30Clean up item routing a bit.Bharat Mediratta
1) The new default route is "albums", and Albums_Controller::index() does the right thing 2) Items_Controller redirects to the appropriate specific controller 3) All item controllers now have show() instead of _show(), so that the routing code in url::parse_url() can get to it. But that code is protected against receiving bogus requests.
2009-11-26Database::orwhere() is now Database_Builder::or_where()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-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 album, movie and photo handling to remove the REST_Controller. ↵Tim Almdal
Partial fix for ticket #917
2009-11-19Revert "Create theme::get_var(), theme::set_var() methods to set the options ↵Tim Almdal
of the active site theme. Change all refrences to theme options to use these methods. Update the version number of Gallery to 20 and move any them related options to the be stored under the active theme." This reverts commit 26114972c3388f065220b94a0d5962f20a6ccd0c.
2009-11-18Create theme::get_var(), theme::set_var() methods to set the options of the ↵Tim Almdal
active site theme. Change all refrences to theme options to use these methods. Update the version number of Gallery to 20 and move any them related options to the be stored under the active theme.
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-14Normalize pagination so that pager.html.php can handle pagination forBharat Mediratta
both albums and movies. Kohana's paginator is not quite sufficient for this, so create our own pagination logic in Theme_View with only the stuff we need. Clearly document the variables available in pager.html so that themers know how to use it. Fixes ticket #626.
2009-10-30Rename the login helper to auth. Create a login and logout helper function ↵Tim Almdal
to allow for programmically login in and out.
2009-10-24Remove a redundant comment, change the name of the identity change event to ↵Tim Almdal
'identity_before_change' and change the name of 'login::get_login_form()' to 'login::get_form()'
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.