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