Revision 987
Added by aldus over 16 years ago
| save.php | ||
|---|---|---|
| 22 | 22 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 23 | 23 |
|
| 24 | 24 |
*/ |
| 25 |
$debug = true; |
|
| 25 | 26 |
|
| 27 |
if (true === $debug) {
|
|
| 28 |
ini_set('display_errors', 1);
|
|
| 29 |
error_reporting(E_ALL); |
|
| 30 |
} |
|
| 26 | 31 |
// Start a session |
| 27 | 32 |
if(!defined('SESSION_STARTED')) {
|
| 28 | 33 |
session_name('wb_session_id');
|
| ... | ... | |
| 126 | 131 |
} |
| 127 | 132 |
|
| 128 | 133 |
function add_slashes($input) {
|
| 129 |
if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {
|
|
| 130 |
return $input; |
|
| 131 |
} |
|
| 132 |
$output = addslashes($input); |
|
| 133 |
return $output; |
|
| 134 |
if ( get_magic_quotes_gpc() || ( !is_string($input) ) ) {
|
|
| 135 |
return $input; |
|
| 134 | 136 |
} |
| 137 |
$output = addslashes($input); |
|
| 138 |
return $output; |
|
| 139 |
} |
|
| 135 | 140 |
|
| 136 | 141 |
// Begin check to see if form was even submitted |
| 137 | 142 |
// Set error if no post vars found |
| ... | ... | |
| 364 | 369 |
|
| 365 | 370 |
// Check if we should install tables |
| 366 | 371 |
if($install_tables == true) {
|
| 367 |
|
|
| 372 |
if (!defined('WB_INSTALL_PROCESS')) define ('WB_INSTALL_PROCESS', true);
|
|
| 368 | 373 |
// Remove tables if they exist |
| 369 | 374 |
|
| 370 | 375 |
// Pages table |
| ... | ... | |
| 693 | 698 |
if($database->is_error()) {
|
| 694 | 699 |
set_error($database->get_error()); |
| 695 | 700 |
} |
| 701 |
|
|
| 702 |
// end of if install_tables |
|
| 703 |
} else {
|
|
| 704 |
/** |
|
| 705 |
* DB - Exists |
|
| 706 |
* Tables also? |
|
| 707 |
* |
|
| 708 |
*/ |
|
| 709 |
$requested_tables = array("pages","sections","settings","users","groups","search","addons");
|
|
| 710 |
for($i=0;$i<count($requested_tables);$i++) $requested_tables[$i] = $table_prefix.$requested_tables[$i]; |
|
| 696 | 711 |
|
| 712 |
$result = mysql_list_tables( DB_NAME ); |
|
| 713 |
$all_tables = array(); |
|
| 714 |
for($i=0; $i < mysql_num_rows($result); $i++) $all_tables[] = mysql_table_name($result, $i); |
|
| 715 |
|
|
| 716 |
$missing_tables = array(); |
|
| 717 |
foreach($requested_tables as $temp_table) {
|
|
| 718 |
if (!in_array($temp_table, $all_tables)) {
|
|
| 719 |
$missing_tables[] = $temp_table; |
|
| 720 |
} |
|
| 721 |
} |
|
| 722 |
|
|
| 723 |
/** |
|
| 724 |
* If one or more needed tables are missing, so |
|
| 725 |
* we can't go on and have to display an error |
|
| 726 |
*/ |
|
| 727 |
if ( count($missing_tables) > 0 ) {
|
|
| 728 |
$error_message = "One or more tables are missing in the selected database <b><font color='#990000'>".DB_NAME."</font></b>.<br />"; |
|
| 729 |
$error_message .= "Please install the missing tables or choose 'install tables' as recommend.<br />"; |
|
| 730 |
$error_message .= "Missing tables are: <b>".implode(", ", $missing_tables)."</b>";
|
|
| 731 |
|
|
| 732 |
set_error( $error_message ); |
|
| 733 |
} |
|
| 734 |
|
|
| 735 |
/** |
|
| 736 |
* Try to get some default settings ... |
|
| 737 |
*/ |
|
| 738 |
$vars = array( |
|
| 739 |
'DEFAULT_THEME' => "wb_theme", |
|
| 740 |
'THEME_URL' => WB_URL."/templates/wb_theme", |
|
| 741 |
'THEME_PATH' => WB_PATH."/templates/wb_theme", |
|
| 742 |
'LANGUAGE' => $_POST['default_language'], |
|
| 743 |
'SERVER_EMAIL' => "admin@yourdomain.com", |
|
| 744 |
'SMART_LOGIN' => false |
|
| 745 |
); |
|
| 746 |
foreach($vars as $k => $v) if (!defined($k)) define($k, $v); |
|
| 747 |
|
|
| 748 |
if (!isset($MESSAGE)) include (WB_PATH."/languages/".LANGUAGE.".php"); |
|
| 749 |
|
|
| 750 |
/** |
|
| 751 |
* The important part ... |
|
| 752 |
* Is there an valid user? |
|
| 753 |
*/ |
|
| 754 |
$result = $database->query("SELECT * from ".$table_prefix."users where username='".$_POST['admin_username']."'");
|
|
| 755 |
if ( $database->is_error() ) {
|
|
| 756 |
set_error ($database->get_error() ); |
|
| 757 |
} |
|
| 758 |
if ($result->numRows() == 0) {
|
|
| 759 |
/** |
|
| 760 |
* No matches found ... user properly unknown |
|
| 761 |
*/ |
|
| 762 |
set_error ("Unkown user. Please use a valid username.");
|
|
| 763 |
} else {
|
|
| 764 |
|
|
| 765 |
$data = $result->fetchRow(); |
|
| 766 |
/** |
|
| 767 |
* Does the password match |
|
| 768 |
*/ |
|
| 769 |
if ( md5($_POST['admin_password']) != $data['password']) {
|
|
| 770 |
set_error ("Password didn't match");
|
|
| 771 |
} |
|
| 772 |
} |
|
| 697 | 773 |
} |
| 698 |
|
|
| 699 | 774 |
// Log the user in and go to Website Baker Administration |
| 700 | 775 |
$thisApp = new Login( |
| 701 |
array(
|
|
| 702 |
"MAX_ATTEMPS" => "50",
|
|
| 703 |
"WARNING_URL" => ADMIN_URL."/login/warning.html",
|
|
| 704 |
"USERNAME_FIELDNAME" => 'admin_username',
|
|
| 705 |
"PASSWORD_FIELDNAME" => 'admin_password',
|
|
| 706 |
"REMEMBER_ME_OPTION" => SMART_LOGIN,
|
|
| 707 |
"MIN_USERNAME_LEN" => "2",
|
|
| 708 |
"MIN_PASSWORD_LEN" => "2",
|
|
| 709 |
"MAX_USERNAME_LEN" => "30",
|
|
| 710 |
"MAX_PASSWORD_LEN" => "30",
|
|
| 711 |
'LOGIN_URL' => ADMIN_URL."/login/index.php",
|
|
| 712 |
'DEFAULT_URL' => ADMIN_URL."/start/index.php",
|
|
| 713 |
'TEMPLATE_DIR' => ADMIN_PATH."/login",
|
|
| 714 |
'TEMPLATE_FILE' => "template.html",
|
|
| 715 |
'FRONTEND' => false,
|
|
| 716 |
'FORGOTTEN_DETAILS_APP' => ADMIN_URL."/login/forgot/index.php",
|
|
| 717 |
'USERS_TABLE' => TABLE_PREFIX."users",
|
|
| 718 |
'GROUPS_TABLE' => TABLE_PREFIX."groups",
|
|
| 719 |
)
|
|
| 720 |
);
|
|
| 776 |
array( |
|
| 777 |
"MAX_ATTEMPS" => "50", |
|
| 778 |
"WARNING_URL" => ADMIN_URL."/login/warning.html", |
|
| 779 |
"USERNAME_FIELDNAME" => 'admin_username', |
|
| 780 |
"PASSWORD_FIELDNAME" => 'admin_password', |
|
| 781 |
"REMEMBER_ME_OPTION" => SMART_LOGIN, |
|
| 782 |
"MIN_USERNAME_LEN" => "2", |
|
| 783 |
"MIN_PASSWORD_LEN" => "2", |
|
| 784 |
"MAX_USERNAME_LEN" => "30", |
|
| 785 |
"MAX_PASSWORD_LEN" => "30", |
|
| 786 |
'LOGIN_URL' => ADMIN_URL."/login/index.php", |
|
| 787 |
'DEFAULT_URL' => ADMIN_URL."/start/index.php", |
|
| 788 |
'TEMPLATE_DIR' => ADMIN_PATH."/login", |
|
| 789 |
'TEMPLATE_FILE' => "template.html", |
|
| 790 |
'FRONTEND' => false, |
|
| 791 |
'FORGOTTEN_DETAILS_APP' => ADMIN_URL."/login/forgot/index.php", |
|
| 792 |
'USERS_TABLE' => TABLE_PREFIX."users", |
|
| 793 |
'GROUPS_TABLE' => TABLE_PREFIX."groups", |
|
| 794 |
) |
|
| 795 |
); |
|
| 721 | 796 |
?> |
Also available in: Unified diff
Bugfixes for ticket 728 (install without tables) - see changelog for details.