PageRenderTime 46ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/index.php

http://mithos-framework-muonline.googlecode.com/
PHP | 67 lines | 48 code | 19 blank | 0 comment | 12 complexity | c1b196f042cf918b9d51c80f1ee3c26c MD5 | raw file
  1. <?php
  2. require_once 'support.php';
  3. define('ROOT', dirname(__FILE__));
  4. define('DS', DIRECTORY_SEPARATOR);
  5. define('WWW', dirname($_SERVER['PHP_SELF']) . '/');
  6. define('SMARTY_DIR', ROOT . DS . 'libs' . DS . 'Smarty' . DS);
  7. define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
  8. define('CONFIG_DATABASE_FILE', 'configs/database.php');
  9. set_include_path(implode(PATH_SEPARATOR, array(
  10. realpath('libs'),
  11. get_include_path()
  12. )));
  13. require_once SMARTY_DIR . 'Smarty.class.php';
  14. require_once 'Zend/Loader/Autoloader.php';
  15. $loader = Zend_Loader_Autoloader::getInstance();
  16. $loader->registerNamespace('Mithos');
  17. try {
  18. Zend_Session::start();
  19. $config = new Zend_Config(require 'configs/settings.php');
  20. $database = new Zend_Config(require CONFIG_DATABASE_FILE);
  21. if (!$config->debug) {
  22. error_reporting(0);
  23. ini_set('display_errors', 0);
  24. }
  25. Mithos_Connection::connect($database->db->toArray());
  26. ob_start();
  27. $page = isset($_GET['do']) ? strip_tags(trim($_GET['do'])) : '';
  28. $regex = '/(http|www|.php|.asp|.net|.gif|.jpg|.html|.htm)/i';
  29. $template = new Mithos_Template($config->template);
  30. $template->assign('config', $config->toArray());
  31. require_once 'pages/template.php';
  32. if (empty($page) || preg_match($regex, $page) || !file_exists('pages/' . $page . '.php')) {
  33. $page = 'home';
  34. }
  35. require_once 'pages/' . $page . '.php';
  36. if (!isset($_GET['render']) || $_GET['render'] == 1) {
  37. $template->display($page . '.html');
  38. if (!isset($_GET['template']) || $_GET['template'] == 1) {
  39. $content = ob_get_clean();
  40. $template->assign('content', $content);
  41. $template->display('template.html');
  42. }
  43. }
  44. ob_end_flush();
  45. } catch (Exception $e) {
  46. echo $e->getMessage();
  47. }
  48. ?>