Skip to content

Commit b824143

Browse files
committed
18 Jun 2023
Breaks backward compatibility! 1) Core Boxx engine update - A lot of variable name changes and merged all SQL files. 2) JWT library update 3) General HTML user interface update
1 parent 68fab13 commit b824143

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+867
-755
lines changed

.htaccess

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
RewriteEngine On
2+
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
3+
RewriteBase /
4+
RewriteRule ^index\.php$ - [L]
5+
RewriteCond %{REQUEST_FILENAME} !-f
6+
RewriteCond %{REQUEST_FILENAME} !-d
7+
RewriteRule . /index.php [L]

CB-worker.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ self.addEventListener("install", evt => {
1212
// (A2) ICONS + IMAGES
1313
"assets/ico-512.png",
1414
"assets/favicon.png",
15-
"assets/login.jpg",
16-
"assets/forgot.jpg",
15+
"assets/login.webp",
16+
"assets/forgot.webp",
1717
// (A3) COMMON INTERFACE
1818
"assets/PAGE-cb.js",
1919
"assets/CB-selector.css",

README.md

Lines changed: 0 additions & 61 deletions
This file was deleted.

assets/.htaccess

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Options -Indexes

assets/A-users-import.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var uimport = {
2222
// (B2) READ SELECTED FILE
2323
let reader = new FileReader(),
2424
vMail = new RegExp("[a-z0-9]+@[a-z]+\.[a-z]{2,3}"),
25-
vRoles = ["A", "T", "S", "I"],
25+
vLvl = ["A", "T", "S", "I"],
2626
csv = hFile.files[0], row, col, err, valid = false;
2727

2828
reader.addEventListener("loadend", () => { try {
@@ -41,7 +41,7 @@ var uimport = {
4141
row.appendChild(col);
4242
}
4343
if (err==null && !vMail.test(r[1])) { err = "Invalid Email"; }
44-
if (err==null && !vRoles.includes(r[2])) { err = "Invalid Role"; }
44+
if (err==null && !vLvl.includes(r[2])) { err = "Invalid Level"; }
4545
if (err==null && !cb.checker(r[3])) { err = "Invalid Password"; }
4646
col = document.createElement("td");
4747
col.innerHTML = err==null ? "" : err;
@@ -87,7 +87,7 @@ var uimport = {
8787
data : {
8888
name : col[0].innerHTML,
8989
email : col[1].innerHTML,
90-
role : col[2].innerHTML,
90+
lvl : col[2].innerHTML,
9191
password : col[3].innerHTML
9292
},
9393
onpass : () => {

assets/A-users.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ var usr = {
22
// (A) SHOW ALL USERS
33
pg : 1, // current page
44
find : "", // current search
5-
role : "", // current role
5+
lvl : "", // current level
66
list : silent => {
77
if (silent!==true) { cb.page(0); }
88
cb.load({
@@ -11,7 +11,7 @@ var usr = {
1111
data : {
1212
page : usr.pg,
1313
search : usr.find,
14-
role : usr.role
14+
lvl : usr.lvl
1515
}
1616
});
1717
},
@@ -26,7 +26,7 @@ var usr = {
2626
// (C) SEARCH USER
2727
search : () => {
2828
usr.find = document.getElementById("user-search").value;
29-
usr.role = document.getElementById("user-search-role").value;
29+
usr.lvl = document.getElementById("user-search-lvl").value;
3030
usr.pg = 1;
3131
usr.list();
3232
return false;
@@ -47,7 +47,7 @@ var usr = {
4747
var data = {
4848
name : document.getElementById("user_name").value,
4949
email : document.getElementById("user_email").value,
50-
role : document.getElementById("user_role").value,
50+
lvl : document.getElementById("user_level").value,
5151
password : document.getElementById("user_password").value
5252
};
5353
var id = document.getElementById("user_id").value;

assets/forgot.webp

4.96 KB
Loading

assets/head-iwh.webp

12.5 KB
Loading

assets/login.webp

11.1 KB
Loading

lib/API-attendance.php

Lines changed: 14 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,18 @@
11
<?php
2-
// (A) CHECKS
3-
// (A1) ADMIN & TEACHERS ONLY
4-
function checkAT () {
5-
global $_SESS; global $_CORE;
6-
if (!isset($_SESS["user"]) || ($_SESS["user"]["user_role"]!="A" && $_SESS["user"]["user_role"]!="T")) {
7-
$_CORE->respond(0, "No permission or session expired", null, null, 403);
8-
}
2+
// (A) STUDENTS ONLY - ATTENDANCE VIA QR CODE
3+
if ($_CORE->Route->act == "attendQR") {
4+
$_CORE->ucheck("S");
5+
$_POST["uid"] = $_SESSION["user"]["user_id"];
6+
$_CORE->autoAPI("Classes", "attendQR");
97
}
108

11-
// (A2) STUDENT ONLY
12-
function checkS () {
13-
global $_SESS; global $_CORE;
14-
if (!isset($_SESS["user"]) || $_SESS["user"]["user_role"]!="S") {
15-
$_CORE->respond(0, "No permission or session expired", null, null, 403);
16-
}
17-
}
18-
19-
switch ($_REQ) {
20-
// (B) INVALID REQUEST
21-
default:
22-
$_CORE->respond(0, "Invalid request", null, null, 400);
23-
break;
24-
25-
// (C) SET ATTENDANCE (SINGLE)
26-
case "attend":
27-
checkAT();
28-
$_CORE->autoAPI("Classes", "attend");
29-
break;
30-
31-
// (D) REMOVE ATTENDANCE (SINGLE)
32-
case "absent":
33-
checkAT();
34-
$_CORE->autoAPI("Classes", "absent");
35-
break;
36-
37-
// (E) SAVE ATTENDANCE (FOR CLASS)
38-
case "save":
39-
checkAT();
40-
$_CORE->autoAPI("Classes", "attendance");
41-
break;
9+
// (B) API ENDPOINTS - ADMIN & TEACHERS ONLY
10+
$_CORE->ucheck(["A", "T"]);
11+
$_CORE->autoAPI([
12+
"attend" => ["Classes", "attend"],
13+
"absent" => ["Classes", "absent"],
14+
"save" => ["Classes", "attendance"]
15+
]);
4216

43-
// (F) ATTENDANCE VIA QR CODE
44-
case "attendQR":
45-
checkS();
46-
$_POST["uid"] = $_SESS["user"]["user_id"];
47-
$_CORE->autoAPI("Classes", "attendQR");
48-
break;
49-
}
17+
// (C) INVALID REQUEST
18+
$_CORE->respond(0, "Invalid request", null, null, 400);

0 commit comments

Comments
 (0)