From 1b865d71a3cc51012d5c12623bdb1146827813d5 Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Thu, 17 Oct 2013 15:36:11 +0200 Subject: [PATCH] crowl all module descriptor file for discovering new modules --- core/lib/Thelia/Module/BaseModule.php | 13 ++++++++++++- core/lib/Thelia/Module/ModuleManagement.php | 4 +++- core/lib/Thelia/Module/schema/module/module.xsd | 2 +- local/modules/Cheque/Config/module.xml | 6 ++---- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/core/lib/Thelia/Module/BaseModule.php b/core/lib/Thelia/Module/BaseModule.php index 4f18b02a8..8f3ccb2f5 100755 --- a/core/lib/Thelia/Module/BaseModule.php +++ b/core/lib/Thelia/Module/BaseModule.php @@ -43,6 +43,8 @@ abstract class BaseModule extends ContainerAware const IS_ACTIVATED = 1; const IS_NOT_ACTIVATED = 0; + protected $reflected; + public function __construct() { @@ -178,7 +180,16 @@ abstract class BaseModule extends ContainerAware return $moduleModel; } - abstract public function getCode(); + + public function getCode() + { + if (null === $this->reflected) { + $this->reflected = new \ReflectionObject($this); + } + + return dirname($this->reflected->getFileName()); + } + abstract public function install(); abstract public function afterActivation(); abstract public function destroy(); diff --git a/core/lib/Thelia/Module/ModuleManagement.php b/core/lib/Thelia/Module/ModuleManagement.php index 643f2a9d1..56563964f 100644 --- a/core/lib/Thelia/Module/ModuleManagement.php +++ b/core/lib/Thelia/Module/ModuleManagement.php @@ -47,8 +47,10 @@ class ModuleManagement ->name('module.xml') ->in($this->baseModuleDir . '/*/Config'); + $descriptorValidator = new ModuleDescriptorValidator(); foreach ($finder as $file) { - echo $file->getRealPath()."\n"; + $content = $descriptorValidator->getDescriptor($file->getRealPath()); + var_dump($content); exit; } } diff --git a/core/lib/Thelia/Module/schema/module/module.xsd b/core/lib/Thelia/Module/schema/module/module.xsd index c394a8f26..bbe2f47d8 100644 --- a/core/lib/Thelia/Module/schema/module/module.xsd +++ b/core/lib/Thelia/Module/schema/module/module.xsd @@ -27,7 +27,7 @@ Module version - + Module author diff --git a/local/modules/Cheque/Config/module.xml b/local/modules/Cheque/Config/module.xml index 5d2e70301..d0ef5f619 100755 --- a/local/modules/Cheque/Config/module.xml +++ b/local/modules/Cheque/Config/module.xml @@ -1,11 +1,9 @@ - + + Cheque\\Cheque Cheque - Cheque\\Cheque 1.1 Manuel Raynaud