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)); //Remove the last empty line. array_pop($whitelist_selection); } Cache::purge(); try{ 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(!Bridge::isWhitelisted($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); $bridge->loadMetadatas(); // Data transformation try { $format = Format::create($format); $format ->setDatas($bridge->getDatas()) ->setExtraInfos(array( 'name' => $bridge->getName(), 'uri' => $bridge->getURI(), )) ->display(); } catch(Exception $e) { echo "The brige has crashed. You should report this to the bridges maintainer"; } 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()); } $formats = Format::searchInformation(); ?>