summaryrefslogtreecommitdiff
path: root/core/helpers/access.php
AgeCommit message (Collapse)Author
2009-01-14Make sure that helper functions are all static. Add newBharat Mediratta
File_Structure_Test to make sure we don't regress. According to the PHP docs, the "public" keyword is implied on static functions, so remove it. Also, require private static functions to start with an _. http://php.net/manual/en/language.oop5.visibility.php
2009-01-01Allow admins to do anythingBharat Mediratta
2008-12-31Extend permissions interface to allow resetting to the parental default.Bharat Mediratta
2008-12-31Preliminary "Edit Permissions" dialog. You can't change permissionsBharat Mediratta
yet, but it shows you which items have locked view perms.
2008-12-31Fix a bug where we were accidentally allowing view permissions whenBharat Mediratta
allowing or resetting permission further down in the tree. This bug was introduced when I refactored the view permission cache into the items table. Updated test to catch it.
2008-12-31Fully implement the view_full permission.Bharat Mediratta
2008-12-30Oops, remove some debug code.Bharat Mediratta
2008-12-30Fix a bug. Unit tests ftw!Bharat Mediratta
2008-12-30Refactor _create_htaccess_files and _delete_htaccess_files intoBharat Mediratta
_update_htaccess_files in preparation for supporting the view_full permission.
2008-12-30Fix typo.Bharat Mediratta
2008-12-28Expand on the maintenance code to make it more robust and give theBharat Mediratta
admin more control. You can now track running tasks, resume stalled tasks, cancel running tasks, and remove finished tasks. Added graphics::compose() as a placeholder for future watermark operations. Added CSRF protection to maintenance urls.
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-22Normalize CSRF handling into the access helper. Probably not the bestBharat Mediratta
place for it, but it'll do for now. Do CSRF checking in the Admin controller so that we're safe across the board on the admin side.
2008-12-19Add access::forbidden()Bharat Mediratta
2008-12-19Delete the var/thumbs .htaccess files, too.Bharat Mediratta
2008-12-17Add initialization to the user module to put the user and group_idsBharat Mediratta
into the session, for easy access. This cuts down the number of queries when we're loading images through file_proxy.php
2008-12-17Separate thumbnails out into var/thumbs. This clears up some ambiguity in ↵Bharat Mediratta
Item_Model and simplifies file_proxy. It also means we can stop munging file names in the var/resizes hierarchy. In the process, rename "thumbnail" to "thumb" everywhere in honor of Chad (well, ok because it's shorter)..
2008-12-16Add file_proxy. This is controller gets triggered by .htaccessBharat Mediratta
protection on var/albums and var/resizes and only displays files to the user if they have "view" permission on the base ite.
2008-12-16Change htaccess rules to use mod_rewriteBharat Mediratta
2008-12-16Various optimizations:Bharat Mediratta
o Add model_cache::get() which caches models avoiding duplicate lookups o Stop using ORM relationships for Item_Model::owner so that we can use caching o For Item_Model::xxx_edit fields, don't make them editable for guests o Other minor stuff. These optimizations reduce the number of queries for a 9-photos page from ~200 to ~45. Still way too many!
2008-12-16Fix a bug where we were not deleting the .htaccess file on access::reset()Bharat Mediratta
2008-12-16Create and delete .htaccess files based on the view permissions forBharat Mediratta
the group::everybody() user.
2008-12-16phpdoc cleanupBharat Mediratta
2008-12-16Permission only function on albums.Bharat Mediratta
2008-12-13Fix a bug where parent permissions were not getting inherited to newlyBharat Mediratta
created albums and photos.
2008-12-13Make sure that access::can fails if the item is not loadedBharat Mediratta
2008-12-12Move the view permission cache directly into the item table for efficiency. ↵Bharat Mediratta
Unit tests ftw!
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-11Split _update_access_cache into two functions separating view fromBharat Mediratta
non-view. This is a step along the path towards moving the view access cache into the item model.
2008-12-10Fix problem with access::can, where the $item->id was being passed to the ↵Tim Almdal
access_group::can method.
2008-12-10Change all access API methods to take ORMs instead of ids. This willBharat Mediratta
minimize reloading objects from the database.
2008-12-09Check view permissions before allowing view access to albums/photos.Bharat Mediratta
2008-12-09Move code to delete users and add/remove users from groups into theBharat Mediratta
model.
2008-12-09Add access::can() which verifies that the user belongs to a group that has theBharat Mediratta
given permission.
2008-12-08Rename access::can() to access::group_can()Bharat Mediratta
2008-12-07Finish writing unit tests for Access. No bugs found!Bharat Mediratta
2008-12-04Change the startup code to only put installed modules on the autoloadBharat Mediratta
path. This breaks a bunch of places where we had hardcoded dependencies, so guard all of those cases. Restructure module::available() a bit and the way that we do install/uninstall in the scaffolding.
2008-12-04Improvements to access helper.Bharat Mediratta
o Rename access::remove_group() to access::delete_group() for consistency. o Wrote more unit tests o Tests found a bug in access::remove_item() .. yay!
2008-12-03Fix a bug where we weren't actually deleting permissions (hooray for unit ↵Bharat Mediratta
tests!)
2008-12-03Re-enable access_cache propagation now that we've patched the MySQL driver.Bharat Mediratta
2008-12-03get rid of a stray space that was breaking the File_Structure_TestBharat Mediratta
2008-12-03Temporarily disable some code to get tests to pass.Bharat Mediratta
2008-12-03Fix a bad copy/pasted commentBharat Mediratta
2008-12-02Oops, this was missing from the last fix.Bharat Mediratta
2008-12-02Fix a problem in _update_access_cache() where if the intent isBharat Mediratta
default, we weren't properly propagating ALLOW where necessary.
2008-12-01Add access::reset() so that you can specify your intent to use theBharat Mediratta
parent's permissions. Update scaffolding to demonstrate that it works.
2008-12-01Add @todosBharat Mediratta
2008-12-01Prototype access control model. There's much left to do, but it's aBharat Mediratta
working implementation.