summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Foster <savetheinternet@tinyboard.org>2013-08-02 16:19:20 -0400
committerMichael Foster <savetheinternet@tinyboard.org>2013-08-02 16:19:20 -0400
commit9e7fbf927c67797269062a3b5f827a92ac822e12 (patch)
tree4caf3c0d225c5373433761e20585194d6439fa43
parentd0a6ffcb0c5a73f5ea5b8cccf81dd5cbd5aabab6 (diff)
Installer improvements
-rw-r--r--install.php176
-rw-r--r--templates/installer/check-requirements.html10
2 files changed, 21 insertions, 165 deletions
diff --git a/install.php b/install.php
index b1395d3e..82ba5b8b 100644
--- a/install.php
+++ b/install.php
@@ -524,6 +524,13 @@ if ($step == 0) {
'result' => is_writable('inc/instance-config.php'),
'required' => false,
'message' => 'Tinyboard does not have permission to make changes to inc/instance-config.php. To complete the installation, you will be asked to manually copy and paste code into the file instead.'
+ ),
+ array(
+ 'category' => 'Misc',
+ 'name' => 'Tinyboard installed using git',
+ 'result' => is_dir('.git.'),
+ 'required' => false,
+ 'message' => 'Tinyboard is still beta software and it\'s not going to come out of beta any time soon. As there are often many months between releases yet changes and bug fixes are very frequent, it\'s recommended to use the git repository to maintain your Tinyboard installation. Using git makes upgrading much easier.'
)
);
@@ -542,167 +549,16 @@ if ($step == 0) {
// Basic config
$page['title'] = 'Configuration';
- function create_salt() {
- return substr(base64_encode(sha1(rand())), 0, rand(25, 31));
- }
-
- $page['body'] = '
-<form action="?step=3" method="post">
- <fieldset>
- <legend>Database</legend>
- <label for="db_type">Type:</label>
- <select id="db_type" name="db[type]">';
-
- $drivers = PDO::getAvailableDrivers();
-
- foreach ($drivers as &$driver) {
- $driver_txt = $driver;
- switch ($driver) {
- case 'cubrid':
- $driver_txt = 'Cubrid';
- break;
- case 'dblib':
- $driver_txt = 'FreeTDS / Microsoft SQL Server / Sybase';
- break;
- case 'firebird':
- $driver_txt = 'Firebird/Interbase 6';
- break;
- case 'ibm':
- $driver_txt = 'IBM DB2';
- break;
- case 'informix':
- $driver_txt = 'IBM Informix Dynamic Server';
- break;
- case 'mysql':
- $driver_txt = 'MySQL';
- break;
- case 'oci':
- $driver_txt = 'OCI';
- break;
- case 'odbc':
- $driver_txt = 'ODBC v3 (IBM DB2, unixODBC)';
- break;
- case 'pgsql':
- $driver_txt = 'PostgreSQL';
- break;
- case 'sqlite':
- $driver_txt = 'SQLite 3';
- break;
- case 'sqlite2':
- $driver_txt = 'SQLite 2';
- break;
- }
- $page['body'] .= '<option value="' . $driver . '">' . $driver_txt . '</option>';
- }
-
- $page['body'] .= '
- </select>
-
- <label for="db_server">Server:</label>
- <input type="text" id="db_server" name="db[server]" value="localhost" />
-
- <label for="db_db">Database:</label>
- <input type="text" id="db_db" name="db[database]" value="" />
-
- <label for="db_prefix">Table prefix (optional):</label>
- <input type="text" id="db_prefix" name="db[prefix]" value="" />
-
- <label for="db_user">Username:</label>
- <input type="text" id="db_user" name="db[user]" value="" />
-
- <label for="db_pass">Password:</label>
- <input type="password" id="db_pass" name="db[password]" value="" />
- </fieldset>
- <p style="text-align:center" class="unimportant">The following is all later configurable. For more options, <a href="http://tinyboard.org/docs/?p=Config">edit your configuration files</a> after installing.</p>
- <fieldset>
- <legend>Cookies</legend>
- <label for="cookies_mod">Moderator cookie:</label>
- <input type="text" id="cookies_mod" name="cookies[mod]" value="' . $config['cookies']['mod'] . '" />
-
- <label for="cookies_salt">Secure salt:</label>
- <input type="text" id="cookies_salt" name="cookies[salt]" value="' . create_salt() . '" size="40" />
- </fieldset>
-
- <fieldset>
- <legend>Flood control</legend>
- <label for="flood_time">Seconds before each post:</label>
- <input type="text" id="flood_time" name="flood_time" value="' . $config['flood_time'] . '" />
-
- <label for="flood_time_ip">Seconds before you can repost something (post the exact same text):</label>
- <input type="text" id="flood_time_ip" name="flood_time_ip" value="' . $config['flood_time_ip'] . '" />
-
- <label for="flood_time_same">Same as above, but with a different IP address:</label>
- <input type="text" id="flood_time_same" name="flood_time_same" value="' . $config['flood_time_same'] . '" />
-
- <label for="max_body">Maximum post body length:</label>
- <input type="text" id="max_body" name="max_body" value="' . $config['max_body'] . '" />
-
- <label for="reply_limit">Replies in a thread before it can no longer be bumped:</label>
- <input type="text" id="reply_limit" name="reply_limit" value="' . $config['reply_limit'] . '" />
-
- <label for="max_links">Maximum number of links in a single post:</label>
- <input type="text" id="max_links" name="max_links" value="' . $config['max_links'] . '" />
- </fieldset>
-
- <fieldset>
- <legend>Images</legend>
- <label for="max_filesize">Maximum image filesize:</label>
- <input type="text" id="max_filesize" name="max_filesize" value="' . $config['max_filesize'] . '" />
-
- <label for="thumb_width">Thumbnail width:</label>
- <input type="text" id="thumb_width" name="thumb_width" value="' . $config['thumb_width'] . '" />
-
- <label for="thumb_height">Thumbnail height:</label>
- <input type="text" id="thumb_height" name="thumb_height" value="' . $config['thumb_height'] . '" />
-
- <label for="max_width">Maximum image width:</label>
- <input type="text" id="max_width" name="max_width" value="' . $config['max_width'] . '" />
-
- <label for="max_height">Maximum image height:</label>
- <input type="text" id="max_height" name="max_height" value="' . $config['max_height'] . '" />
- </fieldset>
-
- <fieldset>
- <legend>Display</legend>
- <label for="threads_per_page">Threads per page:</label>
- <input type="text" id="threads_per_page" name="threads_per_page" value="' . $config['threads_per_page'] . '" />
-
- <label for="max_pages">Page limit:</label>
- <input type="text" id="max_pages" name="max_pages" value="' . $config['max_pages'] . '" />
-
- <label for="threads_preview">Number of replies to show per thread on the index page:</label>
- <input type="text" id="threads_preview" name="threads_preview" value="' . $config['threads_preview'] . '" />
- </fieldset>
+ $config['cookies']['salt'] = substr(base64_encode(sha1(rand())), 0, 30);
+ $config['secure_trip_salt'] = substr(base64_encode(sha1(rand())), 0, 30);
- <fieldset>
- <legend>Directories</legend>
- <label for="root">Root URI (include trailing slash):</label>
- <input type="text" id="root" name="root" value="' . $config['root'] . '" />
-
- <label for="dir_img">Image directory:</label>
- <input type="text" id="dir_img" name="dir[img]" value="' . $config['dir']['img'] . '" />
-
- <label for="dir_thumb">Thumbnail directory:</label>
- <input type="text" id="dir_thumb" name="dir[thumb]" value="' . $config['dir']['thumb'] . '" />
-
- <label for="dir_res">Thread directory:</label>
- <input type="text" id="dir_res" name="dir[res]" value="' . $config['dir']['res'] . '" />
- </fieldset>
-
- <fieldset>
- <legend>Miscellaneous</legend>
- <label for="secure_trip_salt">Secure trip (##) salt:</label>
- <input type="text" id="secure_trip_salt" name="secure_trip_salt" value="' . create_salt() . '" size="40" />
- </fieldset>
-
- <p style="text-align:center">
- <input type="submit" value="Complete installation" />
- </p>
-</form>
- ';
-
-
- echo Element('page.html', $page);
+ echo Element('page.html', array(
+ 'body' => Element('installer/config.html', array(
+ 'config' => $config
+ )),
+ 'title' => 'Configuration',
+ 'config' => $config
+ ));
} elseif ($step == 3) {
$instance_config =
'<?php
diff --git a/templates/installer/check-requirements.html b/templates/installer/check-requirements.html
index fea6fed8..b6003f3a 100644
--- a/templates/installer/check-requirements.html
+++ b/templates/installer/check-requirements.html
@@ -14,14 +14,14 @@
<td>{{ test.name }}</td>
<td class="minimal" style="text-align:center">
{% if test.result %}
- <i style="color:#090" class="icon-check-sign"></i>
+ <i style="font-size:11pt;color:#090" class="icon-check-sign"></i>
{% else %}
{% if test.required %}
{% set errors = errors + 1 %}
- <i style="color:#d00" class="icon-exclamation-sign"></i>
+ <i style="font-size:11pt;color:#d00" class="icon-exclamation-sign"></i>
{% else %}
{% set warnings = warnings + 1 %}
- <i style="color:#f80" class="icon-warning-sign"></i>
+ <i style="font-size:11pt;color:#f80" class="icon-warning-sign"></i>
{% endif %}
{% endif %}
</td>
@@ -34,9 +34,9 @@
{% for test in tests if not test.result%}
<li style="margin-bottom:5px">
{% if test.required %}
- <i style="color:#d00" class="icon-exclamation-sign"></i> <strong>Error:</strong>
+ <i style="font-size:11pt;color:#d00" class="icon-exclamation-sign"></i> <strong>Error:</strong>
{% else %}
- <i style="color:#f80" class="icon-warning-sign"></i> <strong>Warning:</strong>
+ <i style="font-size:11pt;color:#f80" class="icon-warning-sign"></i> <strong>Warning:</strong>
{% endif %}
{{ test.message }}
</li>