@@ -22,20 +22,30 @@ public function __construct()
2222 }
2323 protected function _getEntityModels ()
2424 {
25- $ models = array (
26- 'integernet_anonymizer/bridge_entity_customer ' ,
27- 'integernet_anonymizer/bridge_entity_address_customerAddress ' ,
28- 'integernet_anonymizer/bridge_entity_address_quoteAddress ' ,
29- 'integernet_anonymizer/bridge_entity_address_orderAddress ' ,
30- 'integernet_anonymizer/bridge_entity_newsletterSubscriber ' ,
31- // Models with grid table must come last!
32- 'integernet_anonymizer/bridge_entity_order ' ,
33- );
34- if (Mage::getEdition () == MAGE ::EDITION_ENTERPRISE ) {
35- $ models [] = 'integernet_anonymizer/bridge_entity_enterprise_giftregistry ' ;
36- $ models [] = 'integernet_anonymizer/bridge_entity_enterprise_giftregistryPerson ' ;
25+ $ entityModelsConfigXml = Mage::getConfig ()->getNode ('global/integernet_anonymizer/entity_models ' );
26+
27+ $ entityModelsConfigArray = $ entityModelsConfigXml ->asArray ();
28+ $ entityModelsConfigArray = $ this ->_sortEntityModelsConfig ($ entityModelsConfigArray );
29+
30+ $ entityModels = [];
31+
32+ foreach ($ entityModelsConfigArray as $ entityModelsConfig ) {
33+ if (Mage::getModel ($ entityModelsConfig ['class ' ])) {
34+ $ entityModels [] = $ entityModelsConfig ['class ' ];
35+ }
3736 }
38- return $ models ;
37+
38+ return $ entityModels ;
39+ }
40+ protected function _sortEntityModelsConfig ($ entityModelsConfig )
41+ {
42+ function sortEntityModels ($ entityModel1 , $ entityModel2 )
43+ {
44+ return strcmp ($ entityModel1 ['sort ' ], $ entityModel2 ['sort ' ]);
45+ }
46+
47+ usort ($ entityModelsConfig , 'sortEntityModels ' );
48+ return $ entityModelsConfig ;
3949 }
4050 /**
4151 * @param resource $stream stream resource used for output (for example opened file pointer or STDOUT)
0 commit comments