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 " );
2007-11-25 19:53:15 +00:00
require_once ( " config_editor.inc.php " );
require_once ( " user.inc.php " );
2005-06-06 17:07:35 +00:00
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
2005-06-07 21:03:55 +00:00
$q =@ mysql_query ( " SELECT val FROM config WHERE var='DBVERSION' AND year='0' " );
$r =@ mysql_fetch_object ( $q );
$dbdbversion = $r -> val ;
if ( ! $dbdbversion )
2005-06-06 17:07:35 +00:00
{
2005-06-07 21:03:55 +00:00
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 ;
2005-06-06 17:07:35 +00:00
}
2005-06-07 21:03:55 +00:00
//a fresh install should ONLY have DBVERSION defined in the config table. If there are others (FAIRYEAR, SFIABDIRECTORY) then this is NOT fresh
2008-01-11 21:36:25 +00:00
$q = mysql_query ( " SELECT * FROM config WHERE year='0' AND ( var='DBVERSION' OR var='FAIRYEAR' OR var='SFIABDIRECTORY') " );
2005-06-07 21:03:55 +00:00
//we might get an error if the config table does not exist (ie, installer step 2 failed)
2005-06-06 17:19:17 +00:00
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-07 21:03:55 +00:00
//1 is okay (DBVERSION). More than 1 is bad (already isntalled)
if ( mysql_num_rows ( $q ) > 1 )
2005-06-06 17:07:35 +00:00
{
//we say all tables, but really only we check for config where year=0;
2005-06-07 21:03:55 +00:00
echo " <div class= \" error \" >ERROR: Detected existing table data, SFIAB Installation Step 3 requires a clean SFIAB database installation.</div> " ;
2005-06-06 17:07:35 +00:00
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... " ;
2006-09-04 15:42:34 +00:00
mysql_query ( " INSERT INTO config (var,val,category,ord,year) VALUES ('FAIRYEAR',' " . $_POST [ 'fairyear' ] . " ','Special','0','0') " );
mysql_query ( " INSERT INTO config (var,val,category,ord,year) VALUES ('SFIABDIRECTORY',' " . $_POST [ 'sfiabdirectory' ] . " ','Special','','0') " );
2007-11-25 19:53:15 +00:00
$year = intval ( $_POST [ 'fairyear' ]);
2005-06-07 01:23:15 +00:00
//copy over the config defautls
2007-11-25 19:53:15 +00:00
config_update_variables ( $year );
// Update some variables
mysql_query ( " UPDATE config SET
val = '".mysql_escape_string(stripslashes($_POST[' fairname ']))."'
WHERE var = 'fairname' AND year = '$year' " );
mysql_query ( " UPDATE config SET
val = '".mysql_escape_string(stripslashes($_POST[' email ']))."'
WHERE var = 'fairmanageremail' AND year = '$year' " );
2005-11-21 19:36:48 +00:00
2005-06-07 01:23:15 +00:00
$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
}
2005-11-21 19:36:48 +00:00
//copy over the award_types defautls
2005-12-15 16:04:47 +00:00
$q = mysql_query ( " SELECT * FROM award_types WHERE year='-1' " );
2005-11-21 19:36:48 +00:00
while ( $r = mysql_fetch_object ( $q ))
{
mysql_query ( " INSERT INTO award_types (id,type,`order`,year) VALUES (' $r->id ',' $r->type ',' $r->order ',' " . $_POST [ 'fairyear' ] . " ') " );
}
2005-06-07 01:23:15 +00:00
echo " <b>Done!</b><br /> " ;
echo " Creating superuser account... " ;
2007-11-25 19:53:15 +00:00
2009-02-08 07:51:03 +00:00
$u = user_create ( 'committee' , $_POST [ 'email' ]);
2008-07-08 19:29:02 +00:00
if ( $_POST [ 'firstname' ] && $_POST [ 'lastname' ]) {
$u [ 'firstname' ] = mysql_escape_string ( stripslashes ( $_POST [ 'firstname' ]));
$u [ 'lastname' ] = mysql_escape_string ( stripslashes ( $_POST [ 'lastname' ]));
}
else {
$u [ 'firstname' ] = 'Superuser' ;
$u [ 'lastname' ] = 'Account' ;
}
2007-11-25 19:53:15 +00:00
$u [ 'emailprivate' ] = mysql_escape_string ( stripslashes ( $_POST [ 'email' ]));
2008-07-08 19:52:14 +00:00
$u [ 'email' ] = mysql_escape_string ( stripslashes ( $_POST [ 'email' ]));
2007-11-25 19:53:15 +00:00
$u [ 'username' ] = mysql_escape_string ( stripslashes ( $_POST [ 'email' ]));
$u [ 'password' ] = mysql_escape_string ( stripslashes ( $_POST [ 'pass1' ]));
$u [ 'access_admin' ] = 'yes' ;
$u [ 'access_config' ] = 'yes' ;
$u [ 'access_super' ] = 'yes' ;
user_save ( $u );
2005-06-07 01:23:15 +00:00
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 >