42 lines
1.0 KiB
PHP
42 lines
1.0 KiB
PHP
<?php
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
if (!isset($baseDir)) {
|
|
$baseDir = $_SERVER['DOCUMENT_ROOT'];
|
|
}
|
|
|
|
require_once $baseDir . '/../scripts/session_functions.php';
|
|
|
|
ini_wkvs_session();
|
|
|
|
check_user_permission('wk_leitung');
|
|
|
|
verify_csrf();
|
|
|
|
if (!isset($_POST['css_content'])) {
|
|
http_response_code(400);
|
|
echo json_encode(['success' => false, 'message' => 'Missing css_content parameter.']);
|
|
exit;
|
|
}
|
|
|
|
$css_content = $_POST['css_content'] ?? '';
|
|
|
|
if (strlen($css_content) > 200000) {
|
|
http_response_code(400);
|
|
echo json_encode(['success' => false, 'message' => 'File size too large.']);
|
|
exit;
|
|
}
|
|
|
|
if (preg_match('/javascript:/i', $css_content) || preg_match('/<script/i', $css_content)) {
|
|
http_response_code(400);
|
|
echo json_encode(['success' => false, 'message' => 'Invalid characters detected.']);
|
|
exit;
|
|
}
|
|
|
|
file_put_contents($baseDir . '/intern/css/user.css', $css_content);
|
|
|
|
http_response_code(200);
|
|
echo json_encode(['success' => true, 'message' => 'CSS saved successfully.']);
|
|
exit;
|