File: 0.02.19a/server/web/firstrun-.php (View as Code)

1: 2: /* ------------------------------------------------------------- 3: This file is part of FreeNATS 4: 5: FreeNATS is (C) Copyright 2008 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 Foobar. If not, see www.gnu.org/licenses 19: 20: For more information see www.purplepixie.org/freenats 21: -------------------------------------------------------------- */ 22: 23: require("include.php"); 24: $sn=$_SERVER['SCRIPT_NAME']; 25: $script=""; 26: for ($a=strlen($sn)-1; $a>0; $a--) 27: { 28: $c=$sn[$a]; 29: if ($c=="/") $a=-1; 30: else $script=$c.$script; 31: } 32: if ($script!="firstrun.php") 33: { 34: echo "Error: This script is not correctly named. In order to run it please rename "".$script."" to "firstrun.php"."; 35: echo "

";
36: exit(); 37: } 38: if (isset($_REQUEST['stage'])) $stage=$_REQUEST['stage']; 39: else $stage=0; 40: 41: function sqlfile($file) 42: { 43: global $BaseDir; 44: $fn=$BaseDir."sql/".$file.".sql"; 45: echo "Processing ".$fn."

";
46: $fp=fopen($fn,"r"); 47: if ($fp<=0) 48: { 49: echo "ERROR: Cannot Open File!

";
50: return false; 51: } 52: $q=""; 53: $qc=0; 54: $qok=0; 55: $qerr=0; 56: while ($s=fgets($fp,1024)) 57: { 58: if ($s[0]!="-") 59: { 60: for ($a=0; $a 61: { 62: $c=$s[$a]; 63: if ($c==";") 64: { 65: mysql_query($q); 66: $qc++; 67: if (mysql_errno()!=0) 68: { 69: echo "Warning/Error
";
70: echo "SQL: ".$q."
";
71: echo "Error: ".mysql_error()." (Code ".mysql_errno().")

";
72: $qerr++; 73: } 74: else $qok++; 75: $q=""; 76: } 77: else 78: $q.=$c; 79: } 80: } 81: } 82: echo "Finished Processing: ".$qc." queries (".$qok." ok, ".$qerr." warnings/errors)

";
83: fclose($fp); 84: } 85: 86: echo "

First Run Setup: Stage ".$stage."

";
87: 88: echo "Testing database connectivity...
";
89: $sql=mysql_connect($fnCfg['db.server'],$fnCfg['db.username'],$fnCfg['db.password']) 90: or die("Failed to connect to database server ".$fnCfg['db.server']." with username ".$fnCfg['db.username']."
Details: ".mysql_error());
91: mysql_select_db($fnCfg['db.database']) 92: or die("Connected ok but failed to select database ".$fnCfg['db.database']."
Details: ".mysql_error());
93: echo "Database connection succeeded!

";
94: 95: switch($stage) 96: { 97: case 0: 98: echo "
"; 99: echo ""; 100: echo "Setup Database Schema and Defaults

";
101: echo " Include Example Setup (Recommended)

";
102: echo ""; 103: echo "";
104: exit(); 105: break; 106: 107: case 1: 108: echo "Setting Up Schema...

";
109: sqlfile("schema"); 110: echo "Setting Up Defaults...

";
111: sqlfile("default"); 112: if (isset($_REQUEST['example'])) 113: { 114: echo "Setting Up Examples...

";
115: sqlfile("example"); 116: } 117: echo "

";
118: echo "CONGRATULATIONS!!

";
119: echo "Setup should now be complete. If you saw errors etc above please see the "; 120: echo "project homepage for help.

";
121: echo "RENAME THIS FILE "firstrun.php" TO SOMETHING ELSE LIKE "firstrun-.php" TO STOP OTHERS RUNNING IT"; 122: echo "

";
123: echo "Click here to continue - login admin password admin (click settings once logged in to change)

";
124: 125: 126: exit(); 127: break; 128: 129: default: 130: echo "Sorry - unknown step in setup process!

";
131: exit(); 132: } 133: 134: ?>