Rev 157 | Rev 237 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
82 | daniel-mar | 1 | <?php |
2 | |||
236 | daniel-mar | 3 | require_once __DIR__ . '/../includes/oidplus.inc.php'; |
82 | daniel-mar | 4 | |
5 | ?><!DOCTYPE html> |
||
2 | daniel-mar | 6 | <html lang="en"> |
7 | |||
8 | <head> |
||
157 | daniel-mar | 9 | <title>OIDplus Setup</title> |
104 | daniel-mar | 10 | <meta name="robots" content="noindex"> |
157 | daniel-mar | 11 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
2 | daniel-mar | 12 | <link rel="stylesheet" href="setup.css"> |
13 | <script src="../3p/sha3_js/sha3.js"></script><!-- https://github.com/emn178/js-sha3 --> |
||
14 | <script src="setup.js"></script> |
||
15 | </head> |
||
16 | |||
104 | daniel-mar | 17 | <body onload="rebuild()"> |
2 | daniel-mar | 18 | |
157 | daniel-mar | 19 | <h1>OIDplus Setup - Configuration File Generator</h1> |
2 | daniel-mar | 20 | |
157 | daniel-mar | 21 | <p>Thank you very much for choosing OIDplus! This setup assistant will help you creating or updating the file <b>includes/config.inc.php</b>. |
22 | Setup does not automatically write to this file. Instead, you need to copy-paste the contents into the file. |
||
23 | Once OIDplus setup is finished, you can change the config file by hand, or run this setup assistant again.</p> |
||
24 | |||
2 | daniel-mar | 25 | <div id="step1"> |
26 | <h2>Step 1: Enter setup information</h2> |
||
157 | daniel-mar | 27 | |
28 | <h3>Administrator password</h3> |
||
29 | |||
2 | daniel-mar | 30 | <form id="step1_form"> |
104 | daniel-mar | 31 | <p>Which admin password do you want?<br><input id="admin_password" type="password" autocomplete="new-password" onkeypress="rebuild()" onkeyup="rebuild()"> <span id="password_warn"></span></p> |
32 | <p>Please repeat the password input:<br><input id="admin_password2" type="password" autocomplete="new-password" onkeypress="rebuild()" onkeyup="rebuild()"> <span id="password_warn2"></span></p> |
||
150 | daniel-mar | 33 | |
157 | daniel-mar | 34 | <h3>Database connectivity</h3> |
150 | daniel-mar | 35 | |
36 | Database plugin: <select name="db_plugin" onChange="dbplugin_changed()" id="db_plugin"> |
||
236 | daniel-mar | 37 | |
38 | <?php |
||
39 | |||
40 | $ary = glob(__DIR__ . '/../plugins/database/'.'*'.'/plugin.inc.php'); |
||
41 | foreach ($ary as $a) include $a; |
||
42 | |||
43 | foreach (get_declared_classes() as $c) { |
||
44 | if (is_subclass_of($c, 'OIDplusDataBasePlugin')) { |
||
45 | $selected = $c::name() == 'MySQL' ? ' selected="true"' : ''; |
||
46 | echo '<option value="'.htmlentities($c::name()).'"'.$selected.'>'.htmlentities($c::name()).'</option>'; |
||
47 | } |
||
48 | } |
||
49 | |||
50 | ?> |
||
150 | daniel-mar | 51 | </select> |
52 | |||
53 | <script> |
||
54 | |||
236 | daniel-mar | 55 | setupdir = '<?php echo (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER["HTTP_HOST"] . $_SERVER['REQUEST_URI']; ?>'; |
150 | daniel-mar | 56 | rebuild_callbacks = []; |
57 | rebuild_config_callbacks = []; |
||
58 | plugin_combobox_change_callbacks = []; |
||
59 | |||
60 | function dbplugin_changed() { |
||
61 | var e = document.getElementById("db_plugin"); |
||
62 | var strPlugin = e.options[e.selectedIndex].value; |
||
63 | |||
64 | for (var i = 0; i < plugin_combobox_change_callbacks.length; i++) { |
||
65 | var f = plugin_combobox_change_callbacks[i]; |
||
66 | f(strPlugin); |
||
67 | } |
||
68 | |||
69 | rebuild(); |
||
70 | } |
||
71 | |||
72 | </script> |
||
73 | |||
74 | <div style="margin-left:50px"> |
||
75 | |||
76 | <?php |
||
77 | |||
78 | $files = glob(__DIR__.'/../plugins/database/*/setup.part.html'); |
||
79 | foreach ($files as $file) { |
||
80 | echo file_get_contents($file); |
||
81 | } |
||
82 | if (count($files) == 0) { |
||
236 | daniel-mar | 83 | echo '<p><font color="red">ERROR: No database plugins were found! You CANNOT use OIDplus without database connection.</font></p>'; |
150 | daniel-mar | 84 | } |
85 | |||
86 | ?> |
||
87 | |||
88 | </div> |
||
89 | |||
90 | <script> |
||
91 | dbplugin_changed(); |
||
92 | </script> |
||
93 | |||
104 | daniel-mar | 94 | <p>Tablename prefix (e.g. <b>oidplus_</b>):<br><input id="tablename_prefix" type="text" value="oidplus_" onkeypress="rebuild()" onkeyup="rebuild()"></p> |
157 | daniel-mar | 95 | |
96 | <h3>ReCAPTCHA</h3> |
||
97 | |||
98 | <p><input id="recaptcha_enabled" type="checkbox" onclick="rebuild()"> <label for="recaptcha_enabled">reCAPTCHA enabled</label> (<a href="https://developers.google.com/recaptcha/intro" target="_blank">more information and obtain key</a>)</p> |
||
99 | <p>reCAPTCHA Public key<br><input id="recaptcha_public" type="text" onkeypress="rebuild()" onkeyup="rebuild()"></p> |
||
100 | <p>reCAPTCHA Private key<br><input id="recaptcha_private" type="text" onkeypress="rebuild()" onkeyup="rebuild()"></p> |
||
101 | |||
102 | <h3>TLS</h3> |
||
103 | |||
104 | daniel-mar | 104 | <p>SSL enforcement<br><select name="enforce_ssl" id="enforce_ssl" onclick="rebuild()"> |
80 | daniel-mar | 105 | <option value="0">No SSL available (don't redirect)</option> |
106 | <option value="1">Enforce SSL (always redirect)</option> |
||
82 | daniel-mar | 107 | <option value="2" selected>Intelligent SSL detection (redirect if port 443 is open)</option> |
80 | daniel-mar | 108 | </select></p> |
2 | daniel-mar | 109 | </form> |
110 | </div> |
||
111 | |||
112 | <div id="step2"> |
||
113 | <h2>Step 2: Import data</h2> |
||
150 | daniel-mar | 114 | <p><b>If you already have an OIDplus database and just want to rebuild the config file, please skip this step.</b></p> |
81 | daniel-mar | 115 | <p>Otherwise, import one of the following MySQL dumps in your database:</p> |
2 | daniel-mar | 116 | <p><ul> |
150 | daniel-mar | 117 | <li><a href="struct_empty.sql.php" id="struct_1" target="_blank">Empty OIDplus database without example data</a><span id="struct_cli_1"></span><br><br></li> |
118 | <li><a href="struct_with_examples.sql.php" id="struct_2" target="_blank">OIDplus database with example data</a><span id="struct_cli_2"></span><br><br></li> |
||
119 | |||
2 | daniel-mar | 120 | </ul></p> |
150 | daniel-mar | 121 | <p><font color="red">Warning: All data from the previous OIDplus instance will be deleted during the import.<br>If you already have an OIDplus database, skip to Step 3.</font></p> |
80 | daniel-mar | 122 | |
2 | daniel-mar | 123 | </div> |
124 | |||
125 | <div id="step3"> |
||
126 | <h2>Step 3: Save config.inc.php file</h2> |
||
127 | <p>Save following contents into the file <b>includes/config.inc.php</b>:</p> |
||
128 | <code><font color="darkblue"><div id="config"></div></font></code> |
||
129 | </div> |
||
130 | |||
131 | <div id="step4"> |
||
80 | daniel-mar | 132 | <h2>Step 4: Continue to next step</h2> |
154 | daniel-mar | 133 | <p><input type="button" onclick="window.location.href='../'" value="Continue"></p> |
80 | daniel-mar | 134 | <!-- <p><a href="../">Run the OIDplus system</a></p> --> |
2 | daniel-mar | 135 | </div> |
136 | |||
137 | </body> |
||
138 | </html> |