summaryrefslogtreecommitdiff
path: root/core/controllers/items.php
AgeCommit message (Collapse)Author
2008-12-31Add Item_Model::url() and use it where appropriate. Cleans up someBharat Mediratta
grotty looking stuff in themes.
2008-12-25Big round of normalization of the way that our controllersBharat Mediratta
communicate. Almost all controllers now use JSON to speak to the theme when we're dealing with form processing. This means tht we only send the form back and forth, but we use a JSON protocol to tell the browser success/error status as well as the location of any newly created resources, or where the browser should redirect the user. Lots of small changes: 1) Admin -> Edit Profile is gone. Instead I fixed the "Modify Profile" link in the top right corner to be a modal dialog 2) We use json_encode everywhere. No more Atom/XML for now. We can bring those back later, though. For now there's a lot of code duplication but that'll be easy to clean up. 3) REST_Controller is no longer abstract. All methods its subclasses should create throw exceptions, which means that subclasses don't have to implement stubs for those methods. 4) New pattern: helper method get_add_form calls take an Item_Model, not an id since we have to load the Item_Model in the controller anyway to check permissions. 5) User/Groups REST resources are separate from User/Group in the site admin. They do different things, we should avoid confusing overlap.
2008-12-25Rest_Controller -> REST_Controller everywhere, for consistency.Bharat Mediratta
2008-12-24Lots of deltas rolled up into a bigger change. Sorry for the mess.Bharat Mediratta
1) Deleted in-place-editing. We'll be replacing this with a real edit system that groups settings together and is more coherent. 2) Tweaked the way that dialog boxes work to get the ajax stuff working again. It's imperfect and does not work properly for uploading images. This is going to get redone also, but this is a good resting point. 3) Created edit forms for albums and photos. Moved _update and _create out of Items_Controller and into the individual subclasses. 4) Created access::required which is a shorthand for: if (!access::can(...)) { access::forbidden(); } 5) Added validation rules to Items_Model 6) Converted login to use the regular modal dialog approach in the theme.
2008-12-23Clean up the way that we upload via dialogs:Bharat Mediratta
1) If the create request is Ajax, then return a 201 Created response code 2) If we receive back a 201 response, then switch to the new page. 3) Display a status message when we do an upload.
2008-12-23Update to reflect change in album::create APIBharat Mediratta
2008-12-21Add some more logging code. Now the site admin has some log entries to look at.Bharat Mediratta
2008-12-12Get rid of all pseudo users and pseudo groups, while preserving allBharat Mediratta
other functionality. This makes our user/group and access code fully consistent.
2008-12-07Fix a bug in the redirect after adding photos.Bharat Mediratta
2008-12-06Correct @todo's in Item_ControllerTim Almdal
2008-12-03Rename file::unlink() to dir::unlink(). This creates an API that isBharat Mediratta
clearer about its actions, otherwise we may accidentally blow away an entire hierarchy when we think we're deleting a single file (there's a reason why rm won't let you delete dirs that aren't empty!) Name it "dir" instead of "directory" because apparently "directory" is already reserved. Move the delete call out of Items_Controller and into the model. The model is responsible for keeping state integrity, not the controller.
2008-12-03Add a MY_file class that extends the file helper by creating an unlink ↵Tim Almdal
method that deletes a file or an album directory. Modify Items_Controller::_delete to call this new helper method when deleting an item
2008-12-01Prototype access control model. There's much left to do, but it's aBharat Mediratta
working implementation.
2008-11-28Create module::event() which runs Gallery events. It works byBharat Mediratta
convention. To respond to the "photo_created" event in the gmaps module, you create modules/gmaps/helpers/gmaps_event.php containing class gmaps_event which has function photo_created. Renamed all events from gallery.foo.bar to foo_bar Updated tag module to use new convention.
2008-11-28Rename item events and create events for comment create, login, logout, user ↵Tim Almdal
creation. I probably forgot some, but its a start.
2008-11-24Fix a typo in _show() that broke proper redirectionBharat Mediratta
2008-11-19Fix some broken-ness:Bharat Mediratta
1) Item_Controller::_create() and _update() were swapped 2) _create() was redirecting to the wrong urls on success 3) Change in-place return parameter from __return to _return 4) Change in-place code to tunnel _put via POST
2008-11-19Change the way that we do RESTful routing.Bharat Mediratta
1) We now use __call() in REST_Controller to handle any requests to a controller that were not already handled. In the case of RESTful controllers, this should be the only entry point (although they're free to break the model and add other ones.. nothing stops them). This means that we can remove all the catch-all routes in routes.php which greatly simplifies it. 2) Move request_method() and output_format() out of REST_Controller and into the REST helper in core/helpers/rest.php 3) Experiment with letting the various subclasses check the output_format and deal with it themselves. This simplifies the API, but it might be a bad idea in that it might push too much work to the individual controllers. It's a balancing act, time will tell, I'm willing to change it back later.
2008-11-19* Renamed the album, item and photo controllers to albums, items and photos ↵Jozef Selesi
in order to follow the convention that controllers that refer to a collection of resources have plural names. * Added a bug workaround to routes.php