remove Gallery3 concepts from ORM_MPTT.
The following API methods:
ORM_MPTT::children
ORM_MPTT::children_count
ORM_MPTT::descendants
ORM_MPTT::descendants_count
All now take a $where clause that allow you to pass through additional
field parameters.
old API:
$album->children(10, 0, "photos")
$album->children_count("photos")
new API:
$album->children(10, 0, array("type" => "photos"))
$album->children_count(array("type" => "photos"))
This gives us a more flexible API and simplifies the code. While I
was in there, I changed the way we deal with default orderby values so
that we just assign the default value in the function definition,
which allows us to get rid of all conditionals in the implementation
which results in simpler code.
Add a weight index to the item table and changed the retrieval of the maximum
weight to select weight from items order by weight desc limit 1.
Upgrades the gallery module to version 10
Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
Add a weight index to the item table and changed the retrieval of the maximum
weight to select weight from items order by weight desc limit 1.
Upgrades the gallery module to version 10
view permission on the parent. Added a whitelist of allowable
owner permissions.
If the requested permission is view and the user requesting access
is the owner, check that they have view permission to the parent.
1) Change access_Core::user_can to return true for all permissions if the
owner is the specified user.
2) Change Item_Model::viewable to set the owner_id is the first view_restriction
This allowed simplification of the generating the where clause to a single
$this->orwhere instead of a where and an orwhere.
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.
theme. Because the theme comes first, this means that themes can
override any module resources, at the cost that we no longer have
namespacing for JS and CSS files.
The only file getting used outside of this model is
themes/default/screen.css which is used in the admin theme. I fixed
that by copying screen.css into admin_default and renaming its
screen.css to admin_screen.css. I also copied over all the images
that it was referencing.
Fixes tickets #48 and #539.
Theme API changes:
- theme_script(), theme_url() and theme_css() are no longer needed
- script(), url() and css() now refer to the first matching asset in
the module load path, where gallery3/lib is at the end of the path
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.