logmanoriginal
6943abd9c2
[Bridge] Fix whitelist check
2016-09-11 14:02:02 +02:00
logmanoriginal
ab16af631e
[core] Apply some fixes
2016-09-10 21:01:02 +02:00
logmanoriginal
62eec43980
[core] Apply common indentation
...
All files are now using tabs for indentation
2016-09-10 20:41:11 +02:00
logmanoriginal
9be03f199b
[core] Remove HttpCachingBridgeAbstract
...
BridgeAbstract implements all functions to cover the implementation
2016-09-10 19:13:01 +02:00
logmanoriginal
2eec89ab27
[bridges] Change all bridges to use BridgeAbstract with getSimpleHTMLDOMCached
2016-09-10 19:11:09 +02:00
logmanoriginal
9f2dd48684
[BridgeAbstract] Add getSimpleHTMLDOMCached
...
This function is a copy of the get_cached function from
HttpCachingBridgeAbstract, adding all parameters of
getSimpleHTMLDOM in order to replace the need of
HttpCachingBridgeAbstract entirely
2016-09-10 19:04:01 +02:00
logmanoriginal
33584b8423
[HttpCachingBridgeAbstract] General cleanup
...
- Remove buildCacheFilePath -> Single use, so no real purpose
- Simplify debug messages
- Cleanup documentation
2016-09-10 00:34:25 +02:00
logmanoriginal
3a92a1e04b
[HttpCachingBridgeAbstract] Remove get_cached_time and remove_from_cache
...
Bridges no longer require to check cache file durations
manually as get_cached now supports the duration parameter
2016-09-10 00:09:10 +02:00
logmanoriginal
1a2a48e129
[HttpCachingBridgeAbstract] Use sha1 cache file names
...
Previously folder hierarchies were created based on the input URL
which could result in very deep folder structures. Using SHA1 file
names also allows to check for old files more effectively (via
fileatime)
2016-09-10 00:00:10 +02:00
logmanoriginal
ce00c6f869
[HttpCachingBridgeAbstract] Don't pass cache directory as parameter
2016-09-09 22:23:40 +02:00
logmanoriginal
84956c4daf
[HttpCachingBridgeAbstract] Add duration parameter to 'get_cached'
...
This allows to specify the cache duration for a specific
url without the need to delete the cache file first.
Instead the cache file is automatically deleted if the
duration elapsed.
2016-09-09 22:23:15 +02:00
logmanoriginal
f1fb527607
[FeedExpander] Add optional parameter to specify max items
...
Allows caller of collectExpandableDatas to request a limited
amount of items
2016-09-05 20:17:00 +02:00
logmanoriginal
298dc49c67
[lib] Split Bridge/Cache/Format into one file per class
...
The files have grown to a size where it is necessary to search
for a class in a file. This commit splits the content into one
file per class. RSS-Bridge will require implementations and
the implementations will require (once) the interfaces.
2016-09-05 18:05:19 +02:00
logmanoriginal
acde8a2cea
[Bridge] Support 'dc:date' for RSS 2.0 parser
2016-09-04 13:46:57 +02:00
logmanoriginal
546c0036df
[Bridge] Rename class RssExpander to FeedExpander
...
This class no is not RSS only anymore
2016-09-04 13:28:12 +02:00
logmanoriginal
39788485ea
[Bridge] Rename 'parseRSSItem' to 'parseItem'
2016-09-04 13:26:17 +02:00
logmanoriginal
149b64879e
[Bridge] Support 'dc' namespace for RSS 1.0
2016-09-04 13:05:17 +02:00
logmanoriginal
8fa0b9660f
[Bridge] Fix ATOM feed uri detection
2016-09-04 12:40:42 +02:00
logmanoriginal
bf20a2f687
[Bridge] Remove uneccesary debug message
2016-09-04 12:34:56 +02:00
logmanoriginal
51a3a75aac
[Bridge] Add RSS 1.0 and 2.0 parser
2016-09-04 12:32:56 +02:00
logmanoriginal
f781965825
[Bridge] Add RSS 0.91 parser
2016-09-04 11:45:14 +02:00
logmanoriginal
0e5775012f
[Bridge] Rename parameter 'name' to 'url'
2016-09-04 11:01:13 +02:00
logmanoriginal
2aa9b8f026
[Bridge] Extend RssExpander to load ATOM formats
2016-09-03 22:17:36 +02:00
logmanoriginal
a8883523f4
[Bridge] Pass 'queriedContext' as parameter to 'setInputs'
...
This makes clear that 'setInputs' depends on the 'queriedContext'
2016-09-02 20:05:18 +02:00
logmanoriginal
d1ff23c7ba
[Bridge] Fix incorrect switch variable
2016-09-02 19:53:59 +02:00
logmanoriginal
04bddd0758
[Bridge] Apply default value while setting inputs
2016-09-02 19:52:47 +02:00
logmanoriginal
5f3d60276a
[Bridge] Use original input values to guess context
2016-09-02 19:46:58 +02:00
logmanoriginal
4bc4e03d7b
[Bridge] Change order of variable declaration
2016-09-02 19:03:51 +02:00
logmanoriginal
41d3aa0695
[Bridge] Change scope of member variable 'inputs'
2016-09-02 19:01:57 +02:00
logmanoriginal
48db1693a1
[Bridge] Use member variable instead of local variable
2016-09-02 18:59:55 +02:00
logmanoriginal
c2e411ba82
[Bridge] Add function to set inputs
2016-09-02 18:38:07 +02:00
logmanoriginal
37f269cf53
[Bridge] Remove unused variable
2016-09-02 18:12:37 +02:00
logmanoriginal
d520e82d9e
[Bridge] Fix function names
...
is* implies Boolean return values, which is not true for
these functions
2016-09-02 18:11:02 +02:00
logmanoriginal
5ad1fa8242
Merge branch 'constantine' of https://framagit.org/peetah/rss-bridge
2016-09-02 17:36:51 +02:00
Pierre Mazière
556b8a2452
[core] transform some BridgeAbstract members to class constants
...
This concerns $uri, $name, $maintainer, $parameters and $description
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-01 23:12:51 +02:00
Pierre Mazière
729cbadc77
[Bridge] fix input parameter value storage
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-01 23:12:30 +02:00
logmanoriginal
1aa01a1f67
[Bridge] Fix invalid text value without pattern
2016-09-01 21:07:27 +02:00
logmanoriginal
47b6cb8937
[Bridge] Return name of the parameter that failed the check
2016-09-01 20:59:49 +02:00
logmanoriginal
7c36b51aa2
[Bridge] Move code into functions
2016-09-01 20:53:47 +02:00
logmanoriginal
cd9435b936
[Bridge] Simplify cache loading
2016-09-01 19:43:25 +02:00
logmanoriginal
8d050c233b
[Format] Change scope of 'sanitizeHtml' to protected
2016-08-29 20:51:11 +02:00
logmanoriginal
f49fca516d
[Format] Trim all items elements
...
This removes unnecessary whitespace in output data
2016-08-29 20:50:02 +02:00
logmanoriginal
cf146523be
[formats] Rename variable 'data' to 'item'
...
This makes the intend of the variable more clear and is now
coherent with all Bridges
2016-08-29 19:47:21 +02:00
logmanoriginal
a84016bcb6
[core] Rename item getter/setter
...
getDatas -> getItems
setDatas -> setItems
Note: Bridge->setDatas actually sets data, where Bridge->getItems
only returns items (this is why Bridge->setDatas was not changed)
2016-08-29 19:42:58 +02:00
Pierre Mazière
b1a834801b
[BridgeAbstract] fix empty parameter context
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-29 13:27:30 +02:00
logmanoriginal
8ed3b02899
Merge branch 'core' of http://framagit.org/peetah/rss-bridge
2016-08-28 20:33:27 +02:00
logmanoriginal
e4b314f78a
[Bridge] Enable cache file deletion
2016-08-28 19:50:33 +02:00
logmanoriginal
5f3d28f3a6
[Bridge] Return HTML DOM with get_cached
2016-08-28 19:37:32 +02:00
Pierre Mazière
fb05976fa6
[core] fix two-levels list default value support
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
74d876b585
[core] add explicit support for list default value
...
and implicit support for text and number parameters
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
93634ada3a
[core] really fix bridges without parameters
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
16dc7fcb6f
[core] fix bridges without parameters
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
1b3c8a8aeb
[core + bridges] add BridgeAbstract::$inputs and BridgeAbstract::getInput()
...
Inputs are not stored in BridgeAbstract::$parameters anymore to separate
static data from dynamic data.
The getInput method allows for more readable code.
Also fix an "undefined index 'global'" notice
Probability of breaking bridges: high !
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
2047955f06
[core] rename $param to $inputs
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
d1715f6efc
[core] fix missing curly brackets
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
85625318b1
[core] variable renaming
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
ea1d53a24a
[core] fix global parameter values propagatino
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
701aff420d
[core] code simplification
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
de1b39c8e5
[core + bridges] get rid of loadMetadata
...
if a bridge needs to modify some of the data that were initialized
there, ::__construct() should be used instead.
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:05:03 +02:00
Pierre Mazière
7857325d9c
[core] set checkboxes default value to false
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-28 13:00:55 +02:00
Pierre Mazière
3f36ca2a9b
[core] unexpected input generates a fail
...
because paranoïa is the way to security !
Should this be optional ?
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-25 17:52:44 +02:00
Pierre Mazière
a67a219bf9
[core] remove '$param' argument from RssExpander::collectExpandableDatas
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-25 17:11:49 +02:00
Pierre Mazière
117031bf0f
[core] store parameters values in BridgeAbstract::parameters
...
This way, any BridgeAbstract method can now have access to these values,
no only collectData
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-25 01:24:53 +02:00
Pierre Mazière
dea37c8e34
[core] use BridgeAbstract::parameters to sanitize inputs
...
This should result in a lot of simplifications in the bridges
since data validation is now done upstream.
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-25 01:20:12 +02:00
logmanoriginal
1d0b8f20f3
[Bridge] Fix missing function scope
2016-08-24 20:50:32 +02:00
logmanoriginal
95404b8fc4
[Bridge] Move 'Bridge' class at top of the file
2016-08-24 20:48:12 +02:00
logmanoriginal
b9b2428f63
[Bridge] Add function to build chache file path
2016-08-24 20:44:21 +02:00
logmanoriginal
458d1fbfeb
[Bridge] Rename to
2016-08-24 20:35:19 +02:00
logmanoriginal
56cb116ce6
[Bridge] Format unreadable lines longer than 80 chars
2016-08-24 20:31:39 +02:00
logmanoriginal
8252387386
[Bridge] Rename 'message' to 'debugMessage'
2016-08-24 20:18:59 +02:00
logmanoriginal
9021a4b7cc
[Bridge] Don't return object instance with 'setCache'
2016-08-24 20:17:26 +02:00
logmanoriginal
429126e18a
[Bridge] Cleanup file
...
- Remove unnecessary documentation
- Update/Clarify documentation where necessary
- Remove empty lines
- Put 'else' between closing and opening curly braces
- Make sure curly braces start right after closing brace on functions '(){...'
- Start lines with '.' and use proper indentation when using multi-line string combinations
- Add spaces for function definitions/calls and assignments
- Add space before opening curly brace after class definition 'class xyz {'
2016-08-24 20:14:23 +02:00
logmanoriginal
a43703d32d
[Bridge] Replace double quotes with single quotes
...
This harmonizes the usage throughout the file.
2016-08-24 19:33:38 +02:00
logmanoriginal
07f664b2fa
[Bridge] Remove duplicate definition of member variables
2016-08-24 18:32:31 +02:00
logmanoriginal
c0c4759cde
[Bridge] Enable all calls to message($)
...
The 'message' function will only execute in debug mode, so
no harm done if left active.
2016-08-24 18:19:44 +02:00
logmanoriginal
d80efed1f4
[Bridge] Use space indentation everywhere
2016-08-24 18:09:34 +02:00
Pierre Mazière
581bff166c
[core] makes 'bridge' and 'format' parameters value less verbose
...
remove the requirement for 'Format' and 'Bridge' suffixes:
https://example.com/?action=display&bridge=Twitter&format=Atom&u=user
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-23 14:34:07 +02:00
Pierre Mazière
eb3392db82
[core] simplify dynamic formats discovery
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-23 14:29:53 +02:00
Pierre Mazière
b3af604cc1
[core] remove useless static methods
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-23 13:44:23 +02:00
logmanoriginal
d5db4f5859
[RssBridge] Remove require for Item.php
2016-08-22 18:58:22 +02:00
logmanoriginal
7b890da8f2
[Item] Remove file
2016-08-22 18:57:49 +02:00
Pierre Mazière
dc4f16fbe4
[core] remove JSON based paramter definition related code
...
bye bye JSON
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-22 01:33:14 +02:00
Pierre Mazière
2f09ae56ad
[core] render two levels 'values' parameter property with optgroup
...
example:
$parameterSet=array(
'feed'=>array(
'name'=>'Feed',
'type'=>'list',
'values'=>array(
'list A'=>array(
'feed A1'=>'fA1',
'feed A2'=>'fA2'
),
'list B'=>array(
'feed B1'=>'fB1',
'feed B2'=>'fB2
)
)
)
);
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-22 01:23:20 +02:00
Pierre Mazière
4717de9d08
[core] allow BridgeCard to be build from parameters stored in an array
...
The array structure is as follow:
$parameterSet=array(
'identifier'=>array(
'property'=>'property_value'
…
)
);
'values' property is stored as an associative array where
the key is the displayed string and the value is the value (sic)
attached to this string.
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-22 01:16:06 +02:00
Pierre Mazière
10cd3a61a9
check for PROXY_NAME definition before using it
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:20:27 +02:00
Pierre Mazière
86515a1560
core: use proxy when defined in RssExpander
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:20:27 +02:00
Pierre Mazière
226484ba22
core: remove useless HttpCachingBridgeAbstract::download_remote()
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:20:27 +02:00
Pierre Mazière
fe58d23c17
core: use proxy when defined in HttpCachingBridgeAbstract
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:20:27 +02:00
Pierre Mazière
d74beb6c6a
core: move message() method to parent class BridgeAbstract
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:20:27 +02:00
Pierre Mazière
f43bbda83e
core: split and rename BridgeAbstract::file_get_html
...
We need to have one method to get the data, potentially
using the proxy if defined, and one method to get the Simple
DOM HTML object from these data, with a more informative name
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:19:56 +02:00
Pierre Mazière
d71674d2ba
proxy settings must be the service provider decision
...
therefore, the provider decides if the service use a
proxy or not, and if users can have the possibility to
disable it on a bridge basis.
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:19:56 +02:00
Pierre Mazière
09d4e21bdc
possibility to hide proxy address
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:19:56 +02:00
Pierre Mazière
3dd63ab6fd
enable proxy usage for individual bridge
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-08-19 10:19:56 +02:00
logmanoriginal
74f0572d91
bridges: Replace returnError function with more specific
...
Replacements depend on original error code:
400: returnClientError
404: returnServerError
500: returnServerError
501: returnServerError
2016-08-17 14:45:08 +02:00
logmanoriginal
73a1bcf3d6
[Bridge] Add specialized error handling functions
2016-08-17 13:58:55 +02:00
Mitsukarenai
5212b91cca
[whitelist] trim content for wildcard (contrib: @Piokaz)
2016-08-16 00:00:33 +02:00
logmanoriginal
d3cbf38eb1
[Bridge] Allow '*' wildcard to whitelist all bridges
...
For this to work the whitelist.txt must only contain '*' (no \n)
2016-08-15 08:46:04 +02:00
logmanoriginal
646ae57326
[HTMLUtils] Change getHelperButtonsFormat to private scope
2016-08-15 08:13:40 +02:00
logmanoriginal
a6da16feb7
[HTMLUtils] Remove getHelperButtonFormat
2016-08-15 08:01:32 +02:00
logmanoriginal
5d66af7a29
[HTMLUtils] Add new attribute 'defaultValue'
...
Behavior depends on the type:
- text: Allows any text
- number: Allows any numeric
- list: 'defaultValue' must match either name or value of one element
- checkbox: 'defaultValue' must be checked to activate checkbox
2016-08-15 02:47:36 +02:00