Пример #1
0
 /**
  * @test
  * @group library
  */
 public function test_getById_success()
 {
     // ARRANGE
     $dao = $this->createModuleDao();
     $sources = $this->getModuleSourceItemsFromGlobalSetAndPackage('module_test', 'rz_testing');
     $moduleSource = new ModuleSource($this->websiteId, $sources);
     $expectedModuleId = 'rz_tests_module_only_global';
     $expectedModule = new DataModule();
     $expectedModule->setSourceType(DataModule::SOURCE_REPOSITORY);
     $expectedModule->setOverwritten(false);
     $expectedModule->setId($expectedModuleId);
     $expectedModule->setName('this is the name: rz_tests_module_only_global (global)');
     $expectedModule->setDescription('');
     $expectedModule->setVersion('test');
     $expectedModule->setIcon('application.png');
     $expectedModule->setCategory('{"de":"Default Module","en":"Default Modules"}');
     $expectedModule->setModuletype('default');
     $expectedModule->setAllowedchildmoduletype('*');
     $expectedModule->setRerenderrequired(true);
     $expectedModule->setApiType('APIv1');
     $expectedModule->setSessionRequired(true);
     // ACT
     $module = $dao->getById($moduleSource, $expectedModuleId);
     // ASSERT
     $this->assertSame($expectedModule->getId(), $module->getId());
     $this->assertSame($expectedModule->getSourceType(), $module->getSourceType());
     $this->assertSame($expectedModule->isOverwritten(), $module->isOverwritten());
     $this->assertSame($expectedModule->getName(), $module->getName());
     $this->assertSame($expectedModule->getDescription(), $module->getDescription());
     $this->assertSame($expectedModule->getVersion(), $module->getVersion());
     $this->assertSame($expectedModule->getIcon(), $module->getIcon());
     $this->assertSame($expectedModule->getCategory(), $module->getCategory());
     $this->assertSame($expectedModule->getModuletype(), $module->getModuletype());
     $this->assertSame($expectedModule->getAllowedchildmoduletype(), $module->getAllowedchildmoduletype());
     $this->assertSame($expectedModule->getRerenderrequired(), $module->getRerenderrequired());
     $this->assertSame($expectedModule->getApiType(), $module->getApiType());
     $this->assertSame($expectedModule->getSessionRequired(), $module->getSessionRequired());
 }
Пример #2
0
 /**
  * @param string     $websiteId
  * @param string     $moduleId
  * @param SourceItem $sourceItem
  * @param \stdClass  $moduleManifest
  * @param \stdClass  $moduleForm
  * @param \stdClass  $moduleCustomData
  * @param integer    $moduleLastUpdate
  *
  * @return DataModule
  */
 protected function loadDataObject($websiteId, $moduleId, SourceItem $sourceItem, $moduleManifest, $moduleForm, $moduleCustomData, $moduleLastUpdate)
 {
     $module = new DataModule();
     $module->setId($moduleId);
     $module->setWebsiteid($websiteId);
     $module->setCustomData($moduleCustomData);
     $module->setLastUpdate($moduleLastUpdate);
     $module->setSource($sourceItem);
     $module->setSourceType($sourceItem->getType());
     $module->setOverwritten($sourceItem->isOverwritten());
     if (property_exists($moduleManifest, 'name')) {
         $module->setName($moduleManifest->name);
     }
     if (property_exists($moduleManifest, 'description')) {
         $module->setDescription($moduleManifest->description);
     }
     if (property_exists($moduleManifest, 'version')) {
         $module->setVersion($moduleManifest->version);
     }
     if (property_exists($moduleManifest, 'icon')) {
         $module->setIcon($moduleManifest->icon);
     }
     if (property_exists($moduleManifest, 'category')) {
         $module->setCategory($moduleManifest->category);
     }
     if (property_exists($moduleManifest, 'moduleType')) {
         $module->setModuletype($moduleManifest->moduleType);
     }
     if (property_exists($moduleManifest, 'allowedChildModuleType')) {
         $module->setAllowedchildmoduletype($moduleManifest->allowedChildModuleType);
     }
     if (property_exists($moduleManifest, 'reRenderRequired')) {
         $module->setRerenderrequired($moduleManifest->reRenderRequired);
     }
     if (property_exists($moduleManifest, 'ghostContainerMode')) {
         $module->setGhostContainerMode($moduleManifest->ghostContainerMode);
     }
     if (property_exists($moduleForm, 'form')) {
         $module->setForm($moduleForm->form);
     }
     if (property_exists($moduleForm, 'formValues')) {
         $module->setFormvalues($moduleForm->formValues);
     }
     if (property_exists($moduleManifest, 'apiType')) {
         $module->setApiType($moduleManifest->apiType);
     }
     if (property_exists($moduleManifest, 'sessionRequired')) {
         $module->setSessionRequired($moduleManifest->{'sessionRequired'});
     }
     return $module;
 }
Пример #3
0
 /**
  * @param  \Cms\Service\Modul $moduleService
  * @param  string             $moduleId
  * @param  string             $websiteId
  * @param  string             $moduleJsonFilePath
  *
  * @return DataModule
  */
 private function createOrOverwriteModuleFromModuleJson($moduleService, $moduleId, $websiteId, $moduleJsonFilePath)
 {
     $moduleJsonString = file_get_contents($moduleJsonFilePath);
     $this->cleaningColorIds($websiteId, $moduleJsonString);
     $moduleJson = json_decode($moduleJsonString);
     $moduleJsonArrayObject = new \ArrayObject($moduleJson);
     $moduleJsonValues = $moduleJsonArrayObject->getArrayCopy();
     if (version_compare($this->getImportVersion(), '1.3.0') < 0) {
         // insert namespace
         $namespaceCode = "<?php namespace Dual\\Render; ?>\n";
         $moduleJsonValues['renderer'] = $namespaceCode . $moduleJsonValues['renderer'];
         $moduleJsonValues['css'] = $namespaceCode . $moduleJsonValues['css'];
         $moduleJsonValues['header'] = $namespaceCode . $moduleJsonValues['header'];
     }
     $newModule = new DataModule();
     $newModule->setId($moduleId);
     $newModule->setName($moduleJsonValues['name']);
     $newModule->setDescription($moduleJsonValues['description']);
     $newModule->setCategory($moduleJsonValues['category']);
     $newModule->setVersion($moduleJsonValues['version']);
     $newModule->setIcon($moduleJsonValues['icon']);
     $newModule->setModuletype($moduleJsonValues['moduleType']);
     $newModule->setAllowedchildmoduletype($moduleJsonValues['allowedChildModuleType']);
     if (isset($moduleJsonValues['form']) && is_string($moduleJsonValues['form'])) {
         $newModule->setForm(json_decode($moduleJsonValues['form']));
     } else {
         $newModule->setForm($moduleJsonValues['form']);
     }
     if (isset($moduleJsonValues['formValues']) && is_string($moduleJsonValues['formValues'])) {
         $newModule->setFormvalues(json_decode($moduleJsonValues['formValues']));
     } else {
         $newModule->setFormvalues($moduleJsonValues['formValues']);
     }
     if (isset($moduleJsonValues['reRenderRequired'])) {
         $newModule->setRerenderrequired($moduleJsonValues['reRenderRequired']);
     }
     if (isset($moduleJsonValues['customData'])) {
         $newModule->setCustomData($moduleJsonValues['customData']);
     }
     if (isset($moduleJsonValues['apiType'])) {
         $newModule->setApiType($moduleJsonValues['apiType']);
     }
     if (isset($moduleJsonValues['sessionRequired'])) {
         $newModule->setSessionRequired($moduleJsonValues['sessionRequired']);
     }
     $createdModule = $this->createOrOverwriteModule($moduleService, $websiteId, $newModule);
     $this->saveModuleLegacyCode($moduleService, $createdModule, array('css' => $moduleJsonValues['css'], 'renderer' => $moduleJsonValues['renderer'], 'header' => $moduleJsonValues['header']));
     return $createdModule;
 }