- the new t($message, $options=array()) is for simple strings, optionally with placeholder interpolation.
- t2($singular, $plural, $count, $options=array()) is for plurals.
File_Structure_Test to make sure we don't regress.
According to the PHP docs, the "public" keyword is implied on static
functions, so remove it. Also, require private static functions to
start with an _.
http://php.net/manual/en/language.oop5.visibility.php
* Refactor blocks so that they have a separate id vs css_id. This way
we can have a unique identifier for each visual block.
* Store blocks with a random id as their unique identifier
* Add Admin_Dashboard::remove_block() and modify
themes/admin_default/views/block.html.php to call it when you click the
remove box.
OLD:
$form->submit("Foo") --> <input type="submit" value="Foo">
New:
$form->submit("foo_button")->("Foo") --> <input type="submit" name="foo_button" value="Foo">
Mostly we don't care what the button is so we leave the name blank.
user modules.
* Don't delete vars when we delete a module. This makes
reinstalling a module a lot easier.
* Add user::lookup() as the preferred way to load a user, so that
other modules don't delve into the user module (that'd be a
problem when we swap out user modules)
* Notify site admins if Akismet is not fully configured
* Bundle all server variables into the comment so that if/when we
re-check the comment, we are not using the server info from the
site admin's request.
* Update Akismet to grab request context data from the comment
* Pre-seed comment fields if we have a logged in user. Update
comment::create() API to clarify it for this.
* Delete comment::update(), that's a controller function.
* Add url to User_Model
* Add author_name() author_email() and author_url() to
Comment_Model. It'll return the appropriate values depending
on whether the comment was left by a logged in user or a guest.
* Use resetForm() instead of clearForm() when we reload the
comment form after ajax submit, this way we preserve the
pre-seeded values.
* In the user profile page, ignore blank passwords.
- 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)