| Age | Commit message (Collapse) | Author |
|
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.
|
|
Track a set of rules in Graphics_Rule_Model which specify how we turn
original images into thumbnails and resizes. There's one set of rules
that applies to every image in the Gallery.
Track the state of thumbs and resizes with a "dirty" bit. The new
graphics helper manages the rules and can rebuild the thumbs and
resizes for any images that are considered "dirty".
Introduce the concept of an "album cover" which is an item that an
album points to. We'll use that item as the source for the album's
thumbnail/resize.
Conflated with this change (sorry!) I also changed the Var table to
use module_name instead of module_id. This may be marginally less
efficient, but it's much easier to follow in the database.
|
|
|
|
|
|
|
|
just items viewable by the active user. Ie:
ORM::factory("item")
->where("name", "foo")
->find_all()
Would get all items with the name "foo".
ORM::factory("item")
->viewable()
->where("name", "foo")
->find_all()
Restricts it to just the set of items that the user is allowed to see.
|
|
because the leading underscore confuses the Kohana router.
|
|
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)..
|
|
can find problems faster.
|
|
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!
|
|
which will preserve the aspect ratio of the original image
|
|
other functionality. This makes our user/group and access code
fully consistent.
|
|
|
|
store information, but is not enough to warrant a table of its own
|
|
Item_Model::move_to, unless it turns out that we really need to.
|
|
|
|
* Pass the module::event(..., $data) by reference to the handlers
|
|
preserve the left right pointers.
* changed _lock and _unlock to protected methods lock and lock respectively
* added a moveTo method on the Item_Model
* Corrected the hole closure on delete.
* added moveTo on the ORM_MTPP class
* Changed the rearrange javascript to do moves with ajax
|
|
Added a delete method to ORM_MPTT that contracts the tree when an item is deleted
|
|
once the item is deleted, the $item->file_path() is no longer valid.
|
|
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.
|
|
the album tree. I haven't had a chance to figure out why the form does get any styling or why a textarea is no included as a list item.
|
|
working implementation.
|
|
Update scaffolding to allow addition of just albums (helpful for testing permissions)
|
|
|
|
|
|
|
|
|
|
and also allow modules to contribute blocks to the layout.
|
|
|
|
full URLs with a clean API, and isolate the cruddy party where we have
to hardcode the server protocol into a single file.
|
|
Fix some style issues
|
|
|
|
added descendants by type method to the item model to allow for the selection of children by type
|
|
added parameters to thumbnail_url and resizes_url to be passed to the url::base call to generate ful urls
|
|
|
|
doesn't refer to a fixed resource or collection of resources.
Fix some minor bugs in the code so that we can actually generate a
feed. It looks pretty cool! Improved pagination links, but didn't actually test them.
|
|
1) added a mime_type property to the item module(no database change)
2) created a media_rss module
3) moved most of the functionality for the downloading the images to the media_rss module
|
|
* Hardcode the item has_one owner relationship again
* Overload User_Model::__get to handle missing owners gracefully
* Fix Item_Controller to take the owner_id from the session or
from the parent album when adding new albums and photos.
|
|
user; and the views don't break if user module is not installed
|
|
|
|
|
|
relationship to bind the two. To do this, I overrode __get in
Item_Model so that $item->owner returns the appropriate User_Model.
|
|
|
|
properly in the theme.
* Move thumbnail and resize generation down into the model for
consistency.
* Add a sample thumbnail for albums
* Fix a bug in the ORM to clear the cache when we reload an object.
* Add Kohana docs to the scaffold.
|
|
|
|
|
|
Currently only the album view works, albums have no thumbnails, and
there's only 1 image in use.
Improved Item_Model to have the following API methods
file_path() -- returns the path to the source image or album dir
thumbnail_path(), thumbnail_url() -- returns path/url to the thumbnail
resize_path(), resize_url() -- returns path/url to the resize
All tests updated.
|
|
Replace theme HTML with *almost* the latest stuff from the
mockups. (it doesn't include r18467 yet).
Our theme format is now modelled after WordPress / Habari's style
where you have one entry point per type (eg: album.php) which can
load up whatever parts it needs (eg: $theme->display("header"))
Created album and photo helpers which have create() functions
that form the base of our new API, along with tests for them.
Created our own version of the ORM_MPTT since the existing
versions were too buggy and unsupported to depend upon. Only has
a minimal implementation so far, and the tests are not yet
committed.
Added path(), thumbnail_path() and resize_path() to Item_Model
Extended the scaffolding to allow you to add lots of
photos/albums into your hierarchy.
Deleted modules/mptt -- we're not going to use this anymore.
|
|
the controller initiates a request to a top level page (eg:
album.html.php) which is then free to include whatever other page
chunks it wants with calls like <?= $theme->display('header.html') ?>
Variables like $item and $children are in the global space for all
views.
theme.php helper is now Theme.php library which lets us store the name
of the theme inside the variable itself. This means that the theme
does not have to know its own name because you can use $theme->url()
for all urls to stuff inside the theme itself, which makes it possible
to cline a theme without changing a single line.
Still using the mock album UI.
|