index.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. # Get protocol bits, etc.
  3. $protocol = ( !empty($_SERVER["HTTPS"] ) ) ? 'https' : 'http';
  4. $nav = ( !empty($_GET['nav'] ) ) ? $_GET['nav'] : '';
  5. $post = ( !empty($_GET['post'] ) ) ? $_GET['post'] : '';
  6. $docroot = $_SERVER['DOCUMENT_ROOT'];
  7. # Grab the main configuration file. We need to see where that lives first though.
  8. if( file_exists( "$docroot/basedir" ) ) {
  9. $fh = fopen( "$docroot/basedir" );
  10. $basedir = trim(fgets( $fh )); # I only want the first line
  11. fclose($fh);
  12. } else {
  13. $basedir = posix_getpwuid(posix_geteuid())['dir'] . "/.tCMS";
  14. }
  15. if(!file_exists("$basedir/conf/main.json")) {
  16. # XXX Need to have manual be hosted in repo under sys/admin/manual
  17. include( "$basedir/templates/default/notconfigured.tmpl" );
  18. die();
  19. }
  20. $config = json_decode(file_get_contents("$basedir/conf/main.json"),true);
  21. // Not sure if I'll ever really even need to localize (see html tag attrs).
  22. ?>
  23. <!doctype html>
  24. <html dir="ltr" lang="en-US">
  25. <?php include("$basedir/templates/" . $config['theme'] . "/header.tmpl"); ?>
  26. <body>
  27. <div id="topkek">
  28. <?php
  29. //Site's Titlebar comes in here
  30. include("$basedir/templates/" . $config['theme'] . "/nav.inc");
  31. ?>
  32. </div>
  33. <div id="littlemenu">
  34. </div>
  35. <div id="kontainer">
  36. <div id="leftbar" class="kontained">
  37. <?php include $config['leftbar']; ?>
  38. </div>
  39. <div id="kontent" class="kontained">
  40. <?php
  41. //XXX fileshare, etc. shouldn't be a config value. Home should refer to a template.
  42. $destinations = [
  43. $config['home'], $config['fileshare'], $config['microblog'], $config['blog'], $config['postloader'],
  44. $config['codeloader'], $config['audioloader'], $config['videoloader'], $config['imgloader'],
  45. $config['docloader']
  46. ];
  47. if ( empty($nav) ) $nav = 0;
  48. if ( $nav === 1 || $nav > 4 ) {
  49. $pwd = $post;
  50. include 'sys/fileshare/sanitize.inc';
  51. }
  52. //Main Content Display Frame goes below
  53. include $destinations[$nav];
  54. ?>
  55. </div>
  56. <div id="rightbar" class="kontained">
  57. <?php
  58. include $config['rightbar'];
  59. ?>
  60. </div>
  61. </div>
  62. <div id="footbar">
  63. <?php
  64. include $config['footbar'];
  65. ?>
  66. </div>
  67. </body>
  68. </html>