- And refactor printf to our string interpolation / pluralization syntax
- Also, a slight change to the translations_incomings table, using binary(16) instead of char(32) as message key.
- Using DB table translations_incomings as translations storage (file cache to be added)
- Removed overly complex i18n code which will be unnecessary with the future compiled cache files
- Added t() as a translation function (global refactoring from _() to t() to follow)
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.
the database. They're started with admin/maintenance/start/[task_name]
which sends down some JS/HTML which regularly pings the task at
admin/maintenance/start/[task_id] until its done.
The UI is still very rough. It works, though!
this to show a "your thumbs/resizes are out of date" message whenever
we change the graphics rules. Tweak watermark module to add graphics
rules whenever we make a change, which triggers the graphics module to
add the permanent message.
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.
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)..
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.