-
Notifications
You must be signed in to change notification settings - Fork 4
/
config_multi.php
145 lines (113 loc) · 5.43 KB
/
config_multi.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
define('AT_INCLUDE_PATH', '../../include/');
require (AT_INCLUDE_PATH.'vitals.inc.php');
admin_authenticate(AT_ADMIN_PRIV_MANAGE_MULTI);
include(AT_INCLUDE_PATH . 'install/install.inc.php');
include(AT_INCLUDE_PATH . 'classes/sqlutility.class.php');
include('include/config_multisite_template.php');
if ($_POST['submit']){
global $msg;
// Check the required fields
$missing_fields = array();
if (trim($_POST['db_host']) == '') {
$missing_fields[] = _AT('db_host');
}
if (trim($_POST['db_port']) == '') {
$missing_fields[] = _AT('db_port');
}
if (trim($_POST['db_login']) == '') {
$missing_fields[] = _AT('db_user');
}
if (trim($_POST['db_password']) == '') {
$missing_fields[] = _AT('db_pwd');
}
if (trim($_POST['db_name']) == '') {
$missing_fields[] = _AT('db_name');
}
if (count($missing_fields)) {
$missing_fields = implode(', ', $missing_fields);
$msg->addError(array('EMPTY_FIELDS', $missing_fields));
}
if (!file_exists(AT_MULTISITE_CONFIG_FILE)) {
$msg->addError(array('CONFIG_FILE_NOT_EXIST', AT_MULTISITE_CONFIG_FILE));
} else if (!is_writeable(AT_MULTISITE_CONFIG_FILE)) {
$msg->addError(array('FILE_NOT_WRITABLE', AT_MULTISITE_CONFIG_FILE));
}
if (!$msg->containsErrors()) {
// create database to manage multisite
$db = create_and_switch_db($_POST['db_host'], $_POST['db_port'], $_POST['db_login'], $_POST['db_password'], $_POST['tb_prefix'], $_POST['db_name']);
$sqlUtility = new SqlUtility();
$sqlUtility->queryFromFile('include/atutor_multisite_schema.sql', $addslashes($_POST['tb_prefix']), false);
// switch to the main database
//@mysql_select_db(DB_NAME, $db);
at_db_select(DB_NAME, $db);
// database is created successfully
if (!$msg->containsErrors()) {
// write config file for managing multisite
$comments = '/*'.str_pad(' This file was generated by the ATutor '.VERSION. ' managing multi-site script.', 70, ' ').'*/' . "\n" .
'/*'.str_pad(' File generated '.date('Y-m-d H:m:s'), 70, ' ').'*/';
if (!write_multisite_config_file(AT_MULTISITE_CONFIG_FILE, $_POST['db_login'], $_POST['db_password'],
$_POST['db_host'], $_POST['db_port'], $_POST['db_name'], $_POST['tb_prefix'], $comments)) {
$msg->addError(array('FILE_NOT_WRITABLE', AT_MULTISITE_CONFIG_FILE));
}
@chmod(AT_MULTISITE_CONFIG_FILE, 0444);
$msg->addFeedback(array('FILE_CREATED', AT_MULTISITE_CONFIG_FILE));
$msg->addFeedback('ACTION_COMPLETED_SUCCESSFULLY');
}
}
} else if (file_exists(AT_MULTISITE_CONFIG_FILE)) {
include(AT_MULTISITE_CONFIG_FILE);
if (defined('DB_NAME_MULTISITE')) {
$msg->addWarning(array('MANAGE_MULTISITE_DB_EXISTS', DB_NAME_MULTISITE));
}
}
require (AT_INCLUDE_PATH.'header.inc.php');
$msg->printAll();
?>
<div class="input-form">
<h2>Setup Subsite Database</h2>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" name="setup_multi" method="post" class="form_input">
<div class="row">
<p><?php echo _AT('config_multi_desc'); ?></p><br />
</div>
<div class="row">
<span class="required" title="<?php echo _AT('required_field'); ?>">*</span>
<label for="db"><?php echo _AT(db_host);?></label><br />
<input type="text" name="db_host" id="db" value="<?php if (!empty($_POST['db_host'])) { echo stripslashes(htmlspecialchars($_POST['db_host'])); } else { echo DB_HOST; } ?>" class="formfield" /><br />
<small><?php echo _AT(db_host_notes);?></small>
</div>
<div class="row">
<span class="required" title="<?php echo _AT('required_field'); ?>">*</span>
<label for="db"><?php echo _AT(db_port);?></label><br />
<input type="text" name="db_port" id="port" value="<?php if (!empty($_POST['db_port'])) { echo stripslashes(htmlspecialchars($_POST['db_port'])); } else { echo DB_PORT; } ?>" class="formfield" /><br />
<small><?php echo _AT(db_port_notes);?></small>
</div>
<div class="row">
<span class="required" title="<?php echo _AT('required_field'); ?>">*</span>
<label for="db"><?php echo _AT(db_user);?></label><br />
<input type="text" name="db_login" id="username" value="<?php echo stripslashes(htmlspecialchars($_POST['db_login'])); ?>" class="formfield" /><br />
<small><?php echo _AT(db_user_notes);?></small>
</div>
<div class="row">
<span class="required" title="<?php echo _AT('required_field'); ?>">*</span>
<label for="db"><?php echo _AT(db_pwd);?></label><br />
<input type="text" name="db_password" id="pass" value="<?php echo stripslashes(htmlspecialchars($_POST['db_password'])); ?>" class="formfield" /><br />
<small><?php echo _AT(db_pwd_notes);?></small>
</div>
<div class="row">
<span class="required" title="<?php echo _AT('required_field'); ?>">*</span>
<label for="db"><?php echo _AT(db_name);?></label><br />
<input type="text" name="db_name" id="name" value="<?php if (!empty($_POST['db_name'])) { echo stripslashes(htmlspecialchars($_POST['db_name'])); } else { echo 'ATutor_manage_multisite'; } ?>" class="formfield" /><br />
<small><?php echo _AT(db_name_notes);?></small>
</div>
<div class="row">
<label for="db"><?php echo _AT(tb_prefix);?></label><br />
<input type="text" name="tb_prefix" id="prefix" value="<?php if (!empty($_POST['tb_prefix'])) { echo stripslashes(htmlspecialchars($_POST['tb_prefix'])); } else { echo TABLE_PREFIX; } ?>" class="formfield" /><br />
<small><?php echo _AT(tb_prefix_notes);?></small>
</div>
<input type="submit" name="submit" value="<?php echo _AT('subsite_config_save'); ?>" class="button" />
</form>
</div>
<?php
require (AT_INCLUDE_PATH.'footer.inc.php');
?>