Each module now has a "module.info" file that has information about
the module, including the core. We can display the installed version,
and the version in the code.
Also take a first shot at a modules admin page.
the various modules. In the process, rename xxx_menu::site_navigation() to just
xxx_menu::site(). And add xxx_menu::admin().
The menus are the same as before, but I changed the HTML to be
consistent with the way that we do it in the regular site, and this
broke the superfish styles. I don't know how to fix this.. help me
Chad!
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.
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.
1) Generate the form in Tags_Controller::_form_add()
2) Process the form submit in Tags_Controller::_create()
3) Create the tag properly
This required me to limit our scope to adding one tag at a time, which
I think is fine if we're doing Ajax style tag addition.
Create the concept of "page types" which let us specify the kind of
page that we're rendering in high level terms. Currently there are
three page types: album, photo and tag.
The tag page type uses slightly different variables. It has a $tag
but no $item. Adjust all sidebar_block() functions to avoid printing
stuff that's dependent on the item if there is no item.
Simplify the tag code to stop trying to fake an item.
Update the theme slightly to use $item and $tag where appropriate
(notably, for making the <title> element).
1) change buckets to be 1-7 not 0-6.. zero-based indicies don't make sense in the
real world and are liable to confuse themers.
2) Change tag API to popular_tags($count) which just returns the popular tags. Let
the block code massage it into the right format for the view.
3) Move alphasort into the block code, simplify it and rename it to sort_by_name so
that it's more descriptive
4) Do the bucketing in the view; this allows the themer to override it and create their
own bucketing algorithm to go with the theme's CSS.
5) Don't create any temporary objects.
multiple items, so don't create a confusing API where we don't need
one. The caller can just as easily loop over items and tags.
Use ORM::has() instead of manually looping over items, which would be
wildly inefficient on large installs. Document that we're calling
ORM::has() a second time just so that we can update the count
correctly.