]> code.citadel.org Git - citadel.git/blobdiff - ctdlphp/ctdlheader.php
* Added a room list function to the library
[citadel.git] / ctdlphp / ctdlheader.php
index aa8eb4dc3b496670e4ae1c2ec42de1a14c91c14b..512e6c9377b15a8dfc5a6a621be48333c13c33c9 100644 (file)
@@ -1,17 +1,41 @@
 <?PHP
 
+// $Id$
+//
+// Header and footer code to be included on every page.  Not only does it
+// contain some common markup, but it also includes some code glue that holds
+// the session together.
+//
+// Copyright (c) 2003 by Art Cancro <ajc@uncensored.citadel.org>
+// This program is released under the terms of the GNU General Public License.
+
 include "ctdlsession.php";
 include "ctdlprotocol.php";
 
 function bbs_page_header() {
        global $session;
 
-       if(strcmp('4.3.0', phpversion()) > 0) {
+       if (strcmp('4.3.0', phpversion()) > 0) {
                die("This program requires PHP 4.3.0 or newer.");
        }
 
        establish_citadel_session();
 
+       // If the user is trying to call up any page other than
+       // login.php logout.php do_login.php,
+       // and the session is not logged in, redirect to login.php
+       //
+       if ($_SESSION["logged_in"] != 1) {
+               $filename = basename(getenv('SCRIPT_NAME'));
+               if (    (strcmp($filename, "login.php"))
+                  &&   (strcmp($filename, "logout.php"))
+                  &&   (strcmp($filename, "do_login.php"))
+               ) {
+                       header("Location: login.php");
+                       exit(0);
+               }
+       }
+
        echo <<<LITERAL
 
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
@@ -43,12 +67,13 @@ LITERAL;
        alink="#DD0000"
 >
 
+<div align=right>
+<A HREF="logout.php">Log out</A>
+</div>
+<HR>
+
 LITERAL;
 
-       echo "Your session ID is ", $session, "<BR>\n";
-       echo "<A HREF=\"logout.php\">Log out</A><HR>";
-       // flush();
-       // test_for_echo();
 }