Create the concept of a Photo_Display_Context. If the user is browsing a dynamic album (i.e. tags) and chooses to
look at an image in that album. The display of the image happens correctly, but the 'next' and 'previous' buttons
are no longer consistent. When one of these is clicked, Gallery will open the adjacent image in the actuall album,
not the dynamic album.
Item_Model::viewable() because it's too dangerous to separate that out, and it's fragile to
rely on only admins doing tag combines.
Revert "Undo the change made in 5ce8563632 because it messes up tag counts"
- This reverts commit 67d2e8081c.
Revert "Move the calculation for item_related_update ahead of the duplicate"
- This reverts commit 5ce8563632.
question mark, so any tags containing an apostrophe won't display
their contents.
Take the simple fix here and change the tag urls to also contain the
tag id, which avoids having to add a slug for the tag and all kinds of
validation code.
Fixes#1636.
don't try to update the tag item count if we didn't change any items
with this change (ie: a tag rename). In that case, we haven't loaded
the related items so we don't have any idea what the count is going to
be.
when adding a tag to lots of items. Tag_Model::save() would call
item_related_update for every tag related to an item upon save which
is an O(N!) operation. Fixes ticket #1412.
mostly issues around uninitialized variables, calling non-static
functions in a static context, calling Session functions directly
instead of on its singleton, passing non-variables by reference, and
subclasses not using the same interface as the parent class.
affected. Practically speaking this means that we'll reindex items
when tags are added or removed from them.
API change:
Remove item_related_updated_batch event.
Rationale:
While this is an efficient event, it requires module developers to
support two event APIs for staying up to date and increases the
likelihood that they'll forget one and have data corruption. Force
them all through the slower but more reliable pipe, for now. We
can always try to improve efficiency by using the batch_start and
batch_stop events.
dialog for deleting tags. Remove the 4 character restriction on tags
(it was getting ignored by the add form anyway since it was mistakenly
referred to as tag_name there).
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.
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).