https://github.com/FreshRSS/FreshRSS/issues/759
Suggestion: the static objects should be user-independent (or at least
with the possibility to be re-set), while the FreshRSS object and its
attributes should be user-dependent.
- To the hook is associated a method signature (OneToOne or NoneToNone for now) so
it is easier to call hooks correctly
- post_update hook is called during the post update moment.
Test if the install or uninstall has been successfully performed.
If these methods return true, all is ok but if a string is returned,
the string must explain the problem. This problem is stored in log file.
A feedback is given to explain to check log file.
This commit fix a problem in the english translation of
feedback.sub.feed.internal_problem.
- Don't reset the path list (use init() instead)
- init() accept a null lang_name. To use i18n, you'll have to use reset() later.
It is helpful to load the list of available language before choosing one of them.
- Add a support($key) method which return if the given key is supported by
the setter.
- Change handle signature by adding a $data param which must be passed by
reference.
See https://github.com/FreshRSS/FreshRSS/issues/730
A configuration setter must implement only one method: `handle($key, $value)`.
Before setting a value in configuration, the setter will be called with this
method to check its validity.
If a setter has been assigned to a configuration object, it will be called for
each of its data so be careful to always return a value (or null if you want
to delete the key).
See https://github.com/FreshRSS/FreshRSS/issues/730
General attribute has been removed from system config.
Now subattributes (e.g. environment, salt, title, etc.) are directly accessible.
YOU HAVE TO FIX YOUR ./data/config.php file!
- Remove the general array
- Values inside this array must be kept
- To see what it must look like, please have a look to ./data/config.default.php
(but keep your values!!).
See https://github.com/FreshRSS/FreshRSS/issues/730
- Use only Minz_Configuration
- register() method to load a new configuration file
- get() to get a configuration
- new exceptions related to configuration
- fix a list configuration calls to have FRSS working
Current problems to resolve:
- How to handle configuration param verifications (i.e. check auth_type
is a value from none, http_auth, persona or form)
- We must use $conf = Minz_Configuration::get('system'); $general_conf = $conf->general;
to access global system configuration which is quite annoying. How to change that?
See https://github.com/FreshRSS/FreshRSS/issues/730
- Create ./data/users/ folder
- Move user configuration to ./data/users/username/config.php
- Move sqlite db to ./data/users/username/db.sqlite
- Move user logs to ./data/users/username/log.txt
See https://github.com/FreshRSS/FreshRSS/issues/729
- Give possibility to register new i18n files
- Add a extension->registerTranslates() method
- extensions can define new strings or override previous ones
Fix https://github.com/FreshRSS/FreshRSS/issues/731
Now, each part of the view (layout, partials, helpers, views) is included based
on the $base_pathnames attribute.
Extensions can now override all of these files.
See https://github.com/FreshRSS/FreshRSS/issues/252
- New Extension->registerHook($hook_name, $hook_function) method to register a new hook
- Only one hook works for the moment: entry_before_insert
- ExtensionManager::callHook will need to evolve based on future hooks
See https://github.com/FreshRSS/FreshRSS/issues/252
- system extensions can only be managed by an administrator
- system extensions are loaded for all users (even if not logged)
- user extensions are loaded for logged users only
- system extensions loading is saved in global config.php file
See https://github.com/FreshRSS/FreshRSS/issues/252
- Add an Extension->registerViews() method.
- Views are first searched in extension paths, then in APP_PATH.
- It gives a way to override easily existing controllers / views.
- Change include into an include_once in Dispatcher for new controllers.
See https://github.com/FreshRSS/FreshRSS/issues/252
- Add a Extension->registerController(name) method
- Controllers must be written in extension_dir/controllers/nameController.php
- Controllers must be named as FreshExtension_name_Controller
- Controllers must extend Minz_ActionController
See https://github.com/FreshRSS/FreshRSS/issues/252
- Only system extensions can be loaded for the moment by adding them in the config.php
file.
- Remove previous system (it will be added properly in the new system in the next step).