| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | <?php/** * Memcache User Interface. Main file. * * @author Frederic G. MARAND <fgm@osinet.fr> * * @copyright (c) 2011 Frederic G. MARAND * * Requirements: * - PHP >= 5.3 * * Recommended: * - intl extension *   - on Ubuntu 11.04, this implies removing libidn, libsimplepie, and *     dokuwiki, among others * - tidy extension */namespace Memcache_UI {  /**   * Wrapper around php tidy class.   *   * @param string $html   *   * @return void   */  function applyTidy (&$html) {    $config = array(        'indent'          => TRUE,        'output-xhtml'    => TRUE,        'sort-attributes' => 'alpha',        'wrap'            => 200,    );    $tidy = new \tidy();    $tidy->parseString($html, $config, 'utf8');    $tidy->cleanRepair();    $html = (string) $tidy;  }  function main() {    try {      ob_start();      //echo '<pre>';      // Set-up autoloader: it cannot autoload itself.      $package = 'Memcache_UI';      require "$package/Core/Autoloader.inc";      $classLoader = new \SplClassLoader($package, dirname(__FILE__));      $classLoader->setFileExtension('.inc');      $classLoader->register();      // Set up the context      $context = new Core\Context();      $context->setMessage("Dirname: [". $context->getBase() . "]", LOG_DEBUG);      $context->setMessage("Path: [". $context->getPath() . "]", LOG_DEBUG);      // Obtain the routing information      $router = new Core\Router($context);      $item = $router->getRoute();      $page = new $item['page class']($context, $item);      $page->emitHeaders();      echo $page;      $html = ob_get_clean();      // Filter it on output      if ($context->getTidy()) {        applyTidy($html);      }      echo $html;    }    catch (Exception $e) {      echo '<pre>';      echo $e->getMessage() . PHP_EOL;      echo $e->getTraceAsString();      echo "</pre>";    }  }main();}
 |