don't push react dist anymore
This commit is contained in:
parent
cb75e22811
commit
963088e9b8
@ -246,6 +246,8 @@ namespace Core\API\Routes {
|
|||||||
"type" => new StringType("type"),
|
"type" => new StringType("type"),
|
||||||
"target" => new StringType("target", 128),
|
"target" => new StringType("target", 128),
|
||||||
"extra" => new StringType("extra", 64, true, ""),
|
"extra" => new StringType("extra", 64, true, ""),
|
||||||
|
"exact" => new Parameter("exact", Parameter::TYPE_BOOLEAN),
|
||||||
|
"active" => new Parameter("active", Parameter::TYPE_BOOLEAN, true, true),
|
||||||
));
|
));
|
||||||
$this->isPublic = false;
|
$this->isPublic = false;
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,7 @@ class CreateDatabase extends DatabaseScript {
|
|||||||
new DocumentRoute("/login", true, \Core\Documents\Account::class, "account/login.twig"),
|
new DocumentRoute("/login", true, \Core\Documents\Account::class, "account/login.twig"),
|
||||||
new DocumentRoute("/resendConfirmEmail", true, \Core\Documents\Account::class, "account/resend_confirm_email.twig"),
|
new DocumentRoute("/resendConfirmEmail", true, \Core\Documents\Account::class, "account/resend_confirm_email.twig"),
|
||||||
new DocumentRoute("/debug", true, \Core\Documents\Info::class),
|
new DocumentRoute("/debug", true, \Core\Documents\Info::class),
|
||||||
new StaticFileRoute("/static", true, "/static/welcome.html"),
|
new StaticFileRoute("/", true, "/static/welcome.html"),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$queries[] = $sql->createTable("Settings")
|
$queries[] = $sql->createTable("Settings")
|
||||||
|
@ -7,12 +7,9 @@ use Core\Objects\Router\Router;
|
|||||||
|
|
||||||
class Admin extends TemplateDocument {
|
class Admin extends TemplateDocument {
|
||||||
public function __construct(Router $router) {
|
public function __construct(Router $router) {
|
||||||
$user = $router->getContext()->getUser();
|
parent::__construct($router, "admin.twig", []);
|
||||||
$template = $user ? "admin.twig" : "redirect.twig";
|
|
||||||
$params = $user ? [] : ["url" => "/login"];
|
|
||||||
$this->title = "Administration";
|
$this->title = "Administration";
|
||||||
$this->searchable = false;
|
$this->searchable = false;
|
||||||
parent::__construct($router, $template, $params);
|
|
||||||
$this->enableCSP();
|
$this->enableCSP();
|
||||||
$this->addCSPWhitelist("/js/admin-panel/");
|
$this->addCSPWhitelist("/js/admin-panel/");
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,6 @@
|
|||||||
{% block body %}
|
{% block body %}
|
||||||
<noscript>You need Javascript enabled to run this app</noscript>
|
<noscript>You need Javascript enabled to run this app</noscript>
|
||||||
<div type="module" id="admin-panel"></div>
|
<div type="module" id="admin-panel"></div>
|
||||||
<script src="/js/admin-panel/index.js" nonce="{{ site.csp.nonce }}"></script>
|
<script src="/react/dist/admin-panel/index.js" nonce="{{ site.csp.nonce }}"></script>
|
||||||
<link rel="stylesheet" href="/js/admin-panel/index.css" nonce="{{ site.csp.nonce }}"></link>
|
<link rel="stylesheet" href="/react/dist/admin-panel/index.css" nonce="{{ site.csp.nonce }}"></link>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
28
cli.php
28
cli.php
@ -456,7 +456,7 @@ function onRoutes(array $argv) {
|
|||||||
_exit("Error fetching routes: " . $req->getLastError());
|
_exit("Error fetching routes: " . $req->getLastError());
|
||||||
} else {
|
} else {
|
||||||
$routes = $req->getResult()["routes"];
|
$routes = $req->getResult()["routes"];
|
||||||
$head = ["id", "request", "action", "target", "extra", "active", "exact"];
|
$head = ["id", "pattern", "type", "target", "extra", "active", "exact"];
|
||||||
|
|
||||||
// strict boolean
|
// strict boolean
|
||||||
foreach ($routes as &$route) {
|
foreach ($routes as &$route) {
|
||||||
@ -467,14 +467,15 @@ function onRoutes(array $argv) {
|
|||||||
printTable($head, $routes);
|
printTable($head, $routes);
|
||||||
}
|
}
|
||||||
} else if ($action === "add") {
|
} else if ($action === "add") {
|
||||||
if (count($argv) < 6) {
|
if (count($argv) < 7) {
|
||||||
_exit("Usage: cli.php routes add <request> <action> <target> [extra]");
|
_exit("Usage: cli.php routes add <pattern> <type> <target> <exact> [extra]");
|
||||||
}
|
}
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
"request" => $argv[3],
|
"pattern" => $argv[3],
|
||||||
"action" => $argv[4],
|
"type" => $argv[4],
|
||||||
"target" => $argv[5],
|
"target" => $argv[5],
|
||||||
|
"exact" => $argv[6],
|
||||||
"extra" => $argv[7] ?? "",
|
"extra" => $argv[7] ?? "",
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -486,23 +487,23 @@ function onRoutes(array $argv) {
|
|||||||
_exit("Route added successfully");
|
_exit("Route added successfully");
|
||||||
}
|
}
|
||||||
} else if (in_array($action, ["remove","modify","enable","disable"])) {
|
} else if (in_array($action, ["remove","modify","enable","disable"])) {
|
||||||
$uid = $argv[3] ?? null;
|
$routeId = $argv[3] ?? null;
|
||||||
if ($uid === null || ($action === "modify" && count($argv) < 7)) {
|
if ($routeId === null || ($action === "modify" && count($argv) < 8)) {
|
||||||
if ($action === "modify") {
|
if ($action === "modify") {
|
||||||
_exit("Usage: cli.php routes $action <id> <request> <action> <target> [extra]");
|
_exit("Usage: cli.php routes $action <id> <pattern> <type> <target> <exact> [extra]");
|
||||||
} else {
|
} else {
|
||||||
_exit("Usage: cli.php routes $action <id>");
|
_exit("Usage: cli.php routes $action <id>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$params = ["id" => $uid];
|
$params = ["id" => $routeId];
|
||||||
if ($action === "remove") {
|
if ($action === "remove") {
|
||||||
$input = null;
|
$input = null;
|
||||||
do {
|
do {
|
||||||
if ($input === "n") {
|
if ($input === "n") {
|
||||||
die();
|
die();
|
||||||
}
|
}
|
||||||
echo "Remove route #$uid? (y|n): ";
|
echo "Remove route #$routeId? (y|n): ";
|
||||||
} while(($input = trim(fgets(STDIN))) !== "y");
|
} while(($input = trim(fgets(STDIN))) !== "y");
|
||||||
|
|
||||||
$req = new \Core\API\Routes\Remove($context);
|
$req = new \Core\API\Routes\Remove($context);
|
||||||
@ -512,10 +513,11 @@ function onRoutes(array $argv) {
|
|||||||
$req = new \Core\API\Routes\Disable($context);
|
$req = new \Core\API\Routes\Disable($context);
|
||||||
} else if ($action === "modify") {
|
} else if ($action === "modify") {
|
||||||
$req = new \Core\API\Routes\Update($context);
|
$req = new \Core\API\Routes\Update($context);
|
||||||
$params["request"] = $argv[4];
|
$params["pattern"] = $argv[4];
|
||||||
$params["action"] = $argv[5];
|
$params["type"] = $argv[5];
|
||||||
$params["target"] = $argv[6];
|
$params["target"] = $argv[6];
|
||||||
$params["extra"] = $argv[7] ?? "";
|
$params["exact"] = $argv[7];
|
||||||
|
$params["extra"] = $argv[8] ?? "";
|
||||||
} else {
|
} else {
|
||||||
_exit("Unsupported action");
|
_exit("Unsupported action");
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,12 @@ server {
|
|||||||
rewrite ^(.*)$ /index.php?site=$1;
|
rewrite ^(.*)$ /index.php?site=$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# but allow access to react/dist
|
||||||
|
location ~ ^/react/dist/.*$ {
|
||||||
|
add_header "Cache-Control" "max-age=0; must-revalidate";
|
||||||
|
try_files $uri $uri @redirectToIndex;
|
||||||
|
}
|
||||||
|
|
||||||
# deny access to specific directories
|
# deny access to specific directories
|
||||||
location ~ ^/(files/uploaded|react|docker|Site|Core|test)/.*$ {
|
location ~ ^/(files/uploaded|react|docker|Site|Core|test)/.*$ {
|
||||||
rewrite ^(.*)$ /index.php?site=$1;
|
rewrite ^(.*)$ /index.php?site=$1;
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,2 +0,0 @@
|
|||||||
!function(){function e(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}var t=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}).parcelRequireeec4;t.register("aNQgM",(function(n,r){var o;o=n.exports,Object.defineProperty(o,"__esModule",{value:!0,configurable:!0}),e(n.exports,"default",(function(){return c}));var a=t("lBpE3");t("6cds3");var s=t("1dF7x"),i=t("2eEzJ");function c(e){for(var t=new Date,n=(0,i.default)(t),r=["#ff4444","#ffbb33","#00C851","#33b5e5"];r.length<n;)r=r.concat(r);var o=new Array(n).fill(0);Array.from(Array(n),(function(e,t){return t+1})),format(t,"MMMM");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"content-header",children:(0,a.jsx)("div",{className:"container-fluid",children:(0,a.jsxs)("div",{className:"row mb-2",children:[(0,a.jsx)("div",{className:"col-sm-6",children:(0,a.jsx)("h1",{className:"m-0 text-dark",children:"Dashboard"})}),(0,a.jsx)("div",{className:"col-sm-6",children:(0,a.jsxs)("ol",{className:"breadcrumb float-sm-right",children:[(0,a.jsx)("li",{className:"breadcrumb-item",children:(0,a.jsx)(s.Link,{to:"/admin/dashboard",children:"Home"})}),(0,a.jsx)("li",{className:"breadcrumb-item active",children:"Dashboard"})]})})]})})}),(0,a.jsx)("section",{className:"content"})]})}})),t.register("2eEzJ",(function(n,r){e(n.exports,"default",(function(){return s}));var o=t("18SRp"),a=t("3QBsJ");function s(e){(0,a.default)(1,arguments);var t=(0,o.default)(e),n=t.getFullYear(),r=t.getMonth(),s=new Date(0);return s.setFullYear(n,r+1,0),s.setHours(0,0,0,0),s.getDate()}})),t.register("18SRp",(function(n,r){e(n.exports,"default",(function(){return s}));var o=t("3QBsJ");function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function s(e){(0,o.default)(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"===a(e)&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}})),t.register("3QBsJ",(function(t,n){function r(e,t){if(t.length<e)throw new TypeError(e+" argument"+(e>1?"s":"")+" required, but only "+t.length+" present")}e(t.exports,"default",(function(){return r}))}))}();
|
|
||||||
//# sourceMappingURL=overview.01501b20.js.map
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
react/.gitignore
vendored
1
react/.gitignore
vendored
@ -94,6 +94,7 @@ out
|
|||||||
# Nuxt.js build / generate output
|
# Nuxt.js build / generate output
|
||||||
.nuxt
|
.nuxt
|
||||||
dist
|
dist
|
||||||
|
!dist/.htaccess
|
||||||
|
|
||||||
# Gatsby files
|
# Gatsby files
|
||||||
.cache/
|
.cache/
|
||||||
|
1
react/dist/.htaccess
vendored
Normal file
1
react/dist/.htaccess
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
ALLOW FROM ALL
|
@ -14,7 +14,6 @@
|
|||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "parcel build",
|
"build": "parcel build",
|
||||||
"deploy": "cp -r dist/* ../js/",
|
|
||||||
"clean": "rm -rfd .parcel-cache dist/*"
|
"clean": "rm -rfd .parcel-cache dist/*"
|
||||||
},
|
},
|
||||||
"author": "",
|
"author": "",
|
||||||
|
Loading…
Reference in New Issue
Block a user