Location: PHPKode > projects > Network Managment / Inventory System > clearsite/install.php
<?php
/*
 +-------------------------------------------------------------------------+
 | Copyright (C) 2007-2008 Xinn.org                                        |
 |                                                                         |
 | This program is free software; you can redistribute it and/or           |
 | modify it under the terms of the GNU General Public License             |
 | as published by the Free Software Foundation; either version 2          |
 | of the License, or (at your option) any later version.                  |
 |                                                                         |
 | This program is distributed in the hope that it will be useful,         |
 | but WITHOUT ANY WARRANTY; without even the implied warranty of          |
 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           |
 | GNU General Public License for more details.                            |
 +-------------------------------------------------------------------------+
 | ClearSite/ALOE, A Long Overdue Enterprise network managment solution!   |
 +-------------------------------------------------------------------------+
 | This code is designed, written, and maintained by the Xinn.org. See     |
 | about.php and/or the AUTHORS file for specific developer information.   |
 +-------------------------------------------------------------------------+
 | http://aloeusers.net                                                    |
 | http://clearsite.sourceforge.net                                        |
 | http://aloenms.net                                                      |
 | http://clear-site.net                                                   |
 | http://clear-site.info                                                  |
 | http://xinn.org/ClearSite.html                                          |
 +-------------------------------------------------------------------------+
*/
// Sets Basic Variables
$cs_base_path = substr(__FILE__, 0, -12);
$form_data = $_POST;
$new_clearsite_ver = "4.30b";
if (is_file($cs_base_path . "/include/db_config.php")) {
  header("Location: " . substr($_SERVER['PHP_SELF'], 0, -11) . "upgrade.php");
  exit;
};
// Creates php_ping function
function php_ping($host) {
  exec("ping -c 1 -w 1 $host", $list);
  foreach($list as $key => $value) {
    print "ping: $key => $value<br />";
  };
  if (isset($list[4]) and (strpos($list[4],"1 received")>0)) {
    return true;
  };
  return false;
};

// Form input sanatization and installation tasks
if (isset($form_data['step']) and $form_data['step'] == "process") {
  $error = "";
  // Confirms that all required information has been provided
  if (empty($form_data['ref_step'])) {
    $required_fields = array("mysql_host" => "MySQL Host", "mysql_port" => "MySQL Port", "mysql_db" => "MySQL Clearsite Database Name", "mysql_user" => "MySQL Clearsite User");
  } else if ($form_data['ref_step'] == 2) {
    $required_fields = array("dir_rrd" => "rrd data directory", "rrdtool_path" => "Path to rrdtool", "ClearsiteBaseURL" => "Clearsite Base URL", "hc_page_title" => "Page Title");
    if (isset($form_data['use_fping']) and $form_data['use_fping'] == "yes") {
      $required_fields['fping_path'] = "Path to fping";
    };
    if (isset($form_data['use_ldap']) and $form_data['use_ldap'] == "yes") {
      $required_fields['ldap_server'] = "LDAP Server (or Windows domain controller)";
    };
  };
  foreach ($required_fields as $key => $value) {
    if (!isset($form_data[$key])) {
      $error .= $value . " is a required field";
    };
  };
  // Continues if all required information has been provided.  Otherwise, returns to previous page with errors noted.
  if (empty($error)) {
    if (empty($form_data['ref_step'])) {
      $form_data['ref_step'] = "";
      if ($form_data['mysql_host'] != "localhost") {
        $form_data['mysql_user_host'] = "%";
      } else {
        $form_data['mysql_user_host'] = "localhost";
      };
      if ($form_data['mysql_host'] == "localhost" or php_ping($form_data['mysql_host'])) {
        if (is_numeric($form_data['mysql_port'])) {
          if ($form_data['mysql_root1'] == $form_data['mysql_root2']) {
            $form_data['mysql_root'] = $form_data['mysql_root1'];
            unset($form_data['mysql_root1'], $form_data['mysql_root2']);
            if (mysql_connect($form_data['mysql_host'] . ":" . $form_data['mysql_port'], "root", $form_data['mysql_root'])) {
              @mysql_select_db($form_data['mysql_db']);
              $mysql_version = mysql_get_server_info();
              if (mysql_query("CREATE DATABASE IF NOT EXISTS " . $form_data['mysql_db'])) {
                $char_pool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
                if (empty($form_data['mysql_pass'])) {
                  $form_data['mysql_pass'] = "";
                  for ($x=0; $x<10; $x++) {
                    $char = substr($char_pool, mt_rand(0, strlen($char_pool)-1), 1);
                    $form_data['mysql_pass'] .= $char;
                  };
                };
                if (mysql_query("CREATE USER \"" . $form_data['mysql_user'] . "\"@\"" . $form_data['mysql_user_host'] . "\" IDENTIFIED BY \"" . $form_data['mysql_pass'] . "\"")) {
                  mysql_query("GRANT USAGE ON * . * TO \"" . $form_data['mysql_user'] . "\"@\"" . $form_data['mysql_user_host'] . "\" IDENTIFIED BY \"" . $form_data['mysql_pass'] . "\" WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0");
                  mysql_query("GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , ALTER ON " . $form_data['mysql_db'] . " . * TO \"" . $form_data['mysql_user'] . "\"@\"" . $form_data['mysql_user_host'] . "\"");
                  include_once("$cs_base_path/include/db.sql.php");
                  @mysql_select_db($form_data['mysql_db']);
                  foreach ($table_create as $value) {
                    mysql_query($value) or die("Mysql error: " . mysql_error() . "<br />");
                  };
                  foreach ($insert_table as $value) {
                    mysql_query($value) or die("Mysql error: " . mysql_error() . "<br />");
                  };
                  foreach ($alter_table as $value) {
                    mysql_query($value) or die("Mysql error: " . mysql_error() . "<br />");
                  };
                  $form_data['step'] = 2;
                } else {
                  $error .= "Couldn't create user: " . mysql_error() . "<br />";
                  unset($form_data['step']);
                };
              } else {
                $error .= "Couldn't create database: " . mysql_error() . "<br />";
                unset($form_data['step']);
              };
            } else {
              $error .= "Couldn't connect to database: " . mysql_error() . "<br />";
              unset($form_data['step']);
            };
          } else {
            $error .= "root passwords did not match.<br />";
            unset($form_data['step']);
          };
        } else {
          $error .= "MySQL port must be numeric.<br />";
          unset($form_data['step']);
        };
      } else {
        $error .= "Could not ping MySQL host(" . $form_data['mysql_host'] . ").<br />";
        unset($form_data['step']);
      };
    } else if ($form_data['ref_step'] == 2) {
      if (is_dir($form_data['dir_rrd'])) {
        if (is_file($form_data['rrdtool_path'])) {
          if (is_file($form_data['fping_path']) or !isset($form_data['use_fping']) or $form_data['use_fping'] == "no") {
            $data = 
"<?php
/* sets DB variables */
\$DBhost = \"" . $form_data['mysql_host'] . "\";
\$DBport = \"" . $form_data['mysql_port'] . "\";
\$DBuser = \"" . $form_data['mysql_user'] . "\";
\$DBpass = \"" . $form_data['mysql_pass'] . "\";
\$DBName = \"" . $form_data['mysql_db'] . "\";
?>";
            $bytenum = file_put_contents($cs_base_path . "/include/db_config.php", $data, LOCK_EX);
            if($bytenum > 0) {
              if ($form_data['ClearsiteBaseURL'] != "localhost/") {
                mysql_connect($form_data['mysql_host'] . ":" . $form_data['mysql_port'], $form_data['mysql_user'], $form_data['mysql_pass']);
                @mysql_select_db($form_data['mysql_db']);
                $query = "INSERT INTO config (name, value) VALUES (\"clearsite_server_os\", \"" . php_uname("s") . "\"), (\"clearsite_ver\", \"" . $new_clearsite_ver . "\"), (\"ClearsiteBaseURL\", \"http://" . substr($form_data['ClearsiteBaseURL'], 0, -1) . "\"), (\"DomainCookie\", \"" . $_SERVER['SERVER_NAME'] . "\"), (\"hc_page_title\", \"" . addslashes($form_data['hc_page_title']) . "\"), (\"image_path\", \"" . addslashes($form_data['dir_graph_images']) . "\"), (\"rrdtool_path\", \"" . addslashes($form_data['rrdtool_path']) . "\"), (\"fping_path\", \"" . addslashes($form_data['fping_path']) . "\"), (\"use_fping\", \""; if (!empty($form_data['use_fping'])) { $query .= "yes"; } else { $query .= "no"; }; $query .= "\"), (\"ldap_server\", \"" . addslashes($form_data['ldap_server']) . "\"), (\"rrd_data_path\", \"" . addslashes($form_data['dir_rrd']) . "\"), (\"use_ldap\", \""; if (!empty($form_data['use_ldap'])) { $query .= "yes"; } else { $query .= "no"; }; $query .= "\")";
                $result = mysql_query($query);
                $form_data['step'] = "complete";
              } else {
                $error .= "Please install this from something other than localhost (Maybe point your browser to this machine's IP).";
                $form_data['step'] = $form_data['ref_step'];
              };
            } else {
              $error .= "Could not write to <code>" . $cs_base_path . "/include/</code>.  The apache user needs write permission to this directory during installation.<br />";
              $form_data['step'] = $form_data['ref_step'];
            };
          } else {
            $error .= "fping (or fping.exe) not found at supplied path(" . $form_data['fping_path'] . ").<br />";
            $form_data['step'] = $form_data['ref_step'];
          };
        } else {
          $error .= "rrdtool (or rrdtool.exe) not found at supplied path(" . $form_data['rrdtool_path'] . ").<br />";
          $form_data['step'] = $form_data['ref_step'];
        };
      } else {
        $error .= "RRD data directory supplied(" . $form_data['dir_rrd'] . ") is not a directory.<br />";
        $form_data['step'] = $form_data['ref_step'];
      };
    };
  } else {
    $form_data['step'] = $form_data['ref_step'];
  };
};

// HTML Header
print "
     <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
     <html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\">
     <head>
      <meta http-equiv=\"Pragma\" content=\"no-cache\" />
      <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />
      <meta http-equiv=\"cache-control\" content=\"no-cache\" />
      <meta http-equiv=\"expires\" content=\"0\" />
      <meta name=\"robots\" content=\"index,follow\" />
      <meta name=\"publisher\" content=\"&lt;Company_Name&gt;\" />
      <meta name=\"copyright\" content=\"&lt;Company_Name&gt; 2008\" />
      <meta name=\"author\" content=\"Designed by AZE\" />
      <meta name=\"distribution\" content=\"global\" />
      <meta name=\"description\" content=\"&lt;Company_Name&gt; security, voice and data management\" />
      <meta name=\"keywords\" content=\"voip, security, network management, graphing, clearsite\" />
      <link rel=\"icon\" type=\"image/x-icon\" href=\"./images/favicon.ico\" />
      <title>Clearsite Installation</title>
      <link href=\"./css/install.css\" type=\"text/css\" rel=\"stylesheet\" />
    </head>
    <!-- Global IE fix to avoid layout crash when single word size wider than column width -->
    <!-- Following line MUST remain as a comment to have the proper effect -->
    <!--[if IE]><style type=\"text/css\"> body {word-wrap: break-word;}</style><![endif]-->
    <body>
    <div class=\"container\">
      <div class=\"rnd-header\">
       <b class=\"rhtop\">
        <b class=\"rh1\"></b>
        <b class=\"rh2\"></b>
        <b class=\"rh3\"></b>
        <b class=\"rh4\"></b>
       </b>
      </div>
      <div class=\"header\">
       <div class=\"header-top\">
        <img alt=\"\" src=\"images/clearsite86.png\" />
      </div>
      </div>
      <div class=\"rnd-header\">
       <b class=\"rhbottom\">
        <b class=\"rh4\"></b>
        <b class=\"rh3\"></b>
        <b class=\"rh2\"></b>
        <b class=\"rh1\"></b>
       </b>
      </div>
      <br />
      <div class=\"tabs\">
       <div class=\"navbar\">
        <ul>
         <li>
          <div class=\"rnd-tab\">
           <b class=\"rhtab\">
            <b class=\"rt1\"></b>
            <b class=\"rt2\"></b>
            <b class=\"rt3\"></b>
            <b class=\"rt4\"></b>
           </b>
           <h3>
            <a href=\"install.php\">Installation</a>
           </h3>
          </div>
         </li>
         <li>
          <div class=\"rnd-tab\">
           <b class=\"rhtab\">
            <b class=\"rt1\"></b>
            <b class=\"rt2\"></b>
            <b class=\"rt3\"></b>
            <b class=\"rt4\"></b>
           </b>
           <h3>
            <a href=\"upgrade.php\">Upgrade</a>
           </h3>
          </div>
         </li>
        </ul>
       </div>
      </div>
      <div id=\"clear\"></div>
      <div class=\"rnd-header\">
       <b class=\"rhtop\">
        <b class=\"rh1\"></b>
        <b class=\"rh2\"></b>
        <b class=\"rh3\"></b>
        <b class=\"rh4\"></b>
       </b>
      </div>
      <div class=\"main\">
       <div id=\"targetArea\">
       <div class=\"install\">
";
// End HTML Header


// HTML output
if (empty($form_data['step'])) {
  $host_os = php_uname("s") . " " . php_uname("r") . " " . php_uname("v");
  $php_version = phpversion();
  if (!extension_loaded('snmp')) {
    $netsnmp_loaded = "<font color=\"red\">PHP-SNMP not loaded</font>";
  } else {
    $netsnmp_loaded = "SNMP PHP extension loaded";
  };
  exec("rpm -qa | grep net-snmp", $net_snmp_ver);
  exec("rpm -qa | grep rrdtool", $rrdtool_ver);
  print "
          <p>
           Welcome to the ClearSite install page! We hope you enjoy our offering and share you're experience with us and others.
          </p>
          <p>
           If you need to upgrade an already installed version of clearsite, please go to the <a href=\"upgrade.php\">upgrade</a> page.
          </p>
          <br />
          <p>
           ClearSite has the following requirements: (see README file included in the source for further details)
          </p>
          <br />
          <ul>
            <li>
             Linux (CentOS-4 or 5, RedHat, Fedora, RHEL or the like, not tested on other flavors) <font color=\"red\">**Windows Comming Soon**</font><br />
             Current OS:  $host_os
            </li>
            <li>
             PHP (version 5 or above recommended, but not required)<br />
             Current PHP Version: $php_version
            </li>
            <li>
             PHP-SNMP <font color=\"red\">*requried</font> (any version should do, latest is recommended)<br />
             $netsnmp_loaded
            </li>
            <li>
             Net-SNMP (version 5 or above recommended, but not required)<br />
             Current snmp rpms installed:<br />
  ";
  foreach ($net_snmp_ver as $value) {
    print "
           $value<br />
    ";
  };
  print "
            </li>
            <li>
             RRDTool (version 1.2 or above recommended, but not required)<br />
             Current rrdtool rpms installed:<br />
  ";
  foreach ($rrdtool_ver as $value) {
    print "
           $value<br />
    ";
  };
  print "
            <li>
             fping
            </li>
          </ul>
          <fieldset class=\"install\">
           <form action=\"install.php\" method=\"POST\">
            <p>
             <ul>
              <li>Install MySQL</li>
              <li>Provide information below</li>
             </ul>
             <p class=\"small\">
              <b>Note:</b> root password below is <b>only</b> used to create the clearsite database and user.  <b>It is not saved anywhere or used in the future</b>.
             </p>
             <br />
  ";
  if (!empty($error)) {
    print "
             <p class=\"admin_error\">
              " . $error . "
             </p>
    ";
  };
  print "
             <input type=\"hidden\" name=\"step\" value=\"process\" />
             <label for=\"mysql_host\">MySQL host (ip, dns name, localhost)</label> <input id=\"mysql_host\" name=\"mysql_host\" value=\""; if (isset($form_data['mysql_host'])) { print $form_data['mysql_host']; } else { print "localhost"; }; print "\" type=\"text\" />"; if (isset($form_data['mysql_host']) and ($form_data['mysql_host'] != "localhost")) { print " Default: localhost"; }; print "<br />
             <label for=\"mysql_port\">MySQL Port</label>                           <input id=\"mysql_port\" name=\"mysql_port\" value=\""; if (isset($form_data['mysql_port'])) { print $form_data['mysql_port']; } else { print "3306";      }; print "\" type=\"text\" />"; if (isset($form_data['mysql_port']) and ($form_data['mysql_port'] != "3306"))      { print " Default: 3306";      }; print "<br />
             <label for=\"mysql_root1\">MySQL root Password</label>                 <input id=\"mysql_root1\" name=\"mysql_root1\" type=\"password\" /><br />
             <label for=\"mysql_root2\">Re-Enter root Password</label>              <input id=\"mysql_root2\" name=\"mysql_root2\" type=\"password\" /><br />
             <label for=\"mysql_db\">MySQL Clearsite Database Name</label>          <input id=\"mysql_db\" name=\"mysql_db\" value=\"";     if (isset($form_data['mysql_db']))   { print $form_data['mysql_db'];   } else { print "clearsite"; }; print "\" type=\"text\" />"; if (isset($form_data['mysql_db'])   and ($form_data['mysql_db'] != "clearsite"))   { print " Default: clearsite"; }; print "<br />
             <label for=\"mysql_user\">MySQL Clearsite User</label>                 <input id=\"mysql_user\" name=\"mysql_user\" value=\""; if (isset($form_data['mysql_user'])) { print $form_data['mysql_user']; } else { print "clearsite"; }; print "\" type=\"text\" />"; if (isset($form_data['mysql_user']) and ($form_data['mysql_user'] != "clearsite")) { print " Default: clearsite"; }; print "<br />
             <input type=\"image\" value=\"Continue\" src=\"images/continue.png\" />
            </p>
           </form>
          </fieldset>
          <br />
         </div>
        </div>
  ";
} else if ($form_data['step'] == 2) {
  print "
         <ul>
          <li>
           MySQL (version 5 or above recommended, but not required)<br />
           Local MySQL version: $mysql_version
          </li>
         </ul>
         <fieldset class=\"install\">
          <form action=\"install.php\" method=\"POST\">
           <p>
            <ul>
             <li>Create a clearsite user (for cron jobs)</li>
            </ul>
            <br />
  ";
  if (!empty($error)) {
    print "
           <p class=\"admin_error\">
            " . $error . "
           </p>
    ";
  };
  foreach ($form_data as $key => $value) {
    if ($key != "step" and substr($key, 0, 8) != "Continue") {
      print "<input type=\"hidden\" name=\"" . $key . "\" value=\"" . $value . "\" />
      ";
    };
  };
  print "
           <input type=\"hidden\" name=\"ref_step\" value=\"2\" />
           <input type=\"hidden\" name=\"step\" value=\"process\" />
           <label><b>The clearsite user needs rwx premission to the following directories.</b></label><br />
           <label for=\"dir_cron\">Cron Directory</label>                                                        <p id=\"dir_cron\">" . substr(__FILE__, 0, -12) . "/include/aloe/cron/<br />
           <label for=\"dir_rrd\">rrd data directory</label>                                                     <input id=\"dir_rrd\" name=\"dir_rrd\" value=\"";                          if (isset($form_data['dir_rrd']))          { print $form_data['dir_rrd'];          } else { print "/rrd";                                                         }; print "\" type=\"text\" />"; if (isset($form_data['dir_rrd']) and ($form_data['dir_rrd'] != "/rrd"))                                                          { print " Default: /rrd"; };                                               print "<br />
           <label><b>The apache user needs rw access to the following directory.</b></label><br />
           <label for=\"dir_graph_images\">Graph images directory</label>                                        <p id=\"dir_graph_images\">" . substr(__FILE__, 0, -12) . "/include/aloe/graph_images/<input type=\"hidden\" name=\"dir_graph_images\" value=\"" . substr(__FILE__, 0, -12) . "/include/aloe/graph_images/\" /><br />
           <label><b>Misc variables</b></label><br/>
           <label for=\"rrdtool_path\">Path to rrdtool</label>                                                   <input id=\"rrdtool_path\" name=\"rrdtool_path\" value=\"";                if (isset($form_data['rrdtool_path']))     { print $form_data['rrdtool_path'];     } else { print "/usr/bin/rrdtool";                                             }; print "\" type=\"text\" />"; if (isset($form_data['rrdtool_path']) and ($form_data['rrdtool_path'] != "/usr/bin/rrdtool"))                                     { print " Default: /usr/bin/rrdtool"; };                                   print "<br />
           <label for=\"use_fping\">Would you like to use fping rather than ping? (Required for windows)</label> <input type=\"checkbox\" name=\"use_fping\" value=\"yes\" checked /><br />
           <label for=\"fping_path\">Path to fping</label>                                                       <input id=\"fping_path\" name=\"fping_path\" value=\"";                    if (isset($form_data['fping_path']))       { print $form_data['fping_path'];       } else { print "/usr/sbin/fping";                                              }; print "\" type=\"text\" />"; if (isset($form_data['fping_path']) and ($form_data['fping_path'] != "/usr/sbin/fping"))                                          { print " Default: /usr/sbin/fping"; };                                    print "<br />
           <label for=\"ClearsiteBaseURL\">Clearsite Base URL</label>                                            http://<input id=\"ClearsiteBaseURL\" name=\"ClearsiteBaseURL\" value=\""; if (isset($form_data['ClearsiteBaseURL'])) { print $form_data['ClearsiteBaseURL']; } else { print $_SERVER['SERVER_NAME'] . substr($_SERVER['PHP_SELF'], 0, -11); }; print "\" type=\"text\" /><br />
           <label for=\"hc_page_title\">Page Title</label>                                                       <input id=\"hc_page_title\" name=\"hc_page_title\" value=\"";              if (isset($form_data['hc_page_title']))    { print $form_data['hc_page_title'];    } else { print "ClearSite 0.9 Beta 3 so easy a manager can use it!";           }; print "\" type=\"text\" />"; if (isset($form_data['hc_page_title']) and ($form_data['hc_page_title'] != "ClearSite 0.9 Beta 3 so easy a manager can use it!")) { print " Default: ClearSite 0.9 Beta 3 so easy a manager can use it!"; }; print "<br />
           <label for=\"use_ldap\">Would you like to use LDAP or Windows AD for authentication?</label>          <input type=\"checkbox\" name=\"use_ldap\" value=\"yes\"><br />
           <label for=\"ldap_server\">LDAP Server (or Windows domain controller)</label>                         <input id=\"ldap_server\" name=\"ldap_server\" value=\"";                  if (isset($form_data['ldap_server']))      { print $form_data['ldap_server'];      } else { print "ldap.company.com";                                             }; print "\" type=\"text\" /><br />
           <input type=\"image\" value=\"Continue\" src=\"images/continue.png\" />
          </p>
         </form>
        </fieldset>
        <br />
       </div>
      </div>
  ";
} else if ($form_data['step'] == "complete") {
  print "
         <fieldset class=\"install\">
          <p>
           <p>
            Installation complete.
           </p>
           <br />
           <p>
            The cron jobs need to be created to use the clearsite shell acount that you set up earlier.  Here are the cron jobs:<br />
            <pre>*/5	*	*	*	* " . $cs_base_path . "/include/aloe/cron/aloe_cron.php rrdwalk > /dev/null</pre>
            <pre>*/20	*	*	*	* " . $cs_base_path . "/include/aloe/cron/aloe_cron.php dbwalk > /dev/null</pre>
           </p>
           <br />
           <p>
            You can log into clearsite using the default admin account:<br />
            Username: csadmin<br />
            Password: aloe-admin<br />
           </p>
           <br />
           <p>
            Head on over to <a href=\"admin.php\">Clearsite</a>, log in as csadmin, and create your <a href=\"admin.php\">first location</a>.<br/>
            The graphs and menus will start to populate on the first dbwalk run, depending on your cron settings, this may take 20 
            or more minutes to populate. Please read the DETAILS file for more information.
           </p>
           <br />
           <p>
            Thanks for trying out Clearsite.  Please let us know about any issues and or questions, we are very happy to provide
            help and we also want to hear what you like about ClearSite! Please help stroke our egos, send us a note 
            on SourceForge.net!
           </p>
           <br />
          </p>
         </form>
        </fieldset>
        <br />
       </div>
      </div>
  ";
};
// End HTML output

include_once($cs_base_path . "/include/footer.php");

?>
Return current item: Network Managment / Inventory System