1
0
Fork 0
forked from blallo/rss-bridge

[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>
This commit is contained in:
Pierre Mazière 2016-08-23 14:34:07 +02:00
parent eb3392db82
commit 581bff166c
3 changed files with 16 additions and 14 deletions

View file

@ -266,6 +266,7 @@ class Bridge{
throw new \InvalidArgumentException('Name bridge must be at least one uppercase follow or not by alphanumeric or dash characters.');
}
$nameBridge=$nameBridge.'Bridge';
$pathBridge = self::getDir() . $nameBridge . '.php';
if( !file_exists($pathBridge) ){
@ -313,19 +314,21 @@ class Bridge{
$listBridge = array();
$dirFiles = scandir($pathDirBridge);
if( $dirFiles !== false ){
foreach( $dirFiles as $fileName ) {
if( preg_match('@([^.]+)\.php$@U', $fileName, $out) ){
$listBridge[] = $out[1];
}
}
}
if( $dirFiles !== false ){
foreach( $dirFiles as $fileName ) {
if( preg_match('@^([^.]+)Bridge\.php$@U', $fileName, $out) ){
$listBridge[] = $out[1];
}
}
}
return $listBridge;
}
static function isWhitelisted( $whitelist, $name ) {
if(in_array("$name", $whitelist) or in_array("$name.php", $whitelist) or count($whitelist) === 1 and trim($whitelist[0]) === '*')
if(in_array($name, $whitelist) or in_array($name.'.php', $whitelist) or
// DEPRECATED: the nameBridge notation will be removed in future releases
in_array($name.'Bridge', $whitelist) or in_array($name.'Bridge.php', $whitelist) or
count($whitelist) === 1 and trim($whitelist[0]) === '*')
return TRUE;
else
return FALSE;

View file

@ -122,6 +122,7 @@ class Format{
throw new \InvalidArgumentException('Name format must be at least one uppercase follow or not by alphabetic characters.');
}
$nameFormat=$nameFormat.'Format';
$pathFormat = self::getDir() . $nameFormat . '.php';
if( !file_exists($pathFormat) ){
@ -169,7 +170,7 @@ class Format{
$dirFiles = scandir($pathDirFormat);
if( $dirFiles !== false ){
foreach( $dirFiles as $fileName ){
if( preg_match('@^([^.]+)\.php$@U', $fileName, $out) ){ // Is PHP file ?
if( preg_match('@^([^.]+)Format\.php$@U', $fileName, $out) ){ // Is PHP file ?
$listFormat[] = $out[1];
}
}

View file

@ -139,10 +139,8 @@ CARD;
private static function getHelperButtonsFormat($formats){
$buttons = '';
foreach( $formats as $name => $infos ){
if ( isset($infos['name']) )
$buttons .= '<button type="submit" name="format" value="' . $name . '">' . $infos['name'] . '</button>' . PHP_EOL;
foreach( $formats as $name){
$buttons .= '<button type="submit" name="format" value="' . $name . '">' . $name . '</button>' . PHP_EOL;
}
return $buttons;