| | |
| | | |
| | | ?> |
| | | |
| | | <h3>Check if directories are writable</h3> |
| | | <p>RoundCube may need to write/save files into these directories</p> |
| | | <?php |
| | | |
| | | if ($RCI->configured) { |
| | | $pass = false; |
| | | foreach (array($RCI->config['temp_dir'],$RCI->config['log_dir']) as $dir) { |
| | | $dirpath = $dir{0} == '/' ? $dir : $docroot . '/' . $dir; |
| | | if (is_writable(realpath($dirpath))) { |
| | | $RCI->pass($dir); |
| | | $pass = true; |
| | | } |
| | | else { |
| | | $RCI->fail($dir, 'not writeable for the webserver'); |
| | | } |
| | | echo '<br />'; |
| | | } |
| | | |
| | | if (!$pass) |
| | | echo '<p class="hint">Use <tt>chmod</tt> or <tt>chown</tt> to grant write privileges to the webserver</p>'; |
| | | } |
| | | else { |
| | | $RCI->fail('Config', 'Could not read config files'); |
| | | } |
| | | |
| | | ?> |
| | | |
| | | <h3>Check configured database settings</h3> |
| | | <?php |
| | | |
| | | $db_working = false; |
| | | if (!empty($RCI->config)) { |
| | | if ($RCI->configured) { |
| | | if (!empty($RCI->config['db_backend']) && !empty($RCI->config['db_dsnw'])) { |
| | | |
| | | echo 'Backend: '; |
| | |
| | | } |
| | | else { |
| | | $RCI->fail('DSN (write)', $db_error_msg); |
| | | echo '<p class="hint">Make sure that the configured database extists and that the user as write privileges<br />'; |
| | | echo '<p class="hint">Make sure that the configured database exists and that the user has write privileges<br />'; |
| | | echo 'DSN: ' . $RCI->config['db_dsnw'] . '</p>'; |
| | | if ($RCI->config['db_backend'] == 'mdb2') |
| | | echo '<p class="hint">There are known problems with MDB2 running on PHP 4. Try setting <tt>db_backend</tt> to \'db\' instead</p>'; |
| | | } |
| | | } |
| | | else { |
| | |
| | | $pass = $RCI->getprop('smtp_pass', '(none)'); |
| | | |
| | | if ($user == '%u') { |
| | | $user_field = new textfield(array('name' => '_user')); |
| | | $user = $user_field->show(); |
| | | $user_field = new textfield(array('name' => '_smtp_user')); |
| | | $user = $user_field->show($_POST['_smtp_user']); |
| | | } |
| | | if ($pass == '%p') { |
| | | $pass_field = new passwordfield(array('name' => '_pass')); |
| | | $pass_field = new passwordfield(array('name' => '_smtp_pass')); |
| | | $pass = $pass_field->show(); |
| | | } |
| | | |
| | | echo "User: $user<br />"; |
| | | echo "Password: $pass<br />"; |
| | | } |
| | | |
| | | $from_field = new textfield(array('name' => '_from', 'id' => 'sendmailfrom')); |
| | | $to_field = new textfield(array('name' => '_to', 'id' => 'sendmailto')); |
| | | |
| | | ?> |
| | | </p> |
| | |
| | | preg_match('/^' . $RCI->email_pattern . '$/i', trim($_POST['_to']))) { |
| | | |
| | | $headers = array( |
| | | 'From' => trim($_POST['_from']), |
| | | 'To' => trim($_POST['_to']), |
| | | 'From' => trim($_POST['_from']), |
| | | 'To' => trim($_POST['_to']), |
| | | 'Subject' => 'Test message from RoundCube', |
| | | ); |
| | | |
| | |
| | | if ($RCI->getprop('smtp_server')) { |
| | | $CONFIG = $RCI->config; |
| | | |
| | | if (!empty($_POST['_user'])) |
| | | $CONFIG['smtp_user'] = $_POST['_user']; |
| | | if (!empty($_POST['_pass'])) |
| | | $CONFIG['smtp_pass'] = $_POST['_pass']; |
| | | |
| | | if (!empty($_POST['_smtp_user'])) { |
| | | $CONFIG['smtp_user'] = $_POST['_smtp_user']; |
| | | } |
| | | if (!empty($_POST['_smtp_pass'])) { |
| | | $CONFIG['smtp_pass'] = $_POST['_smtp_pass']; |
| | | } |
| | | |
| | | $mail_object = new rc_mail_mime(); |
| | | $send_headers = $mail_object->headers($headers); |
| | | |
| | |
| | | |
| | | <table> |
| | | <tbody> |
| | | <tr><td><label for="sendmailfrom">Sender</label></td><td><input type="text" name="_from" value="" id="sendmailfrom" /></td></tr> |
| | | <tr><td><label for="sendmailto">Recipient</label></td><td><input type="text" name="_to" value="" id="sendmailto" /></td></tr> |
| | | <tr> |
| | | <td><label for="sendmailfrom">Sender</label></td> |
| | | <td><?php echo $from_field->show($_POST['_from']); ?></td> |
| | | </tr> |
| | | <tr> |
| | | <td><label for="sendmailto">Recipient</label></td> |
| | | <td><?php echo $to_field->show($_POST['_to']); ?></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | |
| | | <p><input type="submit" name="sendmail" value="Send test mail" /></p> |
| | | |
| | | |
| | | <p>[@todo Add tests for IMAP settings]</p> |
| | | <h3>Test IMAP configuration</h3> |
| | | |
| | | <?php |
| | | |
| | | $default_hosts = $RCI->get_hostlist(); |
| | | if (!empty($default_hosts)) { |
| | | $host_field = new select(array('name' => '_host', 'id' => 'imaphost')); |
| | | $host_field->add($default_hosts); |
| | | } |
| | | else { |
| | | $host_field = new textfield(array('name' => '_host', 'id' => 'imaphost')); |
| | | } |
| | | |
| | | $user_field = new textfield(array('name' => '_user', 'id' => 'imapuser')); |
| | | $pass_field = new passwordfield(array('name' => '_pass', 'id' => 'imappass')); |
| | | |
| | | ?> |
| | | |
| | | <table> |
| | | <tbody> |
| | | <tr> |
| | | <td><label for="imaphost">Server</label></td> |
| | | <td><?php echo $host_field->show($_POST['_host']); ?></td> |
| | | </tr> |
| | | <tr> |
| | | <td>Port</td> |
| | | <td><?php echo $RCI->getprop('default_port'); ?></td> |
| | | </tr> |
| | | <tr> |
| | | <td><label for="imapuser">Username</label></td> |
| | | <td><?php echo $user_field->show($_POST['_user']); ?></td> |
| | | </tr> |
| | | <tr> |
| | | <td><label for="imappass">Password</label></td> |
| | | <td><?php echo $pass_field->show(); ?></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | |
| | | <?php |
| | | |
| | | if (isset($_POST['imaptest']) && !empty($_POST['_host']) && !empty($_POST['_user'])) { |
| | | |
| | | require_once 'include/rcube_imap.inc'; |
| | | |
| | | echo '<p>Connecting to ' . Q($_POST['_host']) . '...<br />'; |
| | | |
| | | $a_host = parse_url($_POST['_host']); |
| | | if ($a_host['host']) { |
| | | $imap_host = $a_host['host']; |
| | | $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? $a_host['scheme'] : null; |
| | | $imap_port = isset($a_host['port']) ? $a_host['port'] : ($imap_ssl ? 993 : $CONFIG['default_port']); |
| | | } |
| | | else { |
| | | $imap_host = trim($_POST['_host']); |
| | | $imap_port = $RCI->getprop('default_port'); |
| | | } |
| | | |
| | | $imap = new rcube_imap(null); |
| | | if ($imap->connect($imap_host, $_POST['_user'], $_POST['_pass'], $imap_port, $imap_ssl)) { |
| | | $RCI->pass('IMAP connect', 'SORT capability: ' . ($imap->get_capability('SORT') ? 'yes' : 'no')); |
| | | $imap->close(); |
| | | } |
| | | else { |
| | | $RCI->fail('IMAP connect', $RCI->get_error()); |
| | | } |
| | | } |
| | | |
| | | ?> |
| | | |
| | | <p><input type="submit" name="imaptest" value="Check login" /></p> |
| | | |
| | | </form> |
| | | |
| | | <hr /> |
| | | |
| | | <p class="warning"> |
| | | |
| | | After completing the installation and the final tests please <b>remove</b> the whole |