forked from blallo/rss-bridge
[core] simplify dynamic formats discovery
Signed-off-by: Pierre Mazière <pierre.maziere@gmx.com>
This commit is contained in:
parent
13285f080a
commit
eb3392db82
6 changed files with 5 additions and 35 deletions
|
@ -2,8 +2,6 @@
|
|||
/**
|
||||
* Atom
|
||||
* Documentation Source http://en.wikipedia.org/wiki/Atom_%28standard%29 and http://tools.ietf.org/html/rfc4287
|
||||
*
|
||||
* @name Atom
|
||||
*/
|
||||
class AtomFormat extends FormatAbstract{
|
||||
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
<?php
|
||||
/**
|
||||
* Html
|
||||
* Documentation Source http://en.wikipedia.org/wiki/Atom_%28standard%29 and http://tools.ietf.org/html/rfc4287
|
||||
*
|
||||
* @name Html
|
||||
*/
|
||||
class HtmlFormat extends FormatAbstract{
|
||||
|
||||
public function stringify(){
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
/**
|
||||
* Json
|
||||
* Builds a JSON string from $this->items and return it to browser.
|
||||
*
|
||||
* @name Json
|
||||
*/
|
||||
class JsonFormat extends FormatAbstract{
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
/**
|
||||
* Mrss
|
||||
* Documentation Source http://www.rssboard.org/media-rss
|
||||
*
|
||||
* @name Media RSS
|
||||
*/
|
||||
class MrssFormat extends FormatAbstract{
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
/**
|
||||
* Plaintext
|
||||
* Returns $this->items as raw php data.
|
||||
*
|
||||
* @name Plaintext
|
||||
*/
|
||||
class PlaintextFormat extends FormatAbstract{
|
||||
|
||||
|
|
|
@ -168,27 +168,11 @@ class Format{
|
|||
|
||||
$dirFiles = scandir($pathDirFormat);
|
||||
if( $dirFiles !== false ){
|
||||
foreach( $dirFiles as $fileName ){
|
||||
if( preg_match('@([^.]+)\.php@U', $fileName, $out) ){ // Is PHP file ?
|
||||
$infos = array(); // Information about the bridge
|
||||
$resParse = token_get_all(file_get_contents($pathDirFormat . $fileName)); // Parse PHP file
|
||||
foreach($resParse as $v){
|
||||
if( is_array($v) && $v[0] == T_DOC_COMMENT ){ // Lexer node is COMMENT ?
|
||||
$commentary = $v[1];
|
||||
foreach( $searchCommonPattern as $name){ // Catch information with common pattern
|
||||
preg_match('#@' . preg_quote($name, '#') . '\s+(.+)#', $commentary, $outComment);
|
||||
if( isset($outComment[1]) ){
|
||||
$infos[$name] = $outComment[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( isset($infos['name']) ){ // If informations containt at least a name
|
||||
$listFormat[$out[1]] = $infos;
|
||||
}
|
||||
}
|
||||
foreach( $dirFiles as $fileName ){
|
||||
if( preg_match('@^([^.]+)\.php$@U', $fileName, $out) ){ // Is PHP file ?
|
||||
$listFormat[] = $out[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $listFormat;
|
||||
|
|
Loading…
Reference in a new issue