getBasename(), array('.', '..'))) continue; elseif ($cacheFile->isFile()) { if( filemtime($cacheFile->getPathname()) < $cacheTimeLimit ) unlink( $cacheFile->getPathname() ); } } // default whitelist $whitelist_file = './whitelist.txt'; $whitelist_default = array( "BandcampBridge", "CryptomeBridge", "DansTonChatBridge", "DuckDuckGoBridge", "FacebookBridge", "FlickrExploreBridge", "GooglePlusPostBridge", "GoogleSearchBridge", "IdenticaBridge", "InstagramBridge", "OpenClassroomsBridge", "PinterestBridge", "ScmbBridge", "TwitterBridge", "WikipediaENBridge", "WikipediaEOBridge", "WikipediaFRBridge", "YoutubeBridge"); if (!file_exists($whitelist_file)) { $whitelist_selection = $whitelist_default; $whitelist_write = implode("\n", $whitelist_default); file_put_contents($whitelist_file, $whitelist_write); } else { $whitelist_selection = explode("\n", file_get_contents($whitelist_file)); } // whitelist control function function BridgeWhitelist( $whitelist, $name ) { if(in_array("$name", $whitelist) or in_array("$name.php", $whitelist)) return TRUE; else return FALSE; } try{ require_once __DIR__ . '/lib/RssBridge.php'; Bridge::setDir(__DIR__ . '/bridges/'); Format::setDir(__DIR__ . '/formats/'); Cache::setDir(__DIR__ . '/caches/'); if( isset($_REQUEST) && isset($_REQUEST['action']) ){ switch($_REQUEST['action']){ case 'display': if( isset($_REQUEST['bridge']) ){ unset($_REQUEST['action']); $bridge = $_REQUEST['bridge']; unset($_REQUEST['bridge']); $format = $_REQUEST['format']; unset($_REQUEST['format']); // whitelist control if(!BridgeWhitelist($whitelist_selection, $bridge)) { throw new \HttpException('This bridge is not whitelisted', 401); die; } $cache = Cache::create('FileCache'); // Data retrieval $bridge = Bridge::create($bridge); if(isset($_REQUEST["disable_cache"])) { } else { $bridge->setCache($cache); // just add disable cache to your query to disable caching } $bridge->setDatas($_REQUEST); // Data transformation $format = Format::create($format); $format ->setDatas($bridge->getDatas()) ->setExtraInfos(array( 'name' => $bridge->getName(), 'uri' => $bridge->getURI(), )) ->display(); die; } break; } } } catch(HttpException $e){ header('HTTP/1.1 ' . $e->getCode() . ' ' . Http::getMessageForCode($e->getCode())); header('Content-Type: text/plain'); die($e->getMessage()); } catch(\Exception $e){ die($e->getMessage()); } function getHelperButtonFormat($value, $name){ return ''; } function getHelperButtonsFormat($formats){ $buttons = ''; foreach( $formats as $name => $infos ) { if ( isset($infos['name']) ) { $buttons .= getHelperButtonFormat($name, $infos['name']) . PHP_EOL; } } return $buttons; } function displayBridgeCard($bridgeReference, $bridgeInformations, $formats, $isActive = true) { $name = isset($bridgeInformations['homepage']) ? ''.$bridgeInformations['name'].'' : $bridgeInformations['name']; $description = isset($bridgeInformations['description']) ? $bridgeInformations['description'] : 'No description provided'; $card = <<

{$name}

{$description}

CARD; if( isset($bridgeInformations['use']) && count($bridgeInformations['use']) > 0 ) { $card .= '
    ' . PHP_EOL; foreach($bridgeInformations['use'] as $anUseNum => $anUse) { $card .= '
  1. ' . PHP_EOL; $card .= '
    ' . PHP_EOL; foreach($anUse as $argValue) { $idArg = 'arg-' . $bridgeReference . '-' . $anUseNum . '-' . $argValue['query-name']; if($argValue['type'] == null || $argValue['type'] == "text") { //If we have no type, treat it as a text field for compatibility $card .= '' . PHP_EOL; } else if($argValue['type'] == "list") { $card .= '"; } } $card .= '
    '; if ($isActive) { $card .= getHelperButtonsFormat($formats); } else { $card .= 'Inactive'; } $card .= '
  2. ' . PHP_EOL; } $card .= '
' . PHP_EOL; } else { $card .= '
' . PHP_EOL; if ($isActive) { $card .= getHelperButtonsFormat($formats); } else { $card .= 'Inactive'; } $card .= '
' . PHP_EOL; } $card .= isset($bridgeInformations['maintainer']) ? ''.$bridgeInformations['maintainer'].'' : ''; $card .= ''; return $card; } $bridges = Bridge::searchInformation(); $formats = Format::searchInformation(); ?> RSS-Bridge

RSS-Bridge

·Reconnecting the Web·

$bridgeInformations) { if(BridgeWhitelist($whitelist_selection, $bridgeReference)) { echo displayBridgeCard($bridgeReference, $bridgeInformations, $formats); $activeFoundBridgeCount++; } elseif ($showInactive) { // inactive bridges $inactiveBridges .= displayBridgeCard($bridgeReference, $bridgeInformations, $formats, false) . PHP_EOL; } } echo '
' . $inactiveBridges; ?>