From 36434d3efa9666dcfff2c22506e4b3763c977717 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 3 Sep 2017 20:24:57 +0200 Subject: [PATCH] Add auditor module --- Admin/Activate.php | 40 +++++++++ Admin/Deactivate.php | 40 +++++++++ Admin/Install/Navigation.install.json | 33 +++++++ Admin/Install/Navigation.php | 37 ++++++++ Admin/Installer.php | 68 +++++++++++++++ Admin/Routes/Web/Api.php | 6 ++ Admin/Routes/Web/Backend.php | 18 ++++ Admin/Routes/console.php | 3 + Admin/Routes/socket.php | 3 + Admin/Uninstall.php | 39 +++++++++ Admin/Update.php | 42 +++++++++ Controller.js | 0 Controller.php | 102 ++++++++++++++++++++++ Models/Audit.php | 0 Models/AuditMapper.php | 0 README.md | 0 Theme/Backend/Lang/Navigation.en.lang.php | 19 ++++ Theme/Backend/Lang/api.en.lang.php | 15 ++++ Theme/Backend/Lang/en.lang.php | 19 ++++ Theme/Backend/auditor-list.tpl.php | 0 Theme/Backend/autitor-single.tpl.php | 0 info.json | 45 ++++++++++ 22 files changed, 529 insertions(+) create mode 100644 Admin/Activate.php create mode 100644 Admin/Deactivate.php create mode 100644 Admin/Install/Navigation.install.json create mode 100644 Admin/Install/Navigation.php create mode 100644 Admin/Installer.php create mode 100644 Admin/Routes/Web/Api.php create mode 100644 Admin/Routes/Web/Backend.php create mode 100644 Admin/Routes/console.php create mode 100644 Admin/Routes/socket.php create mode 100644 Admin/Uninstall.php create mode 100644 Admin/Update.php create mode 100644 Controller.js create mode 100644 Controller.php create mode 100644 Models/Audit.php create mode 100644 Models/AuditMapper.php create mode 100644 README.md create mode 100644 Theme/Backend/Lang/Navigation.en.lang.php create mode 100644 Theme/Backend/Lang/api.en.lang.php create mode 100644 Theme/Backend/Lang/en.lang.php create mode 100644 Theme/Backend/auditor-list.tpl.php create mode 100644 Theme/Backend/autitor-single.tpl.php create mode 100644 info.json diff --git a/Admin/Activate.php b/Admin/Activate.php new file mode 100644 index 0000000..e5bf0ac --- /dev/null +++ b/Admin/Activate.php @@ -0,0 +1,40 @@ +get('core')->getType()) { + case DatabaseType::MYSQL: + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'auditor_audit` ( + `auditor_audit_id` int(11) NOT NULL AUTO_INCREMENT, + `auditor_audit_module` int(11) NOT NULL, + `auditor_audit_ref` int(11) NOT NULL, + `auditor_audit_type` smallint(3) NOT NULL, + `auditor_audit_subtype` smallint(3) NOT NULL, + `auditor_audit_content` text NOT NULL, + `auditor_audit_old` text NOT NULL, + `auditor_audit_new` text NOT NULL, + `auditor_audit_created_at` datetime NOT NULL, + `auditor_audit_created_by` int(11) NOT NULL, + `auditor_audit_ip` int(11) NOT NULL, + PRIMARY KEY (`auditor_audit_id`), + KEY `auditor_audit_created_by` (`auditor_audit_created_by`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'auditor_audit` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'auditor_audit_ibfk_1` FOREIGN KEY (`auditor_audit_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + break; + } + } +} diff --git a/Admin/Routes/Web/Api.php b/Admin/Routes/Web/Api.php new file mode 100644 index 0000000..ccd7694 --- /dev/null +++ b/Admin/Routes/Web/Api.php @@ -0,0 +1,6 @@ + [ + [ + 'dest' => '\Modules\Auditor\Controller:viewAuditorList', + 'verb' => RouteVerb::GET, + ], + ], + '^.*/backend/admin/auditor/single.*$' => [ + [ + 'dest' => '\Modules\Auditor\Controller:viewAuditorSingle', + 'verb' => RouteVerb::GET, + ], + ], +]; diff --git a/Admin/Routes/console.php b/Admin/Routes/console.php new file mode 100644 index 0000000..1ecbfac --- /dev/null +++ b/Admin/Routes/console.php @@ -0,0 +1,3 @@ +app, $request, $response); + $view->setTemplate('/Modules/Auditor/Theme/Backend/auditor-list'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1005801001, $request, $response)); + + $list = AuditMapper::getNewest(50); + $view->setData('audits', $list); + + return $view; + } + + public function viewAuditorSingle(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/Auditor/Theme/Backend/auditor-single'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1005801001, $request, $response)); + + $list = AuditMapper::get(50); + $view->setData('audits', $list); + + return $view; + } +} diff --git a/Models/Audit.php b/Models/Audit.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/AuditMapper.php b/Models/AuditMapper.php new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/Theme/Backend/Lang/Navigation.en.lang.php b/Theme/Backend/Lang/Navigation.en.lang.php new file mode 100644 index 0000000..a4b23f5 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.en.lang.php @@ -0,0 +1,19 @@ + [ + 'Create' => 'Create', + 'Auditor' => 'Auditor', + 'Audit' => 'Audit', + 'List' => 'List', +]]; diff --git a/Theme/Backend/Lang/api.en.lang.php b/Theme/Backend/Lang/api.en.lang.php new file mode 100644 index 0000000..7c7ce43 --- /dev/null +++ b/Theme/Backend/Lang/api.en.lang.php @@ -0,0 +1,15 @@ + [ +]]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php new file mode 100644 index 0000000..a686b30 --- /dev/null +++ b/Theme/Backend/Lang/en.lang.php @@ -0,0 +1,19 @@ + [ + 'Created' => 'Created', + 'Creator' => 'Creator', + 'Auditor' => 'Auditor', + 'Audit' => 'Audit', +]]; diff --git a/Theme/Backend/auditor-list.tpl.php b/Theme/Backend/auditor-list.tpl.php new file mode 100644 index 0000000..e69de29 diff --git a/Theme/Backend/autitor-single.tpl.php b/Theme/Backend/autitor-single.tpl.php new file mode 100644 index 0000000..e69de29 diff --git a/info.json b/info.json new file mode 100644 index 0000000..a26fb94 --- /dev/null +++ b/info.json @@ -0,0 +1,45 @@ +{ + "name": { + "id": 1006200000, + "internal": "Auditor", + "external": "Auditor" + }, + "category": "Admin", + "version": "1.0.0", + "requirements": { + "phpOMS": "1.0.0", + "phpOMS-db": "1.0.0" + }, + "creator": { + "name": "Orange Management", + "website": "www.spl1nes.com" + }, + "description": "The administration module.", + "directory": "Auditor", + "dependencies": { + "Admin" : "1.0.0" + }, + "providing": { + "Navigation": "*" + }, + "load": [ + { + "pid": [ + "dbc72ec850137bfcf6cb862625c680ae0ee6def2" + ], + "type": 4, + "for": "Content", + "file": "Auditor", + "from": "Auditor" + }, + { + "pid": [ + "754a08ddf8bcb1cf22f310f09206dd783d42f7dd" + ], + "type": 5, + "from": "Auditor", + "for": "Navigation", + "file": "Navigation" + } + ] +}