Skip to content

Commit 3c86720

Browse files
committed
1.1.0 (2016-11-24)
- feature: reactivate modul / reset module cache
1 parent 38a3ed3 commit 3c86720

11 files changed

Lines changed: 120 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
#Changelog
22

3+
1.1.0 (2016-11-24)
4+
- feature: reactivate modul / reset module cache
5+
6+
37
1.0.0 (2016-11-21)
48
- OXID module connector release

LIESMICH.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@ Der OXID Modul Connector wurde primär für Entwicklungs- und Testumgebungen ent
4848
* JSON
4949
* ZIP
5050

51-
---
51+
52+
## Changelog
53+
54+
siehe [Changelog-Datei](https://github.com/OXIDprojects/OXID-Module-Connector/blob/module/CHANGELOG.md))
5255

5356

5457
## License

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,12 @@ This module is designed for development and testing environments. Please do not
5050
* cUrl
5151
* JSON
5252
* ZIP
53+
54+
55+
## Changelog
56+
57+
see [CHANGELOG file](https://github.com/OXIDprojects/OXID-Module-Connector/blob/module/CHANGELOG.md))
58+
5359

5460

5561
## License

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0
1+
1.1.0

modules/oxcom/oxcom-omc/controllers/admin/omc_main.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,11 +517,11 @@ public function activateModuleAjax()
517517
$sShopIds = oxRegistry::getConfig()->getRequestParameter("shopids");
518518
$moduleId = oxRegistry::getConfig()->getRequestParameter("moduleid");
519519
$moduleVersion = oxRegistry::getConfig()->getRequestParameter("moduleversion");
520-
$deactivate = oxRegistry::getConfig()->getRequestParameter("deactivate");
520+
$sAction = oxRegistry::getConfig()->getRequestParameter("action");
521521
if (strpos($moduleId, "/") !== false) {
522522
$moduleId = $this->getModuleOxid($moduleId, $moduleVersion);
523523
}
524-
$aRet = $helper->activateModule($moduleId, $sShopIds, $deactivate);
524+
$aRet = $helper->activateModule($moduleId, $sShopIds, $sAction);
525525
$res = array("status" => $aRet['message']);
526526
$this->_returnJsonResponse($aRet['header'], $res);
527527
}

modules/oxcom/oxcom-omc/core/omc_helper.php

Lines changed: 70 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ public function getShopIdsFromString($sShopIds)
6060
* Activate a module in one or more shops
6161
* @param string $moduleId The ID of the OXID module
6262
* @param string $sShopIds
63-
* @param boolean $deactivate
63+
* @param boolean $sAction
6464
* @return array
6565
*/
66-
public function activateModule($moduleId, $sShopIds, $deactivate = false)
66+
public function activateModule($moduleId, $sShopIds, $sAction = "activate")
6767
{
6868
$aShopIds = $this->getShopIdsFromString($sShopIds);
6969

@@ -84,10 +84,7 @@ public function activateModule($moduleId, $sShopIds, $deactivate = false)
8484
if (!in_array($moduleId, array_keys($aModules))) {
8585
$msg .= "Modul nicht gefunden: <b>$moduleId</b><br/>";
8686
} else {
87-
if ($deactivate) {
88-
#$msg .= "De-";
89-
}
90-
$msg .= "Modulaktivierung <b>$moduleId</b> für Shop-ID <i>" . implode(", ", $aShopIds) . "</i> ...<br/>";
87+
$msg .= "Modulhandling <b>$moduleId</b> für Shop-ID <i>" . implode(", ", $aShopIds) . "</i> ...<br/>";
9188
foreach ($aShopIds as $sShopId) {
9289
// set shopId
9390
$oConfig->setShopId($sShopId);
@@ -99,7 +96,7 @@ public function activateModule($moduleId, $sShopIds, $deactivate = false)
9996
/**
10097
* @var oxmodule $oModule
10198
*/
102-
if (!$deactivate) {
99+
if ($sAction == "activate") {
103100
$msg .= "Shop-ID $sShopId: Aktiviere $sModuleId ...<br/>";
104101
try {
105102
if (class_exists('oxModuleInstaller')) {
@@ -111,20 +108,20 @@ public function activateModule($moduleId, $sShopIds, $deactivate = false)
111108
if ($oModuleInstaller->activate($oModule)) {
112109
$msg .= "$sModuleId aktiviert!<br/>";
113110
} else {
114-
$msg .= "$sModuleId - Fehler beim Aktivieren<br/>";
111+
$msg .= "$sModuleId - Fehler beim Aktivieren!<br/>";
115112
}
116113
} else {
117114
if ($oModule->activate()) {
118115
$msg .= "$sModuleId aktiviert!<br/>";
119116
} else {
120-
$msg .= "$sModuleId - Fehler beim Aktivieren<br/>";
117+
$msg .= "$sModuleId - Fehler beim Aktivieren!<br/>";
121118
}
122119
}
123120
} catch (oxException $oEx) {
124121
$msg .= $oEx->getMessage();
125122
$headerStatus = "HTTP/1.1 500 Internal Server Error";
126123
}
127-
} else { // deactivate!
124+
} elseif($sAction == "deactivate") { // deactivate!
128125
$msg .= "Shop-ID $sShopId: Deaktiviere $sModuleId ...<br/>";
129126
try {
130127
if (class_exists('oxModuleInstaller')) {
@@ -136,19 +133,80 @@ public function activateModule($moduleId, $sShopIds, $deactivate = false)
136133
if ($oModuleInstaller->deactivate($oModule)) {
137134
$msg .= "$sModuleId deaktiviert!<br/>";
138135
} else {
139-
$msg .= "$sModuleId - Fehler beim Deaktivieren<br/>";
136+
$msg .= "$sModuleId - Fehler beim Deaktivieren!<br/>";
140137
}
141138
} else {
142139
if ($oModule->deactivate()) {
143140
$msg .= "$sModuleId deaktiviert!<br/>";
144141
} else {
145-
$msg .= "$sModuleId - Fehler beim Deaktivieren<br/>";
142+
$msg .= "$sModuleId - Fehler beim Deaktivieren!<br/>";
146143
}
147144
}
148145
} catch (oxException $oEx) {
149146
$headerStatus = "HTTP/1.1 500 Internal Server Error";
150147
$msg .= $oEx->getMessage();
151148
}
149+
} elseif($sAction == "reactivate") { // reactivate!
150+
$msg .= "Shop-ID $sShopId: Deaktiviere $sModuleId ...<br/>";
151+
try {
152+
if (class_exists('oxModuleInstaller')) {
153+
/** @var oxModuleCache $oModuleCache */
154+
$oModuleCache = oxNew('oxModuleCache', $oModule);
155+
/** @var oxModuleInstaller $oModuleInstaller */
156+
$oModuleInstaller = oxNew('oxModuleInstaller', $oModuleCache);
157+
158+
if ($oModuleInstaller->deactivate($oModule)) {
159+
$msg .= "$sModuleId deaktiviert!<br/>";
160+
} else {
161+
$msg .= "$sModuleId - Fehler beim Deaktivieren!<br/>";
162+
}
163+
} else {
164+
if ($oModule->deactivate()) {
165+
$msg .= "$sModuleId deaktiviert!<br/>";
166+
} else {
167+
$msg .= "$sModuleId - Fehler beim Deaktivieren!<br/>";
168+
}
169+
}
170+
} catch (oxException $oEx) {
171+
$headerStatus = "HTTP/1.1 500 Internal Server Error";
172+
$msg .= $oEx->getMessage();
173+
}
174+
$msg .= "Shop-ID $sShopId: Aktiviere $sModuleId ...<br/>";
175+
try {
176+
if (class_exists('oxModuleInstaller')) {
177+
/** @var oxModuleCache $oModuleCache */
178+
$oModuleCache = oxNew('oxModuleCache', $oModule);
179+
/** @var oxModuleInstaller $oModuleInstaller */
180+
$oModuleInstaller = oxNew('oxModuleInstaller', $oModuleCache);
181+
182+
if ($oModuleInstaller->activate($oModule)) {
183+
$msg .= "$sModuleId aktiviert!<br/>";
184+
} else {
185+
$msg .= "$sModuleId - Fehler beim Aktivieren<br/>";
186+
}
187+
} else {
188+
if ($oModule->activate()) {
189+
$msg .= "$sModuleId aktiviert!<br/>";
190+
} else {
191+
$msg .= "$sModuleId - Fehler beim Aktivieren!<br/>";
192+
}
193+
}
194+
} catch (oxException $oEx) {
195+
$msg .= $oEx->getMessage();
196+
$headerStatus = "HTTP/1.1 500 Internal Server Error";
197+
}
198+
} elseif($sAction == "reset") { // reactivate!
199+
try {
200+
if (class_exists('oxModuleInstaller')) {
201+
/** @var oxModuleCache $oModuleCache */
202+
$oModuleCache = oxNew('oxModuleCache', $oModule);
203+
$oModuleCache->resetCache();
204+
$msg .= "$sModuleId - Modulcache resettet!<br/>";
205+
}
206+
} catch (oxException $oEx) {
207+
$msg .= $oEx->getMessage();
208+
$headerStatus = "HTTP/1.1 500 Internal Server Error";
209+
}
152210
}
153211
}
154212
}

modules/oxcom/oxcom-omc/out/admin/src/js/app.js

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -304,18 +304,30 @@ var app = angular.module('main', ['ngTable', 'main.services','main.filters','ui.
304304
/**
305305
* Activate module
306306
*/
307-
$scope.activateModule = function (activate, moduleid, moduleVersion) {
307+
$scope.activateModule = function (action, moduleid, moduleVersion) {
308308
var headline = "Modul aktivieren: ";
309+
var sDeact = "activate";
310+
var sAction = "aktiviert";
309311
var responsePromise = IolyService.getActiveModuleSubshops(moduleid, moduleVersion);
310312
responsePromise.then(function (response) {
311313
var minput = "<input type='hidden' name='moduleid' id='moduleid' value='"+moduleid+"'><input type='hidden' name='moduleversion' id='moduleversion' value='"+moduleVersion+"'>";
312-
var iDeact = 0;
313-
if(!activate) {
314-
iDeact = 1;
314+
if(action == "deactivate") {
315+
sDeact = "deactivate";
316+
sAction = "deaktiviert";
315317
headline = "Modul deaktivieren: ";
316318
}
317-
minput += "<br/><input type='hidden' name='deactivate' id='deactivate' value='"+iDeact+"'></div>";
318-
minput += "<div id='shopsact'>Für welche Shop-IDs soll das Modul aktiviert/deaktiviert werden?<br></div>"; // Verfügbare Shop-IDs: <i>"+response.data.subshops.toString()+"</i>
319+
if(action == "reactivate") {
320+
sDeact = "reactivate";
321+
sAction = "reaktiviert";
322+
headline = "Modul reaktivieren: ";
323+
}
324+
if(action == "reset") {
325+
sDeact = "reset";
326+
sAction = "resettet";
327+
headline = "Modulcache resetten: ";
328+
}
329+
minput += "<br/><input type='hidden' name='action' id='action' value='"+sDeact+"'></div>";
330+
minput += "<div id='shopsact'>Für welche Shop-IDs soll das Modul "+sAction+" werden?<br></div>"; // Verfügbare Shop-IDs: <i>"+response.data.subshops.toString()+"</i>
319331
minput += "<div id='shops'><br>CE/PE: <i>all</i><br>EE (alle Subshops): <i>all</i><br>EE (bestimmte Subshops): <i>1,2,5</i><br><br><input type='text' name='shopids' id='shopids' value='all'></div>";
320332
$scope.showMsg(headline + " " + moduleid, minput, $scope.submitActivateModule);
321333
}, function (error) {
@@ -326,13 +338,13 @@ var app = angular.module('main', ['ngTable', 'main.services','main.filters','ui.
326338
$scope.submitActivateModule = function(content) {
327339
var moduleId = $document[0].querySelector('#moduleid').value;
328340
var moduleVersion = $document[0].querySelector('#moduleversion').value;
329-
var deactivate = $document[0].querySelector('#deactivate').value;
341+
var action = $document[0].querySelector('#action').value;
330342
var shopIds = $document[0].querySelector('#shopids').value;
331-
var responsePromise = IolyService.activateModule(moduleId, shopIds, deactivate, moduleVersion);
343+
var responsePromise = IolyService.activateModule(moduleId, shopIds, action, moduleVersion);
332344

333345
responsePromise.then(function (response) {
334346
var shopId = $document[0].querySelector('#shopid').value;
335-
$scope.showMsg("Modulaktivierung", response.data.status);
347+
$scope.showMsg("Modulemanagement", response.data.status);
336348
// reload shop navi
337349
top.oxid.admin.reloadNavigation(shopId);
338350
// reload ng-table, too

modules/oxcom/oxcom-omc/out/admin/src/js/services.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ angular.module('main.services', [])
5858
getActiveModuleSubshops: function(moduleid, moduleversion){
5959
return $http.get(gOxidSelfLink, {params: {cl:'omc_main', isajax:true, fnc:'getActiveModuleSubshopsAjax',moduleid: moduleid, moduleversion: moduleversion}});
6060
},
61-
activateModule: function(moduleid, shopids, deactivate, moduleversion){
62-
return $http.get(gOxidSelfLink, {params: {cl:'omc_main', isajax:true, fnc:'activateModuleAjax', moduleid: moduleid, shopids: shopids, deactivate: deactivate, moduleversion: moduleversion}});
61+
activateModule: function(moduleid, shopids, action, moduleversion){
62+
return $http.get(gOxidSelfLink, {params: {cl:'omc_main', isajax:true, fnc:'activateModuleAjax', moduleid: moduleid, shopids: shopids, action: action, moduleversion: moduleversion}});
6363
},
6464
generateViews: function(shopIds){
6565
return $http.get(gOxidSelfLink, {params: {cl:'omc_main', isajax:true, fnc:'generateViewsAjax', shopIds: shopIds}});

modules/oxcom/oxcom-omc/views/admin/de/omc_lang.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@
7474
'IOLY_EXCEPTION_MESSAGE_MODULE_ACTIVE' => 'Das Modul ist noch im Shop aktiv und kann nicht entfernt werden! Bitte deaktivieren Sie es vor dem Entfernen.',
7575
'IOLY_ACTIVATE_MODULE' => 'Modul aktivieren',
7676
'IOLY_DEACTIVATE_MODULE' => 'Modul deaktivieren',
77+
'IOLY_REACTIVATE_MODULE' => 'Modul reaktivieren',
78+
'IOLY_RESET_MODULECACHE' => 'Modulcache resetten',
7779
'IOLY_DROPDOWN_MORE_ACTIONS' => '',
7880
'IOLY_BUTTON_OK' => 'OK',
7981
'IOLY_BUTTON_CANCEL' => 'Abbrechen',

modules/oxcom/oxcom-omc/views/admin/en/omc_lang.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,10 @@
7171
'HELP_SHOP_MODULE_omccheckactive' => 'For every module in the module list, check if the module is activated in any sub shop (costly, because the metadata.php files of all modules have to be checked etc.)?',
7272
'IOLY_RECIPES' => 'Recipes',
7373
'IOLY_EXCEPTION_MESSAGE_MODULE_ACTIVE' => 'The module is still active in the shop and cannot be removed! Please deactivate it before removal.',
74-
'IOLY_ACTIVATE_MODULE' => 'Activate module ...',
75-
'IOLY_DEACTIVATE_MODULE' => 'Deactivate module ...',
74+
'IOLY_ACTIVATE_MODULE' => 'Activate module',
75+
'IOLY_DEACTIVATE_MODULE' => 'Deactivate module',
76+
'IOLY_REACTIVATE_MODULE' => 'Reactivate module',
77+
'IOLY_RESET_MODULECACHE' => 'Reset module cache',
7678
'IOLY_DROPDOWN_MORE_ACTIONS' => 'Maintenance',
7779
'IOLY_CLEAR_TEMP' => 'Clear tmp dir',
7880
'IOLY_DETAILS_TAGS' => 'Tags:',

0 commit comments

Comments
 (0)