File: 1.09.5a/server/web/environment.test.php (View as HTML)

  1: <?php
  2: /* -------------------------------------------------------------
  3: This file is part of FreeNATS
  4: 
  5: FreeNATS is (C) Copyright 2008-2010 PurplePixie Systems
  6: 
  7: FreeNATS is free software: you can redistribute it and/or modify
  8: it under the terms of the GNU General Public License as published by
  9: the Free Software Foundation, either version 3 of the License, or
 10: (at your option) any later version.
 11: 
 12: FreeNATS is distributed in the hope that it will be useful,
 13: but WITHOUT ANY WARRANTY; without even the implied warranty of
 14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 15: GNU General Public License for more details.
 16: 
 17: You should have received a copy of the GNU General Public License
 18: along with FreeNATS.  If not, see www.gnu.org/licenses
 19: 
 20: For more information see www.purplepixie.org/freenats
 21: -------------------------------------------------------------- */
 22: 
 23: function test_funcs($funcs)
 24: {
 25: if (!is_array($funcs)) $funcs=array($funcs);
 26: $out="";
 27: for($a=0; $a<count($funcs); $a++)
 28: 	{
 29: 	if (!function_exists($funcs[$a]))
 30: 		{
 31: 		$out.=$funcs[$a]." ";
 32: 		}
 33: 	}
 34: if ($out!="") $out.="functions required";
 35: return $out;
 36: }
 37: 
 38: function test_mod($mod,$funcs)
 39: {
 40: $text=test_funcs($funcs);
 41: if ($text=="")
 42: 	{
 43: 	echo "<b style=\"color: green;\">".$mod."</b> - Ok<br>";
 44: 	return true;
 45: 	}
 46: else
 47: 	{
 48: 	echo "<b style=\"color: red;\">".$mod."</b> - ".$text."<br>";
 49: 	return false;
 50: 	}
 51: }
 52: 
 53: if (!isset($env_test_web)) // PHP CLI Test
 54: {
 55: if (!test_mod("IMAP","imap_open"))
 56: 	{
 57: 	echo "IMAP is not supported - don't configure IMAP tests or your environment will hang<br>";
 58: 	}
 59: if (!test_mod("Sockets","fsockopen"))
 60: 	{
 61: 	echo "Sockets are not supported - fatal error<br>";
 62: 	}
 63: if (!test_mod("Streams","fopen"))
 64: 	{
 65: 	echo "Streams are not supported - fatal error<br>";
 66: 	}
 67: if (!test_mod("MySQL","mysql_connect"))
 68: 	{
 69: 	echo "MySQL is not supported - fatal error<br>";
 70: 	}
 71: if (!test_mod("Mail","mail"))
 72: 	{
 73: 	echo "mail() not supported, may have to use direct SMTP or maybe no mail will work!<br>";
 74: 	}
 75: if (!test_mod("PHP5","str_split"))
 76: 	{
 77: 	echo "Don't appear to be running PHP5 - FreeNATS may not work on PHP4<br>";
 78: 	}
 79: if (!test_mod("XML","xml_parser_create"))
 80: 	{
 81: 	echo "XML Parser not present in PHP CLI - nodeside testing and anything else dependent on XML (discovery/import tools etc) will fail!<br>";
 82: 	}
 83: exit(1);
 84: }
 85: else // PHP Web/Apache Module Test
 86: {
 87: if (!test_mod("MySQL","mysql_connect"))
 88: 	{
 89: 	echo "MySQL is not supported - fatal error<br>";
 90: 	}
 91: if (!test_mod("Mail","mail"))
 92: 	{
 93: 	echo "mail() not supported, may have to use direct SMTP or maybe no mail will work!<br>";
 94: 	}
 95: if (!test_mod("PHP5","str_split"))
 96: 	{
 97: 	echo "Don't appear to be running PHP5 - FreeNATS may not work on PHP4<br>";
 98: 	}
 99: if (!test_mod("GD Graphics",array("imagecreate","imagepng")))
100: 	{
101: 	echo "GD Graphics does not appear to be supported or does not support PNG - historic graphs will not work!<br>";
102: 	}
103: if (!test_mod("XML","xml_parser_create"))
104: 	{
105: 	echo "XML Parser not present in PHP web - nodeside and other functions from within the web interface will fail<br>";
106: 	}
107: }
108: 
109: ?>
110: