2005-06-06 17:07:35 +00:00
< ?
/*
This file is part of the 'Science Fair In A Box' project
SFIAB Website : http :// www . sfiab . ca
Copyright ( C ) 2005 Sci - Tech Ontario Inc < info @ scitechontario . org >
Copyright ( C ) 2005 James Grant < james @ lightbox . 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 , version 2.
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 .
You should have received a copy of the GNU General Public License
along with this program ; see the file COPYING . If not , write to
the Free Software Foundation , Inc . , 59 Temple Place - Suite 330 ,
Boston , MA 02111 - 1307 , USA .
*/
echo " <?xml version= \" 1.0 \" encoding= \" iso-8859-1 \" ?> \n " ;
?>
<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
< html xmlns = " http://www.w3.org/1999/xhtml " xml : lang = " en " >
< head >< title > SFIAB Installation </ title >
< link rel = " stylesheet " href = " sfiab.css " type = " text/css " />
</ head >
< body >
< h1 > SFIAB Installation - Step 3 </ h1 >
< ?
if ( ! file_exists ( " data/config.inc.php " ))
{
echo " <div class= \" error \" >SFIAB Installation Step 1 is not yet complete.</div> " ;
echo " <a href= \" install.php \" >Go back to installation step 1</a><br /> " ;
echo " </body></html> " ;
exit ;
}
require_once ( " data/config.inc.php " );
mysql_connect ( $DBHOST , $DBUSER , $DBPASS );
mysql_select_db ( $DBNAME );
2005-06-06 18:56:19 +00:00
echo " Checking for SFIAB database... " ;
2005-06-06 17:07:35 +00:00
if ( file_exists ( " db/db.db.version.txt " ))
{
$dbdbversion_file = file ( " db/db.db.version.txt " );
$dbdbversion = trim ( $dbdbversion_file [ 0 ]);
if ( ! $dbdbversion )
{
echo " <div class= \" error \" >SFIAB Installation Step 2 is not yet complete.</div> " ;
echo " <a href= \" install2.php \" >Go back to installation step 2</a><br /> " ;
echo " </body></html> " ;
exit ;
}
}
else
{
echo " <div class= \" error \" >SFIAB Installation Step 2 is not yet complete.</div> " ;
echo " <a href= \" install2.php \" >Go back to installation step 2</a><br /> " ;
echo " </body></html> " ;
exit ;
}
//if there are entries in the config table for year=0, then this is NOT a fresh install, so error out
$q = mysql_query ( " SELECT * FROM config WHERE year='0' " );
2005-06-06 17:19:17 +00:00
//we might get an error if the config table does not exist (ie, step 2 failed)
if ( mysql_error ())
{
//we say all tables, but really only we check for config where year=0;
echo " <div class= \" error \" >ERROR: No SFIAB tables detected, It seems like step 2 failed. Please go <a href= \" install2.php \" >Back to Installation Step 2</a> and try again.</div> " ;
echo " </body></html> " ;
exit ;
}
2005-06-06 17:07:35 +00:00
if ( mysql_num_rows ( $q ))
{
//we say all tables, but really only we check for config where year=0;
echo " <div class= \" error \" >ERROR: Detected existing table data, SFIAB Installation Step 3 requires all tables to be empty.</div> " ;
echo " </body></html> " ;
exit ;
}
2005-06-06 18:56:19 +00:00
echo " <b>Found!</b><br /> " ;
2005-06-07 01:23:15 +00:00
if ( $_POST [ 'action' ] == " save " )
{
$err = false ;
if ( ! $_POST [ 'fairyear' ])
{
echo " Fair Year is required " ;
$err = true ;
}
if ( ! $_POST [ 'email' ])
{
echo " Superuser email address is required " ;
$err = true ;
}
if ( ! ( $_POST [ 'pass1' ] && $_POST [ 'pass2' ]))
{
echo " Superuser password and password confirmation are required " ;
$err = true ;
}
if ( $_POST [ 'pass1' ] != $_POST [ 'pass2' ])
{
echo " Password and Password confirmation do not match " ;
$err = true ;
}
if ( ! $err )
{
echo " Creating configuration settings... " ;
mysql_query ( " INSERT INTO config (var,val,year) VALUES ('FAIRYEAR',' " . $_POST [ 'fairyear' ] . " ','0') " );
mysql_query ( " INSERT INTO config (var,val,year) VALUES ('SFIABDIRECTORY',' " . $_POST [ 'sfiabdirectory' ] . " ','0') " );
//copy over the config defautls
$q = mysql_query ( " SELECT * FROM config WHERE year='-1' " );
while ( $r = mysql_fetch_object ( $q ))
{
2005-06-07 20:12:27 +00:00
//add the actual fair name, and just insert the defaults of everything else
if ( $r -> var == " fairname " )
2005-06-07 20:22:25 +00:00
mysql_query ( " INSERT INTO config (var,val,description,year) VALUES (' $r->var ',' " . mysql_escape_string ( stripslashes ( $_POST [ 'fairname' ])) . " ',' $r->description ',' " . $_POST [ 'fairyear' ] . " ') " );
2005-06-07 20:12:27 +00:00
else
2005-06-07 20:22:25 +00:00
mysql_query ( " INSERT INTO config (var,val,description,year) VALUES (' $r->var ',' $r->val ',' $r->description ',' " . $_POST [ 'fairyear' ] . " ') " );
2005-06-07 01:23:15 +00:00
}
//copy over the dates defautls
$q = mysql_query ( " SELECT * FROM dates WHERE year='-1' " );
while ( $r = mysql_fetch_object ( $q ))
{
2005-06-07 20:22:25 +00:00
mysql_query ( " INSERT INTO dates (date,name,description,year) VALUES (' $r->date ',' $r->name ',' $r->description ',' " . $_POST [ 'fairyear' ] . " ') " );
2005-06-07 01:23:15 +00:00
}
echo " <b>Done!</b><br /> " ;
echo " Creating superuser account... " ;
2005-06-07 20:22:25 +00:00
mysql_query ( " INSERT INTO committees_members (email,emailprivate,password,access_admin,access_config,access_super) VALUES (' " . $_POST [ 'email' ] . " ',' " . $_POST [ 'email' ] . " ',' " . $_POST [ 'pass1' ] . " ','Y','Y','Y') " );
2005-06-07 01:23:15 +00:00
echo mysql_error ();
echo " <b>Done!</b><br /> " ;
echo " Installation is now complete! You can now proceed to the following location: <br /> " ;
echo " <a href= \" " . $_POST [ 'sfiabdirectory' ] . " \" >Your SFIAB main page</a><br /> " ;
echo " </body></html> " ;
exit ;
}
}
2005-06-06 18:56:19 +00:00
echo " <br /> " ;
echo " Please enter the following options <br /> " ;
echo " <br /> " ;
$month = date ( " m " );
if ( $month > 4 ) $fairyearsuggest = date ( " Y " ) + 1 ;
else $fairyearsuggest = date ( " Y " );
2005-06-07 01:23:15 +00:00
$directorysuggest = substr ( $_SERVER [ 'REQUEST_URI' ], 0 , - 13 );
2005-06-06 18:56:19 +00:00
echo " <h3>Options</h3> " ;
2005-06-07 01:23:15 +00:00
echo " <form method= \" post \" action= \" install3.php \" > " ;
echo " <input type= \" hidden \" name= \" action \" value= \" save \" /> " ;
2005-06-06 18:56:19 +00:00
echo " <table> " ;
2005-06-07 20:12:27 +00:00
echo " <tr><td>Fair Name</td><td><input size= \" 25 \" type= \" text \" name= \" fairname \" value= \" \" ></td><td>The name of the fair you are installing SFIAB to run</td></tr> " ;
2005-06-06 18:56:19 +00:00
echo " <tr><td>Fair Year</td><td><input size= \" 8 \" type= \" text \" name= \" fairyear \" value= \" $fairyearsuggest\ " ></ td >< td > The year of the fair you are installing SFIAB to run </ td ></ tr > " ;
echo " <tr><td>Directory</td><td><input size= \" 25 \" type= \" text \" name= \" sfiabdirectory \" value= \" $directorysuggest\ " ></ td >< td > The directory of this SFIAB installation as seen by the web browser </ td ></ tr > " ;
echo " </table> " ;
echo " <br /> " ;
2005-06-07 01:23:15 +00:00
echo " <h3>Superuser Account</h3> " ;
echo " Please choose your superuser account which is required to login to SFIAB and configure the system, as well as to add other users. <br /> " ;
echo " <table> " ;
echo " <tr><td>Superuser Email Address</td><td><input size= \" 40 \" type= \" text \" name= \" email \" ></td></tr> " ;
echo " <tr><td>Superuser Password</td><td><input size= \" 15 \" type= \" password \" name= \" pass1 \" ></td></tr> " ;
echo " <tr><td>Superuser Password (Confirm)</td><td><input size= \" 15 \" type= \" password \" name= \" pass2 \" ></td></tr> " ;
echo " </table> " ;
2005-06-06 18:56:19 +00:00
echo " <br /> " ;
2005-06-07 01:23:15 +00:00
echo " <input type= \" submit \" value= \" Complete Installation \" > " ;
echo " </form> " ;
2005-06-06 17:07:35 +00:00
?>
</ body ></ html >