2 /**************************************************************************
3 ** (c) Copyright 2003, Andromeda Technology & Automation
4 ** This is free software; you can redistribute it and/or modify it under the
5 ** terms of the GNU General Public License, see the file COPYING.
6 ***************************************************************************
7 ** MODULE INFORMATION *
8 ***********************
9 ** FILE NAME : page.class.php
10 ** SYSTEM NAME : Gnucomo - Gnu Computer Monitoring
11 ** VERSION NUMBER : $Revision: 1.12 $
13 ** DESCRIPTION : Base class for Gnucomo web interface pages.
18 ***************************************************************************
19 ** ADMINISTRATIVE INFORMATION *
20 ********************************
21 ** ORIGINAL AUTHOR : Arjen Baart - arjen@andromeda.nl
22 ** CREATION DATE : Jan 22, 2003
23 ** LAST UPDATE : Feb 19, 2003
25 **************************************************************************/
27 /*****************************
28 $Log: page.class.php,v $
29 Revision 1.12 2007-12-12 09:11:06 arjen
30 Prepared for version 0.0.12
32 Revision 1.11 2007/11/21 14:40:48 arjen
33 New version number and release date.
35 Revision 1.10 2007/11/21 14:38:06 arjen
36 The buttonbar at the top of each page is now a fixed 'div' element
37 instead of a framed page.
38 Contributed by Edwin Nadorp.
40 Revision 1.9 2007/10/23 14:47:42 arjen
41 Prepared for release 0.0.10
43 Revision 1.8 2007/01/11 13:44:29 arjen
44 Manually edit parameters.
45 View logs from abusing IP addresses.
47 Revision 1.7 2003/12/24 07:41:23 arjen
48 Changed version number
50 Revision 1.6 2003/09/04 06:53:40 arjen
51 Prepared for release 0.0.8
53 Revision 1.5 2003/08/14 10:37:04 arjen
54 Prepared for release 0.0.7
56 Revision 1.4 2003/07/15 11:05:32 arjen
57 Chnaged version number to 0.0.6 in login form.
59 Revision 1.3 2003/02/19 09:12:27 arjen
60 Added the 'form' class on table and td elements. This class is intended
61 for borderless tables that are used to layout HTML forms.
63 Revision 1.2 2003/02/13 08:59:52 arjen
64 Use our own error handler for PHP errors and warnings
66 Revision 1.1 2003/02/05 09:38:42 arjen
67 A base class for all web interface pages
69 ******************************/
71 // RCSID = "$Id: page.class.php,v 1.12 2007-12-12 09:11:06 arjen Exp $";
74 require_once('gnucomo_config.php');
76 $last_error = " ";
78 function error($errno, $errstr, $errfile, $errline)
82 $last_error = $errstr;
91 <h1 align="center">GNU Computer Monitoring</h1>
92 <h4 align="center"><i>Version 0.0.12, December 12, 2007</i></h4>
93 <h2 class='error'><?php echo $last_error?></h2>
94 <center><table class='form'>
96 <td width='50%' class='form'>
97 <a href='http://gnucomo.org/' target='_top'><img src='logo.png' alt='GnuCoMo logo'></a></td>
98 <td class='form'><form name="login" method="POST">
101 <td class='form'>Username</td>
102 <td class='form'><input type="text" name="username"></td>
105 <td class='form'>Password</td>
106 <td class='form'><input type="password" name="password"></td>
109 <td class='form'> </td>
110 <td align="right" class='form'><input type="submit" value="signin"></td>
123 var $the_title; // The title used on the page.
124 var $database; // Connection to the database server.
125 var $path; // Directory path to stylesheets and images.
126 var $config; // The XML configuration object.
130 function page($title, $path = "")
132 $this->the_title = $title;
133 $this->database = false;
136 //set_error_handler("error");
142 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
143 "http://www.w3.org/TR/html4/loose.dtd">
146 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
147 <meta name="author" content="Arjen Baart">
148 <meta name="expires" content="0">
150 <link rel='stylesheet' href='<?php echo $this->path ?>gnucomo.css' type='text/css'>
151 <title><?php echo $this->the_title ?></title>
155 <a href='index.php'><img src='small-logo.png' title='Gnucomo' alt='Gnucomo'></a>
156 <a href='objects.php'><img src='server.png' title='Objects' alt='Objects'></a>
157 <a href='users.php'><img src='user.png' title='Users' alt='Users'></a>
158 <a href='services.php'><img src='service.png' title='Services' alt='Services'></a>
159 <a href='issues.php'><img src='bell.png' title='Issues' alt='Issues'></a>
160 <a href='classes.php'><img src='change.png' title='Classes' alt='Classes'></a>
161 <!-- a href='notification2.php'>N2</a -->
162 <a href='logout.php'><img src='exit.png' title='Logout' alt='Logout'></a>
165 <div id="menu_title"> </div>
173 //echo "The default body.";
174 echo "<div id='content'>
175 <img src='logo.png' alt='GnuCoMo'>
183 pg_close($this->database);
187 © <a href='http://www.gnucomo.org'>GnuCoMo</a>
195 $this->config = new gnucomo_config;
197 $this->config->read("gnucomo");
200 if (empty($_SESSION['username']))
202 // Nobody logged in yet.
204 if (isset($_POST['username']) && isset($_POST['password']))
206 // Login form submitted. Try to start a new session.
208 $name = $_POST['username']; // PostgreSQL username
209 $passw = $_POST['password']; // PostgreSQL user password
211 // Connect to the database
212 $this->database = pg_connect($this->config->Database($name, $passw));
213 if ($this->database == false)
219 session_register('username');
220 $_SESSION['username'] = $name;
221 session_register('password');
222 $_SESSION['password'] = $passw;
229 // Nobody tried to login yet. Present the login form.
235 $name = $_SESSION['username']; // PostgreSQL username
236 $passw = $_SESSION['password']; // PostgreSQL user password
238 // Connect to the database
239 $this->database = pg_connect($this->config->Database($name, $passw));