Skip to content

Commit 1bbcde0

Browse files
committed
26 Dec 2022
1) Service worker update. 2) PHP PDO now uses UTF8mb4 by default. 3) Added date/time format settings. 4) Cosmetic changes. 5) Added dummy CSV files for anyone to do testing.
1 parent 1287139 commit 1bbcde0

19 files changed

+102
-63
lines changed

CB-worker.js

Lines changed: 59 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,64 @@
1-
// (A) FILES TO CACHE
2-
const cName = "iwashere",
3-
cFiles = [
4-
// (A1) BOOTSTRAP
5-
"assets/bootstrap.bundle.min.js",
6-
"assets/bootstrap.bundle.min.js.map",
7-
"assets/bootstrap.min.css",
8-
"assets/bootstrap.min.css.map",
9-
// (A2) ICONS + IMAGES
10-
"assets/ico-512.png",
11-
"assets/favicon.png",
12-
"assets/book.jpg",
13-
// (A3) COMMON INTERFACE
14-
"assets/PAGE-cb.js",
15-
"assets/CB-selector.css",
16-
"assets/CB-selector.js",
17-
"assets/maticon.woff2",
18-
"CB-manifest.json",
19-
// (A4) HTML QR CODE + SCANNER
20-
"assets/html5-qrcode.min.js",
21-
"assets/qrcode.min.js",
22-
// (A5) PAGES
23-
"assets/PAGE-account.js",
24-
"assets/PAGE-forgot.js",
25-
"assets/PAGE-login.js",
26-
"assets/A-class.js",
27-
"assets/A-class-attend.js",
28-
"assets/A-course.js",
29-
"assets/A-course-import.js",
30-
"assets/A-course-user.js",
31-
"assets/A-course-user-import.js",
32-
"assets/A-reports.js",
33-
"assets/A-settings.js",
34-
"assets/A-users.js",
35-
"assets/A-users-import.js",
36-
"assets/T-attend.js",
37-
"assets/T-classes.js",
38-
"assets/S-classes.js",
39-
"assets/S-qr.js"
40-
// @TODO - ADD MORE OF YOUR OWN TO CACHE
41-
];
1+
// (A) CREATE/INSTALL CACHE
2+
self.addEventListener("install", evt => {
3+
self.skipWaiting();
4+
evt.waitUntil(
5+
caches.open("IWasHere")
6+
.then(cache => cache.addAll([
7+
// (A1) BOOTSTRAP
8+
"assets/bootstrap.bundle.min.js",
9+
"assets/bootstrap.bundle.min.js.map",
10+
"assets/bootstrap.min.css",
11+
"assets/bootstrap.min.css.map",
12+
// (A2) ICONS + IMAGES
13+
"assets/ico-512.png",
14+
"assets/favicon.png",
15+
"assets/login.jpg",
16+
// (A3) COMMON INTERFACE
17+
"assets/PAGE-cb.js",
18+
"assets/CB-selector.css",
19+
"assets/CB-selector.js",
20+
"assets/maticon.woff2",
21+
"CB-manifest.json",
22+
// (A4) HTML QR CODE + SCANNER
23+
"assets/html5-qrcode.min.js",
24+
"assets/qrcode.min.js",
25+
// (A5) PAGES
26+
"assets/PAGE-account.js",
27+
"assets/PAGE-forgot.js",
28+
"assets/PAGE-login.js",
29+
"assets/A-class.js",
30+
"assets/A-class-attend.js",
31+
"assets/A-course.js",
32+
"assets/A-course-import.js",
33+
"assets/A-course-user.js",
34+
"assets/A-course-user-import.js",
35+
"assets/A-reports.js",
36+
"assets/A-settings.js",
37+
"assets/A-users.js",
38+
"assets/A-users-import.js",
39+
"assets/T-attend.js",
40+
"assets/T-classes.js",
41+
"assets/S-classes.js",
42+
"assets/S-qr.js"
43+
]))
44+
.catch(err => console.error(err))
45+
);
46+
});
4247

43-
// (B) CREATE/INSTALL CACHE
44-
self.addEventListener("install", evt => evt.waitUntil(
45-
caches.open(cName)
46-
.then(cache => cache.addAll(cFiles))
47-
.catch(err => console.error(err))
48-
));
48+
// (B) CLAIM CONTROL INSTANTLY
49+
self.addEventListener("activate", evt => self.clients.claim());
4950

5051
// (C) LOAD FROM CACHE FIRST, FALLBACK TO NETWORK IF NOT FOUND
5152
self.addEventListener("fetch", evt => evt.respondWith(
5253
caches.match(evt.request).then(res => res || fetch(evt.request))
53-
));
54+
));
55+
56+
// (D) LISTEN TO PUSH NOTIFICATIONS
57+
self.addEventListener("push", evt => {
58+
const data = evt.data.json();
59+
self.registration.showNotification(data.title, {
60+
body: data.body,
61+
icon: data.icon,
62+
image: data.image
63+
});
64+
});

assets/HEAD-iwh.jpg

94 KB
Loading

assets/book.jpg

-59 KB
Binary file not shown.

assets/login-1.jpg

32.9 KB
Loading

assets/login.jpg

44.3 KB
Loading

lib/0a-dummy-users.csv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Job Doe,job@doe.com,S,ABC12345
2+
Joe Doe,joe@doe.com,T,ABC12345
3+
Joi Doe,joi@doe.com,S,ABC12345
4+
Jon Doe,jon@doe.com,S,ABC12345
5+
Jor Doe,jor@doe.com,S,ABC12345
6+
Jou Doe,jou@doe.com,S,ABC12345
7+
Joy Doe,joy@doe.com,S,ABC12345

lib/0b-dummy-courses.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ENG-123,Basic English,ABC of English,2077-01-01,2077-02-02
2+
JP-123,Basic Japanese,AIUEO of Japanese,2077-01-01,2077-02-02

lib/0c-dummy-course-users.csv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
job@doe.com
2+
joe@doe.com
3+
joi@doe.com
4+
jon@doe.com
5+
jor@doe.com
6+
jou@doe.com
7+
joy@doe.com

lib/CORE-Config.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
// (C) DATABASE
1919
define("DB_HOST", "localhost");
2020
define("DB_NAME", "iwashere");
21-
define("DB_CHARSET", "utf8");
21+
define("DB_CHARSET", "utf8mb4");
2222
define("DB_USER", "root");
2323
define("DB_PASSWORD", "");
2424

@@ -31,8 +31,8 @@
3131
// (E) JSON WEB TOKEN
3232
define("JWT_ALGO", "HS256");
3333
define("JWT_EXPIRE", 0);
34-
define("JWT_ISSUER", "localhost");
35-
define("JWT_SECRET", "EfgS.R7!!~slCQ~mFYA!=iT2Dn.pJYtXoF~mxji8ZoEDbdVL");
34+
define("JWT_ISSUER", "YOUR-NAME");
35+
define("JWT_SECRET", "YOUR-SECRET-KEY");
3636

3737
/* ENABLE THIS SECTION IF USING PUSH NOTIFICATION MODULE
3838
// (F) PUSH NOTIFICATION KEYS

lib/CORE-Install.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
// (A4) SQL FILES - FROM OLDEST TO NEWEST VERSIONS
3131
// @TODO - SET AS NECESSARY
32-
define("I_SQL", ["SQL-IWH-1.sql"]);
32+
define("I_SQL", ["SQL-IWH-1.sql", "SQL-IWH-2.sql"]);
3333

3434
// (A5) HELPER FUNCTION - IMPORT SQL FILES
3535
function import ($pdo, $from=0) {

0 commit comments

Comments
 (0)