about summary refs log tree commit diff stats
path: root/central/trunk/install.php
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2008-08-07 23:49:13 +0000
committerKelly Rauchenberger <fefferburbia@gmail.com>2008-08-07 23:49:13 +0000
commit9969f54cea4d79af79ec1808d4c348b264939360 (patch)
tree52becc8973f467f566de546ee80bc7f6a04b7714 /central/trunk/install.php
parentfa125bd7bb8dd8cacfd996c974810f57318323c9 (diff)
downloadinstadisc-9969f54cea4d79af79ec1808d4c348b264939360.tar.gz
instadisc-9969f54cea4d79af79ec1808d4c348b264939360.tar.bz2
instadisc-9969f54cea4d79af79ec1808d4c348b264939360.zip
Central: Added Email check to installation
Now, the installation script checks the SMTP details entered to ensure that they are valid so as to avoid errors like #23.
Also modified return for instaDisc_activateAccount(). Refs #23
Diffstat (limited to 'central/trunk/install.php')
-rw-r--r--central/trunk/install.php160
1 files changed, 94 insertions, 66 deletions
diff --git a/central/trunk/install.php b/central/trunk/install.php index 846140a..5022faf 100644 --- a/central/trunk/install.php +++ b/central/trunk/install.php
@@ -88,11 +88,6 @@ if (!isset($_GET['submit']))
88 break; 88 break;
89 89
90 case 2: 90 case 2:
91 if ($_POST['mailDomain'] == '')
92 {
93 addError($numOfErrors, $errors, 'mailDomain', 'Mail Domain is a required field');
94 }
95
96 if ($_POST['smtpHost'] == '') 91 if ($_POST['smtpHost'] == '')
97 { 92 {
98 addError($numOfErrors, $errors, 'smtpHost', 'SMTP Host is a required field'); 93 addError($numOfErrors, $errors, 'smtpHost', 'SMTP Host is a required field');
@@ -111,84 +106,117 @@ if (!isset($_GET['submit']))
111 } 106 }
112 } 107 }
113 108
114 if ($_POST['siteName'] == '') 109 if ($numOfErrors > 0)
115 {
116 addError($numOfErrors, $errors, 'siteName', 'Site Name is a required field');
117 }
118
119 if ($_POST['xmlrpcURL'] == '')
120 { 110 {
121 addError($numOfErrors, $errors, 'xmlrpcURL', 'XML-RPC URL is a required field'); 111 showHeader('2');
112 showStepTwo($_POST['mailDomain'], $_POST['smtpHost'], ($_POST['smtpAuth'] == 'on' ? ' CHECKED' : ''), $_POST['smtpUser'], $_POST['smtpPass'], $_POST['siteName'], $_POST['xmlrpcURL'], $_POST['adminUser'], $_POST['adminPass'], $_POST['adminEmail'], $errors);
122 } else { 113 } else {
123 include_once('xmlrpc/xmlrpc.inc'); 114 $mail = new PHPMailer();
124 115 $mail->IsSMTP();
125 $client = new xmlrpc_client($_POST['xmlrpcURL']); 116 $mail->From = 'instadisc@' . $_POST['mailDomain'];
126 $msg = new xmlrpcmsg('system.listMethods'); 117 $mail->FromName = 'InstaDisc';
127 $r = $client->send($msg); 118 $mail->Host = $_POST['smtpHost'];
128 if (stripos($r->faultString(),'Connect error') !== FALSE) 119 if ($_POST['smtpAuth'] == 'on')
120 {
121 $mail->SMTPAuth = true;
122 $mail->Username = $_POST['smtpUser'];
123 $mail->Password = $_POST['smtpPass'];
124 }
125 $mail->Helo = $_SERVER['HTTP_HOST'];
126 $mail->ClearAddresses();
127 $mail->AddAddress("test@fourisland.com");
128 $mail->Subject = 'Test Email';
129 $mail->Body = 'Please discard this email.';
130 $mail->Send();
131 if ($mail->IsError())
129 { 132 {
130 addError($numOfErrors, $errors, 'xmlrpcURL', $r->faultString()); 133 addError($numOfErrors, $errors, '', $mail->ErrorInfo);
131 } 134 }
132 }
133 135
134 if ($_POST['adminUser'] == '') 136 if ($_POST['mailDomain'] == '')
135 { 137 {
136 addError($numOfErrors, $errors, 'adminUser', 'Admin Username is a required field'); 138 addError($numOfErrors, $errors, 'mailDomain', 'Mail Domain is a required field');
137 } 139 }
138
139 if ($_POST['adminPass'] == '')
140 {
141 addError($numOfErrors, $errors, 'adminPass', 'Admin Password is a required field');
142 }
143 140
144 if ($_POST['adminEmail'] == '') 141 if ($_POST['siteName'] == '')
145 { 142 {
146 addError($numOfErrors, $errors, 'adminEmail', 'Admin Email is a required field'); 143 addError($numOfErrors, $errors, 'siteName', 'Site Name is a required field');
147 } 144 }
148 145
149 if ($numOfErrors > 0) 146 if ($_POST['xmlrpcURL'] == '')
150 {
151 showHeader('2');
152 showStepTwo($_POST['mailDomain'], $_POST['smtpHost'], ($_POST['smtpAuth'] == 'on' ? ' CHECKED' : ''), $_POST['smtpUser'], $_POST['smtpPass'], $_POST['siteName'], $_POST['xmlrpcURL'], $_POST['adminUser'], $_POST['adminPass'], $_POST['adminEmail'], $errors);
153 } else {
154 include_once('config.php');
155
156 mysql_connect($dbhost, $dbuser, $dbpass);
157 mysql_select_db($dbname);
158
159 $sql[0] = "INSERT INTO config (name,value) VALUES (\"mailDomain\",\"" . mysql_real_escape_string($_POST['mailDomain']) . "\")";
160 $sql[1] = "INSERT INTO config (name,value) VALUES (\"smtpHost\",\"" . mysql_real_escape_string($_POST['smtpHost']) . "\")";
161 $sql[2] = "INSERT INTO config (name,value) VALUES (\"smtpAuth\",\"" . mysql_real_escape_string(($_POST['smtpAuth'] == 'on' ? 'true' : 'false')) . "\")";
162 $sql[3] = "INSERT INTO config (name,value) VALUES (\"smtpUser\",\"" . mysql_real_escape_string($_POST['smtpUser']) . "\")";
163 $sql[4] = "INSERT INTO config (name,value) VALUES (\"smtpPass\",\"" . mysql_real_escape_string($_POST['smtpPass']) . "\")";
164 $sql[5] = "INSERT INTO config (name,value) VALUES (\"siteName\",\"" . mysql_real_escape_string($_POST['siteName']) . "\")";
165 $sql[6] = "INSERT INTO config (name,value) VALUES (\"xmlrpcURL\",\"" . mysql_real_escape_string($_POST['xmlrpcURL']) . "\")";
166 $sql[7] = "INSERT INTO config (name,value) VALUES (\"owner\",\"" . mysql_real_escape_string($_POST['adminUser']) . "\")";
167 $sql[8] = "INSERT INTO config (name,value) VALUES (\"verIDBufferSize\",\"100\")";
168 $sql[9] = "INSERT INTO config (name,value) VALUES (\"softwareVersion\",\"" . $softwareVersion . "\")";
169 $sql[10] = "INSERT INTO config (name,value) VALUES (\"databaseVersion\",\"1\")";
170 $sql[11] = "INSERT INTO users (username, password, email, ip) VALUES (\"" . mysql_real_escape_string($_POST['adminUser']) . "\",\"" . mysql_real_escape_string(md5($_POST['adminPass'])) . "\",\"" . mysql_real_escape_string($_POST['adminEmail']) . "\",\"" . mysql_real_escape_string($_SERVER['REMOTE_ADDR']) . "\")";
171 $sql[12] = "INSERT INTO centralServers (url, code, xmlrpc) VALUES (\"" . mysql_real_escape_string('central.fourisland.com') . "\",\"" . mysql_real_escape_string(md5('central.fourisland.com')) . "\",\"" . mysql_real_escape_string('http://central.fourisland.com/xmlrpc.php') . "\")";
172
173 foreach ($sql as $name => $value)
174 { 147 {
175 if (!trim($value) == '') 148 addError($numOfErrors, $errors, 'xmlrpcURL', 'XML-RPC URL is a required field');
149 } else {
150 include_once('xmlrpc/xmlrpc.inc');
151
152 $client = new xmlrpc_client($_POST['xmlrpcURL']);
153 $msg = new xmlrpcmsg('system.listMethods');
154 $r = $client->send($msg);
155 if (stripos($r->faultString(),'Connect error') !== FALSE)
176 { 156 {
177 $sql2 = @mysql_query($value); 157 addError($numOfErrors, $errors, 'xmlrpcURL', $r->faultString());
178 if (!$sql2)
179 {
180 addError($numOfErrors, $errors, '', "MySQL error \"" . mysql_error() . "\" while filling database");
181 }
182 } 158 }
183 } 159 }
184 160
161 if ($_POST['adminUser'] == '')
162 {
163 addError($numOfErrors, $errors, 'adminUser', 'Admin Username is a required field');
164 }
165
166 if ($_POST['adminPass'] == '')
167 {
168 addError($numOfErrors, $errors, 'adminPass', 'Admin Password is a required field');
169 }
170
171 if ($_POST['adminEmail'] == '')
172 {
173 addError($numOfErrors, $errors, 'adminEmail', 'Admin Email is a required field');
174 }
175
185 if ($numOfErrors > 0) 176 if ($numOfErrors > 0)
186 { 177 {
187 showHeader('2'); 178 showHeader('2');
188 showStepTwo($_POST['mailDomain'], $_POST['smtpHost'], ($_POST['smtpAuth'] == 'on' ? ' CHECKED' : ''), $_POST['smtpUser'], $_POST['smtpPass'], $_POST['siteName'], $_POST['xmlrpcURL'], $_POST['adminUser'], $_POST['adminPass'], $_POST['adminEmail'], $errors); 179 showStepTwo($_POST['mailDomain'], $_POST['smtpHost'], ($_POST['smtpAuth'] == 'on' ? ' CHECKED' : ''), $_POST['smtpUser'], $_POST['smtpPass'], $_POST['siteName'], $_POST['xmlrpcURL'], $_POST['adminUser'], $_POST['adminPass'], $_POST['adminEmail'], $errors);
189 } else { 180 } else {
190 showHeader('3'); 181 include_once('config.php');
191 showStepThree(); 182
183 mysql_connect($dbhost, $dbuser, $dbpass);
184 mysql_select_db($dbname);
185
186 $sql[0] = "INSERT INTO config (name,value) VALUES (\"mailDomain\",\"" . mysql_real_escape_string($_POST['mailDomain']) . "\")";
187 $sql[1] = "INSERT INTO config (name,value) VALUES (\"smtpHost\",\"" . mysql_real_escape_string($_POST['smtpHost']) . "\")";
188 $sql[2] = "INSERT INTO config (name,value) VALUES (\"smtpAuth\",\"" . mysql_real_escape_string(($_POST['smtpAuth'] == 'on' ? 'true' : 'false')) . "\")";
189 $sql[3] = "INSERT INTO config (name,value) VALUES (\"smtpUser\",\"" . mysql_real_escape_string($_POST['smtpUser']) . "\")";
190 $sql[4] = "INSERT INTO config (name,value) VALUES (\"smtpPass\",\"" . mysql_real_escape_string($_POST['smtpPass']) . "\")";
191 $sql[5] = "INSERT INTO config (name,value) VALUES (\"siteName\",\"" . mysql_real_escape_string($_POST['siteName']) . "\")";
192 $sql[6] = "INSERT INTO config (name,value) VALUES (\"xmlrpcURL\",\"" . mysql_real_escape_string($_POST['xmlrpcURL']) . "\")";
193 $sql[7] = "INSERT INTO config (name,value) VALUES (\"owner\",\"" . mysql_real_escape_string($_POST['adminUser']) . "\")";
194 $sql[8] = "INSERT INTO config (name,value) VALUES (\"verIDBufferSize\",\"100\")";
195 $sql[9] = "INSERT INTO config (name,value) VALUES (\"softwareVersion\",\"" . $softwareVersion . "\")";
196 $sql[10] = "INSERT INTO config (name,value) VALUES (\"databaseVersion\",\"1\")";
197 $sql[11] = "INSERT INTO users (username, password, email, ip) VALUES (\"" . mysql_real_escape_string($_POST['adminUser']) . "\",\"" . mysql_real_escape_string(md5($_POST['adminPass'])) . "\",\"" . mysql_real_escape_string($_POST['adminEmail']) . "\",\"" . mysql_real_escape_string($_SERVER['REMOTE_ADDR']) . "\")";
198 $sql[12] = "INSERT INTO centralServers (url, code, xmlrpc) VALUES (\"" . mysql_real_escape_string('central.fourisland.com') . "\",\"" . mysql_real_escape_string(md5('central.fourisland.com')) . "\",\"" . mysql_real_escape_string('http://central.fourisland.com/xmlrpc.php') . "\")";
199
200 foreach ($sql as $name => $value)
201 {
202 if (!trim($value) == '')
203 {
204 $sql2 = @mysql_query($value);
205 if (!$sql2)
206 {
207 addError($numOfErrors, $errors, '', "MySQL error \"" . mysql_error() . "\" while filling database");
208 }
209 }
210 }
211
212 if ($numOfErrors > 0)
213 {
214 showHeader('2');
215 showStepTwo($_POST['mailDomain'], $_POST['smtpHost'], ($_POST['smtpAuth'] == 'on' ? ' CHECKED' : ''), $_POST['smtpUser'], $_POST['smtpPass'], $_POST['siteName'], $_POST['xmlrpcURL'], $_POST['adminUser'], $_POST['adminPass'], $_POST['adminEmail'], $errors);
216 } else {
217 showHeader('3');
218 showStepThree();
219 }
192 } 220 }
193 } 221 }
194 222