From 7b8f0257e127248e359194071ffbe73b0b490893 Mon Sep 17 00:00:00 2001 From: Maksim Sanin Date: Thu, 18 Jan 2024 17:04:55 +0300 Subject: [PATCH 1/3] Fix filenames processors --- .../processors/mgr/item/{getlist.class.php => getList.class.php} | 0 .../processors/mgr/set/{getlist.class.php => getList.class.php} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename core/components/faqman/processors/mgr/item/{getlist.class.php => getList.class.php} (100%) rename core/components/faqman/processors/mgr/set/{getlist.class.php => getList.class.php} (100%) diff --git a/core/components/faqman/processors/mgr/item/getlist.class.php b/core/components/faqman/processors/mgr/item/getList.class.php similarity index 100% rename from core/components/faqman/processors/mgr/item/getlist.class.php rename to core/components/faqman/processors/mgr/item/getList.class.php diff --git a/core/components/faqman/processors/mgr/set/getlist.class.php b/core/components/faqman/processors/mgr/set/getList.class.php similarity index 100% rename from core/components/faqman/processors/mgr/set/getlist.class.php rename to core/components/faqman/processors/mgr/set/getList.class.php From 196d7d596b486138768be41ad597db5aa1e25053 Mon Sep 17 00:00:00 2001 From: Maksim Sanin Date: Mon, 22 Jan 2024 17:04:55 +0300 Subject: [PATCH 2/3] added composer autoload rename classes --- .gitignore | 8 + _build/build.config.sample.php | 36 -- _build/build.schema.php | 33 +- _build/build.transport.php | 5 +- assets/components/faqman/connector.php | 7 +- assets/components/faqman/css/index.html | 0 assets/components/faqman/index.html | 0 assets/components/faqman/js/index.html | 0 .../faqman/js/mgr/widgets/items.grid.js | 12 +- .../faqman/js/mgr/widgets/sets.grid.js | 14 +- core/components/faqman/bootstrap.php | 13 + core/components/faqman/composer.json | 7 + core/components/faqman/composer.lock | 18 + .../faqman/controllers/index.class.php | 5 +- .../model/schema/faqman.mysql.schema.xml | 11 +- .../faqman/src/Model/faqManItem.php | 22 + .../components/faqman/src/Model/faqManSet.php | 20 + .../faqman/src/Model/metadata.mysql.php | 14 + .../faqman/src/Model/mysql/faqManItem.php | 110 ++++ .../faqman/src/Model/mysql/faqManSet.php | 74 +++ .../Processors/Mgr/Item/Create.php} | 11 +- .../Processors/Mgr/Item/Publish.php} | 10 +- .../Processors/Mgr/Item/Remove.php} | 11 +- .../Processors/Mgr/Item/Sort.php} | 10 +- .../Processors/Mgr/Item/Unpublish.php} | 10 +- .../Processors/Mgr/Item/Update.php} | 9 +- .../Processors/Mgr/Item/getList.php} | 15 +- .../Processors/Mgr/Set/Create.php} | 9 +- .../Processors/Mgr/Set/Publish.php} | 10 +- .../Processors/Mgr/Set/Remove.php} | 11 +- .../Processors/Mgr/Set/Sort.php} | 12 +- .../Processors/Mgr/Set/Unpublish.php} | 10 +- .../Processors/Mgr/Set/Update.php} | 11 +- .../Processors/Mgr/Set/UpdateFromGrid.php} | 7 +- .../Processors/Mgr/Set/getList.php} | 10 +- core/components/faqman/src/faqMan.php | 117 ++++ core/components/faqman/vendor/autoload.php | 25 + .../faqman/vendor/composer/ClassLoader.php | 579 ++++++++++++++++++ .../vendor/composer/InstalledVersions.php | 359 +++++++++++ .../components/faqman/vendor/composer/LICENSE | 21 + .../vendor/composer/autoload_classmap.php | 10 + .../vendor/composer/autoload_namespaces.php | 9 + .../faqman/vendor/composer/autoload_psr4.php | 10 + .../faqman/vendor/composer/autoload_real.php | 36 ++ .../vendor/composer/autoload_static.php | 36 ++ .../faqman/vendor/composer/installed.json | 5 + .../faqman/vendor/composer/installed.php | 23 + 47 files changed, 1646 insertions(+), 149 deletions(-) delete mode 100644 _build/build.config.sample.php delete mode 100644 assets/components/faqman/css/index.html delete mode 100644 assets/components/faqman/index.html delete mode 100644 assets/components/faqman/js/index.html create mode 100644 core/components/faqman/bootstrap.php create mode 100644 core/components/faqman/composer.json create mode 100644 core/components/faqman/composer.lock create mode 100644 core/components/faqman/src/Model/faqManItem.php create mode 100644 core/components/faqman/src/Model/faqManSet.php create mode 100644 core/components/faqman/src/Model/metadata.mysql.php create mode 100644 core/components/faqman/src/Model/mysql/faqManItem.php create mode 100644 core/components/faqman/src/Model/mysql/faqManSet.php rename core/components/faqman/{processors/mgr/item/create.class.php => src/Processors/Mgr/Item/Create.php} (86%) rename core/components/faqman/{processors/mgr/item/publish.class.php => src/Processors/Mgr/Item/Publish.php} (84%) rename core/components/faqman/{processors/mgr/item/remove.class.php => src/Processors/Mgr/Item/Remove.php} (90%) rename core/components/faqman/{processors/mgr/item/sort.class.php => src/Processors/Mgr/Item/Sort.php} (95%) rename core/components/faqman/{processors/mgr/item/unpublish.class.php => src/Processors/Mgr/Item/Unpublish.php} (86%) rename core/components/faqman/{processors/mgr/item/update.class.php => src/Processors/Mgr/Item/Update.php} (83%) rename core/components/faqman/{processors/mgr/item/getList.class.php => src/Processors/Mgr/Item/getList.php} (86%) rename core/components/faqman/{processors/mgr/set/create.class.php => src/Processors/Mgr/Set/Create.php} (87%) rename core/components/faqman/{processors/mgr/set/publish.class.php => src/Processors/Mgr/Set/Publish.php} (84%) rename core/components/faqman/{processors/mgr/set/remove.class.php => src/Processors/Mgr/Set/Remove.php} (83%) rename core/components/faqman/{processors/mgr/set/sort.class.php => src/Processors/Mgr/Set/Sort.php} (93%) rename core/components/faqman/{processors/mgr/set/unpublish.class.php => src/Processors/Mgr/Set/Unpublish.php} (84%) rename core/components/faqman/{processors/mgr/set/update.class.php => src/Processors/Mgr/Set/Update.php} (82%) rename core/components/faqman/{processors/mgr/set/updatefromgrid.class.php => src/Processors/Mgr/Set/UpdateFromGrid.php} (88%) rename core/components/faqman/{processors/mgr/set/getList.class.php => src/Processors/Mgr/Set/getList.php} (84%) create mode 100644 core/components/faqman/src/faqMan.php create mode 100644 core/components/faqman/vendor/autoload.php create mode 100644 core/components/faqman/vendor/composer/ClassLoader.php create mode 100644 core/components/faqman/vendor/composer/InstalledVersions.php create mode 100644 core/components/faqman/vendor/composer/LICENSE create mode 100644 core/components/faqman/vendor/composer/autoload_classmap.php create mode 100644 core/components/faqman/vendor/composer/autoload_namespaces.php create mode 100644 core/components/faqman/vendor/composer/autoload_psr4.php create mode 100644 core/components/faqman/vendor/composer/autoload_real.php create mode 100644 core/components/faqman/vendor/composer/autoload_static.php create mode 100644 core/components/faqman/vendor/composer/installed.json create mode 100644 core/components/faqman/vendor/composer/installed.php diff --git a/.gitignore b/.gitignore index 89d575b..dd154cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,10 @@ _build/build.config.php config.core.php + +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/_build/build.config.sample.php b/_build/build.config.sample.php deleted file mode 100644 index f3e5fd4..0000000 --- a/_build/build.config.sample.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * faqMan is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or (at your option) any later - * version. - * - * faqMan is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - * A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * faqMan; if not, write to the Free Software Foundation, Inc., 59 Temple - * Place, Suite 330, Boston, MA 02111-1307 USA - */ -/** - * Define the MODX path constants necessary for installation - * - * @package faqman - * @subpackage build - */ -define('MODX_BASE_PATH', dirname(dirname(dirname(dirname(__FILE__)))) . '/modx/'); -define('MODX_CORE_PATH', MODX_BASE_PATH . 'core/'); -define('MODX_MANAGER_PATH', MODX_BASE_PATH . 'manager/'); -define('MODX_CONNECTORS_PATH', MODX_BASE_PATH . 'connectors/'); -define('MODX_ASSETS_PATH', MODX_BASE_PATH . 'assets/'); - -define('MODX_BASE_URL','/modx/'); -define('MODX_CORE_URL', MODX_BASE_URL . 'core/'); -define('MODX_MANAGER_URL', MODX_BASE_URL . 'manager/'); -define('MODX_CONNECTORS_URL', MODX_BASE_URL . 'connectors/'); -define('MODX_ASSETS_URL', MODX_BASE_URL . 'assets/'); diff --git a/_build/build.schema.php b/_build/build.schema.php index 4faa470..0d4ca5f 100644 --- a/_build/build.schema.php +++ b/_build/build.schema.php @@ -34,11 +34,11 @@ define('PKG_NAME_LOWER', strtolower(PKG_NAME)); // Define sources -$root = dirname(dirname(__FILE__)).'/'; +$root = dirname(__FILE__, 2).'/'; $sources = array( 'root' => $root, 'core' => $root . 'core/components/' . PKG_NAME_LOWER . '/', - 'model' => $root . 'core/components/' . PKG_NAME_LOWER . '/model/', + 'model' => $root . 'core/components/' . PKG_NAME_LOWER . '/src/', 'assets' => $root . 'assets/components/' . PKG_NAME_LOWER . '/', ); @@ -47,7 +47,6 @@ include_once MODX_CORE_PATH . 'model/modx/modx.class.php'; $modx = new modX(); $modx->initialize('mgr'); -$modx->loadClass('transport.modPackageBuilder', '', false, true); // Used for nice formatting of log messages echo '
';
@@ -57,30 +56,10 @@
 $manager   = $modx->getManager();
 $generator = $manager->getGenerator();
 
-$generator->classTemplate= <<
-EOD;
-$generator->platformTemplate= <<
-EOD;
-$generator->mapHeader= <<parseSchema($sources['model'] . 'schema/'.PKG_NAME_LOWER.'.mysql.schema.xml', $sources['model']);
+
+//$generator->parseSchema($sources['core'] . '/model/schema/'.PKG_NAME_LOWER.'.mysql.schema.xml', $sources['model'], ['namespacePrefix' => 'faqMan']);
+$manager->createObjectContainer('faqMan\Model\faqManItem');
+
 
 $mtime     = microtime();
 $mtime     = explode(" ", $mtime);
diff --git a/_build/build.transport.php b/_build/build.transport.php
index 5a434c6..2f72b9d 100644
--- a/_build/build.transport.php
+++ b/_build/build.transport.php
@@ -23,6 +23,9 @@
  * @package faqman
  * @subpackage build
  */
+
+use MODX\Revolution\Transport\modPackageBuilder;
+
 $mtime  = microtime();
 $mtime  = explode(' ', $mtime);
 $mtime  = $mtime[1] + $mtime[0];
@@ -32,7 +35,7 @@
 // Define package
 define('PKG_NAME','faqMan');
 define('PKG_NAME_LOWER',strtolower(PKG_NAME));
-define('PKG_VERSION','2.0.1');
+define('PKG_VERSION','2.0.2');
 define('PKG_RELEASE','pl');
 
 // Define sources
diff --git a/assets/components/faqman/connector.php b/assets/components/faqman/connector.php
index a3cfa21..d2f07b0 100644
--- a/assets/components/faqman/connector.php
+++ b/assets/components/faqman/connector.php
@@ -22,18 +22,17 @@
  *
  * @package faqman
  */
-require_once dirname(dirname(dirname(dirname(__FILE__)))).'/config.core.php';
+require_once dirname(__FILE__, 5).'/config.core.php';
 require_once MODX_CORE_PATH.'config/'.MODX_CONFIG_KEY.'.inc.php';
 require_once MODX_CONNECTORS_PATH.'index.php';
 
 $corePath = $modx->getOption('faqman.core_path',null,$modx->getOption('core_path').'components/faqman/');
-require_once $corePath.'model/faqman/faqman.class.php';
-$modx->faqman = new faqMan($modx);
+$modx->faqman = $modx->services->get('faqMan');
 
 $modx->lexicon->load('faqman:default');
 
 /* handle request */
-$path = $modx->getOption('processorsPath',$modx->faqman->config,$corePath.'processors/');
+$path = $modx->getOption('processorsPath',$modx->faqman->config,$corePath.'src/Processors/');
 $modx->request->handleRequest(array(
     'processors_path' => $path,
     'location' => '',
diff --git a/assets/components/faqman/css/index.html b/assets/components/faqman/css/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/assets/components/faqman/index.html b/assets/components/faqman/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/assets/components/faqman/js/index.html b/assets/components/faqman/js/index.html
deleted file mode 100644
index e69de29..0000000
diff --git a/assets/components/faqman/js/mgr/widgets/items.grid.js b/assets/components/faqman/js/mgr/widgets/items.grid.js
index 0dbba5e..8347259 100644
--- a/assets/components/faqman/js/mgr/widgets/items.grid.js
+++ b/assets/components/faqman/js/mgr/widgets/items.grid.js
@@ -11,7 +11,7 @@ Faqman.grid.Items = function(config) {
         id: 'faqman-grid-items'
         ,url: Faqman.config.connectorUrl
         ,baseParams: {
-            action: 'mgr/item/getList'
+            action: 'faqMan\\Processors\\Mgr\\Item\\getList'
             ,set: config.setid
         }
         ,fields: ['id', 'question', 'answer', 'set', 'rank', 'actions']
@@ -222,7 +222,7 @@ Ext.extend(Faqman.grid.Items,MODx.grid.Grid,{
             ,text: _('faqman.item_remove_confirm')
             ,url: Faqman.config.connectorUrl
             ,params: {
-                action: 'mgr/item/remove'
+                action: 'faqMan\\Processors\\Mgr\\Item\\Remove'
                 ,id: this.menu.record.id
             }
             ,listeners: {
@@ -239,7 +239,7 @@ Ext.extend(Faqman.grid.Items,MODx.grid.Grid,{
         MODx.Ajax.request({
             url: Faqman.config.connectorUrl
             ,params: {
-                action: 'mgr/item/publish'
+                action: 'faqMan\\Processors\\Mgr\\Item\\Publish'
                 ,id: this.menu.record.id
             }
             ,listeners: {
@@ -254,7 +254,7 @@ Ext.extend(Faqman.grid.Items,MODx.grid.Grid,{
         MODx.Ajax.request({
             url: Faqman.config.connectorUrl
             ,params: {
-                action: 'mgr/item/unpublish'
+                action: 'faqMan\\Processors\\Mgr\\Item\\Unpublish'
                 ,id: this.menu.record.id
             }
             ,listeners: {
@@ -305,7 +305,7 @@ Faqman.window.CreateItem = function(config) {
         ,url: Faqman.config.connectorUrl
         ,closeAction: 'close'
         ,baseParams: {
-            action: 'mgr/item/create'
+            action: 'faqMan\\Processors\\Mgr\\Item\\Create'
             ,set: config.set
         }
         ,fields: [{
@@ -343,7 +343,7 @@ Faqman.window.UpdateItem = function(config) {
         ,width: 650
         ,modal: true
         ,url: Faqman.config.connectorUrl
-        ,action: 'mgr/item/update'
+        ,action: 'faqMan\\Processors\\Mgr\\Item\\Update'
         ,closeAction: 'close'
         ,fields: [{
             xtype: 'hidden'
diff --git a/assets/components/faqman/js/mgr/widgets/sets.grid.js b/assets/components/faqman/js/mgr/widgets/sets.grid.js
index 0d6b0de..235e2d9 100644
--- a/assets/components/faqman/js/mgr/widgets/sets.grid.js
+++ b/assets/components/faqman/js/mgr/widgets/sets.grid.js
@@ -19,7 +19,7 @@ Faqman.grid.Sets = function(config) {
     Ext.applyIf(config,{
         id: 'faqman-grid-sets'
         ,url: Faqman.config.connectorUrl
-        ,baseParams: { action: 'mgr/set/getList' }
+        ,baseParams: { action: 'faqMan\\Processors\\Mgr\\Set\\getList' }
         ,fields: ['id','name','description','rank', 'published']
         ,autoHeight: true
         ,paging: true
@@ -28,7 +28,7 @@ Faqman.grid.Sets = function(config) {
         ,remoteSort: true
         ,anchor: '97%'
         ,autoExpandColumn: 'name'
-        ,save_action: 'mgr/set/updateFromGrid'
+        ,save_action: 'faqMan\\Processors\\Mgr\\Set\\UpdateFromGrid'
         ,autosave: true
         ,view: gridView
         ,columns: [
@@ -95,7 +95,7 @@ Ext.extend(Faqman.grid.Sets,MODx.grid.Grid,{
         MODx.Ajax.request({
             url: this.config.url
             ,params: {
-                action: 'mgr/set/sort'
+                action: 'faqMan\\Processors\\Mgr\\Set\\Sort'
                 ,source: o.source.id
                 ,target: o.target.id
             }
@@ -190,7 +190,7 @@ Ext.extend(Faqman.grid.Sets,MODx.grid.Grid,{
         MODx.Ajax.request({
             url: this.config.url
             ,params: {
-                action: 'mgr/set/publish'
+                action: 'faqMan\\Processors\\Mgr\\Set\\Publish'
                 ,id: this.menu.record.id
             }
             ,listeners: {
@@ -207,7 +207,7 @@ Ext.extend(Faqman.grid.Sets,MODx.grid.Grid,{
         MODx.Ajax.request({
             url: this.config.url
             ,params: {
-                action: 'mgr/set/unpublish'
+                action: 'faqMan\\Processors\\Mgr\\Set\\Unpublish'
                 ,id: this.menu.record.id
             }
             ,listeners: {
@@ -248,7 +248,7 @@ Faqman.window.CreateSet = function(config) {
         ,width: 475
         ,modal: true
         ,url: Faqman.config.connectorUrl
-        ,action: 'mgr/set/create'
+        ,action: 'faqMan\\Processors\\Mgr\\Set\\Create'
         ,fields: [{
             xtype: 'textfield'
             ,fieldLabel: _('name')
@@ -276,7 +276,7 @@ Faqman.window.UpdateSet = function(config) {
         ,width: 475
         ,modal: true
         ,url: Faqman.config.connectorUrl
-        ,action: 'mgr/set/update'
+        ,action: 'faqMan\\Processors\\Mgr\\Set\\Update'
         ,fields: [{
             xtype: 'hidden'
             ,name: 'id'
diff --git a/core/components/faqman/bootstrap.php b/core/components/faqman/bootstrap.php
new file mode 100644
index 0000000..fdcf9d8
--- /dev/null
+++ b/core/components/faqman/bootstrap.php
@@ -0,0 +1,13 @@
+addPackage('faqMan\Model', $namespace['path'] . 'src/', null, 'faqMan\\');
+
+$modx->services->add('faqMan', function() use ($modx) {
+    return new faqMan\faqMan($modx);
+});
diff --git a/core/components/faqman/composer.json b/core/components/faqman/composer.json
new file mode 100644
index 0000000..baa065a
--- /dev/null
+++ b/core/components/faqman/composer.json
@@ -0,0 +1,7 @@
+{
+  "autoload": {
+    "psr-4": {
+      "faqMan\\": "src/"
+    }
+  }
+}
diff --git a/core/components/faqman/composer.lock b/core/components/faqman/composer.lock
new file mode 100644
index 0000000..ba6fe47
--- /dev/null
+++ b/core/components/faqman/composer.lock
@@ -0,0 +1,18 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+        "This file is @generated automatically"
+    ],
+    "content-hash": "d751713988987e9331980363e24189ce",
+    "packages": [],
+    "packages-dev": [],
+    "aliases": [],
+    "minimum-stability": "stable",
+    "stability-flags": [],
+    "prefer-stable": false,
+    "prefer-lowest": false,
+    "platform": [],
+    "platform-dev": [],
+    "plugin-api-version": "2.6.0"
+}
diff --git a/core/components/faqman/controllers/index.class.php b/core/components/faqman/controllers/index.class.php
index 611b7e2..6ff6bd7 100644
--- a/core/components/faqman/controllers/index.class.php
+++ b/core/components/faqman/controllers/index.class.php
@@ -21,11 +21,10 @@
  * @package faqman
  * @subpackage controllers
  */
-require_once dirname(dirname(__FILE__)).'/model/faqman/faqman.class.php';
-class FaqmanIndexManagerController extends \modExtraManagerController {
+class FaqmanIndexManagerController extends modExtraManagerController {
     public $faqman;
     public function initialize() {
-        $this->faqman = new faqMan($this->modx);
+        $this->faqman = $this->modx->services->get('faqMan');
         $this->addCss($this->faqman->config['cssUrl'].'mgr.css');
         $this->addJavascript($this->faqman->config['jsUrl'].'mgr/faqman.js');
         $this->addHtml('