Browse code

Changed majority of files.

DoubleBastionAdmin authored on 30/11/2024 06:56:40
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,298 @@
1
+<?php
2
+/**
3
+ *  Copyright (C) 2022, 2024  Double Bastion LLC
4
+ *
5
+ *  This file is part of Roundpin, which is licensed under the
6
+ *  GNU Affero General Public License Version 3.0. The license terms
7
+ *  are detailed in the "LICENSE.txt" file located in the root directory.
8
+ */
9
+
10
+session_start();
11
+
12
+define('RESTRICTED', TRUE);
13
+
14
+include 'install-signup-check.php';
15
+
16
+if ($installcheck == true) {
17
+
18
+ if ($_SESSION['validateaccess'] == "accessallowed") {
19
+
20
+   if(isset($_POST['submitadminbttn'])) {
21
+
22
+     if (isset($_POST['adminuser']) && $_POST['adminuser'] != '' && isset($_POST['adminuserpassword']) &&
23
+         $_POST['adminuserpassword'] != '' && isset($_POST['adminuseremail']) && $_POST['adminuseremail'] != '') {
24
+
25
+         $adminuser = $_POST['adminuser'];
26
+         $adminuserpass = password_hash($_POST['adminuserpassword'], PASSWORD_DEFAULT);
27
+         $adminuseremail = $_POST['adminuseremail'];
28
+
29
+         define('ACCESSCONST', TRUE);
30
+
31
+         require('db-connect.php');
32
+
33
+         // Create table for Roundpin users
34
+         $query1 = " CREATE TABLE IF NOT EXISTS app_users (
35
+		        id                      INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
36
+                        userrole                VARCHAR (150)   DEFAULT NULL,
37
+		        username                VARCHAR (150)   DEFAULT NULL,
38
+		        password                VARCHAR (250)   DEFAULT NULL,
39
+                        temp_key                VARCHAR (150)   DEFAULT NULL,
40
+		        emailaddress            VARCHAR (150)   DEFAULT NULL,
41
+		        registered              SMALLINT        DEFAULT NULL,
42
+		        token                   VARCHAR (150)   DEFAULT NULL,
43
+		        temporarypass           VARCHAR (50)    DEFAULT NULL,
44
+		        wss_server              VARCHAR (150)   DEFAULT NULL,
45
+		        web_socket_port         INT             DEFAULT NULL,
46
+		        server_path             VARCHAR (10)    DEFAULT NULL,
47
+		        profile_name            VARCHAR (150)   DEFAULT NULL,
48
+		        sip_username            VARCHAR (100)   DEFAULT NULL,
49
+		        sip_password            VARCHAR (250)   DEFAULT NULL,
50
+		        stun_server             VARCHAR (300)   DEFAULT NULL,
51
+		        audio_output_id         VARCHAR (100)   DEFAULT NULL,
52
+		        video_src_id            VARCHAR (500)   DEFAULT NULL,
53
+		        video_height            VARCHAR (10)    DEFAULT NULL,
54
+		        frame_rate              SMALLINT        DEFAULT NULL,
55
+		        aspect_ratio            VARCHAR (10)    DEFAULT NULL,
56
+		        video_orientation       VARCHAR (100)   DEFAULT NULL,
57
+		        ringtone                VARCHAR (40)    DEFAULT NULL,
58
+		        audio_src_id            VARCHAR (500)   DEFAULT NULL,
59
+		        auto_gain_control       VARCHAR (10)    DEFAULT NULL,
60
+		        echo_cancellation       VARCHAR (10)    DEFAULT NULL,
61
+		        noise_suppression       VARCHAR (10)    DEFAULT NULL,
62
+		        ring_output_id          VARCHAR (100)   DEFAULT NULL,
63
+                        video_conf_window_width VARCHAR (10)    DEFAULT NULL,
64
+		        profile_picture         LONGTEXT        DEFAULT NULL,
65
+                        language                VARCHAR (10)    DEFAULT NULL,
66
+		        notifications           SMALLINT        DEFAULT NULL,
67
+                        show_vconf_usernames    SMALLINT        DEFAULT NULL,
68
+                        display_vconf_user      SMALLINT        DEFAULT NULL,
69
+                        use_sms                 SMALLINT        DEFAULT NULL,
70
+                        use_fax                 SMALLINT        DEFAULT NULL,
71
+                        use_email               SMALLINT        DEFAULT NULL,
72
+                        user_groups             VARCHAR (900)   DEFAULT NULL,
73
+                        load_groups             VARCHAR (900)   DEFAULT NULL,
74
+                        date_added              DATETIME        DEFAULT NULL,
75
+                        date_modified           DATETIME        DEFAULT NULL,
76
+                        enabled                 SMALLINT        DEFAULT NULL
77
+		     ); ";
78
+
79
+         $result1 = $mysqli->query($query1);
80
+
81
+         $userrole = 'superadmin';
82
+         $registeredcheck = 1;
83
+         $enabled = 1;
84
+
85
+         $query2 = $mysqli->prepare("INSERT INTO app_users (userrole, username, password, emailaddress, registered, enabled) VALUES (?, ?, ?, ?, ?, ?);");
86
+         $query2->bind_param("ssssii", $userrole, $adminuser, $adminuserpass, $adminuseremail, $registeredcheck, $enabled);
87
+         $query2->execute();
88
+
89
+         // Create table for contacts of Roundpin users
90
+         $query3 = " CREATE TABLE IF NOT EXISTS contacts (
91
+		          id                INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
92
+		          user_id           INT UNSIGNED    NOT NULL,
93
+		          contact_name      VARCHAR (300)   DEFAULT NULL,
94
+		          contact_desc      VARCHAR (300)   DEFAULT NULL,
95
+		          contact_long_desc VARCHAR (500)   DEFAULT NULL,
96
+                          address_street    VARCHAR (180)   DEFAULT NULL,
97
+                          address_zip       VARCHAR (30)    DEFAULT NULL,
98
+                          address_town      VARCHAR (50)    DEFAULT NULL,
99
+                          address_country   VARCHAR (50)    DEFAULT NULL,
100
+                          address_state     VARCHAR (50)    DEFAULT NULL,
101
+		          extension_number  VARCHAR (50)    DEFAULT NULL,
102
+		          contact_mobile    VARCHAR (50)    DEFAULT NULL,
103
+		          contact_num1      VARCHAR (50)    DEFAULT NULL,
104
+		          contact_num2      VARCHAR (50)    DEFAULT NULL,
105
+		          contact_fax       VARCHAR (50)    DEFAULT NULL,
106
+		          contact_email     VARCHAR (300)   DEFAULT NULL,
107
+                          profile_picture_c LONGTEXT        DEFAULT NULL,
108
+                          groups            VARCHAR (900)   DEFAULT NULL,
109
+                          date_added        DATETIME        DEFAULT NULL,
110
+                          date_modified     DATETIME        DEFAULT NULL,
111
+                          CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `app_users` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
112
+                     ); ";
113
+
114
+         $result3 = $mysqli->query($query3);
115
+
116
+         // Create table for external users of video conference
117
+         $query4 = " CREATE TABLE IF NOT EXISTS external_users (
118
+		          id                   INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
119
+		          userid               INT UNSIGNED    NOT NULL,
120
+		          profile_name         VARCHAR (150)   DEFAULT NULL,
121
+		          exten_for_external   VARCHAR (50)    DEFAULT NULL,
122
+		          exten_for_ext_pass   VARCHAR (500)   DEFAULT NULL,
123
+		          conf_extension       VARCHAR (50)    DEFAULT NULL,
124
+		          conf_tag             VARCHAR (150)   DEFAULT NULL,
125
+		          conf_access_link     LONGTEXT        DEFAULT NULL,
126
+                          show_vconf_usernames SMALLINT        DEFAULT NULL,
127
+                          display_vconf_user   SMALLINT        DEFAULT NULL,
128
+                          date_added           DATETIME        DEFAULT NULL,
129
+                          date_modified        DATETIME        DEFAULT NULL,
130
+		          CONSTRAINT `fk_userid` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
131
+                     ); ";
132
+         $result4 = $mysqli->query($query4);
133
+
134
+         // Create table for external users of video conference
135
+         $query5 = " CREATE TABLE IF NOT EXISTS groups (
136
+		          id                   INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
137
+		          userid               INT UNSIGNED    NOT NULL,
138
+		          group_name           VARCHAR (150)   DEFAULT NULL,
139
+		          CONSTRAINT `fkuserid` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON UPDATE RESTRICT
140
+                     ); ";
141
+         $result5 = $mysqli->query($query5);
142
+
143
+         $superuid = 1;
144
+         $admingroup = 'Admin';
145
+         $generalgroup = 'General';
146
+         $query6 = $mysqli->prepare("INSERT INTO groups (userid, group_name) VALUES (?, ?);");
147
+         $query6->bind_param("is", $superuid, $admingroup);
148
+         $query6->execute();
149
+
150
+         $query7 = $mysqli->prepare("INSERT INTO groups (userid, group_name) VALUES (?, ?);");
151
+         $query7->bind_param("is", $superuid, $generalgroup);
152
+         $query7->execute();
153
+
154
+         // Create table for text conferences
155
+         $query8 = " CREATE TABLE IF NOT EXISTS conferences_text (
156
+		          id                    INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
157
+		          userid                INT UNSIGNED    NOT NULL,
158
+                          text_conf_extension   VARCHAR (100)   DEFAULT NULL,
159
+		          text_conf_label       VARCHAR (150)   DEFAULT NULL,
160
+                          limit_to_groups       VARCHAR (1000)  DEFAULT NULL,
161
+		          CONSTRAINT `fkuseridtc` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON UPDATE RESTRICT
162
+                     ); ";
163
+         $result8 = $mysqli->query($query8);
164
+
165
+         $query9 = " CREATE TABLE IF NOT EXISTS conferences_audio (
166
+		          id                    INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
167
+		          userid                INT UNSIGNED    NOT NULL,
168
+                          audio_conf_extension  VARCHAR (100)   DEFAULT NULL,
169
+		          audio_conf_label      VARCHAR (150)   DEFAULT NULL,
170
+                          limit_to_groups       VARCHAR (1000)  DEFAULT NULL,
171
+		          CONSTRAINT `fkuseridac` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON UPDATE RESTRICT
172
+                     ); ";
173
+         $result9 = $mysqli->query($query9);
174
+
175
+         $query10 = " CREATE TABLE IF NOT EXISTS conferences_video (
176
+		          id                    INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
177
+		          userid                INT UNSIGNED    NOT NULL,
178
+                          video_conf_extension  VARCHAR (100)   DEFAULT NULL,
179
+		          video_conf_label      VARCHAR (150)   DEFAULT NULL,
180
+                          limit_to_groups       VARCHAR (1000)  DEFAULT NULL,
181
+		          CONSTRAINT `fkuseridvc` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON UPDATE RESTRICT
182
+                      ); ";
183
+         $result10 = $mysqli->query($query10);
184
+
185
+         $query11 = " CREATE TABLE IF NOT EXISTS email_conf (
186
+		          id                      INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
187
+		          userid                  INT UNSIGNED    NOT NULL,
188
+                          rcdomain                VARCHAR (300)   DEFAULT NULL,
189
+                          rcuser                  VARCHAR (300)   DEFAULT NULL,
190
+                          rcpassword              VARCHAR (300)   DEFAULT NULL,
191
+                          rcbasicauthuser         VARCHAR (300)   DEFAULT NULL,
192
+                          rcbasicauthpass         VARCHAR (300)   DEFAULT NULL,
193
+		          CONSTRAINT `fkuserideml` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
194
+                      ); ";
195
+         $result11 = $mysqli->query($query11);
196
+
197
+
198
+         $query12 = " CREATE TABLE IF NOT EXISTS banned_users (
199
+		          id                      INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
200
+		          ban_creator             VARCHAR (150)   DEFAULT NULL,
201
+		          banned_profilename      VARCHAR (150)   DEFAULT NULL,
202
+		          banned_sipusername      VARCHAR (100)   DEFAULT NULL,
203
+                          conf_extension          VARCHAR (100)   DEFAULT NULL,
204
+		          conf_label              VARCHAR (150)   DEFAULT NULL,
205
+                          banned_until            DATETIME        DEFAULT NULL
206
+                      ); ";
207
+         $result12 = $mysqli->query($query12);
208
+
209
+         // Create table for voice/sms/fax numbers
210
+         $query13 = " CREATE TABLE IF NOT EXISTS phone_numbers (
211
+		          id                    INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
212
+		          userid                INT UNSIGNED    NOT NULL,
213
+                          voice_numbers         VARCHAR (200)   DEFAULT NULL,
214
+                          default_voice_number  VARCHAR (25)    DEFAULT NULL,
215
+                          sms_numbers           VARCHAR (200)   DEFAULT NULL,
216
+                          default_sms_number    VARCHAR (25)    DEFAULT NULL,
217
+                          fax_numbers           VARCHAR (200)   DEFAULT NULL,
218
+                          default_fax_number    VARCHAR (25)    DEFAULT NULL,
219
+		          CONSTRAINT `fkuseridphnb` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
220
+                     ); ";
221
+         $result13 = $mysqli->query($query13);
222
+
223
+         // Create table for external users of video conference
224
+         $query14 = " CREATE TABLE IF NOT EXISTS fax_settings (
225
+		          id                 INT UNSIGNED    AUTO_INCREMENT  PRIMARY KEY,
226
+		          userid             INT UNSIGNED    NOT NULL,
227
+			  tel_secret_key     VARCHAR (512)   DEFAULT NULL,
228
+			  tel_fax_app_id     VARCHAR (512)   DEFAULT NULL,
229
+			  tel_recwh_url      VARCHAR (1024)  DEFAULT NULL,
230
+			  phax_api_key       VARCHAR (512)   DEFAULT NULL,
231
+			  phax_api_secret    VARCHAR (512)   DEFAULT NULL,
232
+			  phax_webhook_token VARCHAR (512)   DEFAULT NULL,
233
+			  phax_receive_url   VARCHAR (1024)  DEFAULT NULL,
234
+			  get_notification   SMALLINT        DEFAULT NULL,
235
+			  notification_email VARCHAR (512)   DEFAULT NULL,
236
+
237
+		          CONSTRAINT `fk_faxusrid` FOREIGN KEY (`userid`) REFERENCES `app_users` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
238
+                     ); ";
239
+         $result14 = $mysqli->query($query14);
240
+
241
+         $_SESSION['validateaccess'] = "noaccessallowed";
242
+
243
+         $_SESSION['instcompleteaccess'] = "instaccess";
244
+
245
+         header("Location: roundpin-inst-complete.php");
246
+
247
+     }
248
+  }
249
+
250
+?>
251
+
252
+<!DOCTYPE html>
253
+<html>
254
+<head>
255
+  <title>Roundpin Setup</title>
256
+
257
+  <link rel="stylesheet" href="css/setup.min.css">
258
+  <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
259
+  <script type="text/javascript" src="js/roundpin-setup.min.js"></script>
260
+</head>
261
+
262
+<body>
263
+
264
+  <div id="mainarea">
265
+
266
+    <img class="logosetuppage" src="images/login-logo.svg" />
267
+
268
+    <h3 style="text-align:center;">Roundpin Setup</h3><br>
269
+
270
+    <img class="setupStage" src="images/roundpin-setup-stages-2.svg" />
271
+
272
+    <form id="admincredform" action="" method="POST">
273
+
274
+       <label for="adminuser" class="fieldlabels">Superadmin username:</label><br>
275
+       <input type="text" id="adminuser" class="textinput" name="adminuser"/><br><br>
276
+
277
+       <label for="adminuserpassword" class="fieldlabels">Superadmin password:</label><br>
278
+       <input type="password" id="adminuserpassword" class="textinput" name="adminuserpassword" title="The password should be
279
+       at least 10 characters long, it should contain at least one letter, at least one digit and at least one special character"/><br><br>
280
+
281
+       <label for="adminuseremail" class="fieldlabels">Superadmin email address:</label><br>
282
+       <input type="text" id="adminuseremail" class="textinput" name="adminuseremail"/><br><br>
283
+
284
+       <input type="submit" id="submitadminbttn" name="submitadminbttn" value="Submit" />
285
+
286
+   </form>
287
+
288
+  </div>
289
+
290
+</body>
291
+
292
+</html>
293
+
294
+<?php
295
+ }
296
+}
297
+
298
+?>