logmanoriginal
5de4a59d41
[index] Initialize cache before loading to bridge
...
Previously BridgeAbstract needed to know which exact implementation
of CacheInterface was used (since we only got one right now its
not a problem). Initializing the cache in index.php instead allows
to change cache types more easily.
2016-10-08 15:29:21 +02:00
logmanoriginal
5ccde61a19
[FileCache] Rename 'prepare' to 'setParameters'
...
This is a cosmetic change to use the same naming convention for
all methods.
2016-10-08 15:04:14 +02:00
logmanoriginal
0998cbde9d
[cache] Directly implement CacheInterface in FileCache
...
The function 'prepare' previously implemented in CacheAbstract
is specifically required for FileCache and thus belongs to FileCache.
Since this change removes all code from CacheAbstract, it can be
removed completely.
2016-10-08 14:52:03 +02:00
logmanoriginal
9ac678aac5
[Cache] Move 'purge' function to implementations
...
The purge function is cache specific and thus belongs
to the specific implementation.
2016-10-07 22:33:45 +02:00
logmanoriginal
51ff8de346
[Cache] Remove orphan function utf8_encode_deep
2016-10-07 22:06:58 +02:00
logmanoriginal
ee7ddcf992
[FeedExpander] Fix SimplXMLElement serialization error
...
Previously FeedExpander stored SimpleXMLElement objects into
the items array. These objects cannot be serialized using the
serialize function.
2016-10-02 18:07:56 +02:00
logmanoriginal
b0784e5a42
[BridgeAbstract] Don't load cache file in DEBUG mode
2016-10-02 17:00:53 +02:00
logmanoriginal
970e216c1f
Merge branch 'methods2functions' of https://framagit.org/peetah/rss-bridge
2016-10-02 16:05:58 +02:00
Pierre Mazière
a1ef589ffe
[core] extract BridgeAbstract methods to make them functions
...
Method validateData is now afunction in lib/validation.php
validateTextValue, validateNumberValue, validateCheckboxValue
and validateListValue are now anonymous functions
defined in validateData
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-26 00:09:29 +02:00
Pierre Mazière
747be13849
[core] extract HTMLUtils methods to make them functions
...
Methods displayBridgeCard, sanitize, defaultImageSrcTo are now
functions in lib/html.php
getHelperButtinsFormat and getFormHeader are now anonymous functions
defined in displayBridgeCard
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-25 23:58:52 +02:00
Pierre Mazière
f1fb95b257
[core] extract BridgeAbstract methods to make them functions
...
- returnError, returnServerError, returnClientError ,debugMessage are
moved to lib/error.php
- getContents, getSimpleHTMLDOM, getSimpleHTMLDOMCached are moved to
lib/contents.php
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-25 23:22:33 +02:00
Pierre Mazière
235c985901
[BridgeAbstract] replace getCacheDuration method by CACHE_TIMEOUT class constant
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-25 17:04:28 +02:00
logmanoriginal
351eb00400
[FeedExpander] Align logical operators in next line
...
This is a cosmetic change to apply the same standard as
in HTMLUtils
2016-09-17 20:44:31 +02:00
logmanoriginal
2331c4fbab
Merge branch 'bridges2feeds' of https://framagit.org/peetah/rss-bridge
2016-09-17 20:34:12 +02:00
logmanoriginal
ac3a2b8e6e
[BridgeAbstract] Fix typos
2016-09-17 20:24:59 +02:00
Pierre Mazière
70c490d6ef
[BridgeAbstract] handle compressed data
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-17 19:37:41 +02:00
Pierre Mazière
ca0842ccf8
[FeedExpander] widen guid use as uri provider
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-17 19:37:39 +02:00
Pierre Mazière
2744c13735
[FeedExpander] fix feeds using guid tag as item uri provider
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-17 19:37:39 +02:00
logmanoriginal
1819943451
[FeedExpander] Write debug message for custom build function
2016-09-17 18:19:26 +02:00
logmanoriginal
ffc9418620
[FeedExpander] Fix typos
2016-09-17 18:16:25 +02:00
logmanoriginal
a333226733
Merge branch 'autodetectFeedExpander' of https://framagit.org/peetah/rss-bridge
2016-09-17 18:09:05 +02:00
Pierre Mazière
15c422c648
[FeedExpander] implement default parseItem() method
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-12 10:39:34 +02:00
Pierre Mazière
655b3d578d
[FeedExpander] simplify feed type detection and store it
...
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
2016-09-12 10:38:50 +02:00
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