Commit Graph

935 Commits

Author SHA1 Message Date
Marien Fressinaud
a3f667e586 Fix Minz_Translate::availableLanguages() method 2015-01-08 14:50:21 +01:00
Marien Fressinaud
5bd7997d41 Call handleConfigureAction() even for GET requests
See https://github.com/FreshRSS/FreshRSS/issues/252
2015-01-08 14:30:05 +01:00
Marien Fressinaud
73023bc12b Merge branch 'dev' into 252-extensions
Conflicts:
	app/FreshRSS.php
	app/Models/Configuration.php
	app/views/index/index.phtml
	app/views/index/normal.phtml
	lib/Minz/Configuration.php
	lib/Minz/Translate.php
	lib/lib_rss.php
2015-01-08 14:18:32 +01:00
Marien Fressinaud
fb614ab80c Change way to call configuration setter.
- 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
2015-01-07 17:36:29 +01:00
Marien Fressinaud
7f12058fab Add a method to change the configuration setter
See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-07 16:09:24 +01:00
Marien Fressinaud
91e2d4936d Add support of configuration_setter
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
2015-01-07 15:57:27 +01:00
Marien Fressinaud
09545b0a65 Fix calls to remove_query_by_get()
The function has been moved into lib_rss.php

See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-07 15:37:24 +01:00
Marien Fressinaud
bd199c6170 If a conf param doesn't exist, log and return null
See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-07 10:48:47 +01:00
Marien Fressinaud
8e6ab12e89 Fix a bug in FreshRSS_Auth::giveAccess()
See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-06 22:43:24 +01:00
Marien Fressinaud
dd41642ce6 Fix calls to FreshRSS_Configuration
Replaced by a get_user_configuration() function in lib_rss.
This function register a new configuration based on the given username
and return the corresponding configuration.

See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-06 21:40:19 +01:00
Marien Fressinaud
17a280230f Change Minz_Configuration::parseFile() in load()
See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-06 21:16:33 +01:00
Marien Fressinaud
addcea9cd4 Fix i18n loading and availableLanguages calls
- Change the way to init i18n
- Add a availableLanguages() method to Minz_Translate

See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-06 21:10:51 +01:00
Marien Fressinaud
d3a93ea290 BREAKING FEATURE: Remove general in config
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
2015-01-06 18:53:36 +01:00
Marien Fressinaud
d27efeec04 Fix Controllers to use the correct config system
See https://github.com/FreshRSS/FreshRSS/issues/730
2015-01-06 17:38:31 +01:00
Marien Fressinaud
51a71ec4b9 New configuration system (not working yet)
- 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
2015-01-05 16:54:16 +01:00
Marien Fressinaud
d234304580 Add files for the new favicon system
Use https://github.com/ArthurHoaro/favicon
See https://github.com/FreshRSS/FreshRSS/issues/290
2014-12-29 11:22:22 +01:00
Marien Fressinaud
c391ca62f1 Remove all old references to LOG_PATH
See https://github.com/FreshRSS/FreshRSS/issues/729
2014-12-28 18:05:02 +01:00
Marien Fressinaud
7a967e68ad Merge branch 'dev' into 729-move_data 2014-12-21 17:54:37 +01:00
Marien Fressinaud
5f327abeec Add recursive_unlink function in dev branch 2014-12-21 17:53:03 +01:00
Marien Fressinaud
966c061b3c Fix listUsers function
See https://github.com/FreshRSS/FreshRSS/issues/729
2014-12-21 17:38:38 +01:00
Marien Fressinaud
b5bee85603 BREAKING FEATURE: move user data
- 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
2014-12-21 13:10:02 +01:00
Marien Fressinaud
26da4aa448 Update Minz_Translation
- 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
2014-12-18 18:59:13 +01:00
Marien Fressinaud
251d5a78ce Fix php interpretation in configure.phtml file
See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-18 13:57:25 +01:00
Marien Fressinaud
0b89867800 Merge branch 'dev' into 252-extensions
Conflicts:
	app/i18n/en/admin.php
	app/i18n/en/feedback.php
	app/i18n/en/gen.php
	app/i18n/fr/admin.php
	app/i18n/fr/feedback.php
	app/i18n/fr/gen.php
	app/views/index/normal.phtml
2014-12-17 21:41:33 +01:00
Marien Fressinaud
d455837c6d Fix i18n for normal view 2014-12-11 00:00:15 +01:00
Marien Fressinaud
aa54f43795 Verbose for unvalid key format 2014-12-10 22:57:43 +01:00
Marien Fressinaud
76358846ab Implement extension deletion
See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-08 13:36:08 +01:00
Marien Fressinaud
188b517daa Add a feed_before_insert hook
See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-08 13:05:56 +01:00
Marien Fressinaud
a79107fb04 Merge branch 'dev' into 252-extensions 2014-12-08 12:53:01 +01:00
Marien Fressinaud
a596385343 Fix a security issue in Minz_Error::error()
Mehtod must redirect automatically by default to avoid code execution after
calling the method.
2014-12-08 12:37:06 +01:00
Marien Fressinaud
c6dfec3ad3 Add behaviour to configure action (extensions)
- Put extension configure view in dir_ext/configure.phtml
- Handle POST action in Extension->handleConfigureAction() method

See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-08 12:01:47 +01:00
Marien Fressinaud
198b154064 Fix View files inclusion.
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
2014-12-07 15:30:24 +01:00
Marien Fressinaud
5932c3427b Add entry_before_display hook
See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-07 14:31:50 +01:00
Marien Fressinaud
08546af75f Add a first draft for hooks
- 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
2014-12-06 18:48:00 +01:00
Marien Fressinaud
4c888590e6 Improve system/user types for extensions
- 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
2014-12-06 16:41:06 +01:00
Marien Fressinaud
2e4682ebd4 Add enable / disable extension features
See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-06 16:17:11 +01:00
Marien Fressinaud
a08c382e06 Separate views registration from controllers one.
- 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
2014-12-06 15:20:20 +01:00
Marien Fressinaud
c6a682deb9 Extensions can define new views
- View base pathname is set to the extension directory
- An extension can now override an existing controller / view

See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-05 15:27:56 +01:00
Marien Fressinaud
f8aa66152f Give possibility to register a new Controller.
- 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
2014-12-05 14:48:09 +01:00
Marien Fressinaud
9fc60317ee First draft for listing and manipulate extensions
See https://github.com/FreshRSS/FreshRSS/issues/252
2014-12-05 14:17:02 +01:00
Marien Fressinaud
a2da70fd11 Fix security hole from ext.php script.
Now, ext.php can only serve file under a EXTENSIONS_PATH/ext_dir/static/ directory.
A 400 Bad Request error will be returned for other files.

See https://github.com/FreshRSS/FreshRSS/issues/252
And https://github.com/FreshRSS/FreshRSS/commit/f9b037742a0aeb49cab86782d1a59913c2de47b
2014-12-05 10:54:44 +01:00
Marien Fressinaud
f9b037742a Update ext.php to serve any file from extensions
Add an extension->getFileUrl() method to facilitate url generation
2014-12-04 20:41:01 +01:00
Marien Fressinaud
1086ba4a2b Enable extensions for users 2014-12-04 19:47:43 +01:00
Marien Fressinaud
86f69ca396 First draft for the new extension feature
- 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).
2014-12-04 19:33:29 +01:00
Marien Fressinaud
aa232d8fd5 Update the i18n system.
Follow recommendations from https://github.com/FreshRSS/FreshRSS/issues/334
2014-12-03 16:45:51 +01:00
Alexandre Alapetite
e4ea629f59 SimplePie: Added unconventional mime type for RSS
Since `application/rss+xml` is not official
http://www.iana.org/assignments/media-types/media-types.xhtml, then it
is fair enough to use the `x-` prefix.
https://github.com/FreshRSS/FreshRSS/issues/706
2014-11-12 22:42:47 +01:00
Alexandre Alapetite
56ac35095a Better error message for inaccessible feeds
https://github.com/FreshRSS/FreshRSS/issues/456
2014-11-12 22:23:59 +01:00
Alexandre Alapetite
ba7d63e5ca Temporarily remove scheme check in referer
If needed, we may re-introduce the check for scheme with proper support
for proxy
https://github.com/FreshRSS/FreshRSS/issues/565#issuecomment-61602425
2014-11-04 08:47:23 +01:00
Marien Fressinaud
ba832bef4d Fix TODO in format_number() 2014-10-30 19:34:36 +01:00
Marien Fressinaud
036240ab01 Fix coding style formatNumber and formatBytes 2014-10-30 19:31:32 +01:00