mirror of
https://github.com/Karaka-Management/oms-OnlineResourceWatcher.git
synced 2026-02-16 16:08:40 +00:00
update structure
This commit is contained in:
parent
d1ecaa138b
commit
e04f1c06c2
3
.gitmodules
vendored
3
.gitmodules
vendored
|
|
@ -4,3 +4,6 @@
|
||||||
[submodule "app/web/phpOMS"]
|
[submodule "app/web/phpOMS"]
|
||||||
path = app/web/phpOMS
|
path = app/web/phpOMS
|
||||||
url = https://github.com/Karaka-Management/phpOMS.git
|
url = https://github.com/Karaka-Management/phpOMS.git
|
||||||
|
[submodule "app/web/Resources"]
|
||||||
|
path = app/web/Resources
|
||||||
|
url = https://github.com/Karaka-Management/Resources.git
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,2 +0,0 @@
|
||||||
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.33.31629:TargetPlatformVersion=10.0.19041.0:
|
|
||||||
Debug|x64|C:\Users\deich\git\OnlineResourceWatcherApp\app\server\|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,3 +0,0 @@
|
||||||
c:\users\deich\git\onlineresourcewatcherapp\app\server\x64\debug\vc143.idb
|
|
||||||
c:\users\deich\git\onlineresourcewatcherapp\app\server\x64\debug\vc143.pdb
|
|
||||||
c:\users\deich\git\onlineresourcewatcherapp\app\server\x64\debug\onlinere.e4833a04.tlog\cl.command.1.tlog
|
|
||||||
Binary file not shown.
|
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project>
|
|
||||||
<ProjectOutputs>
|
|
||||||
<ProjectOutput>
|
|
||||||
<FullPath>C:\Users\deich\git\OnlineResourceWatcherApp\app\server\x64\Debug\OnlineResourceWatcherServerApp.exe</FullPath>
|
|
||||||
</ProjectOutput>
|
|
||||||
</ProjectOutputs>
|
|
||||||
<ContentFiles />
|
|
||||||
<SatelliteDlls />
|
|
||||||
<NonRecipeFileRefs />
|
|
||||||
</Project>
|
|
||||||
Binary file not shown.
|
|
@ -1 +0,0 @@
|
||||||
OnlineResourceWatcherServerApp.vcxproj -> C:\Users\deich\git\OnlineResourceWatcherApp\app\server\x64\Debug\OnlineResourceWatcherServerApp.exe
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1 +0,0 @@
|
||||||
C:\Users\deich\git\OnlineResourceWatcherApp\app\server\x64\Debug\OnlineResourceWatcherServerApp.exe
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
x64\Debug\\_IsIncrementalBuild
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
10
app/web/Application.php
Normal file
10
app/web/Application.php
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
class Application
|
||||||
|
{
|
||||||
|
public function run() : string
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Controllers;
|
||||||
|
|
||||||
|
class ApiController
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Controllers;
|
||||||
|
|
||||||
|
class FrontController
|
||||||
|
{
|
||||||
|
}
|
||||||
12
app/web/Install/Installer.php
Normal file
12
app/web/Install/Installer.php
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Install;
|
||||||
|
|
||||||
|
class Install
|
||||||
|
{
|
||||||
|
private function installDB()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
513
app/web/Install/db.json
Normal file
513
app/web/Install/db.json
Normal file
|
|
@ -0,0 +1,513 @@
|
||||||
|
{
|
||||||
|
"country": {
|
||||||
|
"name": "country",
|
||||||
|
"fields": {
|
||||||
|
"country_id": {
|
||||||
|
"name": "country_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"country_name": {
|
||||||
|
"name": "country_name",
|
||||||
|
"type": "VARCHAR(100)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"country_code2": {
|
||||||
|
"name": "country_code2",
|
||||||
|
"type": "VARCHAR(2)",
|
||||||
|
"null": false,
|
||||||
|
"unique": true
|
||||||
|
},
|
||||||
|
"country_code3": {
|
||||||
|
"name": "country_code3",
|
||||||
|
"type": "VARCHAR(3)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"country_numeric": {
|
||||||
|
"name": "country_numeric",
|
||||||
|
"type": "INT(11)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"country_region": {
|
||||||
|
"name": "country_region",
|
||||||
|
"type": "VARCHAR(15)",
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"country_developed": {
|
||||||
|
"name": "country_developed",
|
||||||
|
"type": "TINYINT",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"address": {
|
||||||
|
"name": "address",
|
||||||
|
"fields": {
|
||||||
|
"address_id": {
|
||||||
|
"name": "address_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"address_name": {
|
||||||
|
"name": "address_name",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"address_addition": {
|
||||||
|
"name": "address_addition",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"address_address": {
|
||||||
|
"name": "address_address",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"address_postal": {
|
||||||
|
"name": "address_postal",
|
||||||
|
"type": "VARCHAR(30)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"address_state": {
|
||||||
|
"name": "address_state",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": true,
|
||||||
|
"default": null
|
||||||
|
},
|
||||||
|
"address_city": {
|
||||||
|
"name": "address_city",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"address_country": {
|
||||||
|
"name": "address_country",
|
||||||
|
"type": "VARCHAR(2)",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "country",
|
||||||
|
"foreignKey": "country_code2"
|
||||||
|
},
|
||||||
|
"address_type": {
|
||||||
|
"name": "address_type",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org": {
|
||||||
|
"name": "org",
|
||||||
|
"fields": {
|
||||||
|
"org_id": {
|
||||||
|
"name": "org_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"org_status": {
|
||||||
|
"name": "org_status",
|
||||||
|
"type": "TINYINT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"org_name1": {
|
||||||
|
"name": "org_name1",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false,
|
||||||
|
"annotations": {
|
||||||
|
"gdpr": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org_name2": {
|
||||||
|
"name": "org_name2",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false,
|
||||||
|
"annotations": {
|
||||||
|
"gdpr": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org_name3": {
|
||||||
|
"name": "org_name3",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false,
|
||||||
|
"annotations": {
|
||||||
|
"gdpr": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org_filesize_limit": {
|
||||||
|
"name": "org_filesize_limit",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"org_resource_limit": {
|
||||||
|
"name": "org_resource_limit",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"org_resource_pricing": {
|
||||||
|
"name": "org_resource_pricing",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"org_created_at": {
|
||||||
|
"name": "org_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org_addressrel": {
|
||||||
|
"name": "org_addressrel",
|
||||||
|
"fields": {
|
||||||
|
"org_addressrel_id": {
|
||||||
|
"name": "org_addressrel_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"org_addressrel_org": {
|
||||||
|
"name": "org_addressrel_org",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"foreignTable": "org",
|
||||||
|
"foreignKey": "org_id"
|
||||||
|
},
|
||||||
|
"org_addressrel_address": {
|
||||||
|
"name": "org_addressrel_address",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"foreignTable": "address",
|
||||||
|
"foreignKey": "address_id"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"account": {
|
||||||
|
"name": "account",
|
||||||
|
"fields": {
|
||||||
|
"account_id": {
|
||||||
|
"name": "account_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"account_status": {
|
||||||
|
"name": "account_status",
|
||||||
|
"type": "TINYINT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"account_login": {
|
||||||
|
"name": "account_login",
|
||||||
|
"type": "VARCHAR(50)",
|
||||||
|
"default": null,
|
||||||
|
"null": true,
|
||||||
|
"unique": true
|
||||||
|
},
|
||||||
|
"account_password": {
|
||||||
|
"name": "account_password",
|
||||||
|
"type": "VARCHAR(64)",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"account_reset_hash": {
|
||||||
|
"name": "account_reset_hash",
|
||||||
|
"type": "VARCHAR(64)",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"account_email": {
|
||||||
|
"name": "account_email",
|
||||||
|
"type": "VARCHAR(70)",
|
||||||
|
"null": false,
|
||||||
|
"annotations": {
|
||||||
|
"gdpr": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"account_tries": {
|
||||||
|
"name": "account_tries",
|
||||||
|
"type": "TINYINT",
|
||||||
|
"null": false,
|
||||||
|
"default": 0
|
||||||
|
},
|
||||||
|
"account_lang": {
|
||||||
|
"name": "account_lang",
|
||||||
|
"type": "VARCHAR(2)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"account_org": {
|
||||||
|
"name": "account_org",
|
||||||
|
"type": "INT",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "org",
|
||||||
|
"foreignKey": "org_id"
|
||||||
|
},
|
||||||
|
"account_created_at": {
|
||||||
|
"name": "account_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"org_bill": {
|
||||||
|
"name": "org_bill",
|
||||||
|
"fields": {
|
||||||
|
"org_bill_id": {
|
||||||
|
"name": "org_bill_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"org_bill_path": {
|
||||||
|
"name": "org_bill_path",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"org_bill_org": {
|
||||||
|
"name": "org_bill_org",
|
||||||
|
"type": "INT",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "org",
|
||||||
|
"foreignKey": "org_id"
|
||||||
|
},
|
||||||
|
"org_bill_created_at": {
|
||||||
|
"name": "org_bill_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource": {
|
||||||
|
"name": "resource",
|
||||||
|
"fields": {
|
||||||
|
"resource_id": {
|
||||||
|
"name": "resource_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"resource_status": {
|
||||||
|
"name": "resource_status",
|
||||||
|
"type": "TINYINT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_uri": {
|
||||||
|
"name": "resource_uri",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_hash": {
|
||||||
|
"name": "resource_hash",
|
||||||
|
"type": "BLOB(64)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_last_version_path": {
|
||||||
|
"name": "resource_last_version_path",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_last_version_date": {
|
||||||
|
"name": "resource_last_version_date",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_checked_at": {
|
||||||
|
"name": "resource_checked_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_org": {
|
||||||
|
"name": "resource_org",
|
||||||
|
"type": "INT",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "org",
|
||||||
|
"foreignKey": "org_id"
|
||||||
|
},
|
||||||
|
"resource_created_at": {
|
||||||
|
"name": "resource_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource_check": {
|
||||||
|
"name": "resource_check",
|
||||||
|
"fields": {
|
||||||
|
"resource_check_id": {
|
||||||
|
"name": "resource_check_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"resource_check_status": {
|
||||||
|
"name": "resource_check_status",
|
||||||
|
"type": "TINYINT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_check_change": {
|
||||||
|
"name": "resource_check_change",
|
||||||
|
"type": "TEXT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_check_created_at": {
|
||||||
|
"name": "resource_check_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"resource_check_resource": {
|
||||||
|
"name": "resource_check_resource",
|
||||||
|
"type": "INT",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "resource",
|
||||||
|
"foreignKey": "resource_id"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource_info": {
|
||||||
|
"name": "resource_info",
|
||||||
|
"fields": {
|
||||||
|
"resource_info_id": {
|
||||||
|
"name": "resource_info_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"resource_info_mail": {
|
||||||
|
"name": "resource_info_mail",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"annotations": {
|
||||||
|
"gdpr": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource_info_account": {
|
||||||
|
"name": "resource_info_account",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "account",
|
||||||
|
"foreignKey": "account_id"
|
||||||
|
},
|
||||||
|
"resource_info_resource": {
|
||||||
|
"name": "resource_info_resource",
|
||||||
|
"type": "INT",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"foreignTable": "resource",
|
||||||
|
"foreignKey": "resource_id"
|
||||||
|
},
|
||||||
|
"resource_check_created_at": {
|
||||||
|
"name": "resource_check_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource_blacklist": {
|
||||||
|
"name": "resource_blacklist",
|
||||||
|
"fields": {
|
||||||
|
"resource_blacklist_id": {
|
||||||
|
"name": "resource_blacklist_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"resource_blacklist_mail": {
|
||||||
|
"name": "resource_blacklist_mail",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": true,
|
||||||
|
"default": null,
|
||||||
|
"annotations": {
|
||||||
|
"gdpr": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resource_blacklist_created_at": {
|
||||||
|
"name": "resource_blacklist_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"auditor_audit": {
|
||||||
|
"name": "auditor_audit",
|
||||||
|
"fields": {
|
||||||
|
"auditor_audit_id": {
|
||||||
|
"name": "auditor_audit_id",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"primary": true,
|
||||||
|
"autoincrement": true
|
||||||
|
},
|
||||||
|
"auditor_audit_module": {
|
||||||
|
"name": "auditor_audit_module",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"auditor_audit_ref": {
|
||||||
|
"name": "auditor_audit_ref",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"auditor_audit_type": {
|
||||||
|
"name": "auditor_audit_type",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"auditor_audit_trigger": {
|
||||||
|
"name": "auditor_audit_trigger",
|
||||||
|
"type": "VARCHAR(255)",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"auditor_audit_content": {
|
||||||
|
"name": "auditor_audit_content",
|
||||||
|
"type": "TEXT",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"auditor_audit_old": {
|
||||||
|
"name": "auditor_audit_old",
|
||||||
|
"type": "BLOB",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"auditor_audit_new": {
|
||||||
|
"name": "auditor_audit_new",
|
||||||
|
"type": "BLOB",
|
||||||
|
"default": null,
|
||||||
|
"null": true
|
||||||
|
},
|
||||||
|
"auditor_audit_created_at": {
|
||||||
|
"name": "auditor_audit_created_at",
|
||||||
|
"type": "DATETIME",
|
||||||
|
"null": false
|
||||||
|
},
|
||||||
|
"auditor_audit_created_by": {
|
||||||
|
"name": "auditor_audit_created_by",
|
||||||
|
"type": "INT",
|
||||||
|
"null": false,
|
||||||
|
"foreignTable": "account",
|
||||||
|
"foreignKey": "account_id"
|
||||||
|
},
|
||||||
|
"auditor_audit_ip": {
|
||||||
|
"name": "auditor_audit_ip",
|
||||||
|
"type": "BIGINT(20)",
|
||||||
|
"null": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
\ob_start();
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../phpOMS/Autoloader.php';
|
||||||
|
|
||||||
|
$App = new \Application();
|
||||||
|
echo $App->run();
|
||||||
|
|
||||||
|
if (\ob_get_level() > 0) {
|
||||||
|
\ob_end_flush();
|
||||||
|
}
|
||||||
407
app/web/Install/index.tpl.php
Normal file
407
app/web/Install/index.tpl.php
Normal file
|
|
@ -0,0 +1,407 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Karaka
|
||||||
|
*
|
||||||
|
* PHP Version 8.1
|
||||||
|
*
|
||||||
|
* @package Template
|
||||||
|
* @copyright Dennis Eichhorn
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link https://karaka.app
|
||||||
|
*/
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
/** @var \phpOMS\Views\View $this View */?><!DOCTYPE HTML>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<link rel="stylesheet" type="text/css" href="styles.css">
|
||||||
|
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
|
||||||
|
<script src="../jsOMS/Utils/oLib.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<div id="page-1" class="page">
|
||||||
|
<section>
|
||||||
|
<img alt="Logo" src="img/logo.png" class="logo" width="50">
|
||||||
|
<h1>Welcome</h1>
|
||||||
|
<div>
|
||||||
|
<p>Karaka is a WebApp written in PHP and JavaScript supporting various database
|
||||||
|
and caching technologies. Many modules/extensions provide functionality for businesses,
|
||||||
|
education facilities, healthcare facilities and organizations in general.<p>
|
||||||
|
|
||||||
|
<p>In the following pages you'll be guided through the installation process for the WebApp.
|
||||||
|
Most of the customization can be done after installation such as configuring localization,
|
||||||
|
installing additional modules, creating organization etc.</p>
|
||||||
|
|
||||||
|
<p>In case you don't want to use this web installation tool you can also use the console
|
||||||
|
installation tool. Just navigate in your shell to the install directory and then into
|
||||||
|
Console the subdirectory. There you simply run the install script and are good to go.</p>
|
||||||
|
|
||||||
|
<p>In case you encounter any problems during the installation process please feel free to
|
||||||
|
ask for help on our website or contact our support email at
|
||||||
|
<strong>test.email@karaka.de</strong></p>
|
||||||
|
|
||||||
|
<p><button class="next">Next</button></p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div id="page-2" class="page">
|
||||||
|
<section>
|
||||||
|
<img alt="Logo" src="img/logo.png" class="logo" width="50">
|
||||||
|
<h1>License & User Agreement</h1>
|
||||||
|
<div>
|
||||||
|
<p>Upon clicking Agree you agree with the following license agreement.</p>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<p>The OMS License 1.0</p>
|
||||||
|
|
||||||
|
<p>Copyright (c) <Dennis Eichhorn> All Rights Reserved</p>
|
||||||
|
|
||||||
|
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<p><button class="prev">Previous</button><button class="next">Agree</button></p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div id="page-3" class="page">
|
||||||
|
<section>
|
||||||
|
<img alt="Logo" src="img/logo.png" class="logo" width="50">
|
||||||
|
<h1>Pre-installation check</h1>
|
||||||
|
<div>
|
||||||
|
<p>The following checks show if your environment supports the necessary requirements of the WebApp.</p>
|
||||||
|
|
||||||
|
<p>Right next to the check status you can see the type of the requirement. Anything crictial will
|
||||||
|
prevent you from installing the WebApp and must be fixed. Medium indicates that some important features
|
||||||
|
are not available but the WebApp can be still installed. Optional means that only minor features are not
|
||||||
|
available.</p>
|
||||||
|
|
||||||
|
<p>All non critical elements can be fixed after installation if you find yourself in need of one of the
|
||||||
|
features. All critical elements must be fixed before you can continue with the installation.</p>
|
||||||
|
|
||||||
|
<p>For help please check our <a href="https://karaka.app">Installation Guide</a>.</p>
|
||||||
|
<?php $isOK = \version_compare('8.0.0', \PHP_VERSION) < 1 && \extension_loaded('pdo'); ?>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Status
|
||||||
|
<th>Type
|
||||||
|
<th>Requirement
|
||||||
|
<th>Your Environment
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \version_compare('8.0.0', \PHP_VERSION) < 1 ? 'OK' : 'FAILED'; ?>"><?= \version_compare('8.0.0', \PHP_VERSION) < 1 ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Critcal
|
||||||
|
<td>PHP version >= 8.0.0
|
||||||
|
<td><?= \PHP_VERSION; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= ($filePerm = \is_writable(__DIR__ . '/../Install')
|
||||||
|
&& \is_writable(__DIR__ . '/../Modules')
|
||||||
|
&& \is_writable(__DIR__ . '/../Modules/Media/Files')
|
||||||
|
&& \is_writable(__DIR__ . '/../Web')
|
||||||
|
&& \is_writable(__DIR__ . '/../Console')) ? 'OK' : 'FAILED'; ?>">
|
||||||
|
<?= $filePerm ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Critcal
|
||||||
|
<td><strong>File permissions <?php if ($filePerm) : ?><?php else : ?>(<span class="FAILED">write permissions required!</span>)<?php endif; ?></strong>
|
||||||
|
<td>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<td>Critcal
|
||||||
|
<td>/Install
|
||||||
|
<td class="<?= \is_writable(__DIR__ . '/../Install') ? 'OK' : 'FAILED'; ?>"><?= \decoct(\fileperms(__DIR__ . '/../Install') & 0777); ?>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<td>Critcal
|
||||||
|
<td>/Modules
|
||||||
|
<td class="<?= \is_writable(__DIR__ . '/../Modules') ? 'OK' : 'FAILED'; ?>"><?= \decoct(\fileperms(__DIR__ . '/../Modules') & 0777); ?>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<td>Critcal
|
||||||
|
<td>/Modules
|
||||||
|
<td class="<?= \is_writable(__DIR__ . '/../Modules/Media/Files') ? 'OK' : 'FAILED'; ?>"><?= \decoct(\fileperms(__DIR__ . '/../Modules/Media/Files') & 0777); ?>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<td>Critcal
|
||||||
|
<td>/Web
|
||||||
|
<td class="<?= \is_writable(__DIR__ . '/../Web') ? 'OK' : 'FAILED'; ?>"><?= \decoct(\fileperms(__DIR__ . '/../Web') & 0777); ?>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<td>Critcal
|
||||||
|
<td>/Console
|
||||||
|
<td class="<?= \is_writable(__DIR__ . '/../Console') ? 'OK' : 'FAILED'; ?>"><?= \decoct(\fileperms(__DIR__ . '/../Console') & 0777); ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('pdo') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('pdo') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Critcal
|
||||||
|
<td>PDO database extension for PHP
|
||||||
|
<td><?= \extension_loaded('pdo') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('imap') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('imap') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Medium
|
||||||
|
<td>IMAP extension for PHP
|
||||||
|
<td><?= \extension_loaded('imap') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('curl') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('curl') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Medium
|
||||||
|
<td>cUrl extension for PHP
|
||||||
|
<td><?= \extension_loaded('curl') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('ftp') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('ftp') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Medium
|
||||||
|
<td>FTP extension for PHP
|
||||||
|
<td><?= \extension_loaded('ftp') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('dom') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('dom') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Medium
|
||||||
|
<td>Dom extension for PHP
|
||||||
|
<td><?= \extension_loaded('dom') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('xml') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('xml') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Medium
|
||||||
|
<td>Xml extension for PHP
|
||||||
|
<td><?= \extension_loaded('xml') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('bcmath') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('bcmath') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Medium
|
||||||
|
<td>BCMath extension for PHP
|
||||||
|
<td><?= \extension_loaded('bcmath') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('mbstring') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('mbstring') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Optional
|
||||||
|
<td>Multibyte extension (mbstring) for PHP for international characters (e.g. chinese, russian)
|
||||||
|
<td><?= \extension_loaded('mbstring') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('zip') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('zip') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Optional
|
||||||
|
<td>Zip extension for PHP
|
||||||
|
<td><?= \extension_loaded('zip') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('zlib') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('zlib') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Optional
|
||||||
|
<td>Zlib extension for PHP
|
||||||
|
<td><?= \extension_loaded('zlib') ? 'Available' : 'Not installed'; ?>
|
||||||
|
<tr>
|
||||||
|
<td class="<?= \extension_loaded('gd') ? 'OK' : 'FAILED'; ?>"><?= \extension_loaded('gd') ? 'OK' : 'FAILED'; ?>
|
||||||
|
<td>Optional
|
||||||
|
<td>Gd extension for PHP
|
||||||
|
<td><?= \extension_loaded('gd') ? 'Available' : 'Not installed'; ?>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<p><strong>Tip:</strong> Many PHP extension just need to be activated in your php.ini file located
|
||||||
|
at <?= \php_ini_loaded_file(); ?>. Reload the installation in your browser after making any adjustments.</p>
|
||||||
|
|
||||||
|
<p><button class="prev">Previous</button><button class="next"<?= !$isOK ? ' disabled' : '';?>>Next</button></p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div id="page-4" class="page">
|
||||||
|
<section>
|
||||||
|
<img alt="Logo" src="img/logo.png" class="logo" width="50">
|
||||||
|
<h1>Database</h1>
|
||||||
|
<div>
|
||||||
|
<p>Please create a database this WebApp can use and configure every field.</p>
|
||||||
|
|
||||||
|
<form id="installForm" name="installForm" method="put" action="<?= $this->request->uri->__toString(); ?>">
|
||||||
|
<ul>
|
||||||
|
<li><label for="iDbHost">Address</label>
|
||||||
|
<li><input id="iDbHost" name="dbhost" type="text" value="127.0.0.1" required>
|
||||||
|
<li><label for="iDbType">Type</label>
|
||||||
|
<li><select id="iDbType" name="dbtype">
|
||||||
|
<option value="mysql" selected>MySQL
|
||||||
|
<option value="postgresql">PostgreSQL
|
||||||
|
<option value="mssql">MSSQL
|
||||||
|
</select>
|
||||||
|
<li><label for="iDbPort">Port</label>
|
||||||
|
<li><input id="iDbPort" name="dbport" type="number" value="3306" required>
|
||||||
|
<li><label for="iDbName">Database</label>
|
||||||
|
<li><strong class="FAILED">Please make sure that you have created this database. Please also make sure that this database is empty!</strong>
|
||||||
|
<li><input id="iDbName" name="dbname" type="text" value="oms" required>
|
||||||
|
</ul>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<h2>Users</h2>
|
||||||
|
|
||||||
|
<p>This WebApp uses different database users for different tasks. This way permissions can be
|
||||||
|
managed in a batter way which also helps to improve the security. You can use always the same
|
||||||
|
user and give that user the necessary permissions, this however is not advised. Please make
|
||||||
|
sure every user only has the necessary permissions assigned.</p>
|
||||||
|
|
||||||
|
<h3>Schema</h3>
|
||||||
|
|
||||||
|
<p>The schema user is responsible for modifying the database structure and is only used during
|
||||||
|
the installation and potentially during updates if the database needs to be modified.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><label for="iSchemaUser">User</label>
|
||||||
|
<li><input id="iSchemaUser" name="schemauser" type="text" form="installForm" required>
|
||||||
|
<li><label for="iSchemaPassword">Password</label>
|
||||||
|
<li><input id="iSchemaPassword" name="schemapassword" type="password" form="installForm">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Create</h3>
|
||||||
|
|
||||||
|
<p>The create user is only used by the API for creating new database entries.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><label for="iCreateUser">User</label>
|
||||||
|
<li><input id="iCreateUser" name="createuser" type="text" form="installForm" required>
|
||||||
|
<li><label for="iCreatePassword">Password</label>
|
||||||
|
<li><input id="iCreatePassword" name="createpassword" type="password" form="installForm">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Select</h3>
|
||||||
|
|
||||||
|
<p>The select user is used by every part of the WebApp to read database entries.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><label for="iSelectUser">User</label>
|
||||||
|
<li><input id="iSelectUser" name="selectuser" type="text" form="installForm" required>
|
||||||
|
<li><label for="iSelectPassword">Password</label>
|
||||||
|
<li><input id="iSelectPassword" name="selectpassword" type="password" form="installForm">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Update</h3>
|
||||||
|
|
||||||
|
<p>The update user is only used by the API for updating existing database entries.</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><label for="iUpdateUser">User</label>
|
||||||
|
<li><input id="iUpdateUser" name="updateuser" type="text" form="installForm" required>
|
||||||
|
<li><label for="iUpdatePassword">Password</label>
|
||||||
|
<li><input id="iUpdatePassword" name="updatepassword" type="password" form="installForm">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Delete</h3>
|
||||||
|
|
||||||
|
<p>The delete user is only used by the API for deleting existing database entries. </p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><label for="iDeleteUser">User</label>
|
||||||
|
<li><input id="iDeleteUser" name="deleteuser" type="text" form="installForm" required>
|
||||||
|
<li><label for="iDeletePassword">Password</label>
|
||||||
|
<li><input id="iDeletePassword" name="deletepassword" type="password" form="installForm">
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><button class="prev">Previous</button><button class="next">Next</button></p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div id="page-5" class="page">
|
||||||
|
<section>
|
||||||
|
<img alt="Logo" src="img/logo.png" class="logo" width="50">
|
||||||
|
<h1>Configuration</h1>
|
||||||
|
<div>
|
||||||
|
<p>The following configuration options are general WebApp settings.</p>
|
||||||
|
<ul>
|
||||||
|
<li><label for="iOrgName">Organization Name</label>
|
||||||
|
<li><input id="iOrgName" name="orgname" type="text" value="Karaka" form="installForm" required>
|
||||||
|
<li><label for="iAdminName">Admin Login</label>
|
||||||
|
<li><input id="iAdminName" name="adminname" type="text" value="admin" form="installForm" required>
|
||||||
|
<li><label for="iAdminPassword">Admin Password</label>
|
||||||
|
<li><input id="iAdminPassword" name="adminpassword" type="password" form="installForm" required>
|
||||||
|
<li><label for="iAdminEmail">Admin Email</label>
|
||||||
|
<li><input id="iAdminEmail" name="adminemail" type="email" form="installForm" required>
|
||||||
|
<li><label for="iDomain">Top Level domain</label>
|
||||||
|
<li><input id="iDomain" name="domain" type="text" value="<?= $this->request->uri->host; ?>" form="installForm" placeholder="demo.com" pattern="^((?!(www\.|http)).)*$" required>
|
||||||
|
<li><label for="iWebSubdir">Web Subdirectory</label>
|
||||||
|
<li><input id="iWebSubdir" name="websubdir" type="text" value="/<?= \substr($this->request->uri->getPath(), \stripos($this->request->uri->getPath(), 'Install/') + 8); ?>" form="installForm" required>
|
||||||
|
<li><label for="iDefaultLang">Default Language</label>
|
||||||
|
<li><select id="iDefaultLang" name="defaultlang" form="installForm">
|
||||||
|
<option value="en" selected>English
|
||||||
|
</select>
|
||||||
|
</ul>
|
||||||
|
<p><button class="prev">Previous</button><button class="install" type="submit" form="installForm">Install</button></p>
|
||||||
|
<input id="iApps" name="apps" type="hidden" value="Install/Application/Api, Install/Application/Backend, Install/Application/E404, Install/Application/E500, Install/Application/E503" form="installForm">
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
<div id="page-6" class="page">
|
||||||
|
<section>
|
||||||
|
<img alt="Logo" src="img/logo.png" class="logo" width="50">
|
||||||
|
<h1>Installation</h1>
|
||||||
|
<div>
|
||||||
|
<p>Please wait until the installation finishes. You will be redirected to the backend
|
||||||
|
afterwards.</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
<script type="module">
|
||||||
|
import { ResponseManager } from '../jsOMS/Message/Response/ResponseManager.js';
|
||||||
|
import { EventManager } from '../jsOMS/Event/EventManager.js'
|
||||||
|
import { Form } from '../jsOMS/UI/Component/Form.js'
|
||||||
|
import { redirectMessage } from '../jsOMS/Model/Message/Redirect.js';
|
||||||
|
import { Logger } from '../jsOMS/Log/Logger.js';
|
||||||
|
|
||||||
|
jsOMS.ready(function ()
|
||||||
|
{
|
||||||
|
/* navigation */
|
||||||
|
const nextButtons = Array.prototype.slice.call(document.getElementsByClassName('next')),
|
||||||
|
prevButtons = Array.prototype.slice.call(document.getElementsByClassName('prev')),
|
||||||
|
nextButtonsLength = nextButtons.length,
|
||||||
|
prevButtonsLength = prevButtons.length;
|
||||||
|
|
||||||
|
for (let i = 0; i < nextButtonsLength; ++i) {
|
||||||
|
nextButtons[i].addEventListener('click', function() {
|
||||||
|
let index = nextButtons.indexOf(this);
|
||||||
|
|
||||||
|
document.getElementsByTagName('main')[0].setAttribute(
|
||||||
|
'style',
|
||||||
|
'margin-left: ' + ((index + 1) * -100) + '%;'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
for (let i = 0; i < prevButtonsLength; ++i) {
|
||||||
|
prevButtons[i].addEventListener('click', function() {
|
||||||
|
let index = prevButtons.indexOf(this);
|
||||||
|
|
||||||
|
document.getElementsByTagName('main')[0].setAttribute(
|
||||||
|
'style',
|
||||||
|
'margin-left: ' + (index * -100) + '%;'
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/* setup App */
|
||||||
|
const app = {
|
||||||
|
responseManager: new ResponseManager(),
|
||||||
|
eventManager: new EventManager()
|
||||||
|
};
|
||||||
|
|
||||||
|
app.responseManager.add('redirect', redirectMessage);
|
||||||
|
|
||||||
|
const formManager = new Form(app),
|
||||||
|
logger = Logger.getInstance();
|
||||||
|
|
||||||
|
window.logger = logger;
|
||||||
|
formManager.bind('installForm');
|
||||||
|
formManager.get('installForm').injectSubmit(function(e) {
|
||||||
|
const valid = e.isValid();
|
||||||
|
|
||||||
|
if (valid) {
|
||||||
|
document.getElementsByTagName('main')[0].setAttribute(
|
||||||
|
'style',
|
||||||
|
'margin-left: ' + (5 * -100) + '%;'
|
||||||
|
);
|
||||||
|
|
||||||
|
app.eventManager.trigger(e.id);
|
||||||
|
} else {
|
||||||
|
window.alert('You didn\'t fill out all required configuration fields. Please check your settings also on the previous pages.');
|
||||||
|
}
|
||||||
|
|
||||||
|
return valid;
|
||||||
|
});
|
||||||
|
|
||||||
|
formManager.get('installForm').setSuccess(function(e) {
|
||||||
|
window.location.replace('http://' + document.getElementById('iDomain').value + document.getElementById('iWebSubdir').value + '/backend');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
1
app/web/Resources
Submodule
1
app/web/Resources
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 8caf616b7d25355ab14768c242a1b5d57bfc2f94
|
||||||
15
app/web/Routes.php
Normal file
15
app/web/Routes.php
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
return [
|
||||||
|
'.*?/about' => 'FrontController:aboutView',
|
||||||
|
'.*?/imprint' => 'FrontController:imprintView',
|
||||||
|
'.*?/terms' => 'FrontController:termsView',
|
||||||
|
'.*?/privacy' => 'FrontController:privacyView',
|
||||||
|
'.*?/contact' => 'FrontController:contactView',
|
||||||
|
|
||||||
|
'^/*$' => 'FrontController:frontView',
|
||||||
|
'.*?/login' => 'FrontController:loginView',
|
||||||
|
|
||||||
|
'.*?/api/download' => 'ApiController:downloadView',
|
||||||
|
];
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
html, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, nav, section, iframe, label {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, img, button {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2, h3, h4, h5, h6 {
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
font-weight: 300;
|
||||||
|
}
|
||||||
|
|
||||||
|
input, select, textarea, .textarea, button {
|
||||||
|
box-sizing: border-box;
|
||||||
|
box-shadow: none;
|
||||||
|
-webkit-appearance: none;
|
||||||
|
-moz-appearance: none;
|
||||||
|
appearance: none;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:focus, select:focus, textarea:focus, .textarea:focus, button:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=checkbox] {
|
||||||
|
margin-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button::-moz-focus-inner {
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: separate;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
i {
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
html, body {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
height: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
font-weight: 100;
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background: #fff;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
:root {
|
||||||
|
--main-bg-color: brown;
|
||||||
|
}
|
||||||
8
app/web/humans.txt
Normal file
8
app/web/humans.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
/* TEAM */
|
||||||
|
Location: Frankfurt, Germany
|
||||||
|
Main developers: Dennis Eichhorn
|
||||||
|
|
||||||
|
/* SITE */
|
||||||
|
Last update: 2022
|
||||||
|
Standards: PHP 8.1, HTML5, CSS3, JavaScript
|
||||||
|
Software: Sublime Text, Github, Git, Visual Studio Code
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
\ob_start();
|
||||||
|
|
||||||
|
require_once __DIR__ . '/phpOMS/Autoloader.php';
|
||||||
|
|
||||||
|
$App = new \Application();
|
||||||
|
echo $App->run();
|
||||||
|
|
||||||
|
if (\ob_get_level() > 0) {
|
||||||
|
\ob_end_flush();
|
||||||
|
}
|
||||||
5
app/web/robots.txt
Normal file
5
app/web/robots.txt
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
User-Agent: *
|
||||||
|
Disallow:
|
||||||
|
Disallow: /Controllers
|
||||||
|
Disallow: /Install
|
||||||
|
Disallow: /phpOMS
|
||||||
0
app/web/tpl/backend/password-forgot.tpl.php
Normal file
0
app/web/tpl/backend/password-forgot.tpl.php
Normal file
0
app/web/tpl/backend/password-reset.tpl.php
Normal file
0
app/web/tpl/backend/password-reset.tpl.php
Normal file
0
app/web/tpl/backend/register.tpl.php
Normal file
0
app/web/tpl/backend/register.tpl.php
Normal file
0
app/web/tpl/backend/resource-list.tpl.php
Normal file
0
app/web/tpl/backend/resource-list.tpl.php
Normal file
0
app/web/tpl/backend/resource-profile.tpl.php
Normal file
0
app/web/tpl/backend/resource-profile.tpl.php
Normal file
0
app/web/tpl/index.tpl.php
Normal file
0
app/web/tpl/index.tpl.php
Normal file
0
app/web/tpl/landing/landing.de.tpl.php
Normal file
0
app/web/tpl/landing/landing.de.tpl.php
Normal file
0
app/web/tpl/landing/landing.en.tpl.php
Normal file
0
app/web/tpl/landing/landing.en.tpl.php
Normal file
0
app/web/tpl/landing/pricing.de.tpl.php
Normal file
0
app/web/tpl/landing/pricing.de.tpl.php
Normal file
0
app/web/tpl/landing/pricing.en.tpl.php
Normal file
0
app/web/tpl/landing/pricing.en.tpl.php
Normal file
0
app/web/tpl/login.tpl.php
Normal file
0
app/web/tpl/login.tpl.php
Normal file
Loading…
Reference in New Issue
Block a user