2011-02-10 14:46:58 +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 " );
require_once ( " config_editor.inc.php " );
require_once ( " user.inc.php " );
require_once ( " committee.inc.php " );
mysql_connect ( $DBHOST , $DBUSER , $DBPASS );
mysql_select_db ( $DBNAME );
echo " Checking for SFIAB database... " ;
$q =@ mysql_query ( " SELECT val FROM config WHERE var='DBVERSION' AND conferences_id='0' " );
$r =@ mysql_fetch_object ( $q );
$dbdbversion = $r -> val ;
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 ;
}
//a fresh install should ONLY have DBVERSION defined in the config table. If there are others (SFIABDIRECTORY) then this is NOT fresh
$q = mysql_query ( " SELECT * FROM config WHERE conferences_id='0' AND ( var='DBVERSION' OR var='SFIABDIRECTORY') " );
//we might get an error if the config table does not exist (ie, installer step 2 failed)
if ( mysql_error ()) {
//we say all tables, but really only we check for config where conferences_id=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 ;
}
//1 is okay (DBVERSION). More than 1 is bad (already isntalled)
if ( mysql_num_rows ( $q ) > 1 ) {
//we say all tables, but really only we check for config where conferences_id=0;
echo " <div class= \" error \" >ERROR: Detected existing table data, SFIAB Installation Step 3 requires a clean SFIAB database installation.</div> " ;
echo " </body></html> " ;
exit ;
}
echo " <b>Found!</b><br /> " ;
if ( $_POST [ 'action' ] == " save " ) {
$err = false ;
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,category,ord,conferences_id) VALUES ('FAIRYEAR','".$_POST['fairyear']."','Special','0','0')");
mysql_query ( " INSERT INTO config (var,val,category,ord,conferences_id) VALUES ('FISCALYEAR',' " . $_POST [ 'fiscalyear' ] . " ','Special','0','0') " );
mysql_query ( " INSERT INTO config (var,val,category,ord,conferences_id) VALUES ('SFIABDIRECTORY',' " . $_POST [ 'sfiabdirectory' ] . " ','Special','','0') " );
/*
$year = intval ( $_POST [ 'fairyear' ]);
$config [ 'FAIRYEAR' ] = $year ;
*/
echo " Creating superuser account... " ;
// The next line returned $account = false instead of a query result when installing on windows server.
// DES dspanogle 2011-02-05 so of course the UPDATE fails Failed on account load..
// the problem was in account_load - had SELECT parameter not in the account table.
// I did a temporary fix by removing pendingemail parameter from the SELECT .
// ALSO... email was not set for the supper user not sure if it should be so I set = to username in the
// database accounts entry for superuser.
$account = account_create ( $_POST [ 'email' ], $_POST [ 'pass1' ]);
mysql_query ( " UPDATE accounts SET superuser = 'yes' WHERE id = " . $account [ 'id' ]);
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 ;
}
}
echo " <br /> " ;
echo " Please enter the following options <br /> " ;
echo " <br /> " ;
$month = date ( " m " );
if ( $month > 6 ) $fiscalyearsuggest = date ( " Y " ) + 1 ;
else $fiscalyearsuggest = date ( " Y " );
// DES dspanogle 2011-02-05 $_SERVER['REQUEST_URI'] is not available on many Windows servers
//$directorysuggest = substr($_SERVER['REQUEST_URI'],0,-13);
$directorysuggest = substr ( getenv ( " SCRIPT_NAME " ), 0 , - 13 );
echo " <h3>Options</h3> " ;
echo " <form method= \" post \" action= \" install3.php \" > " ;
echo " <input type= \" hidden \" name= \" action \" value= \" save \" /> " ;
echo " <table> " ;
echo " <tr><td>Fiscal Year</td><td><input size= \" 8 \" type= \" text \" name= \" fiscalyear \" value= \" $fiscalyearsuggest\ " ></ td >< td > The current fiscal year ( for fundraising / accounting purposes ) </ 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 /> " ;
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> " ;
echo " <br /> " ;
echo " <input type= \" submit \" value= \" Complete Installation \" > " ;
echo " </form> " ;
?>
</ body ></ html >