Merge pull request #4 from griffaurel/Bridges_Formats

Bridges formats
This commit is contained in:
Badet Aurélien 2016-11-19 00:40:35 +01:00 committed by GitHub
commit c7b749422b
2 changed files with 25 additions and 10 deletions

View File

@ -8,6 +8,7 @@ abstract class BridgeAbstract implements BridgeInterface {
const MAINTAINER = 'No maintainer'; const MAINTAINER = 'No maintainer';
const CACHE_TIMEOUT = 3600; const CACHE_TIMEOUT = 3600;
const PARAMETERS = array(); const PARAMETERS = array();
const FORMATS = array(); // array of compatibles formats or null
protected $cache; protected $cache;
protected $items = array(); protected $items = array();

View File

@ -1,9 +1,30 @@
<?php <?php
function displayBridgeCard($bridgeName, $formats, $isActive = true){ function displayBridgeCard($bridgeName, $formats, $isActive = true){
$getHelperButtonsFormat = function($formats){ $bridgeElement = Bridge::create($bridgeName);
$bridgeClass = $bridgeName . 'Bridge';
if($bridgeElement == false)
return "";
// If we have a defined array of compatibles formats : show only helperbuttons for thoses formats.
// If we dont have any defined array of compatibles formats : show helperbuttons for every availables formats.
$compatiblesFormats = array();
if (defined($bridgeClass::FORMATS)&&(count($bridgeClass::FORMATS) > 0)){
$bridgeFormats = $bridgeClass::FORMATS;
//check if format exists
foreach($bridgeFormats as $name){
if(in_array($name , $formats){
$compatiblesFormats[] = $name ;
}
}
}
// if no compatible format, nevermind
if (count($compatibles)==0){$compatiblesFormats = $formats};
$getHelperButtonsFormat = function($compatiblesFormats){
$buttons = ''; $buttons = '';
foreach($formats as $name){ foreach($compatiblesFormats as $name){
$buttons .= '<button type="submit" name="format" value="' $buttons .= '<button type="submit" name="format" value="'
. $name . $name
. '">' . '">'
@ -11,7 +32,6 @@ function displayBridgeCard($bridgeName, $formats, $isActive = true){
. '</button>' . '</button>'
. PHP_EOL; . PHP_EOL;
} }
return $buttons; return $buttons;
}; };
@ -23,12 +43,6 @@ function displayBridgeCard($bridgeName, $formats, $isActive = true){
EOD; EOD;
}; };
$bridgeElement = Bridge::create($bridgeName);
$bridgeClass = $bridgeName . 'Bridge';
if($bridgeElement == false)
return "";
$name = '<a href="' . $bridgeClass::URI . '">' . $bridgeClass::NAME . '</a>'; $name = '<a href="' . $bridgeClass::URI . '">' . $bridgeClass::NAME . '</a>';
$description = $bridgeClass::DESCRIPTION; $description = $bridgeClass::DESCRIPTION;