From d74244229b48ed31f8baf87ce93e326033ccf505 Mon Sep 17 00:00:00 2001 From: Alexander Ebert Date: Tue, 11 Jul 2017 19:18:14 +0200 Subject: [PATCH] Added basic developer tools (wip) See #2331 --- com.woltlab.wcf/acpMenu.xml | 20 ++ com.woltlab.wcf/option.xml | 39 ++-- constants.php | 1 + .../acp/templates/devtoolsProjectAdd.tpl | 68 ++++++ .../acp/templates/devtoolsProjectList.tpl | 71 +++++++ .../acp/templates/devtoolsProjectSync.tpl | 127 +++++++++++ .../acp/form/DevtoolsProjectAddForm.class.php | 131 ++++++++++++ .../form/DevtoolsProjectEditForm.class.php | 93 ++++++++ .../form/DevtoolsProjectSyncForm.class.php | 69 ++++++ .../page/DevtoolsProjectListPage.class.php | 57 +++++ .../project/DevtoolsProject.class.php | 130 ++++++++++++ .../project/DevtoolsProjectAction.class.php | 22 ++ .../project/DevtoolsProjectEditor.class.php | 23 ++ .../project/DevtoolsProjectList.class.php | 24 +++ .../PackageInstallationPluginAction.class.php | 84 ++++++++ .../application/ApplicationHandler.class.php | 12 +- .../package/DevtoolsPackageArchive.class.php | 21 ++ .../devtools/package/DevtoolsTar.class.php | 32 +++ ...olsPackageInstallationDispatcher.class.php | 30 +++ ...DevtoolsPackageInstallationQueue.class.php | 22 ++ .../system/devtools/pip/DevtoolsPip.class.php | 198 ++++++++++++++++++ ...mpotentPackageInstallationPlugin.class.php | 23 ++ .../PackageInstallationDispatcher.class.php | 4 + ...LOptionPackageInstallationPlugin.class.php | 3 +- ...roviderPackageInstallationPlugin.class.php | 3 +- ...emplatePackageInstallationPlugin.class.php | 3 +- ...actMenuPackageInstallationPlugin.class.php | 3 +- ...tOptionPackageInstallationPlugin.class.php | 3 +- .../BBCodePackageInstallationPlugin.class.php | 3 +- .../BoxPackageInstallationPlugin.class.php | 3 +- ...dActionPackageInstallationPlugin.class.php | 3 +- ...eObjectPackageInstallationPlugin.class.php | 3 +- ...CronjobPackageInstallationPlugin.class.php | 3 +- ...istenerPackageInstallationPlugin.class.php | 3 +- .../FilePackageInstallationPlugin.class.php | 3 +- ...anguagePackageInstallationPlugin.class.php | 3 +- ...enuItemPackageInstallationPlugin.class.php | 3 +- .../MenuPackageInstallationPlugin.class.php | 3 +- ...initionPackageInstallationPlugin.class.php | 3 +- ...ectTypePackageInstallationPlugin.class.php | 3 +- .../OptionPackageInstallationPlugin.class.php | 3 +- .../PIPPackageInstallationPlugin.class.php | 3 +- .../PagePackageInstallationPlugin.class.php | 3 +- .../SmileyPackageInstallationPlugin.class.php | 3 +- ...istenerPackageInstallationPlugin.class.php | 3 +- ...emplatePackageInstallationPlugin.class.php | 3 +- ...pOptionPackageInstallationPlugin.class.php | 3 +- ...onEventPackageInstallationPlugin.class.php | 3 +- ...rOptionPackageInstallationPlugin.class.php | 3 +- ...ileMenuPackageInstallationPlugin.class.php | 3 +- wcfsetup/install/lang/de.xml | 23 ++ wcfsetup/setup/db/install.sql | 7 + 52 files changed, 1364 insertions(+), 48 deletions(-) create mode 100644 wcfsetup/install/files/acp/templates/devtoolsProjectAdd.tpl create mode 100644 wcfsetup/install/files/acp/templates/devtoolsProjectList.tpl create mode 100644 wcfsetup/install/files/acp/templates/devtoolsProjectSync.tpl create mode 100644 wcfsetup/install/files/lib/acp/form/DevtoolsProjectAddForm.class.php create mode 100644 wcfsetup/install/files/lib/acp/form/DevtoolsProjectEditForm.class.php create mode 100644 wcfsetup/install/files/lib/acp/form/DevtoolsProjectSyncForm.class.php create mode 100644 wcfsetup/install/files/lib/acp/page/DevtoolsProjectListPage.class.php create mode 100644 wcfsetup/install/files/lib/data/devtools/project/DevtoolsProject.class.php create mode 100644 wcfsetup/install/files/lib/data/devtools/project/DevtoolsProjectAction.class.php create mode 100644 wcfsetup/install/files/lib/data/devtools/project/DevtoolsProjectEditor.class.php create mode 100644 wcfsetup/install/files/lib/data/devtools/project/DevtoolsProjectList.class.php create mode 100644 wcfsetup/install/files/lib/system/devtools/package/DevtoolsPackageArchive.class.php create mode 100644 wcfsetup/install/files/lib/system/devtools/package/DevtoolsTar.class.php create mode 100644 wcfsetup/install/files/lib/system/devtools/pip/DevtoolsPackageInstallationDispatcher.class.php create mode 100644 wcfsetup/install/files/lib/system/devtools/pip/DevtoolsPackageInstallationQueue.class.php create mode 100644 wcfsetup/install/files/lib/system/devtools/pip/DevtoolsPip.class.php create mode 100644 wcfsetup/install/files/lib/system/devtools/pip/IIdempotentPackageInstallationPlugin.class.php diff --git a/com.woltlab.wcf/acpMenu.xml b/com.woltlab.wcf/acpMenu.xml index a4e2365f7e..13ba392f2e 100644 --- a/com.woltlab.wcf/acpMenu.xml +++ b/com.woltlab.wcf/acpMenu.xml @@ -96,6 +96,26 @@ fa-plus + + + + wcf.acp.menu.link.configuration + 99 + enable_developer_tools + + + + wcf.acp.menu.link.devtools + wcf\acp\page\DevtoolsProjectListPage + admin.configuration.package.canInstallPackage + + + wcf.acp.menu.link.devtools.project.list + wcf\acp\form\DevtoolsProjectAddForm + admin.configuration.package.canInstallPackage + fa-plus + + diff --git a/com.woltlab.wcf/option.xml b/com.woltlab.wcf/option.xml index cd34b70350..a3aaf39649 100644 --- a/com.woltlab.wcf/option.xml +++ b/com.woltlab.wcf/option.xml @@ -21,6 +21,9 @@ module + + module + @@ -282,18 +285,6 @@ 0 - - - - - - + + + +