Version Notes
Features:
- Generate API (v1 & v2) files.
- WSI compliance for API
Bug fixes:
- Fixed Generated translation file
- Uppercase letter in entity codes is now restricted
Refactoring:
- Entity Model.
Download this release
Release Info
Developer | Marius |
Extension | Ultimate_ModuleCreator |
Version | 1.5.0 |
Comparing to | |
See all releases |
Code changes from version 1.4.1 to 1.5.0
- app/code/community/Ultimate/ModuleCreator/Model/Attribute.php +13 -0
- app/code/community/Ultimate/ModuleCreator/Model/Entity.php +929 -58
- app/code/community/Ultimate/ModuleCreator/Model/Module.php +3 -0
- app/code/community/Ultimate/ModuleCreator/Model/Relation.php +11 -0
- app/code/community/Ultimate/ModuleCreator/etc/config.xml +2 -1
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/14_sibling_relation.php +1 -1
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/01_top.php +116 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/02_product_relation_info.php +6 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/03_sibling_info.php +6 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/04_info_footer.php +2 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/05_tree.php +26 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/06_product_relation.php +55 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/07_sibling_relation.php +55 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/08_footer.php +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/01_top.php +13 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/02_product_relation.php +3 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/03_sibling_relation.php +3 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/04_footer.php +3 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/01_top.xml +5 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/02_entity_api.xml +46 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/03_resource_alias.xml +2 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/04_entity_resource_alias.xml +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/05_v2.xml +3 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/06_v2_entity.xml +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/07_acl.xml +6 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/08_acl_entity.xml +19 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/09_footer.xml +5 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/01_top.xml +7 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/02_entity_types.xml +34 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/03_schema_footer.xml +2 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/04_entity_messages.xml +37 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/05_porttype_top.xml +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/06_porttype_entity.xml +26 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/07_porttype_footer.xml +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/08_binding_top.xml +2 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/09_entity_binding.xml +46 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/10_footer.xml +7 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/01_top.xml +10 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/02_entity_types.xml +109 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/03_schema_footer.xml +2 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/04_entity_messages.xml +31 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/05_porttype_top.xml +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/06_porttype_entity.xml +26 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/07_porttype_footer.xml +1 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/08_binding_top.xml +2 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/09_entity_binding.xml +46 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/10_footer.xml +7 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/12_tree_entity.csv +1 -1
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/13_url_rewrite.csv +1 -1
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/14_api.csv +8 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/15_api_entity.csv +10 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/16_api_product_related.csv +3 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/17_api_tree.csv +4 -0
- app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/18_api_sibling.csv +3 -0
- app/code/community/Ultimate/ModuleCreator/etc/modulecreator.xml +279 -0
- app/code/community/Ultimate/ModuleCreator/etc/system.xml +10 -1
- app/design/adminhtml/default/default/template/ultimate_modulecreator/edit/tab/entities/entity.phtml +13 -2
- app/locale/en_US/Ultimate_ModuleCreator.csv +2 -0
- modman +3 -1
- package.xml +12 -14
app/code/community/Ultimate/ModuleCreator/Model/Attribute.php
CHANGED
@@ -200,4 +200,17 @@ class Ultimate_ModuleCreator_Model_Attribute extends Ultimate_ModuleCreator_Mode
|
|
200 |
}
|
201 |
return $this->getTypeInstance()->getRequired();
|
202 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
}
|
200 |
}
|
201 |
return $this->getTypeInstance()->getRequired();
|
202 |
}
|
203 |
+
/**
|
204 |
+
* get wsdl format for attribute
|
205 |
+
* @access public
|
206 |
+
* @param bool $wsi
|
207 |
+
* @return string
|
208 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
209 |
+
*/
|
210 |
+
public function getWsdlFormat($wsi = false){
|
211 |
+
if ($wsi){
|
212 |
+
return '<xsd:element name="'.$this->getCode().'" type="xsd:string" />';
|
213 |
+
}
|
214 |
+
return '<element name="'.$this->getCode().'" type="xsd:string" minOccurs="'.(int)$this->getRequired().'" />';
|
215 |
+
}
|
216 |
}
|
app/code/community/Ultimate/ModuleCreator/Model/Entity.php
CHANGED
@@ -47,6 +47,11 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
47 |
* @var array()
|
48 |
*/
|
49 |
protected $_relatedEntities = array();
|
|
|
|
|
|
|
|
|
|
|
50 |
/**
|
51 |
* set the entity module
|
52 |
* @access public
|
@@ -91,6 +96,7 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
91 |
if ($attribute->getEditor()){
|
92 |
$this->setEditor(true);
|
93 |
}
|
|
|
94 |
return $this;
|
95 |
}
|
96 |
/**
|
@@ -176,7 +182,7 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
176 |
'updated_to_grid', 'add_status', 'use_frontend', 'frontend_list',
|
177 |
'frontend_list_template', 'frontend_view', 'frontend_view_template', 'frontend_add_seo',
|
178 |
'rss', 'widget', 'link_product', 'show_on_product', 'show_products',
|
179 |
-
'is_tree', 'url_rewrite', 'admin_search'
|
180 |
);
|
181 |
}
|
182 |
/**
|
@@ -186,34 +192,53 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
186 |
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
187 |
*/
|
188 |
public function getPlaceholders(){
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
}
|
218 |
/**
|
219 |
* get the placeholders for an entity as a sibling
|
@@ -222,33 +247,37 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
222 |
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
223 |
*/
|
224 |
public function getPlaceholdersAsSibling(){
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
|
|
|
|
|
|
|
|
252 |
}
|
253 |
/**
|
254 |
* get magic function code for the name attribute
|
@@ -339,7 +368,11 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
339 |
foreach ($this->getAttributes() as $attribute){
|
340 |
$content .= $padding.$attribute->getSqlColumn()."\n";
|
341 |
}
|
342 |
-
|
|
|
|
|
|
|
|
|
343 |
$attr = Mage::getModel('modulecreator/attribute');
|
344 |
$attr->setCode('url_key');
|
345 |
$attr->setLabel('URL key');
|
@@ -409,7 +442,7 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
409 |
$attr->setLabel('Meta description');
|
410 |
$attr->setType('textarea');
|
411 |
$content .= $padding.$attr->getSqlColumn()."\n";
|
412 |
-
}
|
413 |
return substr($content,0, strlen($content) - strlen("\n"));
|
414 |
}
|
415 |
/**
|
@@ -805,4 +838,842 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
|
|
805 |
public function getAdminSearch(){
|
806 |
return !$this->getIsTree() && $this->getData('admin_search');
|
807 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
808 |
}
|
47 |
* @var array()
|
48 |
*/
|
49 |
protected $_relatedEntities = array();
|
50 |
+
/**
|
51 |
+
* placeholders
|
52 |
+
* @var array
|
53 |
+
*/
|
54 |
+
protected $_placeholders = array();
|
55 |
/**
|
56 |
* set the entity module
|
57 |
* @access public
|
96 |
if ($attribute->getEditor()){
|
97 |
$this->setEditor(true);
|
98 |
}
|
99 |
+
$this->_placeholders = array();
|
100 |
return $this;
|
101 |
}
|
102 |
/**
|
182 |
'updated_to_grid', 'add_status', 'use_frontend', 'frontend_list',
|
183 |
'frontend_list_template', 'frontend_view', 'frontend_view_template', 'frontend_add_seo',
|
184 |
'rss', 'widget', 'link_product', 'show_on_product', 'show_products',
|
185 |
+
'is_tree', 'url_rewrite', 'admin_search', 'create_api'
|
186 |
);
|
187 |
}
|
188 |
/**
|
192 |
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
193 |
*/
|
194 |
public function getPlaceholders(){
|
195 |
+
if (!isset($this->_placeholders['entity'])){
|
196 |
+
$placeholders = array();
|
197 |
+
$placeholders['{{EntityLabel}}'] = ucfirst($this->getLabelSingular());
|
198 |
+
$placeholders['{{entityLabel}}'] = strtolower($this->getLabelSingular());
|
199 |
+
$placeholders['{{EntitiesLabel}}'] = ucfirst($this->getLabelPlural());
|
200 |
+
$placeholders['{{entitiesLabel}}'] = strtolower($this->getLabelPlural());
|
201 |
+
$placeholders['{{entity}}'] = strtolower($this->getNameSingular());
|
202 |
+
$placeholders['{{Entity}}'] = ucfirst($this->getNameSingular());
|
203 |
+
$placeholders['{{ENTITY}}'] = strtoupper($this->getNameSingular());
|
204 |
+
$placeholders['{{Entities}}'] = ucfirst($this->getNamePlural());
|
205 |
+
$placeholders['{{entities}}'] = $this->getNamePlural();
|
206 |
+
$placeholders['{{listLayout}}'] = $this->getFrontendListTemplate();
|
207 |
+
$placeholders['{{viewLayout}}'] = $this->getFrontendViewTemplate();
|
208 |
+
$nameAttribute = $this->getNameAttribute();
|
209 |
+
$placeholders['{{EntityNameMagicCode}}'] = $this->getNameAttributeMagicCode();
|
210 |
+
$placeholders['{{nameAttribute}}'] = $nameAttribute->getCode();
|
211 |
+
$placeholders['{{nameAttributeLabel}}'] = $nameAttribute->getLabel();
|
212 |
+
$placeholders['{{firstImageField}}'] = $this->getFirstImageField();
|
213 |
+
$placeholders['{{attributeSql}}'] = $this->getAttributesSql();
|
214 |
+
$placeholders['{{menu_sort}}'] = $this->getPosition();
|
215 |
+
$placeholders['{{defaults}}'] = $this->getConfigDefaults();
|
216 |
+
$placeholders['{{systemAttributes}}'] = $this->getSystemAttributes();
|
217 |
+
$placeholders['{{EntityListItem}}'] = $this->getListItemHtml();
|
218 |
+
$placeholders['{{EntityViewAttributes}}'] = $this->getViewAttributesHtml();
|
219 |
+
$placeholders['{{EntityViewWidgetAttributes}}'] = $this->getViewWidgetAttributesHtml();
|
220 |
+
$placeholders['{{EntityViewRelationLayout}}'] = $this->getRelationLayoutXml();
|
221 |
+
$placeholders['{{fks}}'] = $this->getParentEntitiesFks("\t\t");
|
222 |
+
$placeholders['{{referenceHead}}'] = $this->getReferenceHeadLayout();
|
223 |
+
//$placeholders['{{entityApiRelations}}'] = $this->getApiRelations();
|
224 |
+
$placeholders['{{entityApiAdditional}}'] = $this->getApiAdditional();
|
225 |
+
$placeholders['{{entityAdditionalApiAcl}}'] = $this->getAdditionalApiAcl();
|
226 |
+
$placeholders['{{entityApiFaults}}'] = $this->getApiFaults();
|
227 |
+
$placeholders['{{entityApiSortOrder}}'] = 110 + $this->getPosition();
|
228 |
+
$placeholders['{{entityWsdlAttributes}}'] = $this->getWsdlAttributes();
|
229 |
+
$placeholders['{{entityWsdlRelationTypes}}'] = $this->getWsdlRelationTypes();
|
230 |
+
$placeholders['{{entityWsdlPortTypeRelation}}'] = $this->getWsdlPortTypeRelation();
|
231 |
+
$placeholders['{{entityWsdlRelationBinding}}'] = $this->getWsdlRelationBinding();
|
232 |
+
$placeholders['{{entityWsiRelationParamTypes}}']= $this->getWsiRelationParamTypes();
|
233 |
+
$placeholders['{{entityWsiRelationMessages}}'] = $this->getWsiRelationMessages();
|
234 |
+
$placeholders['{{entityWsiPortTypeRelation}}'] = $this->getWsiPortTypeRelation();
|
235 |
+
$placeholders['{{entityWsiRelationBinding}}'] = $this->getWsiRelationBinding();
|
236 |
+
$placeholders['{{entityWsiAttributes}}'] = $this->getWsiAttributes();
|
237 |
+
$placeholders['{{entityWsiRelationTypes}}'] = $this->getWsiRelationTypes();
|
238 |
+
$placeholders['{{entityWsdlMessages}}'] = $this->getWsdlMessages();
|
239 |
+
$this->_placeholders['entity'] = $placeholders;
|
240 |
+
}
|
241 |
+
return $this->_placeholders['entity'];
|
242 |
}
|
243 |
/**
|
244 |
* get the placeholders for an entity as a sibling
|
247 |
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
248 |
*/
|
249 |
public function getPlaceholdersAsSibling(){
|
250 |
+
if (!isset($this->_placeholders['sibling'])){
|
251 |
+
$placeholders = array();
|
252 |
+
$placeholders['{{SiblingLabel}}'] = ucfirst($this->getLabelSingular());
|
253 |
+
$placeholders['{{siblingLabel}}'] = strtolower($this->getLabelSingular());
|
254 |
+
$placeholders['{{SiblingsLabel}}'] = ucfirst($this->getLabelPlural());
|
255 |
+
$placeholders['{{siblingsLabel}}'] = strtolower($this->getLabelPlural());
|
256 |
+
$placeholders['{{sibling}}'] = strtolower($this->getNameSingular());
|
257 |
+
$placeholders['{{Sibling}}'] = ucfirst($this->getNameSingular());
|
258 |
+
$placeholders['{{SIBLING}}'] = strtoupper($this->getNameSingular());
|
259 |
+
$placeholders['{{Siblings}}'] = ucfirst($this->getNamePlural());
|
260 |
+
$placeholders['{{siblings}}'] = $this->getNamePlural();
|
261 |
+
$placeholders['{{siblingListLayout}}'] = $this->getFrontendListTemplate();
|
262 |
+
$placeholders['{{siblingViewLayout}}'] = $this->getFrontendViewTemplate();
|
263 |
+
$nameAttribute = $this->getNameAttribute();
|
264 |
+
$placeholders['{{SiblingNameMagicCode}}'] = $this->getNameAttributeMagicCode();
|
265 |
+
$placeholders['{{siblingNameAttribute}}'] = $nameAttribute->getCode();
|
266 |
+
$placeholders['{{siblingNameAttributeLabel}}'] = $nameAttribute->getLabel();
|
267 |
+
$placeholders['{{siblingFirstImageField}}'] = $this->getFirstImageField();
|
268 |
+
$placeholders['{{siblingAttributeSql}}'] = $this->getAttributesSql();
|
269 |
+
$placeholders['{{sibling_menu_sort}}'] = $this->getPosition();
|
270 |
+
$placeholders['{{sibling_defaults}}'] = $this->getConfigDefaults();
|
271 |
+
$placeholders['{{siblingSystemAttributes}}'] = $this->getSystemAttributes();
|
272 |
+
$placeholders['{{SiblingListItem}}'] = $this->getListItemHtml();
|
273 |
+
$placeholders['{{SiblingViewAttributes}}'] = $this->getViewAttributesHtml();
|
274 |
+
$placeholders['{{SiblingViewWidgetAttributes}}'] = $this->getViewWidgetAttributesHtml();
|
275 |
+
$placeholders['{{SiblingViewRelationLayout}}'] = $this->getRelationLayoutXml();
|
276 |
+
$placeholders['{{siblingFks}}'] = $this->getParentEntitiesFks("\t\t");
|
277 |
+
|
278 |
+
$this->_placeholders['sibling'] = $placeholders;
|
279 |
+
}
|
280 |
+
return $this->_placeholders['sibling'];
|
281 |
}
|
282 |
/**
|
283 |
* get magic function code for the name attribute
|
368 |
foreach ($this->getAttributes() as $attribute){
|
369 |
$content .= $padding.$attribute->getSqlColumn()."\n";
|
370 |
}
|
371 |
+
$simulated = $this->_getSimulatedAttributes(null, false);
|
372 |
+
foreach ($simulated as $attr){
|
373 |
+
$content .= $padding.$attr->getSqlColumn()."\n";
|
374 |
+
}
|
375 |
+
/*if ($this->getUrlRewrite()){
|
376 |
$attr = Mage::getModel('modulecreator/attribute');
|
377 |
$attr->setCode('url_key');
|
378 |
$attr->setLabel('URL key');
|
442 |
$attr->setLabel('Meta description');
|
443 |
$attr->setType('textarea');
|
444 |
$content .= $padding.$attr->getSqlColumn()."\n";
|
445 |
+
}*/
|
446 |
return substr($content,0, strlen($content) - strlen("\n"));
|
447 |
}
|
448 |
/**
|
838 |
public function getAdminSearch(){
|
839 |
return !$this->getIsTree() && $this->getData('admin_search');
|
840 |
}
|
841 |
+
/**
|
842 |
+
* get API xml for entity relations
|
843 |
+
* @access public
|
844 |
+
* @return string
|
845 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
846 |
+
*/
|
847 |
+
public function getApiRelations(){
|
848 |
+
$string = '';
|
849 |
+
$prefix = "\t\t\t\t\t";
|
850 |
+
$eol = "\n";
|
851 |
+
$module = strtolower($this->getModule()->getModuleName());
|
852 |
+
$entity = strtolower($this->getNameSingular());
|
853 |
+
$entityLabelUc = ucfirst($this->getLabelSingular());
|
854 |
+
$entityLabel = strtolower($this->getLabelSingular());
|
855 |
+
if ($this->getLinkProduct()){
|
856 |
+
$string .= $prefix. '<assignProduct translate="title" module="'.$module.'">'.$eol;
|
857 |
+
$string .= $prefix."\t". '<title>Assign product to '.$entityLabelUc.'</title>'.$eol;
|
858 |
+
$string .= $prefix."\t". '<acl>'.$module.'/'.$entity.'/update</acl>'.$eol;
|
859 |
+
$string .= $prefix. '</assignProduct>'.$eol;
|
860 |
+
|
861 |
+
$string .= $prefix. '<unassignProduct translate="title" module="'.$module.'">'.$eol;
|
862 |
+
$string .= $prefix."\t". '<title>Remove product from '.$entityLabel.'}</title>'.$eol;
|
863 |
+
$string .= $prefix."\t". '<acl>'.$module.'/'.$entity.'/update</acl>'.$eol;
|
864 |
+
$string .= $prefix. '</unassignProduct>'.$eol;
|
865 |
+
}
|
866 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
867 |
+
foreach ($siblings as $sibling){
|
868 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
869 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
870 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
871 |
+
|
872 |
+
$string .= $prefix.'<assign'.$siblingNameUc.' translate="title" module="'.$module.'">'.$eol;
|
873 |
+
$string .= $prefix."\t".'<title>Assign '.$siblingLabel.' to '.$entityLabel.'</title>'.$eol;
|
874 |
+
$string .= $prefix."\t".'<acl>'.$module.'/'.$entity.'/update</acl>'.$eol;
|
875 |
+
$string .= $prefix.'</assign'.$siblingNameUc.'>'.$eol;
|
876 |
+
|
877 |
+
$string .= $prefix.'<unassign'.$siblingNameUc.' translate="title" module="'.$module.'">'.$eol;
|
878 |
+
$string .= $prefix."\t".'<title>Remove '.$siblingLabel.' from '.$entityLabel.'</title>'.$eol;
|
879 |
+
$string .= $prefix."\t".'<acl>'.$module.'/'.$entity.'/update</acl>'.$eol;
|
880 |
+
$string .= $prefix.'</unassign'.$siblingNameUc.'>'.$eol;
|
881 |
+
}
|
882 |
+
$string .= "\t\t\t\t";
|
883 |
+
return $string;
|
884 |
+
}
|
885 |
+
/**
|
886 |
+
* get list of faults for API
|
887 |
+
* @access public
|
888 |
+
* @return string
|
889 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
890 |
+
*/
|
891 |
+
public function getApiFaults(){
|
892 |
+
$string = '';
|
893 |
+
$prefix = "\t\t\t\t\t";
|
894 |
+
$eol = "\n";
|
895 |
+
$code = 105;
|
896 |
+
$entity = strtolower($this->getNameSingular());
|
897 |
+
$entityLabelUc = ucfirst($this->getLabelSingular());
|
898 |
+
$entityLabel = strtolower($this->getLabelSingular());
|
899 |
+
if ($this->getIsTree()){
|
900 |
+
$string .= $prefix.'<not_moved>'.$eol;
|
901 |
+
$string .= $prefix."\t".'<code>'.$code.'</code>'.$eol;
|
902 |
+
$string .= $prefix."\t".'<message>'.$entityLabelUc.' not moved. Details in error message.</message>'.$eol;
|
903 |
+
$string .= $prefix.'</not_moved>'.$eol;
|
904 |
+
$code++;
|
905 |
+
}
|
906 |
+
if ($this->getLinkProduct()){
|
907 |
+
$string .= $prefix.'<product_not_exists>'.$eol;
|
908 |
+
$string .= $prefix."\t".'<code>'.$code.'</code>'.$eol;
|
909 |
+
$string .= $prefix."\t".'<message>Product does not exist.</message>'.$eol;
|
910 |
+
$string .= $prefix.'</product_not_exists>'.$eol;
|
911 |
+
$code++;
|
912 |
+
}
|
913 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
914 |
+
foreach ($siblings as $sibling){
|
915 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
916 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
917 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
918 |
+
$siblingLabelUc = ucfirst($sibling->getLabelSingular());
|
919 |
+
|
920 |
+
$string .= $prefix.'<'.$entity.'_'.$siblingName.'_not_exists>'.$eol;
|
921 |
+
$string .= $prefix."\t".'<code>'.$code.'</code>'.$eol;
|
922 |
+
$string .= $prefix."\t".'<message>'.$siblingLabelUc.' does not exist.</message>'.$eol;
|
923 |
+
$string .= $prefix.'</'.$entity.'_'.$siblingName.'_not_exists>'.$eol;
|
924 |
+
$code++;
|
925 |
+
}
|
926 |
+
$string .= "\t\t\t\t";
|
927 |
+
return $string;
|
928 |
+
}
|
929 |
+
/**
|
930 |
+
* get attributes format for wsdl
|
931 |
+
* @access public
|
932 |
+
* @param bool $wsi
|
933 |
+
* @return string
|
934 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
935 |
+
*/
|
936 |
+
public function getWsdlAttributes($wsi = false){
|
937 |
+
$parents = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_CHILD);
|
938 |
+
$padding = "\t\t\t\t\t";
|
939 |
+
$content = '';
|
940 |
+
foreach ($parents as $parent){
|
941 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
942 |
+
$attr->setCode($parent->getNameSingular().'_id');
|
943 |
+
$attr->setLabel($parent->getLabelSingular());
|
944 |
+
$attr->setType('int');
|
945 |
+
$content .= $padding.$attr->getWsdlFormat($wsi)."\n";
|
946 |
+
}
|
947 |
+
foreach ($this->getAttributes() as $attribute){
|
948 |
+
$content .= $padding.$attribute->getWsdlFormat($wsi)."\n";
|
949 |
+
}
|
950 |
+
$simulated = $this->_getSimulatedAttributes(null, false);
|
951 |
+
foreach ($simulated as $attr){
|
952 |
+
if (!$attr->getIgnoreApi()){
|
953 |
+
$content .= $padding.$attr->getWsdlFormat($wsi)."\n";
|
954 |
+
}
|
955 |
+
}
|
956 |
+
return $content;
|
957 |
+
}
|
958 |
+
/**
|
959 |
+
* get attributes format for wsi
|
960 |
+
* @access public
|
961 |
+
* @return string
|
962 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
963 |
+
*/
|
964 |
+
public function getWsiAttributes(){
|
965 |
+
return $this->getWsdlAttributes(true);
|
966 |
+
}
|
967 |
+
/**
|
968 |
+
* get simulated attribtues
|
969 |
+
* @access public
|
970 |
+
* @param mixed $type
|
971 |
+
* @param bool $ignoreSettings
|
972 |
+
* @return array()
|
973 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
974 |
+
*/
|
975 |
+
protected function _getSimulatedAttributes($type = null, $ignoreSettings = false){
|
976 |
+
$attributes = array();
|
977 |
+
if (is_null($type)){
|
978 |
+
return array_merge(
|
979 |
+
$this->_getSimulatedAttributes('url_rewrite', $ignoreSettings),
|
980 |
+
$this->_getSimulatedAttributes('status', $ignoreSettings),
|
981 |
+
$this->_getSimulatedAttributes('tree', $ignoreSettings),
|
982 |
+
$this->_getSimulatedAttributes('rss', $ignoreSettings),
|
983 |
+
$this->_getSimulatedAttributes('seo', $ignoreSettings)
|
984 |
+
);
|
985 |
+
}
|
986 |
+
switch ($type){
|
987 |
+
case 'url_rewrite':
|
988 |
+
if ($this->getUrlRewrite() || $ignoreSettings){
|
989 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
990 |
+
$attr->setCode('url_key');
|
991 |
+
$attr->setLabel('URL key');
|
992 |
+
$attr->setType('text');
|
993 |
+
$attributes[] = $attr;
|
994 |
+
}
|
995 |
+
break;
|
996 |
+
case 'status' :
|
997 |
+
if($this->getAddStatus() || $ignoreSettings){
|
998 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
999 |
+
$attr->setCode('status');
|
1000 |
+
$attr->setLabel('Status');
|
1001 |
+
$attr->setType('yesno');
|
1002 |
+
$attributes[] = $attr;
|
1003 |
+
}
|
1004 |
+
break;
|
1005 |
+
case 'tree' :
|
1006 |
+
if ($this->getIsTree() || $ignoreSettings){
|
1007 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1008 |
+
$attr->setCode('parent_id');
|
1009 |
+
$attr->setLabel('Parent id');
|
1010 |
+
$attr->setType('int');
|
1011 |
+
$attributes[] = $attr;
|
1012 |
+
|
1013 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1014 |
+
$attr->setCode('path');
|
1015 |
+
$attr->setLabel('Path');
|
1016 |
+
$attr->setType('text');
|
1017 |
+
$attr->setIgnoreApi(true);
|
1018 |
+
$attributes[] = $attr;
|
1019 |
+
|
1020 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1021 |
+
$attr->setCode('position');
|
1022 |
+
$attr->setLabel('Position');
|
1023 |
+
$attr->setType('int');
|
1024 |
+
$attr->setIgnoreApi(true);
|
1025 |
+
$attributes[] = $attr;
|
1026 |
+
|
1027 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1028 |
+
$attr->setCode('level');
|
1029 |
+
$attr->setLabel('Level');
|
1030 |
+
$attr->setType('int');
|
1031 |
+
$attr->setIgnoreApi(true);
|
1032 |
+
$attributes[] = $attr;
|
1033 |
+
|
1034 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1035 |
+
$attr->setCode('children_count');
|
1036 |
+
$attr->setLabel('Children count');
|
1037 |
+
$attr->setType('int');
|
1038 |
+
$attr->setIgnoreApi(true);
|
1039 |
+
$attributes[] = $attr;
|
1040 |
+
}
|
1041 |
+
break;
|
1042 |
+
case 'rss':
|
1043 |
+
if($this->getRss() || $ignoreSettings){
|
1044 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1045 |
+
$attr->setCode('in_rss');
|
1046 |
+
$attr->setLabel('In RSS');
|
1047 |
+
$attr->setType('yesno');
|
1048 |
+
$attributes[] = $attr;
|
1049 |
+
}
|
1050 |
+
break;
|
1051 |
+
case 'seo':
|
1052 |
+
if ($this->getFrontendAddSeo() || $ignoreSettings){
|
1053 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1054 |
+
$attr->setCode('meta_title');
|
1055 |
+
$attr->setLabel('Meta title');
|
1056 |
+
$attr->setType('text');
|
1057 |
+
$attributes[] = $attr;
|
1058 |
+
|
1059 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1060 |
+
$attr->setCode('meta_keywords');
|
1061 |
+
$attr->setLabel('Meta keywords');
|
1062 |
+
$attr->setType('textarea');
|
1063 |
+
$attributes[] = $attr;
|
1064 |
+
|
1065 |
+
$attr = Mage::getModel('modulecreator/attribute');
|
1066 |
+
$attr->setCode('meta_description');
|
1067 |
+
$attr->setLabel('Meta description');
|
1068 |
+
$attr->setType('textarea');
|
1069 |
+
$attributes[] = $attr;
|
1070 |
+
}
|
1071 |
+
break;
|
1072 |
+
default:
|
1073 |
+
break;
|
1074 |
+
}
|
1075 |
+
return $attributes;
|
1076 |
+
}
|
1077 |
+
/**
|
1078 |
+
* get entity WSDL relation types
|
1079 |
+
* @access public
|
1080 |
+
* @param bool $wsi
|
1081 |
+
* @return string
|
1082 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1083 |
+
*/
|
1084 |
+
public function getWsdlRelationTypes($wsi = false){
|
1085 |
+
$content = '';
|
1086 |
+
$padding = "\t\t\t";
|
1087 |
+
$mainTag = ($wsi) ? 'xsd:complexType':'complexType';
|
1088 |
+
$subtag = ($wsi) ? 'xsd:sequence' : 'all';
|
1089 |
+
$element = ($wsi) ? 'xsd:element' : 'element';
|
1090 |
+
$eol = "\n";
|
1091 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1092 |
+
$entity = $this->getNameSingular();
|
1093 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1094 |
+
if ($this->getIsTree()){
|
1095 |
+
$content .= $padding.'<'.$mainTag .' name="'.$module.$entityUc.'MoveEntity">'.$eol;
|
1096 |
+
$content .= $padding."\t".'<'.$subtag.'>'.$eol;
|
1097 |
+
$content .= $padding."\t".'<'.$element.' name="'.$entity.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1098 |
+
$content .= $padding."\t".'<'.$element.' name="parent_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1099 |
+
$content .= $padding."\t".'<'.$element.' name="after_id" type="xsd:string"'.((!$wsi)?' minOccurs="0"':'').' />'.$eol;
|
1100 |
+
$content .= $padding."\t".'</'.$subtag.'>'.$eol;
|
1101 |
+
$content .= $padding.'</'.$mainTag.'>'.$eol;
|
1102 |
+
}
|
1103 |
+
|
1104 |
+
if ($this->getLinkProduct()){
|
1105 |
+
$content .= $padding.'<'.$mainTag .' name="'.$module.$entityUc.'AssignProductEntity">'.$eol;
|
1106 |
+
$content .= $padding."\t".'<'.$subtag.'>'.$eol;
|
1107 |
+
$content .= $padding."\t".'<'.$element.' name="'.$entity.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1108 |
+
$content .= $padding."\t".'<'.$element.' name="product_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1109 |
+
$content .= $padding."\t".'<'.$element.' name="position" type="xsd:string"'.((!$wsi)?' minOccurs="0"':'').' />'.$eol;
|
1110 |
+
$content .= $padding."\t".'</'.$subtag.'>'.$eol;
|
1111 |
+
$content .= $padding.'</'.$mainTag.'>'.$eol;
|
1112 |
+
|
1113 |
+
$content .= $padding.'<'.$mainTag .' name="'.$module.$entityUc.'UnassignProductEntity">'.$eol;
|
1114 |
+
$content .= $padding."\t".'<'.$subtag.'>'.$eol;
|
1115 |
+
$content .= $padding."\t".'<'.$element.' name="'.$entity.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1116 |
+
$content .= $padding."\t".'<'.$element.' name="product_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1117 |
+
$content .= $padding."\t".'</'.$subtag.'>'.$eol;
|
1118 |
+
$content .= $padding.'</'.$mainTag.'>'.$eol;
|
1119 |
+
}
|
1120 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1121 |
+
foreach ($siblings as $sibling){
|
1122 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1123 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1124 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1125 |
+
|
1126 |
+
$content .= $padding.'<'.$mainTag .' name="'.$module.$entityUc.'Assign'.$siblingNameUc.'Entity">'.$eol;
|
1127 |
+
$content .= $padding."\t".'<'.$subtag.'>'.$eol;
|
1128 |
+
$content .= $padding."\t".'<'.$element.' name="'.$entity.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1129 |
+
$content .= $padding."\t".'<'.$element.' name="'.$siblingName.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1130 |
+
$content .= $padding."\t".'<'.$element.' name="position" type="xsd:string"'.((!$wsi)?' minOccurs="0"':'').' />'.$eol;
|
1131 |
+
$content .= $padding."\t".'</'.$subtag.'>'.$eol;
|
1132 |
+
$content .= $padding.'</'.$mainTag.'>'.$eol;
|
1133 |
+
|
1134 |
+
$content .= $padding.'<'.$mainTag .' name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'Entity">'.$eol;
|
1135 |
+
$content .= $padding."\t".'<'.$subtag.'>'.$eol;
|
1136 |
+
$content .= $padding."\t".'<'.$element.' name="'.$entity.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1137 |
+
$content .= $padding."\t".'<'.$element.' name="'.$siblingName.'_id" type="xsd:string"'.((!$wsi)?' minOccurs="1"':'').' />'.$eol;
|
1138 |
+
$content .= $padding."\t".'</'.$subtag.'>'.$eol;
|
1139 |
+
$content .= $padding.'</'.$mainTag.'>'.$eol;
|
1140 |
+
}
|
1141 |
+
$content .= "\t\t";
|
1142 |
+
return $content;
|
1143 |
+
}
|
1144 |
+
/**
|
1145 |
+
* get entity WSI relation types
|
1146 |
+
* @access public
|
1147 |
+
* @return string
|
1148 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1149 |
+
*/
|
1150 |
+
public function getWsiRelationTypes(){
|
1151 |
+
return $this->getWsdlRelationTypes(true);
|
1152 |
+
}
|
1153 |
+
|
1154 |
+
/**
|
1155 |
+
* get entity WSDL messages for relations
|
1156 |
+
* @access public
|
1157 |
+
* @return string
|
1158 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1159 |
+
*/
|
1160 |
+
public function getWsdlMessages(){
|
1161 |
+
$content = '';
|
1162 |
+
$padding = "\t\t";
|
1163 |
+
$eol = "\n";
|
1164 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1165 |
+
$entity = $this->getNameSingular();
|
1166 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1167 |
+
if ($this->getIsTree()){
|
1168 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'MoveRequest">'.$eol;
|
1169 |
+
$content .= $padding."\t".'<part name="sessionId" type="xsd:string" />'.$eol;
|
1170 |
+
$content .= $padding."\t".'<part name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1171 |
+
$content .= $padding."\t".'<part name="parentId" type="xsd:string" />'.$eol;
|
1172 |
+
$content .= $padding."\t".'<part name="afterId" type="xsd:string" />'.$eol;
|
1173 |
+
$content .= $padding.'</message>'.$eol;
|
1174 |
+
|
1175 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'MoveResponse">'.$eol;
|
1176 |
+
$content .= $padding."\t".'<part name="id" type="xsd:boolean"/>'.$eol;
|
1177 |
+
$content .= $padding.'</message>'.$eol;
|
1178 |
+
}
|
1179 |
+
if ($this->getLinkProduct()){
|
1180 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'AssignProductRequest">'.$eol;
|
1181 |
+
$content .= $padding."\t".'<part name="sessionId" type="xsd:string" />'.$eol;
|
1182 |
+
$content .= $padding."\t".'<part name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1183 |
+
$content .= $padding."\t".'<part name="productId" type="xsd:string" />'.$eol;
|
1184 |
+
$content .= $padding."\t".'<part name="position" type="xsd:string" />'.$eol;
|
1185 |
+
$content .= $padding.'</message>'.$eol;
|
1186 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'AssignProductResponse">'.$eol;
|
1187 |
+
$content .= $padding."\t".'<part name="result" type="xsd:boolean" />'.$eol;
|
1188 |
+
$content .= $padding.'</message>'.$eol;
|
1189 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'UnassignProductRequest">'.$eol;
|
1190 |
+
$content .= $padding."\t".'<part name="sessionId" type="xsd:string" />'.$eol;
|
1191 |
+
$content .= $padding."\t".'<part name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1192 |
+
$content .= $padding."\t".'<part name="productId" type="xsd:string" />'.$eol;
|
1193 |
+
$content .= $padding.'</message>'.$eol;
|
1194 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'UnassignProductResponse">'.$eol;
|
1195 |
+
$content .= $padding."\t".'<part name="result" type="xsd:boolean" />'.$eol;
|
1196 |
+
$content .= $padding.'</message>'.$eol;
|
1197 |
+
}
|
1198 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1199 |
+
foreach ($siblings as $sibling){
|
1200 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1201 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1202 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1203 |
+
|
1204 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'Assign'.$siblingNameUc.'Request">'.$eol;
|
1205 |
+
$content .= $padding."\t".'<part name="sessionId" type="xsd:string" />'.$eol;
|
1206 |
+
$content .= $padding."\t".'<part name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1207 |
+
$content .= $padding."\t".'<part name="'.$siblingName.'Id" type="xsd:string" />'.$eol;
|
1208 |
+
$content .= $padding."\t".'<part name="position" type="xsd:string" />'.$eol;
|
1209 |
+
$content .= $padding.'</message>'.$eol;
|
1210 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'Assign'.$siblingNameUc.'Response">'.$eol;
|
1211 |
+
$content .= $padding."\t".'<part name="result" type="xsd:boolean" />'.$eol;
|
1212 |
+
$content .= $padding.'</message>'.$eol;
|
1213 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'Request">'.$eol;
|
1214 |
+
$content .= $padding."\t".'<part name="sessionId" type="xsd:string" />'.$eol;
|
1215 |
+
$content .= $padding."\t".'<part name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1216 |
+
$content .= $padding."\t".'<part name="'.$siblingName.'Id" type="xsd:string" />'.$eol;
|
1217 |
+
$content .= $padding.'</message>'.$eol;
|
1218 |
+
$content .= $padding.'<message name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'Response">'.$eol;
|
1219 |
+
$content .= $padding."\t".'<part name="result" type="xsd:boolean" />'.$eol;
|
1220 |
+
$content .= $padding.'</message>'.$eol;
|
1221 |
+
}
|
1222 |
+
$content .= "\t";
|
1223 |
+
return $content;
|
1224 |
+
}
|
1225 |
+
/**
|
1226 |
+
* get entity WSDL port type for relations
|
1227 |
+
* @access public
|
1228 |
+
* @param bool $wsi
|
1229 |
+
* @return string
|
1230 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1231 |
+
*/
|
1232 |
+
public function getWsdlPortTypeRelation($wsi = false){
|
1233 |
+
$content = '';
|
1234 |
+
$padding = "\t\t";
|
1235 |
+
$eol = "\n";
|
1236 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1237 |
+
$entity = $this->getNameSingular();
|
1238 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1239 |
+
$label = strtolower($this->getLabelSingular());
|
1240 |
+
|
1241 |
+
$tagPrefix = ($wsi) ? 'wsdl:':'';
|
1242 |
+
|
1243 |
+
if ($this->getIsTree()){
|
1244 |
+
$content .= $padding.'<'.$tagPrefix.'operation name="'.$module.$entityUc.'Move">'.$eol;
|
1245 |
+
$content .= $padding."\t".'<'.$tagPrefix.'documentation>Move '.$label.' in tree</'.$tagPrefix.'documentation>'.$eol;
|
1246 |
+
$content .= $padding."\t".'<'.$tagPrefix.'input message="typens:'.$module.$entityUc.'MoveRequest" />'.$eol;
|
1247 |
+
$content .= $padding."\t".'<'.$tagPrefix.'output message="typens:'.$module.$entityUc.'MoveResponse" />'.$eol;
|
1248 |
+
$content .= $padding.'</'.$tagPrefix.'operation>'.$eol;
|
1249 |
+
|
1250 |
+
}
|
1251 |
+
|
1252 |
+
if ($this->getLinkProduct()){
|
1253 |
+
$content .= $padding.'<'.$tagPrefix.'operation name="'.$module.$entityUc.'AssignProduct">'.$eol;
|
1254 |
+
$content .= $padding."\t".'<'.$tagPrefix.'documentation>Assign product to '.$label.'</'.$tagPrefix.'documentation>'.$eol;
|
1255 |
+
$content .= $padding."\t".'<'.$tagPrefix.'input message="typens:'.$module.$entityUc.'AssignProductRequest" />'.$eol;
|
1256 |
+
$content .= $padding."\t".'<'.$tagPrefix.'output message="typens:'.$module.$entityUc.'AssignProductResponse" />'.$eol;
|
1257 |
+
$content .= $padding.'</'.$tagPrefix.'operation>'.$eol;
|
1258 |
+
$content .= $padding.'<'.$tagPrefix.'operation name="'.$module.$entityUc.'UnassignProduct">'.$eol;
|
1259 |
+
$content .= $padding."\t".'<'.$tagPrefix.'documentation>Remove product from '.$label.'</'.$tagPrefix.'documentation>'.$eol;
|
1260 |
+
$content .= $padding."\t".'<'.$tagPrefix.'input message="typens:'.$module.$entityUc.'UnassignProductRequest" />'.$eol;
|
1261 |
+
$content .= $padding."\t".'<'.$tagPrefix.'output message="typens:'.$module.$entityUc.'UnassignProductResponse" />'.$eol;
|
1262 |
+
$content .= $padding.'</'.$tagPrefix.'operation>'.$eol;
|
1263 |
+
}
|
1264 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1265 |
+
foreach ($siblings as $sibling){
|
1266 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1267 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1268 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1269 |
+
|
1270 |
+
$content .= $padding.'<'.$tagPrefix.'operation name="'.$module.$entityUc.'Assign'.$siblingNameUc.'">'.$eol;
|
1271 |
+
$content .= $padding."\t".'<'.$tagPrefix.'documentation>Assign '.$siblingLabel.' to '.$label.'</'.$tagPrefix.'documentation>'.$eol;
|
1272 |
+
$content .= $padding."\t".'<'.$tagPrefix.'input message="typens:'.$module.$entityUc.'Assign'.$siblingNameUc.'Request" />'.$eol;
|
1273 |
+
$content .= $padding."\t".'<'.$tagPrefix.'output message="typens:'.$module.$entityUc.'Assign'.$siblingNameUc.'Response" />'.$eol;
|
1274 |
+
$content .= $padding.'</'.$tagPrefix.'operation>'.$eol;
|
1275 |
+
$content .= $padding.'<'.$tagPrefix.'operation name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'">'.$eol;
|
1276 |
+
$content .= $padding."\t".'<'.$tagPrefix.'documentation>Remove '.$siblingLabel.' from '.$label.'</'.$tagPrefix.'documentation>'.$eol;
|
1277 |
+
$content .= $padding."\t".'<'.$tagPrefix.'input message="typens:'.$module.$entityUc.'Unassign'.$siblingNameUc.'Request" />'.$eol;
|
1278 |
+
$content .= $padding."\t".'<'.$tagPrefix.'output message="typens:'.$module.$entityUc.'Unassign'.$siblingNameUc.'Response" />'.$eol;
|
1279 |
+
$content .= $padding.'</'.$tagPrefix.'operation>'.$eol;
|
1280 |
+
|
1281 |
+
}
|
1282 |
+
$content .="\t";
|
1283 |
+
return $content;
|
1284 |
+
}
|
1285 |
+
/**
|
1286 |
+
* get entity WSI port type for relations
|
1287 |
+
* @access public
|
1288 |
+
* @return string
|
1289 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1290 |
+
*/
|
1291 |
+
public function getWsiPortTypeRelation(){
|
1292 |
+
return $this->getWsdlPortTypeRelation(true);
|
1293 |
+
}
|
1294 |
+
/**
|
1295 |
+
* get WSDL relation binding
|
1296 |
+
* @access public
|
1297 |
+
* @return string
|
1298 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1299 |
+
*/
|
1300 |
+
public function getWsdlRelationBinding(){
|
1301 |
+
$content = '';
|
1302 |
+
$padding = "\t\t";
|
1303 |
+
$eol = "\n";
|
1304 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1305 |
+
$entity = $this->getNameSingular();
|
1306 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1307 |
+
$label = strtolower($this->getLabelSingular());
|
1308 |
+
if ($this->getIsTree()){
|
1309 |
+
$content .= $padding.'<operation name="'.$module.$entityUc.'Move">'.$eol;
|
1310 |
+
$content .= $padding."\t".'<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />'.$eol;
|
1311 |
+
$content .= $padding."\t".'<input>'.$eol;
|
1312 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1313 |
+
$content .= $padding."\t".'</input>'.$eol;
|
1314 |
+
$content .= $padding."\t".'<output>'.$eol;
|
1315 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1316 |
+
$content .= $padding."\t".'</output>'.$eol;
|
1317 |
+
$content .= $padding.'</operation>'.$eol;
|
1318 |
+
}
|
1319 |
+
if ($this->getLinkProduct()){
|
1320 |
+
$content .= $padding.'<operation name="'.$module.$entityUc.'AssignProduct">'.$eol;
|
1321 |
+
$content .= $padding."\t".'<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />'.$eol;
|
1322 |
+
$content .= $padding."\t".'<input>'.$eol;
|
1323 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1324 |
+
$content .= $padding."\t".'</input>'.$eol;
|
1325 |
+
$content .= $padding."\t".'<output>'.$eol;
|
1326 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1327 |
+
$content .= $padding."\t".'</output>'.$eol;
|
1328 |
+
$content .= $padding.'</operation>'.$eol;
|
1329 |
+
|
1330 |
+
$content .= $padding.'<operation name="'.$module.$entityUc.'UnassignProduct">'.$eol;
|
1331 |
+
$content .= $padding."\t".'<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />'.$eol;
|
1332 |
+
$content .= $padding."\t".'<input>'.$eol;
|
1333 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1334 |
+
$content .= $padding."\t".'</input>'.$eol;
|
1335 |
+
$content .= $padding."\t".'<output>'.$eol;
|
1336 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1337 |
+
$content .= $padding."\t".'</output>'.$eol;
|
1338 |
+
$content .= $padding.'</operation>'.$eol;
|
1339 |
+
}
|
1340 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1341 |
+
foreach ($siblings as $sibling){
|
1342 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1343 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1344 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1345 |
+
|
1346 |
+
$content .= $padding.'<operation name="'.$module.$entityUc.'Assign'.$siblingNameUc.'">'.$eol;
|
1347 |
+
$content .= $padding."\t".'<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />'.$eol;
|
1348 |
+
$content .= $padding."\t".'<input>'.$eol;
|
1349 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1350 |
+
$content .= $padding."\t".'</input>'.$eol;
|
1351 |
+
$content .= $padding."\t".'<output>'.$eol;
|
1352 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1353 |
+
$content .= $padding."\t".'</output>'.$eol;
|
1354 |
+
$content .= $padding.'</operation>'.$eol;
|
1355 |
+
|
1356 |
+
$content .= $padding.'<operation name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'">'.$eol;
|
1357 |
+
$content .= $padding."\t".'<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />'.$eol;
|
1358 |
+
$content .= $padding."\t".'<input>'.$eol;
|
1359 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1360 |
+
$content .= $padding."\t".'</input>'.$eol;
|
1361 |
+
$content .= $padding."\t".'<output>'.$eol;
|
1362 |
+
$content .= $padding."\t\t".'<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />'.$eol;
|
1363 |
+
$content .= $padding."\t".'</output>'.$eol;
|
1364 |
+
$content .= $padding.'</operation>'.$eol;
|
1365 |
+
}
|
1366 |
+
$content .= "\t";
|
1367 |
+
return $content;
|
1368 |
+
}
|
1369 |
+
/**
|
1370 |
+
* get WSI relation binding
|
1371 |
+
* @access public
|
1372 |
+
* @return string
|
1373 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1374 |
+
*/
|
1375 |
+
public function getWsiRelationBinding(){
|
1376 |
+
$content = '';
|
1377 |
+
$padding = "\t\t";
|
1378 |
+
$eol = "\n";
|
1379 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1380 |
+
$entity = $this->getNameSingular();
|
1381 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1382 |
+
$label = strtolower($this->getLabelSingular());
|
1383 |
+
|
1384 |
+
if ($this->getIsTree()){
|
1385 |
+
$content .= $padding.'<wsdl:operation name="'.$module.$entityUc.'Move">'.$eol;
|
1386 |
+
$content .= $padding."\t".'<soap:operation soapAction="" />'.$eol;
|
1387 |
+
$content .= $padding."\t".'<wsdl:input>'.$eol;
|
1388 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1389 |
+
$content .= $padding."\t".'</wsdl:input>'.$eol;
|
1390 |
+
$content .= $padding."\t".'<wsdl:output>'.$eol;
|
1391 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1392 |
+
$content .= $padding."\t".'</wsdl:output>'.$eol;
|
1393 |
+
$content .= $padding.'</wsdl:operation>'.$eol;
|
1394 |
+
}
|
1395 |
+
|
1396 |
+
if ($this->getLinkProduct()){
|
1397 |
+
$content .= $padding.'<wsdl:operation name="'.$module.$entityUc.'AssignProduct">'.$eol;
|
1398 |
+
$content .= $padding."\t".'<soap:operation soapAction="" />'.$eol;
|
1399 |
+
$content .= $padding."\t".'<wsdl:input>'.$eol;
|
1400 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1401 |
+
$content .= $padding."\t".'</wsdl:input>'.$eol;
|
1402 |
+
$content .= $padding."\t".'<wsdl:output>'.$eol;
|
1403 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1404 |
+
$content .= $padding."\t".'</wsdl:output>'.$eol;
|
1405 |
+
$content .= $padding.'</wsdl:operation>'.$eol;
|
1406 |
+
|
1407 |
+
$content .= $padding.'<wsdl:operation name="'.$module.$entityUc.'UnassignProduct">'.$eol;
|
1408 |
+
$content .= $padding."\t".'<soap:operation soapAction="" />'.$eol;
|
1409 |
+
$content .= $padding."\t".'<wsdl:input>'.$eol;
|
1410 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1411 |
+
$content .= $padding."\t".'</wsdl:input>'.$eol;
|
1412 |
+
$content .= $padding."\t".'<wsdl:output>'.$eol;
|
1413 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1414 |
+
$content .= $padding."\t".'</wsdl:output>'.$eol;
|
1415 |
+
$content .= $padding.'</wsdl:operation>'.$eol;
|
1416 |
+
}
|
1417 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1418 |
+
foreach ($siblings as $sibling){
|
1419 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1420 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1421 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1422 |
+
|
1423 |
+
$content .= $padding.'<wsdl:operation name="'.$module.$entityUc.'Assign'.$siblingNameUc.'">'.$eol;
|
1424 |
+
$content .= $padding."\t".'<soap:operation soapAction="" />'.$eol;
|
1425 |
+
$content .= $padding."\t".'<wsdl:input>'.$eol;
|
1426 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1427 |
+
$content .= $padding."\t".'</wsdl:input>'.$eol;
|
1428 |
+
$content .= $padding."\t".'<wsdl:output>'.$eol;
|
1429 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1430 |
+
$content .= $padding."\t".'</wsdl:output>'.$eol;
|
1431 |
+
$content .= $padding.'</wsdl:operation>'.$eol;
|
1432 |
+
|
1433 |
+
$content .= $padding.'<wsdl:operation name="'.$module.$entityUc.'Unssign'.$siblingNameUc.'">'.$eol;
|
1434 |
+
$content .= $padding."\t".'<soap:operation soapAction="" />'.$eol;
|
1435 |
+
$content .= $padding."\t".'<wsdl:input>'.$eol;
|
1436 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1437 |
+
$content .= $padding."\t".'</wsdl:input>'.$eol;
|
1438 |
+
$content .= $padding."\t".'<wsdl:output>'.$eol;
|
1439 |
+
$content .= $padding."\t\t".'<soap:body use="literal" />'.$eol;
|
1440 |
+
$content .= $padding."\t".'</wsdl:output>'.$eol;
|
1441 |
+
$content .= $padding.'</wsdl:operation>'.$eol;
|
1442 |
+
}
|
1443 |
+
$content .= "\t";
|
1444 |
+
return $content;
|
1445 |
+
}
|
1446 |
+
/**
|
1447 |
+
* get entity WSI relation param types
|
1448 |
+
* @access public
|
1449 |
+
* @return string
|
1450 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1451 |
+
*/
|
1452 |
+
public function getWsiRelationParamTypes(){
|
1453 |
+
$content = '';
|
1454 |
+
$padding = "\t\t\t";
|
1455 |
+
$eol = "\n";
|
1456 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1457 |
+
$entity = $this->getNameSingular();
|
1458 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1459 |
+
$label = strtolower($this->getLabelSingular());
|
1460 |
+
|
1461 |
+
if ($this->getIsTree()){
|
1462 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'MoveRequestParam">'.$eol;
|
1463 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1464 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1465 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />'.$eol;
|
1466 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1467 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="parent_d" type="xsd:string" />'.$eol;
|
1468 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="0" maxOccurs="1" name="after_id" type="xsd:string" />'.$eol;
|
1469 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1470 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1471 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1472 |
+
|
1473 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'AssignProductResponseParam">'.$eol;
|
1474 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1475 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1476 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />'.$eol;
|
1477 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1478 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1479 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1480 |
+
}
|
1481 |
+
|
1482 |
+
if ($this->getLinkProduct()){
|
1483 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'AssignProductRequestParam">'.$eol;
|
1484 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1485 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1486 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />'.$eol;
|
1487 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1488 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string" />'.$eol;
|
1489 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="0" maxOccurs="1" name="position" type="xsd:string" />'.$eol;
|
1490 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1491 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1492 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1493 |
+
|
1494 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'AssignProductResponseParam">'.$eol;
|
1495 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1496 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1497 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />'.$eol;
|
1498 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1499 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1500 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1501 |
+
|
1502 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'UnassignProductRequestParam">'.$eol;
|
1503 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1504 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1505 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />'.$eol;
|
1506 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1507 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="productId" type="xsd:string" />'.$eol;
|
1508 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1509 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1510 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1511 |
+
|
1512 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'UnassignProductResponseParam">'.$eol;
|
1513 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1514 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1515 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />'.$eol;
|
1516 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1517 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1518 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1519 |
+
}
|
1520 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1521 |
+
foreach ($siblings as $sibling){
|
1522 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1523 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1524 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1525 |
+
|
1526 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'Assign'.$siblingNameUc.'RequestParam">'.$eol;
|
1527 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1528 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1529 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />'.$eol;
|
1530 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1531 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$siblingName.'Id" type="xsd:string" />'.$eol;
|
1532 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="0" maxOccurs="1" name="position" type="xsd:string" />'.$eol;
|
1533 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1534 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1535 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1536 |
+
|
1537 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'Assign'.$siblingNameUc.'ResponseParam">'.$eol;
|
1538 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1539 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1540 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />'.$eol;
|
1541 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1542 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1543 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1544 |
+
|
1545 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'RequestParam">'.$eol;
|
1546 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1547 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1548 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />'.$eol;
|
1549 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$entity.'Id" type="xsd:string" />'.$eol;
|
1550 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="'.$siblingName.'Id" type="xsd:string" />'.$eol;
|
1551 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1552 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1553 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1554 |
+
|
1555 |
+
$content .= $padding.'<xsd:element name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'ResponseParam">'.$eol;
|
1556 |
+
$content .= $padding."\t".'<xsd:complexType>'.$eol;
|
1557 |
+
$content .= $padding."\t\t".'<xsd:sequence>'.$eol;
|
1558 |
+
$content .= $padding."\t\t\t".'<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />'.$eol;
|
1559 |
+
$content .= $padding."\t\t".'</xsd:sequence>'.$eol;
|
1560 |
+
$content .= $padding."\t".'</xsd:complexType>'.$eol;
|
1561 |
+
$content .= $padding.'</xsd:element>'.$eol;
|
1562 |
+
}
|
1563 |
+
$content .= "\t\t";
|
1564 |
+
return $content;
|
1565 |
+
}
|
1566 |
+
/**
|
1567 |
+
* get entity WSI relation messages
|
1568 |
+
* @access public
|
1569 |
+
* @return string
|
1570 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1571 |
+
*/
|
1572 |
+
public function getWsiRelationMessages(){
|
1573 |
+
$content = '';
|
1574 |
+
$padding = "\t";
|
1575 |
+
$eol = "\n";
|
1576 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1577 |
+
$entity = $this->getNameSingular();
|
1578 |
+
$entityUc = ucfirst($this->getNameSingular());
|
1579 |
+
$label = strtolower($this->getLabelSingular());
|
1580 |
+
|
1581 |
+
if ($this->getIsTree()){
|
1582 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'MoveRequest">'.$eol;
|
1583 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'MoveRequestParam" />'.$eol;
|
1584 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1585 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'MoveResponse">'.$eol;
|
1586 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'MoveResponseParam" />'.$eol;
|
1587 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1588 |
+
}
|
1589 |
+
|
1590 |
+
if ($this->getLinkProduct()){
|
1591 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'AssignProductRequest">'.$eol;
|
1592 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'AssignProductRequestParam" />'.$eol;
|
1593 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1594 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'AssignProductResponse">'.$eol;
|
1595 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'AssignProductResponseParam" />'.$eol;
|
1596 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1597 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'UnassignProductRequest">'.$eol;
|
1598 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'UnassignProductRequestParam" />'.$eol;
|
1599 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1600 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'UnassignProductResponse">'.$eol;
|
1601 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'UnassignProductResponseParam" />'.$eol;
|
1602 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1603 |
+
}
|
1604 |
+
$siblings = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_SIBLING);
|
1605 |
+
foreach ($siblings as $sibling){
|
1606 |
+
$siblingName = strtolower($sibling->getNameSingular());
|
1607 |
+
$siblingNameUc = ucfirst($sibling->getNameSingular());
|
1608 |
+
$siblingLabel = strtolower($sibling->getLabelSingular());
|
1609 |
+
|
1610 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'Assign'.$siblingNameUc.'Request">'.$eol;
|
1611 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'Assign'.$siblingNameUc.'RequestParam" />'.$eol;
|
1612 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1613 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'Assign'.$siblingNameUc.'Response">'.$eol;
|
1614 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'Assign'.$siblingNameUc.'ResponseParam" />'.$eol;
|
1615 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1616 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'Request">'.$eol;
|
1617 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'Unassign'.$siblingNameUc.'RequestParam" />'.$eol;
|
1618 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1619 |
+
$content .= $padding.'<wsdl:message name="'.$module.$entityUc.'Unassign'.$siblingNameUc.'Response">'.$eol;
|
1620 |
+
$content .= $padding."\t".'<wsdl:part name="parameters" element="typens:'.$module.$entityUc.'Unassign'.$siblingNameUc.'ResponseParam" />'.$eol;
|
1621 |
+
$content .= $padding.'</wsdl:message>'.$eol;
|
1622 |
+
}
|
1623 |
+
return $content;
|
1624 |
+
}
|
1625 |
+
/**
|
1626 |
+
* get additional api xml
|
1627 |
+
* @access public
|
1628 |
+
* @return string
|
1629 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1630 |
+
*/
|
1631 |
+
public function getApiAdditional(){
|
1632 |
+
$content = $this->getApiTree();
|
1633 |
+
$content .= $this->getApiRelations();
|
1634 |
+
return $content;
|
1635 |
+
}
|
1636 |
+
/**
|
1637 |
+
* get additional api xml for tree entities
|
1638 |
+
* @access public
|
1639 |
+
* @return string
|
1640 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
1641 |
+
*/
|
1642 |
+
public function getApiTree(){
|
1643 |
+
$content = '';
|
1644 |
+
$prefix = "\t\t\t\t\t";
|
1645 |
+
$eol = "\n";
|
1646 |
+
if ($this->getIsTree()){
|
1647 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1648 |
+
$entity = strtolower($this->getNameSingular());
|
1649 |
+
$entityLabelUc = ucfirst($this->getLabelSingular());
|
1650 |
+
$entityLabel = strtolower($this->getLabelSingular());
|
1651 |
+
$entitiesLabel = strtolower($this->getLabelPlural());
|
1652 |
+
$content = $prefix.'<level translate="title" module="'.$entity.'">'.$eol;
|
1653 |
+
$content .= $prefix."\t".'<title>Retrieve one level of '.$entitiesLabel.'</title>'.$eol;
|
1654 |
+
$content .= $prefix."\t".'<acl>'.$module.'/'.$entity.'/info</acl>'.$eol;
|
1655 |
+
$content .= $prefix.'</level>'.$eol;
|
1656 |
+
$content .= $prefix.'<move translate="title" module="catalog">'.$eol;
|
1657 |
+
$content .= $prefix."\t".'<title>Move '.$entityLabel.' in tree</title>'.$eol;
|
1658 |
+
$content .= $prefix."\t".'<acl>'.$module.'/'.$entity.'/move</acl>'.$eol;
|
1659 |
+
$content .= $prefix.'</move>'.$eol;
|
1660 |
+
}
|
1661 |
+
return $content;
|
1662 |
+
}
|
1663 |
+
public function getAdditionalApiAcl(){
|
1664 |
+
$content = '';
|
1665 |
+
$prefix = "\t\t\t\t\t\t";
|
1666 |
+
$eol = "\n";
|
1667 |
+
if ($this->getIsTree()){
|
1668 |
+
$module = strtolower($this->getModule()->getModuleName());
|
1669 |
+
$entity = strtolower($this->getNameSingular());
|
1670 |
+
$entityLabelUc = ucfirst($this->getLabelSingular());
|
1671 |
+
$entityLabel = strtolower($this->getLabelSingular());
|
1672 |
+
$content .= $prefix.'<move translate="title" module="'.$module.'">'.$eol;
|
1673 |
+
$content .= $prefix."\t".'<title>Move</title>'.$eol;
|
1674 |
+
$content .= $prefix.'</move>'.$eol;
|
1675 |
+
}
|
1676 |
+
$content .= "\t\t\t\t\t";
|
1677 |
+
return $content;
|
1678 |
+
}
|
1679 |
}
|
app/code/community/Ultimate/ModuleCreator/Model/Module.php
CHANGED
@@ -101,6 +101,9 @@ class Ultimate_ModuleCreator_Model_Module extends Ultimate_ModuleCreator_Model_A
|
|
101 |
if ($entity->getAdminSearch()){
|
102 |
$this->setAdminSearch(true);
|
103 |
}
|
|
|
|
|
|
|
104 |
return $this;
|
105 |
}
|
106 |
/**
|
101 |
if ($entity->getAdminSearch()){
|
102 |
$this->setAdminSearch(true);
|
103 |
}
|
104 |
+
if ($entity->getCreateApi()){
|
105 |
+
$this->setCreateApi(true);
|
106 |
+
}
|
107 |
return $this;
|
108 |
}
|
109 |
/**
|
app/code/community/Ultimate/ModuleCreator/Model/Relation.php
CHANGED
@@ -179,4 +179,15 @@ class Ultimate_ModuleCreator_Model_Relation extends Ultimate_ModuleCreator_Model
|
|
179 |
public function getSiblingIsNotTree($index){
|
180 |
return !$this->getSiblingIsTree($index);
|
181 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
179 |
public function getSiblingIsNotTree($index){
|
180 |
return !$this->getSiblingIsTree($index);
|
181 |
}
|
182 |
+
/**
|
183 |
+
* check if entity has API
|
184 |
+
* @access public
|
185 |
+
* @param int $index
|
186 |
+
* @return bool
|
187 |
+
* @author Marius Strajeru <marius.strajeru@gmail.com>
|
188 |
+
*/
|
189 |
+
public function getEntityHasApi($index){
|
190 |
+
$entities = $this->getEntities();
|
191 |
+
return $entities[$index]->getCreateApi();
|
192 |
+
}
|
193 |
}
|
app/code/community/Ultimate/ModuleCreator/etc/config.xml
CHANGED
@@ -24,7 +24,7 @@
|
|
24 |
<config>
|
25 |
<modules>
|
26 |
<Ultimate_ModuleCreator>
|
27 |
-
<version>1.
|
28 |
</Ultimate_ModuleCreator>
|
29 |
</modules>
|
30 |
<global>
|
@@ -105,6 +105,7 @@ http://opensource.org/licenses/mit-license.php
|
|
105 |
<frontend_add_seo>1</frontend_add_seo>
|
106 |
<created_to_grid>1</created_to_grid>
|
107 |
<updated_to_grid>1</updated_to_grid>
|
|
|
108 |
<add_status>1</add_status>
|
109 |
<rss>1</rss>
|
110 |
<widget>1</widget>
|
24 |
<config>
|
25 |
<modules>
|
26 |
<Ultimate_ModuleCreator>
|
27 |
+
<version>1.5.0</version>
|
28 |
</Ultimate_ModuleCreator>
|
29 |
</modules>
|
30 |
<global>
|
105 |
<frontend_add_seo>1</frontend_add_seo>
|
106 |
<created_to_grid>1</created_to_grid>
|
107 |
<updated_to_grid>1</updated_to_grid>
|
108 |
+
<create_api>0</create_api>
|
109 |
<add_status>1</add_status>
|
110 |
<rss>1</rss>
|
111 |
<widget>1</widget>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/14_sibling_relation.php
CHANGED
@@ -29,7 +29,7 @@
|
|
29 |
/**
|
30 |
* Retrieve collection selected {{siblings}}
|
31 |
* @access public
|
32 |
-
* @return
|
33 |
* {{qwertyuiop}}
|
34 |
*/
|
35 |
public function getSelected{{Siblings}}Collection(){
|
29 |
/**
|
30 |
* Retrieve collection selected {{siblings}}
|
31 |
* @access public
|
32 |
+
* @return {{Namespace}}_{{Module}}_Model_{{Entity}}_{{Sibling}}_Collection
|
33 |
* {{qwertyuiop}}
|
34 |
*/
|
35 |
public function getSelected{{Siblings}}Collection(){
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/01_top.php
ADDED
@@ -0,0 +1,116 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
{{License}}
|
3 |
+
class {{Namespace}}_{{Module}}_Model_{{Entity}}_Api extends Mage_Api_Model_Resource_Abstract{
|
4 |
+
/**
|
5 |
+
* init {{entityLabel}}
|
6 |
+
* @access protected
|
7 |
+
* @param ${{entity}}Id
|
8 |
+
* @return {{Namespace}}_{{Module}}_Model_{{Entity}}
|
9 |
+
* {{qwertyuiop}}
|
10 |
+
*/
|
11 |
+
protected function _init{{Entity}}(${{entity}}Id){
|
12 |
+
${{entity}} = Mage::getModel('{{module}}/{{entity}}')->load(${{entity}}Id);
|
13 |
+
if (!${{entity}}->getId()) {
|
14 |
+
$this->_fault('{{entity}}_not_exists');
|
15 |
+
}
|
16 |
+
return ${{entity}};
|
17 |
+
}
|
18 |
+
/**
|
19 |
+
* get {{entities}}
|
20 |
+
* @access public
|
21 |
+
* @param mixed $filters
|
22 |
+
* @return array
|
23 |
+
* {{qwertyuiop}}
|
24 |
+
*/
|
25 |
+
public function items($filters = null){
|
26 |
+
$collection = Mage::getModel('{{module}}/{{entity}}')->getCollection();
|
27 |
+
$apiHelper = Mage::helper('api');
|
28 |
+
$filters = $apiHelper->parseFilters($filters);
|
29 |
+
try {
|
30 |
+
foreach ($filters as $field => $value) {
|
31 |
+
$collection->addFieldToFilter($field, $value);
|
32 |
+
}
|
33 |
+
}
|
34 |
+
catch (Mage_Core_Exception $e) {
|
35 |
+
$this->_fault('filters_invalid', $e->getMessage());
|
36 |
+
}
|
37 |
+
$result = array();
|
38 |
+
foreach ($collection as ${{entity}}) {
|
39 |
+
$result[] = ${{entity}}->getData();
|
40 |
+
}
|
41 |
+
return $result;
|
42 |
+
}
|
43 |
+
/**
|
44 |
+
* Add {{entity}}
|
45 |
+
* @access public
|
46 |
+
* @param array $data
|
47 |
+
* @return array
|
48 |
+
* {{qwertyuiop}}
|
49 |
+
*/
|
50 |
+
public function add($data){
|
51 |
+
try {
|
52 |
+
if (is_null($data)){
|
53 |
+
throw new Exception(Mage::helper('{{module}}')->__("Data cannot be null"));
|
54 |
+
}
|
55 |
+
${{entity}} = Mage::getModel('{{module}}/{{entity}}')
|
56 |
+
->setData((array)$data)
|
57 |
+
->save();
|
58 |
+
}
|
59 |
+
catch (Mage_Core_Exception $e) {
|
60 |
+
$this->_fault('data_invalid', $e->getMessage());
|
61 |
+
}
|
62 |
+
catch (Exception $e) {
|
63 |
+
$this->_fault('data_invalid', $e->getMessage());
|
64 |
+
}
|
65 |
+
return ${{entity}}->getId();
|
66 |
+
}
|
67 |
+
|
68 |
+
/**
|
69 |
+
* Change existing {{entity}} information
|
70 |
+
* @access public
|
71 |
+
* @param int ${{entity}}Id
|
72 |
+
* @param array $data
|
73 |
+
* @return bool
|
74 |
+
* {{qwertyuiop}}
|
75 |
+
*/
|
76 |
+
public function update(${{entity}}Id, $data){
|
77 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
78 |
+
try {
|
79 |
+
${{entity}}->addData((array)$data);
|
80 |
+
${{entity}}->save();
|
81 |
+
}
|
82 |
+
catch (Mage_Core_Exception $e) {
|
83 |
+
$this->_fault('save_error', $e->getMessage());
|
84 |
+
}
|
85 |
+
|
86 |
+
return true;
|
87 |
+
}
|
88 |
+
/**
|
89 |
+
* remove {{entity}}
|
90 |
+
* @access public
|
91 |
+
* @param int ${{entity}}Id
|
92 |
+
* @return bool
|
93 |
+
* {{qwertyuiop}}
|
94 |
+
*/
|
95 |
+
public function remove(${{entity}}Id){
|
96 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
97 |
+
try {
|
98 |
+
${{entity}}->delete();
|
99 |
+
}
|
100 |
+
catch (Mage_Core_Exception $e) {
|
101 |
+
$this->_fault('remove_error', $e->getMessage());
|
102 |
+
}
|
103 |
+
return true;
|
104 |
+
}
|
105 |
+
/**
|
106 |
+
* get info
|
107 |
+
* @access public
|
108 |
+
* @param int ${{entity}}Id
|
109 |
+
* @return array
|
110 |
+
* {{qwertyuiop}}
|
111 |
+
*/
|
112 |
+
public function info(${{entity}}Id){
|
113 |
+
$result = array();
|
114 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
115 |
+
$result = ${{entity}}->getData();
|
116 |
+
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/02_product_relation_info.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//related products
|
2 |
+
$result['products'] = array();
|
3 |
+
$relatedProductsCollection = ${{entity}}->getSelectedProductsCollection();
|
4 |
+
foreach ($relatedProductsCollection as $product) {
|
5 |
+
$result['products'][$product->getId()] = $product->getPosition();
|
6 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/03_sibling_info.php
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
//related {{siblings}}
|
2 |
+
$result['{{siblings}}'] = array();
|
3 |
+
$related{{Siblings}}Collection = ${{entity}}->getSelected{{Siblings}}Collection();
|
4 |
+
foreach ($related{{Siblings}}Collection as ${{sibling}}) {
|
5 |
+
$result['{{siblings}}'][${{sibling}}->getId()] = ${{sibling}}->getPosition();
|
6 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/04_info_footer.php
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
return $result;
|
2 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/05_tree.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Move {{entityLabel}} in tree
|
3 |
+
*
|
4 |
+
* @param int ${{entity}}Id
|
5 |
+
* @param int $parentId
|
6 |
+
* @param int $afterId
|
7 |
+
* @return boolean
|
8 |
+
*/
|
9 |
+
public function move(${{entity}}Id, $parentId, $afterId = null){
|
10 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
11 |
+
$parent_{{entity}} = $this->_init{{Entity}}($parentId);
|
12 |
+
if ($afterId === null && $parent_{{entity}}->hasChildren()) {
|
13 |
+
$parentChildren = $parent_{{entity}}->getChildren();
|
14 |
+
$afterId = array_pop(explode(',', $parentChildren));
|
15 |
+
}
|
16 |
+
if( strpos($parent_{{entity}}->getPath(), ${{entity}}->getPath()) === 0) {
|
17 |
+
$this->_fault('not_moved', Mage::helper('{{module}}')->__("Cannot move parent inside {{entityLabel}}"));
|
18 |
+
}
|
19 |
+
try {
|
20 |
+
${{entity}}->move($parentId, $afterId);
|
21 |
+
}
|
22 |
+
catch (Mage_Core_Exception $e) {
|
23 |
+
$this->_fault('not_moved', $e->getMessage());
|
24 |
+
}
|
25 |
+
return true;
|
26 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/06_product_relation.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Assign product to {{entityLabel}}
|
3 |
+
* @access public
|
4 |
+
* @param int ${{entity}}Id
|
5 |
+
* @param int ${{entity}}Id
|
6 |
+
* @param int $position
|
7 |
+
* @return boolean
|
8 |
+
* {{qwertyuiop}}
|
9 |
+
*/
|
10 |
+
public function assignProduct(${{entity}}Id, $productId, $position = null){
|
11 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
12 |
+
$positions = array();
|
13 |
+
$products = ${{entity}}->getSelectedProducts();
|
14 |
+
foreach ($products as $product){
|
15 |
+
$positions[$product->getId()] = array('position'=>$product->getPosition());
|
16 |
+
}
|
17 |
+
$product = Mage::getModel('catalog/product')->load($productId);
|
18 |
+
if (!$product->getId()){
|
19 |
+
$this->_fault('product_not_exists');
|
20 |
+
}
|
21 |
+
$positions[$productId]['position'] = $position;
|
22 |
+
${{entity}}->setProductsData($positions);
|
23 |
+
try {
|
24 |
+
${{entity}}->save();
|
25 |
+
}
|
26 |
+
catch (Mage_Core_Exception $e) {
|
27 |
+
$this->_fault('data_invalid', $e->getMessage());
|
28 |
+
}
|
29 |
+
return true;
|
30 |
+
}
|
31 |
+
/**
|
32 |
+
* remove product from {{entityLabel}}
|
33 |
+
* @access public
|
34 |
+
* @param int ${{entity}}Id
|
35 |
+
* @param int $productId
|
36 |
+
* @return boolean
|
37 |
+
* {{qwertyuiop}}
|
38 |
+
*/
|
39 |
+
public function unassignProduct(${{entity}}Id, $productId){
|
40 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
41 |
+
$positions = array();
|
42 |
+
$products = ${{entity}}->getSelectedProducts();
|
43 |
+
foreach ($products as $product){
|
44 |
+
$positions[$product->getId()] = array('position'=>$product->getPosition());
|
45 |
+
}
|
46 |
+
unset($positions[$productId]);
|
47 |
+
${{entity}}->setProductsData($positions);
|
48 |
+
try {
|
49 |
+
${{entity}}->save();
|
50 |
+
}
|
51 |
+
catch (Mage_Core_Exception $e) {
|
52 |
+
$this->_fault('data_invalid', $e->getMessage());
|
53 |
+
}
|
54 |
+
return true;
|
55 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/07_sibling_relation.php
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* Assign {{siblingLabel}} to {{entityLabel}}
|
3 |
+
* @access public
|
4 |
+
* @param int ${{entity}}Id
|
5 |
+
* @param int ${{sibling}}Id
|
6 |
+
* @param int $position
|
7 |
+
* @return boolean
|
8 |
+
* {{qwertyuiop}}
|
9 |
+
*/
|
10 |
+
public function assign{{Sibling}}(${{entity}}Id, ${{sibling}}Id, $position = null){
|
11 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
12 |
+
$positions = array();
|
13 |
+
${{siblings}} = ${{entity}}->getSelected{{Siblings}}();
|
14 |
+
foreach (${{siblings}} as ${{sibling}}){
|
15 |
+
${{siblings}}[${{sibling}}->getId()] = array('position'=>${{sibling}}->getPosition());
|
16 |
+
}
|
17 |
+
${{sibling}} = Mage::getModel('{{module}}/{{sibling}}')->load(${{sibling}}Id);
|
18 |
+
if (!${{sibling}}->getId()){
|
19 |
+
$this->_fault('{{entity}}_{{sibling}}_not_exists');
|
20 |
+
}
|
21 |
+
$positions[${{sibling}}Id]['position'] = $position;
|
22 |
+
${{sibling}}->set{{Siblings}}Data($positions);
|
23 |
+
try {
|
24 |
+
${{sibling}}->save();
|
25 |
+
}
|
26 |
+
catch (Mage_Core_Exception $e) {
|
27 |
+
$this->_fault('data_invalid', $e->getMessage());
|
28 |
+
}
|
29 |
+
return true;
|
30 |
+
}
|
31 |
+
/**
|
32 |
+
* remove {{siblingLabel}} from {{entityLabel}}
|
33 |
+
* @access public
|
34 |
+
* @param int ${{entity}}Id
|
35 |
+
* @param int ${{sibling}}Id
|
36 |
+
* @return boolean
|
37 |
+
* {{qwertyuiop}}
|
38 |
+
*/
|
39 |
+
public function unassign{{Sibling}}(${{entity}}Id, ${{sibling}}Id){
|
40 |
+
${{entity}} = $this->_init{{Entity}}(${{entity}}Id);
|
41 |
+
$positions = array();
|
42 |
+
${{siblings}} = ${{entity}}->getSelected{{Siblings}}();
|
43 |
+
foreach (${{siblings}} as ${{sibling}}){
|
44 |
+
${{siblings}}[${{sibling}}->getId()] = array('position'=>${{sibling}}->getPosition());
|
45 |
+
}
|
46 |
+
unset($positions[${{sibling}}Id]);
|
47 |
+
${{entity}}->set{{Siblings}}Data($positions);
|
48 |
+
try {
|
49 |
+
${{entity}}->save();
|
50 |
+
}
|
51 |
+
catch (Mage_Core_Exception $e) {
|
52 |
+
$this->_fault('data_invalid', $e->getMessage());
|
53 |
+
}
|
54 |
+
return true;
|
55 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/08_footer.php
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/01_top.php
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
{{License}}
|
3 |
+
class {{Namespace}}_{{Module}}_Model_{{Entity}}_Api_V2 extends {{Namespace}}_{{Module}}_Model_{{Entity}}_Api{
|
4 |
+
/**
|
5 |
+
* {{EntityLabel}} info
|
6 |
+
* @access public
|
7 |
+
* @param int ${{entity}}Id
|
8 |
+
* @return object
|
9 |
+
* {{qwertyuiop}}
|
10 |
+
*/
|
11 |
+
public function info(${{entity}}Id){
|
12 |
+
$result = parent::info(${{entity}}Id);
|
13 |
+
$result = Mage::helper('api')->wsiArrayPacker($result);
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/02_product_relation.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
foreach ($result->products as $key => $value) {
|
2 |
+
$result->products[$key] = array('key' => $key, 'value' => $value);
|
3 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/03_sibling_relation.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
foreach ($result->{{siblings}} as $key => $value) {
|
2 |
+
$result->{{siblings}}[$key] = array('key' => $key, 'value' => $value);
|
3 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Entity/Api/V2/04_footer.php
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
return $result;
|
2 |
+
}
|
3 |
+
}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/01_top.xml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
{{License}}
|
3 |
+
<config>
|
4 |
+
<api>
|
5 |
+
<resources>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/02_entity_api.xml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<{{module}}_{{entity}} translate="title" module="{{module}}">
|
2 |
+
<title>{{EntityLabel}} API</title>
|
3 |
+
<model>{{module}}/{{entity}}_api</model>
|
4 |
+
<acl>{{module}}/{{entity}}</acl>
|
5 |
+
<methods>
|
6 |
+
<list translate="title" module="{{module}}">
|
7 |
+
<title>Retrieve list of {{entitiesLabel}}</title>
|
8 |
+
<method>items</method>
|
9 |
+
<acl>{{module}}/{{entity}}/list</acl>
|
10 |
+
</list>
|
11 |
+
<info translate="title" module="{{module}}">
|
12 |
+
<title>Retrieve {{entityLabel}} info</title>
|
13 |
+
<acl>{{module}}/{{entity}}/info</acl>
|
14 |
+
</info>
|
15 |
+
<add translate="title" module="{{module}}">
|
16 |
+
<title>Add {{entityLabel}}</title>
|
17 |
+
<acl>{{module}}/{{entity}}/add</acl>
|
18 |
+
</add>
|
19 |
+
<update translate="title" module="{{module}}">
|
20 |
+
<title>Update {{entityLabel}}</title>
|
21 |
+
<acl>{{module}}/{{entity}}/update</acl>
|
22 |
+
</update>
|
23 |
+
<remove translate="title" module="{{module}}">
|
24 |
+
<title>Remove {{entityLabel}}</title>
|
25 |
+
<acl>{{module}}/{{entity}}/remove</acl>
|
26 |
+
</remove>
|
27 |
+
{{entityApiAdditional}}</methods>
|
28 |
+
<faults module="{{module}}">
|
29 |
+
<{{entity}}_not_exists>
|
30 |
+
<code>101</code>
|
31 |
+
<message>Requested {{entityLabel}} does not exist.</message>
|
32 |
+
</{{entity}}_not_exists>
|
33 |
+
<invalid_data>
|
34 |
+
<code>102</code>
|
35 |
+
<message>Provided data is invalid.</message>
|
36 |
+
</invalid_data>
|
37 |
+
<save_error>
|
38 |
+
<code>103</code>
|
39 |
+
<message>Error while saving {{entityLabel}}. Details in error message.</message>
|
40 |
+
</save_error>
|
41 |
+
<remove_error>
|
42 |
+
<code>104</code>
|
43 |
+
<message>Error while removing {{entityLabel}}. Details in error message.</message>
|
44 |
+
</remove_error>
|
45 |
+
{{entityApiFaults}}</faults>
|
46 |
+
</{{module}}_{{entity}}>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/03_resource_alias.xml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
</resources>
|
2 |
+
<resources_alias>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/04_entity_resource_alias.xml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<{{entity}}>{{module}}_{{entity}}</{{entity}}>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/05_v2.xml
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
</resources_alias>
|
2 |
+
<v2>
|
3 |
+
<resources_function_prefix>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/06_v2_entity.xml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<{{entity}}>{{module}}{{Entity}}</{{entity}}>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/07_acl.xml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
</resources_function_prefix>
|
2 |
+
</v2>
|
3 |
+
<acl>
|
4 |
+
<resources>
|
5 |
+
<{{module}} translate="title" module="{{module}}">
|
6 |
+
<title>{{Module}}</title>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/08_acl_entity.xml
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<{{entity}} translate="title" module="{{module}}">
|
2 |
+
<title>{{EntityLabel}}</title>
|
3 |
+
<sort_order>{{entityApiSortOrder}}</sort_order>
|
4 |
+
<list translate="title" module="{{module}}">
|
5 |
+
<title>List</title>
|
6 |
+
</list>
|
7 |
+
<info translate="title" module="{{module}}">
|
8 |
+
<title>Info</title>
|
9 |
+
</info>
|
10 |
+
<add translate="title" module="{{module}}">
|
11 |
+
<title>Add</title>
|
12 |
+
</add>
|
13 |
+
<update translate="title" module="{{module}}">
|
14 |
+
<title>Update</title>
|
15 |
+
</update>
|
16 |
+
<remove translate="title" module="{{module}}">
|
17 |
+
<title>Remove</title>
|
18 |
+
</remove>
|
19 |
+
{{entityAdditionalApiAcl}}</{{entity}}>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/api/09_footer.xml
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
</{{module}}>
|
2 |
+
</resources>
|
3 |
+
</acl>
|
4 |
+
</api>
|
5 |
+
</config>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/01_top.xml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
3 |
+
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
|
4 |
+
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
|
5 |
+
<types>
|
6 |
+
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
|
7 |
+
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/02_entity_types.xml
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<complexType name="{{module}}{{Entity}}ListEntity">
|
2 |
+
<all>
|
3 |
+
<element name="entity_id" type="xsd:string" minOccurs="1" />
|
4 |
+
{{entityWsdlAttributes}}
|
5 |
+
<element name="created_at" type="xsd:string" minOccurs="1" />
|
6 |
+
<element name="updated_at" type="xsd:string" minOccurs="1" />
|
7 |
+
</all>
|
8 |
+
</complexType>
|
9 |
+
<complexType name="{{module}}{{Entity}}ListEntityArray">
|
10 |
+
<complexContent>
|
11 |
+
<restriction base="soapenc:Array">
|
12 |
+
<attribute ref="soapenc:arrayType" wsdl:arrayType="typens:{{module}}{{Entity}}ListEntity[]" />
|
13 |
+
</restriction>
|
14 |
+
</complexContent>
|
15 |
+
</complexType>
|
16 |
+
<complexType name="{{module}}{{Entity}}AddEntity">
|
17 |
+
<all>
|
18 |
+
{{entityWsdlAttributes}}
|
19 |
+
</all>
|
20 |
+
</complexType>
|
21 |
+
<complexType name="{{module}}{{Entity}}UpdateEntity">
|
22 |
+
<all>
|
23 |
+
{{entityWsdlAttributes}}
|
24 |
+
</all>
|
25 |
+
</complexType>
|
26 |
+
<complexType name="{{module}}{{Entity}}InfoEntity">
|
27 |
+
<all>
|
28 |
+
<element name="entity_id" type="xsd:string" minOccurs="1" />
|
29 |
+
{{entityWsdlAttributes}}
|
30 |
+
<element name="created_at" type="xsd:string" minOccurs="1" />
|
31 |
+
<element name="updated_at" type="xsd:string" minOccurs="1" />
|
32 |
+
</all>
|
33 |
+
</complexType>
|
34 |
+
{{entityWsdlRelationTypes}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/03_schema_footer.xml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
</schema>
|
2 |
+
</types>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/04_entity_messages.xml
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<message name="{{module}}{{Entity}}ListRequest">
|
2 |
+
<part name="sessionId" type="xsd:string" />
|
3 |
+
<part name="filters" type="typens:filters"/>
|
4 |
+
</message>
|
5 |
+
<message name="{{module}}{{Entity}}ListResponse">
|
6 |
+
<part name="result" type="typens:{{module}}{{Entity}}ListEntityArray" />
|
7 |
+
</message>
|
8 |
+
<message name="{{module}}{{Entity}}InfoRequest">
|
9 |
+
<part name="sessionId" type="xsd:string" />
|
10 |
+
<part name="{{entity}}Id" type="xsd:string" />
|
11 |
+
</message>
|
12 |
+
<message name="{{module}}{{Entity}}InfoResponse">
|
13 |
+
<part name="result" type="typens:{{module}}{{Entity}}InfoEntity" />
|
14 |
+
</message>
|
15 |
+
<message name="{{module}}{{Entity}}AddRequest">
|
16 |
+
<part name="sessionId" type="xsd:string" />
|
17 |
+
<part name="data" type="typens:{{module}}{{Entity}}AddEntity" />
|
18 |
+
</message>
|
19 |
+
<message name="{{module}}{{Entity}}AddResponse">
|
20 |
+
<part name="result" type="xsd:int"/>
|
21 |
+
</message>
|
22 |
+
<message name="{{module}}{{Entity}}UpdateRequest">
|
23 |
+
<part name="sessionId" type="xsd:string" />
|
24 |
+
<part name="{{entity}}Id" type="xsd:string" />
|
25 |
+
<part name="data" type="typens:{{module}}{{Entity}}UpdateEntity" />
|
26 |
+
</message>
|
27 |
+
<message name="{{module}}{{Entity}}UpdateResponse">
|
28 |
+
<part name="result" type="xsd:boolean" />
|
29 |
+
</message>
|
30 |
+
<message name="{{module}}{{Entity}}RemoveRequest">
|
31 |
+
<part name="sessionId" type="xsd:string" />
|
32 |
+
<part name="{{entity}}Id" type="xsd:string" />
|
33 |
+
</message>
|
34 |
+
<message name="{{module}}{{Entity}}RemoveResponse">
|
35 |
+
<part name="result" type="xsd:boolean" />
|
36 |
+
</message>
|
37 |
+
{{entityWsdlMessages}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/05_porttype_top.xml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<portType name="{{var wsdl.handler}}PortType">
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/06_porttype_entity.xml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<operation name="{{module}}{{Entity}}List">
|
2 |
+
<documentation>Retrieve list of {{entityLabel}}</documentation>
|
3 |
+
<input message="typens:{{module}}{{Entity}}ListRequest" />
|
4 |
+
<output message="typens:{{module}}{{Entity}}ListResponse" />
|
5 |
+
</operation>
|
6 |
+
<operation name="{{module}}{{Entity}}Info">
|
7 |
+
<documentation>Retrieve {{entityLabel}} info</documentation>
|
8 |
+
<input message="typens:{{module}}{{Entity}}InfoRequest" />
|
9 |
+
<output message="typens:{{module}}{{Entity}}InfoResponse" />
|
10 |
+
</operation>
|
11 |
+
<operation name="{{module}}{{Entity}}Add">
|
12 |
+
<documentation>Add {{entityLabel}}</documentation>
|
13 |
+
<input message="typens:{{module}}{{Entity}}AddRequest" />
|
14 |
+
<output message="typens:{{module}}{{Entity}}AddResponse" />
|
15 |
+
</operation>
|
16 |
+
<operation name="{{module}}{{Entity}}Update">
|
17 |
+
<documentation>Update {{entityLabel}}</documentation>
|
18 |
+
<input message="typens:{{module}}{{Entity}}UpdateRequest" />
|
19 |
+
<output message="typens:{{module}}{{Entity}}UpdateResponse" />
|
20 |
+
</operation>
|
21 |
+
<operation name="{{module}}{{Entity}}Remove">
|
22 |
+
<documentation>Remove {{entityLabel}}</documentation>
|
23 |
+
<input message="typens:{{module}}{{Entity}}RemoveRequest" />
|
24 |
+
<output message="typens:{{module}}{{Entity}}RemoveResponse" />
|
25 |
+
</operation>
|
26 |
+
{{entityWsdlPortTypeRelation}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/07_porttype_footer.xml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
</portType>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/08_binding_top.xml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
<binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
|
2 |
+
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/09_entity_binding.xml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<operation name="{{module}}{{Entity}}List">
|
2 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
|
3 |
+
<input>
|
4 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
5 |
+
</input>
|
6 |
+
<output>
|
7 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
8 |
+
</output>
|
9 |
+
</operation>
|
10 |
+
<operation name="{{module}}{{Entity}}Info">
|
11 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
|
12 |
+
<input>
|
13 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
14 |
+
</input>
|
15 |
+
<output>
|
16 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
17 |
+
</output>
|
18 |
+
</operation>
|
19 |
+
<operation name="{{module}}{{Entity}}Add">
|
20 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
|
21 |
+
<input>
|
22 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
23 |
+
</input>
|
24 |
+
<output>
|
25 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
26 |
+
</output>
|
27 |
+
</operation>
|
28 |
+
<operation name="{{module}}{{Entity}}Update">
|
29 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
|
30 |
+
<input>
|
31 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
32 |
+
</input>
|
33 |
+
<output>
|
34 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
35 |
+
</output>
|
36 |
+
</operation>
|
37 |
+
<operation name="{{module}}{{Entity}}Remove">
|
38 |
+
<soap:operation soapAction="urn:{{var wsdl.handler}}Action" />
|
39 |
+
<input>
|
40 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
41 |
+
</input>
|
42 |
+
<output>
|
43 |
+
<soap:body namespace="urn:{{var wsdl.name}}" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
44 |
+
</output>
|
45 |
+
</operation>
|
46 |
+
{{entityWsdlRelationBinding}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsdl/10_footer.xml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
</binding>
|
2 |
+
<service name="{{var wsdl.name}}Service">
|
3 |
+
<port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
|
4 |
+
<soap:address location="{{var wsdl.url}}" />
|
5 |
+
</port>
|
6 |
+
</service>
|
7 |
+
</definitions>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/01_top.xml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<wsdl:definitions xmlns:typens="urn:{{var wsdl.name}}"
|
3 |
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
4 |
+
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
|
5 |
+
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
|
6 |
+
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
7 |
+
name="{{var wsdl.name}}"
|
8 |
+
targetNamespace="urn:{{var wsdl.name}}">
|
9 |
+
<wsdl:types>
|
10 |
+
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:{{var wsdl.name}}">
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/02_entity_types.xml
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<xsd:complexType name="{{module}}{{Entity}}ListEntityArray">
|
2 |
+
<xsd:sequence>
|
3 |
+
<xsd:element maxOccurs="unbounded" name="complexObjectArray" type="typens:{{module}}{{Entity}}ListEntity" />
|
4 |
+
</xsd:sequence>
|
5 |
+
</xsd:complexType>
|
6 |
+
<xsd:complexType name="{{module}}{{Entity}}ListEntity">
|
7 |
+
<xsd:sequence>
|
8 |
+
<xsd:element name="entity_id" type="xsd:string" />
|
9 |
+
{{entityWsiAttributes}}
|
10 |
+
<xsd:element name="created_at" type="xsd:string" />
|
11 |
+
<xsd:element name="updated_at" type="xsd:string" />
|
12 |
+
</xsd:sequence>
|
13 |
+
</xsd:complexType>
|
14 |
+
<xsd:complexType name="{{module}}{{Entity}}AddEntity">
|
15 |
+
<xsd:sequence>
|
16 |
+
{{entityWsiAttributes}}
|
17 |
+
</xsd:sequence>
|
18 |
+
</xsd:complexType>
|
19 |
+
<xsd:complexType name="{{module}}{{Entity}}UpdateEntity">
|
20 |
+
<xsd:sequence>
|
21 |
+
{{entityWsiAttributes}}
|
22 |
+
</xsd:sequence>
|
23 |
+
</xsd:complexType>
|
24 |
+
<xsd:complexType name="{{module}}{{Entity}}InfoEntity">
|
25 |
+
<xsd:sequence>
|
26 |
+
<xsd:element name="entity_id" type="xsd:string" />
|
27 |
+
{{entityWsiAttributes}}
|
28 |
+
<xsd:element name="created_at" type="xsd:string" />
|
29 |
+
<xsd:element name="updated_at" type="xsd:string" />
|
30 |
+
</xsd:sequence>
|
31 |
+
</xsd:complexType>
|
32 |
+
{{entityWsiRelationTypes}}
|
33 |
+
<xsd:element name="{{module}}{{Entity}}ListRequestParam">
|
34 |
+
<xsd:complexType>
|
35 |
+
<xsd:sequence>
|
36 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
37 |
+
<xsd:element minOccurs="0" maxOccurs="1" name="filters" type="typens:filters" />
|
38 |
+
</xsd:sequence>
|
39 |
+
</xsd:complexType>
|
40 |
+
</xsd:element>
|
41 |
+
<xsd:element name="{{module}}{{Entity}}ListResponseParam">
|
42 |
+
<xsd:complexType>
|
43 |
+
<xsd:sequence>
|
44 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:{{module}}{{Entity}}ListEntityArray" />
|
45 |
+
</xsd:sequence>
|
46 |
+
</xsd:complexType>
|
47 |
+
</xsd:element>
|
48 |
+
<xsd:element name="{{module}}{{Entity}}InfoRequestParam">
|
49 |
+
<xsd:complexType>
|
50 |
+
<xsd:sequence>
|
51 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
52 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="{{entity}}Id" type="xsd:string" />
|
53 |
+
</xsd:sequence>
|
54 |
+
</xsd:complexType>
|
55 |
+
</xsd:element>
|
56 |
+
<xsd:element name="{{module}}{{Entity}}InfoResponseParam">
|
57 |
+
<xsd:complexType>
|
58 |
+
<xsd:sequence>
|
59 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="typens:{{module}}{{Entity}}InfoEntity" />
|
60 |
+
</xsd:sequence>
|
61 |
+
</xsd:complexType>
|
62 |
+
</xsd:element>
|
63 |
+
<xsd:element name="{{module}}{{Entity}}AddRequestParam">
|
64 |
+
<xsd:complexType>
|
65 |
+
<xsd:sequence>
|
66 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
67 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="data" type="typens:{{module}}{{Entity}}AddEntity" />
|
68 |
+
</xsd:sequence>
|
69 |
+
</xsd:complexType>
|
70 |
+
</xsd:element>
|
71 |
+
<xsd:element name="{{module}}{{Entity}}AddResponseParam">
|
72 |
+
<xsd:complexType>
|
73 |
+
<xsd:sequence>
|
74 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:int" />
|
75 |
+
</xsd:sequence>
|
76 |
+
</xsd:complexType>
|
77 |
+
</xsd:element>
|
78 |
+
<xsd:element name="{{module}}{{Entity}}UpdateRequestParam">
|
79 |
+
<xsd:complexType>
|
80 |
+
<xsd:sequence>
|
81 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
82 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="{{entity}}Id" type="xsd:string" />
|
83 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="data" type="typens:{{module}}{{Entity}}UpdateEntity" />
|
84 |
+
</xsd:sequence>
|
85 |
+
</xsd:complexType>
|
86 |
+
</xsd:element>
|
87 |
+
<xsd:element name="{{module}}{{Entity}}UpdateResponseParam">
|
88 |
+
<xsd:complexType>
|
89 |
+
<xsd:sequence>
|
90 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
|
91 |
+
</xsd:sequence>
|
92 |
+
</xsd:complexType>
|
93 |
+
</xsd:element>
|
94 |
+
<xsd:element name="{{module}}{{Entity}}RemoveRequestParam">
|
95 |
+
<xsd:complexType>
|
96 |
+
<xsd:sequence>
|
97 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="sessionId" type="xsd:string" />
|
98 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="{{entity}}Id" type="xsd:string" />
|
99 |
+
</xsd:sequence>
|
100 |
+
</xsd:complexType>
|
101 |
+
</xsd:element>
|
102 |
+
<xsd:element name="{{module}}{{Entity}}RemoveResponseParam">
|
103 |
+
<xsd:complexType>
|
104 |
+
<xsd:sequence>
|
105 |
+
<xsd:element minOccurs="1" maxOccurs="1" name="result" type="xsd:boolean" />
|
106 |
+
</xsd:sequence>
|
107 |
+
</xsd:complexType>
|
108 |
+
</xsd:element>
|
109 |
+
{{entityWsiRelationParamTypes}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/03_schema_footer.xml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
</xsd:schema>
|
2 |
+
</wsdl:types>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/04_entity_messages.xml
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<wsdl:message name="{{module}}{{Entity}}ListRequest">
|
2 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}ListRequestParam" />
|
3 |
+
</wsdl:message>
|
4 |
+
<wsdl:message name="{{module}}{{Entity}}ListResponse">
|
5 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}ListResponseParam" />
|
6 |
+
</wsdl:message>
|
7 |
+
<wsdl:message name="{{module}}{{Entity}}InfoRequest">
|
8 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}InfoRequestParam" />
|
9 |
+
</wsdl:message>
|
10 |
+
<wsdl:message name="{{module}}{{Entity}}InfoResponse">
|
11 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}InfoResponseParam" />
|
12 |
+
</wsdl:message>
|
13 |
+
<wsdl:message name="{{module}}{{Entity}}AddRequest">
|
14 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}AddRequestParam" />
|
15 |
+
</wsdl:message>
|
16 |
+
<wsdl:message name="{{module}}{{Entity}}AddResponse">
|
17 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}AddResponseParam"/>
|
18 |
+
</wsdl:message>
|
19 |
+
<wsdl:message name="{{module}}{{Entity}}UpdateRequest">
|
20 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}UpdateRequestParam" />
|
21 |
+
</wsdl:message>
|
22 |
+
<wsdl:message name="{{module}}{{Entity}}UpdateResponse">
|
23 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}UpdateResponseParam"/>
|
24 |
+
</wsdl:message>
|
25 |
+
<wsdl:message name="{{module}}{{Entity}}RemoveRequest">
|
26 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}RemoveRequestParam" />
|
27 |
+
</wsdl:message>
|
28 |
+
<wsdl:message name="{{module}}{{Entity}}RemoveResponse">
|
29 |
+
<wsdl:part name="parameters" element="typens:{{module}}{{Entity}}RemoveResponseParam" />
|
30 |
+
</wsdl:message>
|
31 |
+
{{entityWsiRelationMessages}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/05_porttype_top.xml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<wsdl:portType name="{{var wsdl.handler}}PortType">
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/06_porttype_entity.xml
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<wsdl:operation name="{{module}}{{Entity}}List">
|
2 |
+
<wsdl:documentation>Retrieve list of articles</wsdl:documentation>
|
3 |
+
<wsdl:input message="typens:{{module}}{{Entity}}ListRequest" />
|
4 |
+
<wsdl:output message="typens:{{module}}{{Entity}}ListResponse" />
|
5 |
+
</wsdl:operation>
|
6 |
+
<wsdl:operation name="{{module}}{{Entity}}Info">
|
7 |
+
<wsdl:documentation>Retrieve article info</wsdl:documentation>
|
8 |
+
<wsdl:input message="typens:{{module}}{{Entity}}InfoRequest" />
|
9 |
+
<wsdl:output message="typens:{{module}}{{Entity}}InfoResponse" />
|
10 |
+
</wsdl:operation>
|
11 |
+
<wsdl:operation name="{{module}}{{Entity}}Add">
|
12 |
+
<wsdl:documentation>Add {{entityLabel}}</wsdl:documentation>
|
13 |
+
<wsdl:input message="typens:{{module}}{{Entity}}AddRequest" />
|
14 |
+
<wsdl:output message="typens:{{module}}{{Entity}}AddResponse" />
|
15 |
+
</wsdl:operation>
|
16 |
+
<wsdl:operation name="{{module}}{{Entity}}Update">
|
17 |
+
<wsdl:documentation>Update {{entityLabel}}</wsdl:documentation>
|
18 |
+
<wsdl:input message="typens:{{module}}{{Entity}}UpdateRequest" />
|
19 |
+
<wsdl:output message="typens:{{module}}{{Entity}}UpdateResponse" />
|
20 |
+
</wsdl:operation>
|
21 |
+
<wsdl:operation name="{{module}}{{Entity}}Remove">
|
22 |
+
<wsdl:documentation>Remove {{entityLabel}}</wsdl:documentation>
|
23 |
+
<wsdl:input message="typens:{{module}}{{Entity}}RemoveRequest" />
|
24 |
+
<wsdl:output message="typens:{{module}}{{Entity}}RemoveResponse" />
|
25 |
+
</wsdl:operation>
|
26 |
+
{{entityWsiPortTypeRelation}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/07_porttype_footer.xml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
</wsdl:portType>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/08_binding_top.xml
ADDED
@@ -0,0 +1,2 @@
|
|
|
|
|
1 |
+
<wsdl:binding name="{{var wsdl.handler}}Binding" type="typens:{{var wsdl.handler}}PortType">
|
2 |
+
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/09_entity_binding.xml
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<wsdl:operation name="{{module}}{{Entity}}List">
|
2 |
+
<soap:operation soapAction="" />
|
3 |
+
<wsdl:input>
|
4 |
+
<soap:body use="literal" />
|
5 |
+
</wsdl:input>
|
6 |
+
<wsdl:output>
|
7 |
+
<soap:body use="literal" />
|
8 |
+
</wsdl:output>
|
9 |
+
</wsdl:operation>
|
10 |
+
<wsdl:operation name="{{module}}{{Entity}}Info">
|
11 |
+
<soap:operation soapAction="" />
|
12 |
+
<wsdl:input>
|
13 |
+
<soap:body use="literal" />
|
14 |
+
</wsdl:input>
|
15 |
+
<wsdl:output>
|
16 |
+
<soap:body use="literal" />
|
17 |
+
</wsdl:output>
|
18 |
+
</wsdl:operation>
|
19 |
+
<wsdl:operation name="{{module}}{{Entity}}Add">
|
20 |
+
<soap:operation soapAction="" />
|
21 |
+
<wsdl:input>
|
22 |
+
<soap:body use="literal" />
|
23 |
+
</wsdl:input>
|
24 |
+
<wsdl:output>
|
25 |
+
<soap:body use="literal" />
|
26 |
+
</wsdl:output>
|
27 |
+
</wsdl:operation>
|
28 |
+
<wsdl:operation name="{{module}}{{Entity}}Update">
|
29 |
+
<soap:operation soapAction="" />
|
30 |
+
<wsdl:input>
|
31 |
+
<soap:body use="literal" />
|
32 |
+
</wsdl:input>
|
33 |
+
<wsdl:output>
|
34 |
+
<soap:body use="literal" />
|
35 |
+
</wsdl:output>
|
36 |
+
</wsdl:operation>
|
37 |
+
<wsdl:operation name="{{module}}{{Entity}}Remove">
|
38 |
+
<soap:operation soapAction="" />
|
39 |
+
<wsdl:input>
|
40 |
+
<soap:body use="literal" />
|
41 |
+
</wsdl:input>
|
42 |
+
<wsdl:output>
|
43 |
+
<soap:body use="literal" />
|
44 |
+
</wsdl:output>
|
45 |
+
</wsdl:operation>
|
46 |
+
{{entityWsiRelationBinding}}
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/10_footer.xml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
</wsdl:binding>
|
2 |
+
<wsdl:service name="{{var wsdl.name}}Service">
|
3 |
+
<wsdl:port name="{{var wsdl.handler}}Port" binding="typens:{{var wsdl.handler}}Binding">
|
4 |
+
<soap:address location="{{var wsdl.url}}" />
|
5 |
+
</wsdl:port>
|
6 |
+
</wsdl:service>
|
7 |
+
</wsdl:definitions>
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/12_tree_entity.csv
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
"New Root {{
|
2 |
"Add Child {{EntityLabel}}","Add Child {{EntityLabel}}"
|
3 |
"Add Root {{EntityLabel}}","Add Root {{EntityLabel}}"
|
4 |
"New {{EntityLabel}}","New {{EntityLabel}}"
|
1 |
+
"New Root {{EntityLabel}}","New Root {{EntityLabel}}"
|
2 |
"Add Child {{EntityLabel}}","Add Child {{EntityLabel}}"
|
3 |
"Add Root {{EntityLabel}}","Add Root {{EntityLabel}}"
|
4 |
"New {{EntityLabel}}","New {{EntityLabel}}"
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/13_url_rewrite.csv
CHANGED
@@ -2,4 +2,4 @@
|
|
2 |
"URL key already exists.","URL key already exists."
|
3 |
"The URL key contains capital letters or disallowed symbols.","The URL key contains capital letters or disallowed symbols."
|
4 |
"URL key","URL key"
|
5 |
-
"The URL key cannot consist only of numbers.","The URL key cannot consist only of numbers."
|
2 |
"URL key already exists.","URL key already exists."
|
3 |
"The URL key contains capital letters or disallowed symbols.","The URL key contains capital letters or disallowed symbols."
|
4 |
"URL key","URL key"
|
5 |
+
"The URL key cannot consist only of numbers.","The URL key cannot consist only of numbers."
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/14_api.csv
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"List","List"
|
2 |
+
"Info","Info"
|
3 |
+
"Add","Add"
|
4 |
+
"Update","Update"
|
5 |
+
"Remove","Remove"
|
6 |
+
"Data cannot be null","Data cannot be null"
|
7 |
+
"Product does not exist.","Product does not exist."
|
8 |
+
"Provided data is invalid.","Provided data is invalid."
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/15_api_entity.csv
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"{{EntityLabel}} API","{{EntityLabel}} API"
|
2 |
+
"Retrieve list of {{entitiesLabel}}","Retrieve list of {{entitiesLabel}}"
|
3 |
+
"Retrieve {{entity}} info","Retrieve {{entity}} info"
|
4 |
+
"Add {{entityLabel}}","Add {{entityLabel}}"
|
5 |
+
"Update {{entityLabel}}","Update {{entityLabel}}"
|
6 |
+
"Remove {{entityLabel}}","Remove {{entityLabel}}"
|
7 |
+
"Requested {{entityLabel}} does not exist.","Requested {{entityLabel}} does not exist."
|
8 |
+
"Error while saving {{entityLabel}}. Details in error message.","Error while saving {{entityLabel}}. Details in error message."
|
9 |
+
"Error while removing {{entityLabel}}. Details in error message.","Error while removing {{entityLabel}}. Details in error message."
|
10 |
+
"{{EntityLabel}}","{{EntityLabel}}"
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/16_api_product_related.csv
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
"Product does not exist.","Product does not exist."
|
2 |
+
"Remove product from {{entityLabel}}","Remove product from {{entityLabel}}"
|
3 |
+
"Assign product to {{entityLabel}}","Assign product to {{entityLabel}}"
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/17_api_tree.csv
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
"Retrieve one level of {{entitiesLabel}}","Retrieve one level of {{entitiesLabel}}"
|
2 |
+
"Move {{entityLabel}} in tree","Move {{entityLabel}} in tree"
|
3 |
+
"Cannot move parent inside {{entityLabel}}","Cannot move parent inside {{entityLabel}}"
|
4 |
+
"{{EntityLabel}} not moved. Details in error message.","{{EntityLabel}} not moved. Details in error message."
|
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/18_api_sibling.csv
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
1 |
+
"Assign {{siblingLabel}} to {{entityLabel}}","Assign {{siblingLabel}} to {{entityLabel}}"
|
2 |
+
"Remove {{siblingLabel}} from {{entityLabel}}","Remove {{siblingLabel}} from {{entityLabel}}"
|
3 |
+
"{{SiblingLabel}} does not exist.","{{SiblingLabel}} does not exist."
|
app/code/community/Ultimate/ModuleCreator/etc/modulecreator.xml
CHANGED
@@ -1893,6 +1893,42 @@
|
|
1893 |
<url_rewrite />
|
1894 |
</depend>
|
1895 |
</file>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1896 |
</content>
|
1897 |
</file>
|
1898 |
<file translate="title" module="modulecreator">
|
@@ -2758,5 +2794,248 @@
|
|
2758 |
</file>
|
2759 |
</content>
|
2760 |
</file>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2761 |
</files>
|
2762 |
</config>
|
1893 |
<url_rewrite />
|
1894 |
</depend>
|
1895 |
</file>
|
1896 |
+
<file>
|
1897 |
+
<name>14_api.csv</name>
|
1898 |
+
<depend>
|
1899 |
+
<create_api />
|
1900 |
+
</depend>
|
1901 |
+
</file>
|
1902 |
+
<file>
|
1903 |
+
<name>15_api_entity.csv</name>
|
1904 |
+
<scope>entity</scope>
|
1905 |
+
<depend>
|
1906 |
+
<create_api />
|
1907 |
+
</depend>
|
1908 |
+
</file>
|
1909 |
+
<file>
|
1910 |
+
<name>16_api_product_related.csv</name>
|
1911 |
+
<scope>entity</scope>
|
1912 |
+
<depend>
|
1913 |
+
<create_api />
|
1914 |
+
<link_product />
|
1915 |
+
</depend>
|
1916 |
+
</file>
|
1917 |
+
<file>
|
1918 |
+
<name>17_api_tree.csv</name>
|
1919 |
+
<scope>entity</scope>
|
1920 |
+
<depend>
|
1921 |
+
<create_api />
|
1922 |
+
<is_tree />
|
1923 |
+
</depend>
|
1924 |
+
</file>
|
1925 |
+
<file>
|
1926 |
+
<name>18_api_sibling.csv</name>
|
1927 |
+
<scope>siblings</scope>
|
1928 |
+
<depend>
|
1929 |
+
<entity_has_api />
|
1930 |
+
</depend>
|
1931 |
+
</file>
|
1932 |
</content>
|
1933 |
</file>
|
1934 |
<file translate="title" module="modulecreator">
|
2794 |
</file>
|
2795 |
</content>
|
2796 |
</file>
|
2797 |
+
<file translate="title" module="modulecreator">
|
2798 |
+
<title>Api config file</title>
|
2799 |
+
<filetype>xml</filetype>
|
2800 |
+
<depend>
|
2801 |
+
<create_api />
|
2802 |
+
</depend>
|
2803 |
+
<from>app/code/cp/Ns/Md/etc/api/</from>
|
2804 |
+
<to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/etc/api.xml</to>
|
2805 |
+
<content>
|
2806 |
+
<file>
|
2807 |
+
<name>01_top.xml</name>
|
2808 |
+
</file>
|
2809 |
+
<file>
|
2810 |
+
<name>02_entity_api.xml</name>
|
2811 |
+
<scope>entity</scope>
|
2812 |
+
<depend>
|
2813 |
+
<create_api />
|
2814 |
+
</depend>
|
2815 |
+
</file>
|
2816 |
+
<file>
|
2817 |
+
<name>03_resource_alias.xml</name>
|
2818 |
+
</file>
|
2819 |
+
<file>
|
2820 |
+
<name>04_entity_resource_alias.xml</name>
|
2821 |
+
<scope>entity</scope>
|
2822 |
+
<depend>
|
2823 |
+
<create_api />
|
2824 |
+
</depend>
|
2825 |
+
</file>
|
2826 |
+
<file>
|
2827 |
+
<name>05_v2.xml</name>
|
2828 |
+
</file>
|
2829 |
+
<file>
|
2830 |
+
<name>06_v2_entity.xml</name>
|
2831 |
+
<scope>entity</scope>
|
2832 |
+
<depend>
|
2833 |
+
<create_api />
|
2834 |
+
</depend>
|
2835 |
+
</file>
|
2836 |
+
<file>
|
2837 |
+
<name>07_acl.xml</name>
|
2838 |
+
</file>
|
2839 |
+
<file>
|
2840 |
+
<name>08_acl_entity.xml</name>
|
2841 |
+
<scope>entity</scope>
|
2842 |
+
<depend>
|
2843 |
+
<create_api />
|
2844 |
+
</depend>
|
2845 |
+
</file>
|
2846 |
+
<file>
|
2847 |
+
<name>09_footer.xml</name>
|
2848 |
+
</file>
|
2849 |
+
</content>
|
2850 |
+
</file>
|
2851 |
+
<file translate="title" module="modulecreator">
|
2852 |
+
<title>API model</title>
|
2853 |
+
<filetype>php</filetype>
|
2854 |
+
<scope>entity</scope>
|
2855 |
+
<depend>
|
2856 |
+
<create_api />
|
2857 |
+
</depend>
|
2858 |
+
<from>app/code/cp/Ns/Md/Model/Entity/Api/</from>
|
2859 |
+
<to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/Model/{{Entity}}/Api.php</to>
|
2860 |
+
<content>
|
2861 |
+
<file>
|
2862 |
+
<name>01_top.php</name>
|
2863 |
+
</file>
|
2864 |
+
<file>
|
2865 |
+
<name>02_product_relation_info.php</name>
|
2866 |
+
<depend>
|
2867 |
+
<link_product />
|
2868 |
+
</depend>
|
2869 |
+
</file>
|
2870 |
+
<file>
|
2871 |
+
<name>03_sibling_info.php</name>
|
2872 |
+
<scope>siblings</scope>
|
2873 |
+
</file>
|
2874 |
+
<file>
|
2875 |
+
<name>04_info_footer.php</name>
|
2876 |
+
</file>
|
2877 |
+
<file>
|
2878 |
+
<name>05_tree.php</name>
|
2879 |
+
<depend>
|
2880 |
+
<is_tree />
|
2881 |
+
</depend>
|
2882 |
+
</file>
|
2883 |
+
<file>
|
2884 |
+
<name>06_product_relation.php</name>
|
2885 |
+
<depend>
|
2886 |
+
<link_product />
|
2887 |
+
</depend>
|
2888 |
+
</file>
|
2889 |
+
<file>
|
2890 |
+
<name>07_sibling_relation.php</name>
|
2891 |
+
<scope>siblings</scope>
|
2892 |
+
</file>
|
2893 |
+
<file>
|
2894 |
+
<name>08_footer.php</name>
|
2895 |
+
</file>
|
2896 |
+
</content>
|
2897 |
+
</file>
|
2898 |
+
<file translate="title" module="modulecreator">
|
2899 |
+
<title>API model V2</title>
|
2900 |
+
<filetype>php</filetype>
|
2901 |
+
<scope>entity</scope>
|
2902 |
+
<depend>
|
2903 |
+
<create_api />
|
2904 |
+
</depend>
|
2905 |
+
<from>app/code/cp/Ns/Md/Model/Entity/Api/V2/</from>
|
2906 |
+
<to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/Model/{{Entity}}/Api/V2.php</to>
|
2907 |
+
<content>
|
2908 |
+
<file>
|
2909 |
+
<name>01_top.php</name>
|
2910 |
+
</file>
|
2911 |
+
<file>
|
2912 |
+
<name>02_product_relation.php</name>
|
2913 |
+
<depend>
|
2914 |
+
<link_product />
|
2915 |
+
</depend>
|
2916 |
+
</file>
|
2917 |
+
<file>
|
2918 |
+
<name>03_sibling_relation.php</name>
|
2919 |
+
<scope>siblings</scope>
|
2920 |
+
</file>
|
2921 |
+
<file>
|
2922 |
+
<name>04_footer.php</name>
|
2923 |
+
</file>
|
2924 |
+
</content>
|
2925 |
+
</file>
|
2926 |
+
<file translate="title" module="modulecreator">
|
2927 |
+
<title>WSDL file</title>
|
2928 |
+
<filetype>xml</filetype>
|
2929 |
+
<depend>
|
2930 |
+
<create_api />
|
2931 |
+
</depend>
|
2932 |
+
<from>app/code/cp/Ns/Md/etc/wsdl/</from>
|
2933 |
+
<to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/etc/wsdl.xml</to>
|
2934 |
+
<content>
|
2935 |
+
<file>
|
2936 |
+
<name>01_top.xml</name>
|
2937 |
+
</file>
|
2938 |
+
<file>
|
2939 |
+
<name>02_entity_types.xml</name>
|
2940 |
+
<scope>entity</scope>
|
2941 |
+
<depend>
|
2942 |
+
<create_api />
|
2943 |
+
</depend>
|
2944 |
+
</file>
|
2945 |
+
<file>
|
2946 |
+
<name>03_schema_footer.xml</name>
|
2947 |
+
</file>
|
2948 |
+
<file>
|
2949 |
+
<name>04_entity_messages.xml</name>
|
2950 |
+
<scope>entity</scope>
|
2951 |
+
<depend>
|
2952 |
+
<create_api />
|
2953 |
+
</depend>
|
2954 |
+
</file>
|
2955 |
+
<file>
|
2956 |
+
<name>05_porttype_top.xml</name>
|
2957 |
+
</file>
|
2958 |
+
<file>
|
2959 |
+
<name>06_porttype_entity.xml</name>
|
2960 |
+
<scope>entity</scope>
|
2961 |
+
<depend>
|
2962 |
+
<create_api />
|
2963 |
+
</depend>
|
2964 |
+
</file>
|
2965 |
+
<file>
|
2966 |
+
<name>07_porttype_footer.xml</name>
|
2967 |
+
</file>
|
2968 |
+
<file>
|
2969 |
+
<name>08_binding_top.xml</name>
|
2970 |
+
</file>
|
2971 |
+
<file>
|
2972 |
+
<name>09_entity_binding.xml</name>
|
2973 |
+
<scope>entity</scope>
|
2974 |
+
<depend>
|
2975 |
+
<create_api />
|
2976 |
+
</depend>
|
2977 |
+
</file>
|
2978 |
+
<file>
|
2979 |
+
<name>10_footer.xml</name>
|
2980 |
+
</file>
|
2981 |
+
</content>
|
2982 |
+
</file>
|
2983 |
+
<file translate="title" module="modulecreator">
|
2984 |
+
<title>WSI file</title>
|
2985 |
+
<filetype>xml</filetype>
|
2986 |
+
<depend>
|
2987 |
+
<create_api />
|
2988 |
+
</depend>
|
2989 |
+
<from>app/code/cp/Ns/Md/etc/wsi/</from>
|
2990 |
+
<to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/etc/wsi.xml</to>
|
2991 |
+
<content>
|
2992 |
+
<file>
|
2993 |
+
<name>01_top.xml</name>
|
2994 |
+
</file>
|
2995 |
+
<file>
|
2996 |
+
<name>02_entity_types.xml</name>
|
2997 |
+
<scope>entity</scope>
|
2998 |
+
<depend>
|
2999 |
+
<create_api />
|
3000 |
+
</depend>
|
3001 |
+
</file>
|
3002 |
+
<file>
|
3003 |
+
<name>03_schema_footer.xml</name>
|
3004 |
+
</file>
|
3005 |
+
<file>
|
3006 |
+
<name>04_entity_messages.xml</name>
|
3007 |
+
<scope>entity</scope>
|
3008 |
+
<depend>
|
3009 |
+
<create_api />
|
3010 |
+
</depend>
|
3011 |
+
</file>
|
3012 |
+
<file>
|
3013 |
+
<name>05_porttype_top.xml</name>
|
3014 |
+
</file>
|
3015 |
+
<file>
|
3016 |
+
<name>06_porttype_entity.xml</name>
|
3017 |
+
<scope>entity</scope>
|
3018 |
+
<depend>
|
3019 |
+
<create_api />
|
3020 |
+
</depend>
|
3021 |
+
</file>
|
3022 |
+
<file>
|
3023 |
+
<name>07_porttype_footer.xml</name>
|
3024 |
+
</file>
|
3025 |
+
<file>
|
3026 |
+
<name>08_binding_top.xml</name>
|
3027 |
+
</file>
|
3028 |
+
<file>
|
3029 |
+
<name>09_entity_binding.xml</name>
|
3030 |
+
<scope>entity</scope>
|
3031 |
+
<depend>
|
3032 |
+
<create_api />
|
3033 |
+
</depend>
|
3034 |
+
</file>
|
3035 |
+
<file>
|
3036 |
+
<name>10_footer.xml</name>
|
3037 |
+
</file>
|
3038 |
+
</content>
|
3039 |
+
</file>
|
3040 |
</files>
|
3041 |
</config>
|
app/code/community/Ultimate/ModuleCreator/etc/system.xml
CHANGED
@@ -191,11 +191,20 @@
|
|
191 |
<show_in_website>0</show_in_website>
|
192 |
<show_in_store>0</show_in_store>
|
193 |
</add_status>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
<rss translate="label" module="modulecreator">
|
195 |
<label>Create RSS feed</label>
|
196 |
<frontend_type>select</frontend_type>
|
197 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
198 |
-
<sort_order>
|
199 |
<show_in_default>1</show_in_default>
|
200 |
<show_in_website>0</show_in_website>
|
201 |
<show_in_store>0</show_in_store>
|
191 |
<show_in_website>0</show_in_website>
|
192 |
<show_in_store>0</show_in_store>
|
193 |
</add_status>
|
194 |
+
<add_status translate="label" module="modulecreator">
|
195 |
+
<label>Create API</label>
|
196 |
+
<frontend_type>select</frontend_type>
|
197 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
198 |
+
<sort_order>100</sort_order>
|
199 |
+
<show_in_default>1</show_in_default>
|
200 |
+
<show_in_website>0</show_in_website>
|
201 |
+
<show_in_store>0</show_in_store>
|
202 |
+
</add_status>
|
203 |
<rss translate="label" module="modulecreator">
|
204 |
<label>Create RSS feed</label>
|
205 |
<frontend_type>select</frontend_type>
|
206 |
<source_model>adminhtml/system_config_source_yesno</source_model>
|
207 |
+
<sort_order>105</sort_order>
|
208 |
<show_in_default>1</show_in_default>
|
209 |
<show_in_website>0</show_in_website>
|
210 |
<show_in_store>0</show_in_store>
|
app/design/adminhtml/default/default/template/ultimate_modulecreator/edit/tab/entities/entity.phtml
CHANGED
@@ -75,7 +75,7 @@
|
|
75 |
</label>
|
76 |
</td>
|
77 |
<td class="value">
|
78 |
-
<input type="text" class="required-entry input-text name-singular validate-alphanum" id="entity_<?php echo $this->getIncrement();?>_name_singular" name="entity[<?php echo $this->getIncrement();?>][name_singular]" value="<?php echo $_entity->getNameSingular();?>" />
|
79 |
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Entity name - singular'), Mage::helper('modulecreator')->__('This is the code (singular) of your entity. This is how the variables relating to your entity will be named.'))?>
|
80 |
</td>
|
81 |
</tr>
|
@@ -86,7 +86,7 @@
|
|
86 |
</label>
|
87 |
</td>
|
88 |
<td class="value">
|
89 |
-
<input type="text" class="required-entry input-text validate-alphanum" id="entity_<?php echo $this->getIncrement();?>_name_plural" name="entity[<?php echo $this->getIncrement();?>][name_plural]" value="<?php echo $_entity->getNamePlural();?>" />
|
90 |
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Entity name - plural'), Mage::helper('modulecreator')->__('This is the code (singular) of your entity. This is how the variables relating to your entities will be named.'))?>
|
91 |
</td>
|
92 |
</tr>
|
@@ -157,6 +157,17 @@
|
|
157 |
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Add to admin global search'), Mage::helper('modulecreator')->__('When using the global admin search Magento searches on products, customers and orders. This can make it search in your entities also.'))?>
|
158 |
</td>
|
159 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
</tbody>
|
161 |
</table>
|
162 |
</div>
|
75 |
</label>
|
76 |
</td>
|
77 |
<td class="value">
|
78 |
+
<input type="text" class="required-entry input-text name-singular validate-alphanum validate-code" id="entity_<?php echo $this->getIncrement();?>_name_singular" name="entity[<?php echo $this->getIncrement();?>][name_singular]" value="<?php echo $_entity->getNameSingular();?>" />
|
79 |
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Entity name - singular'), Mage::helper('modulecreator')->__('This is the code (singular) of your entity. This is how the variables relating to your entity will be named.'))?>
|
80 |
</td>
|
81 |
</tr>
|
86 |
</label>
|
87 |
</td>
|
88 |
<td class="value">
|
89 |
+
<input type="text" class="required-entry input-text validate-alphanum validate-code" id="entity_<?php echo $this->getIncrement();?>_name_plural" name="entity[<?php echo $this->getIncrement();?>][name_plural]" value="<?php echo $_entity->getNamePlural();?>" />
|
90 |
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Entity name - plural'), Mage::helper('modulecreator')->__('This is the code (singular) of your entity. This is how the variables relating to your entities will be named.'))?>
|
91 |
</td>
|
92 |
</tr>
|
157 |
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Add to admin global search'), Mage::helper('modulecreator')->__('When using the global admin search Magento searches on products, customers and orders. This can make it search in your entities also.'))?>
|
158 |
</td>
|
159 |
</tr>
|
160 |
+
<tr>
|
161 |
+
<td class="label">
|
162 |
+
<label for="entity_<?php echo $this->getIncrement();?>_create_api">
|
163 |
+
<?php echo Mage::helper('modulecreator')->__('Create API') ?>
|
164 |
+
</label>
|
165 |
+
</td>
|
166 |
+
<td class="value">
|
167 |
+
<?php echo $this->getYesNoSelect('entity'.'_'.$this->getIncrement().'_create_api', 'entity'.'['.$this->getIncrement().'][create_api]', $_entity->getCreateApi());?>
|
168 |
+
<?php echo Mage::helper('modulecreator/adminhtml')->getTooltipHtml(Mage::helper('modulecreator')->__('Create API'), Mage::helper('modulecreator')->__('This will create the files needed for the SOAP API for the custom entity.'))?>
|
169 |
+
</td>
|
170 |
+
</tr>
|
171 |
</tbody>
|
172 |
</table>
|
173 |
</div>
|
app/locale/en_US/Ultimate_ModuleCreator.csv
CHANGED
@@ -51,6 +51,7 @@
|
|
51 |
"Close","Close","true"
|
52 |
"Code pool","Code pool","false"
|
53 |
"Config xml","Config xml","false"
|
|
|
54 |
"Create Link/View widget","Create Link/View widget","false"
|
55 |
"Create Module","Create Module","false"
|
56 |
"Create RSS feed","Create RSS feed","false"
|
@@ -303,6 +304,7 @@
|
|
303 |
"This will be added as a small comment under the input in the admin add/edit form.","This will be added as a small comment under the input in the admin add/edit form.","false"
|
304 |
"This will create a new attribute for your entity called ""Show in Feed"" and will also create the logic for viewing your entities as RSS feeds.","This will create a new attribute for your entity called ""Show in Feed"" and will also create the logic for viewing your entities as RSS feeds.","false"
|
305 |
"This will create the code that will allow you to include widgets of your entities in the static pages and static blocks.","This will create the code that will allow you to include widgets of your entities in the static pages and static blocks.","false"
|
|
|
306 |
"This will determine the input type of the attribute.","This will determine the input type of the attribute.","false"
|
307 |
"This will determine the position in the admin add/edit form.","This will determine the position in the admin add/edit form.","false"
|
308 |
"This will display the list of associated entities on the related product page. It may not be displayed if the design is not compatible but can be fixed from the layout xml of the entity.","This will display the list of associated entities on the related product page. It may not be displayed if the design is not compatible but can be fixed from the layout xml of the entity.","false"
|
51 |
"Close","Close","true"
|
52 |
"Code pool","Code pool","false"
|
53 |
"Config xml","Config xml","false"
|
54 |
+
"Create API","Create API","false"
|
55 |
"Create Link/View widget","Create Link/View widget","false"
|
56 |
"Create Module","Create Module","false"
|
57 |
"Create RSS feed","Create RSS feed","false"
|
304 |
"This will be added as a small comment under the input in the admin add/edit form.","This will be added as a small comment under the input in the admin add/edit form.","false"
|
305 |
"This will create a new attribute for your entity called ""Show in Feed"" and will also create the logic for viewing your entities as RSS feeds.","This will create a new attribute for your entity called ""Show in Feed"" and will also create the logic for viewing your entities as RSS feeds.","false"
|
306 |
"This will create the code that will allow you to include widgets of your entities in the static pages and static blocks.","This will create the code that will allow you to include widgets of your entities in the static pages and static blocks.","false"
|
307 |
+
"This will create the files needed for the SOAP API for the custom entity.","This will create the files needed for the SOAP API for the custom entity.","false"
|
308 |
"This will determine the input type of the attribute.","This will determine the input type of the attribute.","false"
|
309 |
"This will determine the position in the admin add/edit form.","This will determine the position in the admin add/edit form.","false"
|
310 |
"This will display the list of associated entities on the related product page. It may not be displayed if the design is not compatible but can be fixed from the layout xml of the entity.","This will display the list of associated entities on the related product page. It may not be displayed if the design is not compatible but can be fixed from the layout xml of the entity.","false"
|
modman
CHANGED
@@ -3,4 +3,6 @@ app/etc/modules/Ultimate_ModuleCreator.xml app/etc/modules/Ultimate_ModuleCreato
|
|
3 |
app/code/community/Ultimate/ModuleCreator app/code/community/Ultimate/ModuleCreator
|
4 |
app/locale/en_US/Ultimate_ModuleCreator.csv app/locale/en_US/Ultimate_ModuleCreator.csv
|
5 |
app/design/adminhtml/default/default/layout/ultimate_modulecreator.xml app/design/adminhtml/default/default/layout/ultimate_modulecreator.xml
|
6 |
-
app/design/adminhtml/default/default/template/ultimate_modulecreator app/design/adminhtml/default/default/template/ultimate_modulecreator
|
|
|
|
3 |
app/code/community/Ultimate/ModuleCreator app/code/community/Ultimate/ModuleCreator
|
4 |
app/locale/en_US/Ultimate_ModuleCreator.csv app/locale/en_US/Ultimate_ModuleCreator.csv
|
5 |
app/design/adminhtml/default/default/layout/ultimate_modulecreator.xml app/design/adminhtml/default/default/layout/ultimate_modulecreator.xml
|
6 |
+
app/design/adminhtml/default/default/template/ultimate_modulecreator app/design/adminhtml/default/default/template/ultimate_modulecreator
|
7 |
+
skin/adminhtml/default/default/ultimate_modulecreator.css skin/adminhtml/default/default/ultimate_modulecreator.css
|
8 |
+
|
package.xml
CHANGED
@@ -1,27 +1,25 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Ultimate_ModuleCreator</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/MIT">MIT License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Develop custom Magento modules without writing any code. Use a module creator. Use this module creator</summary>
|
10 |
<description>This module allows you to create custom Magento modules for your own entities. You can create as many entities as you want in one extension, you can establish relations between them, decide to generate only back-end pages or both back-end and frontend pages.</description>
|
11 |
-
<notes>
|
12 |
-
-
|
13 |
-
-
|
14 |
-
|
15 |
-
-
|
16 |
-
-
|
17 |
-
|
18 |
-
-
|
19 |
-
- added Mage::logException for admin exceptions
|
20 |
-
- Rafactor image helper (thanks carco).</notes>
|
21 |
<authors><author><name>Marius Strajeru</name><user>tzyganu</user><email>tzyganu@gmail.com</email></author></authors>
|
22 |
-
<date>2013-
|
23 |
-
<time>
|
24 |
-
<contents><target name="magecommunity"><dir name="Ultimate"><dir name="ModuleCreator"><dir name="Block"><dir name="Adminhtml"><dir name="Modulecreator"><dir name="Edit"><file name="Form.php" hash="cb4328ae858a31a31d76016e50b56739"/><dir name="Tab"><dir name="Entities"><dir name="Entity"><file name="Attribute.php" hash="daa6787fa3f72150fc86c4350be932da"/></dir><file name="Entity.php" hash="8d5b07f735a5a7107f1abf66bbb482da"/></dir><file name="Entities.php" hash="65602b8daaa8585d9c94d7a4d8d7dcde"/><file name="Help.php" hash="304c68d68e9adf0962817e27877683b6"/><file name="Relation.php" hash="43730e74747b8e6e5985eee259e6db07"/><file name="Settings.php" hash="dee31d423d26a3efbc773530ac847afb"/></dir><file name="Tabs.php" hash="578af9256efb3d516db14db7e396e5e3"/></dir><file name="Edit.php" hash="491948d86e2e3a50fa185a407997c163"/><file name="Grid.php" hash="96ef8fa066b89937712b44991191f4de"/></dir><file name="Modulecreator.php" hash="b2630018b6f103d1a3f9e92ed7de7a54"/></dir></dir><file name="Exception.php" hash="aaef7086ff700d7132418cf68629246f"/><dir name="Helper"><file name="Adminhtml.php" hash="f913d91b1041032b35e4d0ca2fd20205"/><file name="Data.php" hash="15c1fc5975814c656c587da7db416a21"/></dir><dir name="Model"><file name="Abstract.php" hash="33a186edb30b8ff3f54fda6690a90a2c"/><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Codepool.php" hash="045f0555fc545799148627e081ca8727"/><file name="Install.php" hash="7fb2fd108b5bed63b31ab9cfd0da25f5"/><file name="Layout.php" hash="3d63a2221b3a93926c662b3c10effc2c"/></dir></dir></dir></dir><dir name="Attribute"><dir name="Type"><file name="Abstract.php" hash="983e731730dbc4ee0a8c24ec662c091a"/><file name="Country.php" hash="59211a0da793c9f828caa161688f0d1c"/><file name="Decimal.php" hash="593c993bfba24af511164987a8c11eb3"/><file name="File.php" hash="a8e18228577beb612f202acbe0ddb41a"/><file name="Image.php" hash="80211878524ee9ed71096d30b1c52c42"/><file name="Int.php" hash="7e06c84fa8a3c2940624248c386e2d67"/><file name="Text.php" hash="237217feda93dadf93a63f181ebb8793"/><file name="Textarea.php" hash="04cd8559fbeeb8b81733e6c9a3b7b725"/><file name="Timestamp.php" hash="d18d599090ac5fa824e44edf3fa14486"/><file name="Website.php" hash="0bd68cd56e97013711986bdb3edf06cb"/><file name="Yesno.php" hash="dbb96529e483d587d8d8d99f176afa8b"/></dir></dir><file name="Attribute.php" hash="b6ab929edc78a41829630b0a02d59e5e"/><file name="Entity.php" hash="bd57954f5eb26d276273e9040281b236"/><dir name="Module"><file name="Collection.php" hash="0e413b976cbc9649ec982fe0f4b95dd1"/></dir><file name="Module.php" hash="b34a226d017260e9a2c1edfcaf169fc3"/><file name="Relation.php" hash="aca1db5db2cd807298acd21dc7b24b39"/><file name="Writer.php" hash="b47341646a1882d77e57cf6a5b30ad49"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ModulecreatorController.php" hash="11ee92957c8099af688993543b9f849e"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="755c04b748c41ced20f41c725acc95c2"/><file name="config.xml" hash="653f667533ebab4952b8448d1443ea11"/><dir name="m"><dir name="app"><dir name="code"><dir name="cp"><dir name="Ns"><dir name="Md"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><dir name="Entity"><file name="01_content.php" hash="59347ed053e0fe3dc2e25a5c5490ecd4"/><dir name="IsTree"><file name="01_content.php" hash="1eda50311bcf910106a49ad54f1681fd"/></dir></dir></dir></dir></dir></dir><dir name="Entity"><file name="01_content.php" hash="5dfc799aeee50cc5ef32d356c1cc176f"/><dir name="Abstract"><file name="01_content.php" hash="dfe60775e0f319347a8937a17733c751"/></dir><dir name="Edit"><file name="01_content.php" hash="21d1cd84da305a41e516752e39c12404"/><dir name="Form"><file name="01_content.php" hash="39f68c93dba53e650f502776c03caf20"/><dir name="IsTree"><file name="01_top.php" hash="6bf3a72161678690d515deb253fb5f3d"/><file name="02_product_relation.php" hash="adee6754a75247b7d401d8f774d3918b"/><file name="03_entity_relation.php" hash="7f06c1f227ff6e8e1f64606bc1da6d3a"/><file name="04_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="IsTree"><file name="01_content.php" hash="6f8ab2c71f28a7618db8b94c311d6f13"/></dir><dir name="Tab"><dir name="Form"><file name="01_top.php" hash="9f6681f6bc3e012a8c711739a0ed6ae1"/><file name="02_image.php" hash="8dbf5010de2c46aabb02cd7a4df6f45e"/><file name="03_file.php" hash="64ede5038fe0edfec08671a5ca521777"/><file name="04_wysiwyg.php" hash="d25a58b233bd88a2e6d1fd5a79398394"/><file name="05_wysiwyg_is_tree.php" hash="6ef452bba45e48bbfc370ea24b61d6e0"/><file name="06_path_tree.php" hash="9991a81df109b0abbc8bd06a26694d1b"/><file name="07_parents.php" hash="476f7ebd1b04a879f3dd51b1913f9a9d"/><file name="08_attributes.php" hash="44c81d580dcf072b2ed9b5cc90fb1fac"/><file name="09_url_rewrite.php" hash="fdcf74d7a3abe5bfa32db1d5f042d8e2"/><file name="10_status.php" hash="ade9e66ee2dd546ebea8c9800b378a88"/><file name="11_rss.php" hash="0a122d46cc4826a0bd62b2f5d52b3fdc"/><file name="12_seo.php" hash="f0cf29478e91ced8dc39170b2574f1f2"/><file name="13_add_values_not_tree.php" hash="dc7ba40ed78eb43b08fc46c235029c8c"/><file name="14_add_values_tree.php" hash="c569ce680f4c5328292d6bb4f4c37e69"/><file name="15_get_entity_tree.php" hash="3d9027f073bf28f89aecd6b224c350ca"/><file name="16_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Product"><file name="01_content.php" hash="e42fb1044c47e7e1ba7c456f057b9558"/></dir><dir name="Sibling"><file name="01_content.php" hash="45cbbc5d065f5e0402a8340e14e5e6b2"/><dir name="IsTree"><file name="01_content.php" hash="0809c980a4d5059bc679e37762853f5e"/></dir></dir></dir><dir name="Tabs"><file name="01_top.php" hash="7cecbd5b68dc09c4e9a14f214b3b70df"/><file name="02_relations_tabs.php" hash="3f1eba9e9a7bf177185364cffc8468ba"/><file name="03_product_relation.php" hash="aee681c7021e9efad07a39bc8f8cf56d"/><file name="04_footer.php" hash="01b6273dfbf342c1f984c1e10b631b65"/><dir name="IsTree"><file name="01_top.php" hash="e48cac6414b02601cbef87e9831846a2"/><file name="02_relations_tabs.php" hash="50d5a9065062cf44f11a8aba92140790"/><file name="03_product_relation.php" hash="c5dc78d7c883af529b3adf72770d3dde"/><file name="04_footer.php" hash="5cad78a0f4dc4a2531cb6195e5e9ea5a"/></dir></dir></dir><dir name="Grid"><file name="01_top.php" hash="1a0c8754c5482692ae460fd6aafcfa6b"/><file name="02_columns_top.php" hash="1d28265e98b06fe61edde000c0d28db6"/><file name="03_parents.php" hash="011f4f2895cbaa33e753168131feedee"/><file name="04_grid_attributes.php" hash="2e7a6d5f6333b44ddf6792898a6e01c1"/><file name="05_url_rewrite.php" hash="b35f254eefea0d714de7ec6bdf5f2c4b"/><file name="06_grid_status.php" hash="f1d657a64ad855219882ac8aa6ead5b5"/><file name="07_created_at.php" hash="15f2bf1aeab4512931cfd13461466dbf"/><file name="08_updated_at.php" hash="b416ed24d9613f8332f4191f0378c1a3"/><file name="09_grid_actions.php" hash="fbc479c06560e193e4c2177358eadc07"/><file name="10_grid_export.php" hash="3da336230cb919e5dd36e39d21ea3f0e"/><file name="11_columns_footer.php" hash="1cdf225b4a61a0036903c4e251484684"/><file name="12_mass_action_top.php" hash="4979fc362c7c0666bcfe39e89f3a88f4"/><file name="13_mass_action_status.php" hash="d504216f92f489be7857bee37cf0771c"/><file name="14_mass_action_flags.php" hash="9b0d9088708f5e84b50e7ac6ee06a632"/><file name="15_mass_action_parents.php" hash="7b36b4b3954e3913e6bdafb822ca6634"/><file name="16_footer.php" hash="0833ff1f2002af6a4db1df3a3cad3385"/></dir><dir name="Helper"><dir name="File"><file name="01_content.php" hash="c00cdcedf171c992bb88a20402bfd70d"/></dir><dir name="Image"><file name="01_content.php" hash="62a55ac8856f4dc555d6dc373c2de7d5"/></dir></dir><dir name="Tree"><file name="01_top.php" hash="8b8eaeea900cceeccb0b12717fe440f7"/><file name="02_status.php" hash="3a0cada5dfb430e3d7b9890e3f6ac2ba"/><file name="03_footer.php" hash="1e7043194d0104f8e39c6418af00a7f4"/></dir><dir name="Widget"><dir name="Chooser"><file name="01_top.php" hash="61b31cd249d7f23aeb456eeff337c9c0"/><file name="02_top_status.php" hash="ae8d09557d6c9aa3a920e148f0cdd7d6"/><file name="03_content.php" hash="8dcbeac6eb2d80f500479a36c5b49c36"/><file name="04_status.php" hash="6fb78962dd9ffb30ee5d750876a26e5d"/><file name="05_footer.php" hash="c6f7967214ca668b51f41dc428cf7145"/><dir name="IsTree"><file name="01_content.php" hash="90138bcf517a4df92825e95e65902a1c"/></dir></dir></dir></dir><dir name="Helper"><dir name="Wysiwyg"><file name="01_content.php" hash="50f63445cbb78d5eb1ff42eed07e76af"/></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><dir name="Entity"><file name="01_top.php" hash="e73df46ed0d2f57e185cebe41814ab67"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_footer.php" hash="7afa811ee3b39c3717cbb8f484e32405"/></dir></dir></dir></dir><dir name="Entity"><dir name="Catalog"><dir name="Product"><dir name="List"><file name="01_content.php" hash="f9a6ec0ca31b9525357f447b5471256f"/></dir></dir></dir><dir name="Child"><dir name="List"><file name="01_content.php" hash="30ac249d25535c1a522f96bae56a4f75"/></dir></dir><dir name="Children"><file name="01_content.php" hash="e3f2d736896f8b81132ab0ce4735d08a"/></dir><dir name="List"><file name="01_top.php" hash="225b59a84d8bf6cb0d06d62bb5240eb2"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_footer.php" hash="369738e4147fd032b12c1df4aa01ed9c"/><dir name="IsTree"><file name="01_top.php" hash="225b59a84d8bf6cb0d06d62bb5240eb2"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_center.php" hash="d4bab4d0e7f4741b0288454906b0e428"/><file name="04_status_draw.php" hash="05f41e4fa26f8644069191a7621b6e3f"/><file name="05_children.php" hash="b59bb1c9e92637ceab3196618b8deee7"/><file name="06_active_children.php" hash="1c9785dbb369f8d3818d4644c5f7e232"/><file name="07_active_children_no_status.php" hash="60a6cf3f5643514e5c1b83353cea5ea9"/><file name="08_footer.php" hash="90180c9a604e490752cf905fd3410efd"/></dir></dir><dir name="Rss"><file name="01_top.php" hash="957b89055315fee8ecefa6b34e940efe"/><file name="02_status.php" hash="7a81b20fbd0ca4ac140c263e481a5b06"/><file name="03_content_top.php" hash="6e2c16bd170842cc88610692439c4674"/><file name="04_content.php" hash="f556d8f00acfa61f93bbc9b09da3508b"/><file name="05_footer.php" hash="0514ad15059f8411d3315d111aac5b84"/></dir><dir name="Sibling"><dir name="List"><file name="01_content.php" hash="09e6f490b8b2d73efdbecbb68737c81f"/></dir></dir><dir name="View"><file name="01_content.php" hash="b6824731ad9bb41ef1f84b4359596f67"/></dir><dir name="Widget"><dir name="Link"><file name="01_content.php" hash="2862dcc4937c58fbee284764732e733c"/></dir><dir name="View"><file name="01_top.php" hash="a31bafcf8918811ff55b0a8eaf49c021"/><file name="02_status.php" hash="fd4d2e31a4c04c13bb470ce615550310"/><file name="03_template.php" hash="e6fd0367cfbd0b14996e189ac56b2d3b"/><file name="04_status.php" hash="573160846b9e8693e966c0881103f25e"/><file name="05_footer.php" hash="1009acd5e8f54dbedb651ecffb283df1"/></dir></dir></dir><dir name="Rss"><file name="01_content.php" hash="ea37b93ec747a042dd51e2e4eaeb22ac"/></dir></dir><dir name="Controller"><dir name="Adminhtml"><dir name="Module"><file name="01_content.php" hash="938c09e00f8a7045d70c7e97dd478df8"/></dir></dir><dir name="Router"><file name="01_top.php" hash="c9dd518945d5ab5fb7508084c2206125"/><file name="02_entity.php" hash="8ba8993dd992d580cd5e3b6ced303d38"/><file name="03_footer.php" hash="7ba40f835c0bbca8dfb8e60753142de4"/></dir></dir><dir name="Helper"><dir name="Data"><file name="01_top.php" hash="44aa03c717b24b0086230271b07f195a"/><file name="02_entity.php" hash="378423c2b9ba4ac86328e094d6e60946"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Entity"><file name="01_top.php" hash="6e37881fbe0898e930a5d7b3d1ce606f"/><file name="02_tree.php" hash="8e6d460e528f4b0e3e74bbbff06336dd"/><file name="03_rss.php" hash="9e9fa595a4a7ec7f159e1d64620119ae"/><file name="04_file.php" hash="44bc7ce84f603100f67dedc1edf3cc0d"/><file name="05_footer.php" hash="2e687c8e025cca2e891ac925406f277c"/><dir name="Image"><file name="01_content.php" hash="e09360ea17dff94a611787004030275b"/></dir></dir><dir name="Image"><dir name="Abstract"><file name="01_content.php" hash="b39acaba6cf4d242689147dfffc8f095"/></dir></dir><dir name="Product"><file name="01_top.php" hash="20709afdafe7e3fd280e7c346a441b0c"/><file name="02_content.php" hash="33fa587ea74ff5caae02e2263bd6092b"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="Model"><dir name="Adminhtml"><dir name="Observer"><file name="01_top.php" hash="abec4c7c295fb57c4086fdf9d22cdf28"/><file name="02_entity.php" hash="6c64bd2314a24f6d2dafa4dedb448b8c"/><file name="03_entity_save.php" hash="6b6db7bcb0cffefc6c3406df406c497a"/><file name="04_entity_save_tree.php" hash="aca15cbb7afc5a832488addb56df157e"/><file name="05_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Search"><dir name="Entity"><file name="01_content.php" hash="824a247bcd2cadb8f1da16ec3034d1c1"/></dir></dir></dir><dir name="Entity"><file name="01_top.php" hash="37daaca4671c58ef2fb2eaa50e0d7a7b"/><file name="02_var_sibling.php" hash="cbbdeeaa7082b22b3a57508dc6bcd4fa"/><file name="03_var_product_relation.php" hash="50cd6433f6617ed2d47c2a9ab9bee4d1"/><file name="04_construct.php" hash="81fb22faf1dc0c05920f5db34061100c"/><file name="05_url.php" hash="6d955735b11308ec8087bfbf2d0c6078"/><file name="06_url_rewrite_not_status.php" hash="514c4998931a817a55e652ec6fa4a322"/><file name="07_url_rewrite_status.php" hash="c5b3cbcffc16a48989a5491e4abd2c4b"/><file name="08_editors.php" hash="615bc07ef7e14bc892bb567e3c22cef7"/><file name="09_after_save_top.php" hash="f456ae82840db694e49d527d6ad23f8f"/><file name="10_after_save_product.php" hash="7e85bbf889a5beededa975831b573d97"/><file name="11_after_save_sibling.php" hash="a7ea726ae5b4b19f78773a563a7196bf"/><file name="12_after_save_footer.php" hash="1af792cf3f94391bbe2b261a0d927a8c"/><file name="13_product_relation.php" hash="890ad6b1cad708779f0e5cb1aa745f1a"/><file name="14_sibling_relation.php" hash="f833e4acb70b198a1cc69da992affc76"/><file name="15_tree.php" hash="c577ef6c4d67da82d5226162345ef896"/><file name="16_tree_status.php" hash="64da48d68c1af82304cea4ee2c21800e"/><file name="17_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Product"><file name="01_content.php" hash="d8dfaa0ac8ba132bf95d3d65452d9795"/></dir><dir name="Sibling"><file name="01_content.php" hash="ef2fc76324ca0afcaabab7f8272bd526"/></dir></dir><dir name="Resource"><dir name="Entity"><file name="01_top.php" hash="8584bb2dba4e8da350ad36ee91ba7094"/><file name="02_tree_var.php" hash="8a673f57e7979c6c0aa2dc38c8f29c38"/><file name="03_constructor.php" hash="1c67d6971268cb3765067a30d6a5ebac"/><file name="04_tree.php" hash="f5f39cd45b72b48079a8bc3c6cee81d2"/><file name="05_tree_before_save_no_url_rewrite.php" hash="721b246ab7c8011faa810f9c509cbc76"/><file name="06_tree_before_save_url_rewrite.php" hash="872a4a6d7b408bf621a52739e5d8438a"/><file name="07_children_no_status.php" hash="41b492cea369e6303ad444b16f016857"/><file name="08_children_status.php" hash="61bfda77779840f9855311137112979e"/><file name="09_content.php" hash="ad6a926a11cf4ca722b896a78bbeadab"/><file name="10_url_rewrite_status.php" hash="1f7413dfcd315965fac22404f7a2808e"/><file name="11_url_rewrite_not_status.php" hash="13b834ba94b4998155668d3c211d2759"/><file name="12_url_rewrite_before_save_not_tree.php" hash="2d51e7bda2f717d22bd17593851f65fa"/><file name="13_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Collection"><file name="01_top.php" hash="7aed912ade7c0e7f779b73d3022772b4"/><file name="02_tree.php" hash="22c1250f162919870d08ec9aa71b949e"/><file name="03_tree_status.php" hash="fe745dc63220b3ddd5f799921077ac51"/><file name="04_product_relation.php" hash="d2f707b97df2ecf2d088aebeeb660822"/><file name="05_sibling_relation.php" hash="4563330e972ef0b0f4b96096b8594727"/><file name="06_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Product"><file name="01_content.php" hash="1545e16c25769395d3d95ec03a8cd4b3"/><dir name="Collection"><file name="01_content.php" hash="401d1dc800ddf76ea155160f3e02d162"/></dir><dir name="IsTree"><file name="01_content.php" hash="0a1b1718dec4ec27dc5310d45b388e2e"/></dir></dir><dir name="Sibling"><file name="01_top.php" hash="e78ca594012a642782fc2292084f81ca"/><file name="02_save_relation.php" hash="43dbb46224c1f8ca4a658a6a5d5077ad"/><file name="03_save_relation_tree.php" hash="1b0b458b7327dd6beaca0455d4268921"/><file name="04_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Collection"><file name="01_content.php" hash="c48de1443823a6ff51517f8a6cab0599"/></dir></dir><dir name="Tree"><file name="01_top.php" hash="d286ac636149b07c3e1993eb4d157529"/><file name="02_status_top.php" hash="f4151c843a394922807dcb59ce6807d8"/><file name="03_content.php" hash="402a0ba7525c552db2e2fa64c79f6473"/><file name="04_not_status.php" hash="d1b54f100c018fe6d5ae965e5aac8dd8"/><file name="05_status.php" hash="df0ef83645e0784f4c33534b976421ee"/><file name="06_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="Setup"><file name="01_content.php" hash="335c579a20a627c5a403e3c7ac6156c0"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Module"><dir name="Entity"><dir name="Catalog"><dir name="ProductController"><file name="01_content.php" hash="b904ef31283029cf808cc42719208874"/><dir name="IsTree"><file name="01_content.php" hash="989ec00484ec5ef3f04df8f9f0007eee"/></dir></dir></dir><dir name="WidgetController"><file name="01_content.php" hash="8d934e135109f74ac036b84d6939f6c9"/><file name="02_tree.php" hash="41b1fca05f9bd59455c72b1d240cc1e7"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="EntityController"><file name="01_top.php" hash="21cbb6239ec0b4d998b494308af6cf1a"/><file name="02_upload_image.php" hash="c111546b644ffafd26c102f095334f95"/><file name="03_upload_files.php" hash="90fd33445b8889a23e5af035da89c15e"/><file name="04_save_product_relation.php" hash="29b35c54da6069c72edd245c42aa5369"/><file name="05_save_sibling_relation.php" hash="e9fe7f25344280b483db7108cc3ae0b1"/><file name="06_save_sibling_relation_tree.php" hash="ee1dcb0a6924b8c7c074a63ec2331f53"/><file name="07_save.php" hash="11c73c7cfc8c76738fce70c466ba7c63"/><file name="08_exception_upload.php" hash="216185c48b0b0937597939a95026a1c9"/><file name="09_exception.php" hash="b34376b34211a9cc21609ac7438d6d6d"/><file name="10_center.php" hash="bc1d289241de1722abb5685c63352c2e"/><file name="11_mass_status.php" hash="31d3560d9ec69d1e5f190d34ef9f54a2"/><file name="12_mass_update.php" hash="adc4ce198da420c75a45f32f9deb9d8f"/><file name="13_mass_parents.php" hash="2f6af9624a7c790d0995fb445e3b8af5"/><file name="14_product_relation_actions.php" hash="772e8ec1661ca45871bc962bdf1bbbcd"/><file name="15_sibling_actions.php" hash="8833208a9d834e7d5fda272a6b827b53"/><file name="16_sibling_actions_tree.php" hash="2994bf89f5d90bfc90e94a76444a4719"/><file name="17_footer.php" hash="044299b6435f621987f31c7c540f113c"/><dir name="IsTree"><file name="01_top.php" hash="951a6a86fdc5f2b39a6b2cae4c9f6434"/><file name="02_wysiwyg.php" hash="3c2ec4bab3895ca6a43bd0416b827028"/><file name="03_save.php" hash="e22bd734eb73a53a0d365f619cd8f7e6"/><file name="04_upload_image.php" hash="c111546b644ffafd26c102f095334f95"/><file name="05_upload_file.php" hash="90fd33445b8889a23e5af035da89c15e"/><file name="06_save_continue.php" hash="b277fb6a9cdb4a28b43416331154f9b8"/><file name="07_product_data.php" hash="d9050ba8bf3d0780d5077a606184e09c"/><file name="08_sibling_data.php" hash="5edd1b8750aef7c7e4fc0137d038a867"/><file name="09_real_save.php" hash="c59972f30bbca76b52376696013d9f82"/><file name="10_product_relation_action.php" hash="1a9875a99162f151e67b827e695f22a9"/><file name="11_sibling_actions.php" hash="0c165d6714a5a4b6203c9d021cdba223"/><file name="12_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir></dir></dir><dir name="EntityController"><file name="01_top.php" hash="eec876d7b63d893886bb334b09480af4"/><file name="02_list.php" hash="dfcf0e406a5a6548637bd50ce06bb1f6"/><file name="03_list_seo.php" hash="04dedfdc059b8b4b89c7c9ccc403a4b4"/><file name="04_list_footer.php" hash="1d41a3331d006d0a04ff32bb4085210b"/><file name="05_view.php" hash="65c4d2ff246370e5bda69be233e01275"/><file name="06_view_status.php" hash="fd0bc040dc135e3469757569ffcf7899"/><file name="07_view_status_tree.php" hash="2b36e7be800e6c59e12a87b0ef697097"/><file name="08_view2.php" hash="af3fc07f58fa608f8f70f2e0264fe0bd"/><file name="09_breadcrumbs.php" hash="8157b6c12ecd17df9acdf095e7eb75db"/><file name="10_breadcrumbs_tree.php" hash="f2391a45fb1ce3e64de454981973cc23"/><file name="11_breadcrumbs_footer.php" hash="b41efc51d35a4f93a3b00dc5f899e1b5"/><file name="12_view_seo.php" hash="2e56f0ef104d419dee88abf037fe9f18"/><file name="13_view_footer.php" hash="3be2b1b314c50af6fd03c53647f06e56"/><file name="14_rss.php" hash="6e2fc4485e7a2b6c3508d05d7b71748d"/><file name="15_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="data"><dir name="namespace_module_setup"><dir name="data-install-0.0.1.php"><file name="01_top.php" hash="d63e4a5fbe4435eadd52abf1534ee829"/><file name="02_entity.php" hash="df6b285616bf2741ae9288e5d9e0758e"/></dir></dir></dir><dir name="etc"><dir name="adminhtml"><file name="01_top.xml" hash="11dee4372e147adfdd6dcf549207d52c"/><file name="02_entity_acl.xml" hash="6afabb39251e5233380992ec92a7a49f"/><file name="03_center.xml" hash="c3daf849d2cc4f2b9bb10319466df7b9"/><file name="04_entity_menu.xml" hash="c940e5491e196974bd81421566bec92d"/><file name="05_footer.xml" hash="567de2825a456f5c8de1c2d3f718b333"/></dir><dir name="config"><file name="01_top.xml" hash="ab60a876013ce736e83c89e6e9be4e25"/><file name="02_tables.xml" hash="07d07c4044d5ee658664c9d3465ea676"/><file name="03_siblings_table.xml" hash="13cdf74c83b7d86d15717b7e31bcc5ed"/><file name="04_relation_table.xml" hash="5e50710deedcd19316110a4db8dbfe5c"/><file name="05_global.xml" hash="9e1870511df355e90da3f86acb7e88cf"/><file name="06_url_rewrite.xml" hash="d7e710748d570d29aca3d15ec4424f2d"/><file name="07_adminhtml.xml" hash="f91e8a152a9e4b7c331df0583e987c7c"/><file name="08_relation_product.xml" hash="de83346f1f657f61a23251f37016bd99"/><file name="09_global_search_top.xml" hash="24e3dddbf6fc52170457a0804c07e060"/><file name="10_global_search_entity.xml" hash="c9e6a985c2292d82c0e648b0fea07837"/><file name="11_global_search_footer.xml" hash="46e34587440f1aa3462eba45aca78be7"/><file name="12_admin.xml" hash="d4c5c6313071ffa54afb69782dbcc21e"/><file name="13_frontend.xml" hash="9617988c4eb5ab502eb57349ab1a2dec"/><file name="14_default_top.xml" hash="a306c05cad3fd6c4c46f5c162e52df68"/><file name="15_default.xml" hash="fc553b2555e09b1ab639b58649b5b4cf"/><file name="16_default_footer.xml" hash="40004610d67a1bcf5ecf317917a1b0ab"/></dir><dir name="system"><file name="01_top.xml" hash="a250611cd158a2b0f9c0adef5b3d8074"/><file name="02_entity.xml" hash="0e789a6caeecd1e7223ab6c44ca1504e"/><file name="03_footer.xml" hash="2ead9ca0742a78448b5db442581d4cd9"/></dir><dir name="widget"><file name="01_top.xml" hash="29a6efa02a0f04ce056cc53d0b4e2272"/><file name="02_entity.xml" hash="102a8cfb8f0a2c330768add309e25e97"/><file name="03_footer.xml" hash="b84026fabe4a09ef682aac220eccf07a"/></dir></dir><dir name="sql"><dir name="namespace_module_setup"><dir name="install-0.0.1"><file name="01_top.php" hash="50cec9cf47ccb1001b16c156bd792210"/><file name="02_entity.php" hash="fdfc8dbe0872a9f346d10925942daad0"/><file name="03_product_relation.php" hash="1be95058703726dc35fc985466d62129"/><file name="04_sibling_relation.php" hash="581b0adc63e3e28ab89dc576a3f2e7d6"/><file name="05_footer.php" hash="7d307239f928e12e9a9b48754777f640"/></dir></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="namespace_module"><file name="01_top.xml" hash="c657e63ddce2df350b7d45c57620e967"/><file name="02_entity_not_tree.xml" hash="4897e318fff890bf377ed3e8091b9986"/><file name="03_relation_product.xml" hash="4ae352696eebe3635e9df76bedaf48d6"/><file name="04_relation_sibling.xml" hash="b9f5a68c69914abeb24c9638a451b157"/><file name="05_entity_tree.xml" hash="e598aa0b93b1e6d5f180bac14f0fc20c"/><file name="06_relation_product_tree.xml" hash="897ddf70ea257a2f553bed07f1e84e3c"/><file name="07_relation_sibling_tree.xml" hash="3ae178a0a81364ec8df9935bf8a3da23"/><file name="08_footer.xml" hash="fd25391f06094530aadcbee222b433fc"/></dir></dir><dir name="template"><dir name="namespace_module"><dir name="catalog"><dir name="product"><dir name="edit"><dir name="tab"><dir name="entity"><file name="01_content.phtml" hash="22515160e08aec47a72e51321949ef9b"/></dir></dir></dir></dir></dir><dir name="entity"><dir name="edit"><file name="01_content.phtml" hash="ce1e8b965823d7880a5acea0de5ba26a"/><dir name="form"><file name="01_top.phtml" hash="99f82b638e08569b4be985af5a77aa26"/><file name="02_product_hidden.phtml" hash="7ef02b97f351681086ccc0f69615cbef"/><file name="03_sibling_hidden.phtml" hash="b0ab3d283c7dd99670034f439f1a7e83"/><file name="04_content.phtml" hash="887287c2135f192c2e050e7d9c2df401"/><file name="05_status.phtml" hash="3f4356540bc8cef1186b62c04e41d305"/><file name="06_content2.phtml" hash="d3d867b32ed5001de64b9d349d4a304f"/><file name="07_product_relation.phtml" hash="95ca5bc339ba49da37e0f9b5714521ea"/><file name="08_sibling_relations.phtml" hash="781a697648d00ec4c824380fae4b67ac"/><file name="09_footer.phtml" hash="5fd8d0c41500e156711c723af13f627f"/></dir><dir name="tab"><dir name="sibling"><file name="01_content.phtml" hash="59bbfec6eb6cee9778872eac55ac74bc"/></dir></dir></dir><dir name="tree"><file name="01_content.phtml" hash="0326fef77a80ddb5d154939783b52b1a"/></dir><dir name="widget"><dir name="tree"><file name="01_content.phtml" hash="e0e24d2640bdc3e4c7234564b263465f"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="namespace_module"><file name="01_top.xml" hash="bf6f2b1a2a7bfaec115c381abfa40e02"/><file name="02_default_top.xml" hash="10c0056a19cc82fbf809aa13b879b4ff"/><file name="03_default.xml" hash="e58d9aa36808b39bdd648d51fca7b992"/><file name="04_default_footer.xml" hash="22f72da3c656b5721d355607c891cc9c"/><file name="05_list.xml" hash="d612266dae53939552fb5b0a6fcb6feb"/><file name="06_view.xml" hash="7f3837e6fc2f6325304d5028fcfda532"/><file name="07_entity_rss.xml" hash="f06074f610065fbc6cb9a228402da7a7"/><file name="08_rss_top.xml" hash="54753c3cd7d42667c88c88f0084484f2"/><file name="09_rss.xml" hash="b513533d7cc561ec197ce1662bf54883"/><file name="10_rss_footer.xml" hash="3adf9a1e5301aa4221cede3ff5208785"/><file name="11_relation_product.xml" hash="309965e4062dc6f6f82dd495035e08ec"/><file name="12_footer.xml" hash="fd25391f06094530aadcbee222b433fc"/></dir></dir><dir name="template"><dir name="namespace_module"><dir name="catalog"><dir name="product"><dir name="list"><dir name="entity"><file name="01_top.phtml" hash="bb86f12fc472152437ef1be97280d258"/><file name="02_link_top.phtml" hash="62a65063f9611f31b02a5b3f3b34f524"/><file name="03_name.phtml" hash="fed55ae628836787e7a2ba05b1e695e6"/><file name="04_link_footer.phtml" hash="f01ee0fb040754cbdd4c7ca86dbec387"/><file name="05_footer.phtml" hash="d0bff7b594da78b60141591d6870556b"/></dir></dir></dir></dir><dir name="entity"><dir name="catalog"><dir name="product"><dir name="list"><file name="01_content.phtml" hash="96ec480a53c89ff5b87cfd59dc163f9e"/></dir></dir></dir><dir name="children"><file name="01_content.phtml" hash="129d29d6a49f3e6bbbd0697f55c97740"/></dir><dir name="list"><file name="01_top.phtml" hash="10c541cba8766100d47e8baadb8ce6a5"/><file name="02_rss_link.phtml" hash="cacf7866f6dd54ab37a217d7cb7466c7"/><file name="03_footer.phtml" hash="24d3a1e0224a9e59f5daa0d2660e76b4"/><file name="04_footer_is_tree.phtml" hash="098332bf5a88d8529ea3ef57ed9c75f4"/></dir><dir name="sibling"><dir name="child"><dir name="list"><file name="01_content.phtml" hash="5a1f524b49cf120201a90ee695f90544"/></dir></dir><dir name="list"><file name="01_content.phtml" hash="5a1f524b49cf120201a90ee695f90544"/></dir></dir><dir name="view"><file name="01_content.phtml" hash="205b0b21c650f28ff0e364d6ec8ce552"/></dir><dir name="widget"><dir name="link"><file name="01_content.phtml" hash="11d9e23bd1c2f8cb8a0f857c8bb393d8"/></dir><dir name="view"><file name="01_content.phtml" hash="f89f40babc5af3cd30597cd097ad9ab9"/></dir></dir></dir><dir name="rss"><file name="01_content.phtml" hash="172a345ace9b7ec84ad2e18f51d48257"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><dir name="Namespace_Module"><file name="01_content.xml" hash="4495317a1b8392281b68f07a546c56c2"/></dir></dir></dir><dir name="locale"><dir name="en_US"><dir name="Namespace_Module"><file name="01_global.csv" hash="133cec10c0a2d55366574bbaa3c98a6f"/><file name="02_entity.csv" hash="97e1a2056ec2f49acc1c5c9598ef10d7"/><file name="03_attribute.csv" hash="0bc9532d35587f2225e398156cc3ef7f"/><file name="04_global_status.csv" hash="507d9e24387e6935b1ee629e8432f842"/><file name="05_global_rss.csv" hash="df495f10c1e7d7d3fb770d8b406b9f9b"/><file name="06_global_seo.csv" hash="5f973fd7dfbb61ce8c21d6f7e8622379"/><file name="07_attribute_yesno.csv" hash="20eaf2d5eaa8224e5fa1c7a63634b1c0"/><file name="08_global_file.csv" hash="8bebcdd48d5ae7b533cc53e789f03ef2"/><file name="09_product_relation.csv" hash="b96f377dfa788f2772f2f8b7f156aebd"/><file name="10_relations.csv" hash="d0f7a10c89d21ade4ba17cd73dbb42fb"/><file name="11_global_tree.csv" hash="279098d455e2c1adcde8668e042541d7"/><file name="12_tree_entity.csv" hash="d41675dbb1bf588d1d59af8f7b255c2d"/><file name="13_url_rewrite.csv" hash="56d63caf8b00b1bc92bece5516b6b27f"/></dir></dir></dir></dir><dir name="skin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="namespace_module"><dir name="tree"><file name="01_content.css" hash="7929b899ed457d539637d5083286bed4"/></dir></dir></dir><dir name="images"><dir name="namespace_module"><dir name="collapsedgif"><file name="01_content.gif" hash="ef74c08289e94b7aae81766fb00d4195"/></dir><dir name="collapsedpng"><file name="01_content.png" hash="0613450d25c762b6a40c51768b02462d"/></dir><dir name="expandedgif"><file name="01_content.gif" hash="3f5512a54f359343273caf7b3787ee8a"/></dir><dir name="expandedpng"><file name="01_content.png" hash="f7f28ae897708c78b28ead22c3692bb8"/></dir><dir name="line1gif"><file name="01_content.gif" hash="65b0c812c8d57ea72b84fc69a077a40a"/></dir><dir name="line1png"><file name="01_content.png" hash="4e01064a2c78b8885f65ff7a40f78c02"/></dir><dir name="line2gif"><file name="01_content.gif" hash="95fc5c58069ece5eb44e198ee53b3fe1"/></dir><dir name="line2png"><file name="01_content.png" hash="6adbb4ca64d943f5ee5528d713757fde"/></dir></dir><dir name="placeholder"><file name="entity.jpg" hash="6361a80d5ca988fcec45ad3767322e5e"/></dir></dir><dir name="js"><dir name="namespace_module"><dir name="tree"><file name="01_content.js" hash="1b8a1e7b1cb23e7a87e05b33a34523a0"/></dir></dir></dir></dir></dir></dir></dir></dir><file name="modulecreator.xml" hash="4f9e48642035eb4b72f529869dc563cc"/><file name="system.xml" hash="5375cca1089787206cfabb41d7aa0614"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ultimate_modulecreator.xml" hash="f21bb3c8940eb81307817c0491caf300"/></dir><dir name="template"><dir name="ultimate_modulecreator"><dir name="edit"><dir name="tab"><dir name="entities"><dir name="entity"><file name="attribute.phtml" hash="586ebc5ca473dfcd1a0a47917c4353e4"/></dir><file name="entity.phtml" hash="f356184e2d8855a13456f52ac7e51d8e"/></dir><file name="entities.phtml" hash="df9179ffd5e72a04cf4740488521f0ce"/><file name="help.phtml" hash="dae530bc9d4ab9445d95d087bfc80fe6"/><file name="relation.phtml" hash="17a41ecbecdf7af519d11c3d026a800b"/></dir></dir><file name="edit.phtml" hash="8d10e82ae89d9e4ede28e6c59c9e724c"/><file name="tooltip.phtml" hash="d3598ad3f978d708b1f7f36feee39560"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ultimate_ModuleCreator.xml" hash="324d2b364541a7355c9ff4248c0518f2"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Ultimate_ModuleCreator.csv" hash="e8d1c6166a369904c245004c99893f40"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><file name="ultimate_modulecreator.css" hash="781a789d72dc08f660479543ff09b143"/><dir name="images"><dir name="ultimate_modulecreator"><file name="logo.png" hash="9c9ca3b07295cab1cb1503865905ee50"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="LICENSE_UMC.txt" hash="1372b858e10f4c6feb2967766a0b7a62"/><file name="readme_UMC.txt" hash="7b8cd5baf640a5078be5c7136b56b5d9"/></dir></target><target name="mageweb"><dir name="."><file name="modman" hash="191dd9a4e001d6f8de5933202daac7d1"/></dir></target></contents>
|
25 |
<compatible/>
|
26 |
<dependencies><required><php><min>5.0.0</min><max>7.0.0</max></php></required></dependencies>
|
27 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Ultimate_ModuleCreator</name>
|
4 |
+
<version>1.5.0</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/MIT">MIT License</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>Develop custom Magento modules without writing any code. Use a module creator. Use this module creator</summary>
|
10 |
<description>This module allows you to create custom Magento modules for your own entities. You can create as many entities as you want in one extension, you can establish relations between them, decide to generate only back-end pages or both back-end and frontend pages.</description>
|
11 |
+
<notes>Features:
|
12 |
+
- Generate API (v1 & v2) files.
|
13 |
+
- WSI compliance for API 
|
14 |
+
Bug fixes:
|
15 |
+
- Fixed Generated translation file
|
16 |
+
- Uppercase letter in entity codes is now restricted
|
17 |
+
Refactoring:
|
18 |
+
- Entity Model.</notes>
|
|
|
|
|
19 |
<authors><author><name>Marius Strajeru</name><user>tzyganu</user><email>tzyganu@gmail.com</email></author></authors>
|
20 |
+
<date>2013-04-08</date>
|
21 |
+
<time>20:20:23</time>
|
22 |
+
<contents><target name="magecommunity"><dir name="Ultimate"><dir name="ModuleCreator"><dir name="Block"><dir name="Adminhtml"><dir name="Modulecreator"><dir name="Edit"><file name="Form.php" hash="cb4328ae858a31a31d76016e50b56739"/><dir name="Tab"><dir name="Entities"><dir name="Entity"><file name="Attribute.php" hash="daa6787fa3f72150fc86c4350be932da"/></dir><file name="Entity.php" hash="8d5b07f735a5a7107f1abf66bbb482da"/></dir><file name="Entities.php" hash="65602b8daaa8585d9c94d7a4d8d7dcde"/><file name="Help.php" hash="304c68d68e9adf0962817e27877683b6"/><file name="Relation.php" hash="43730e74747b8e6e5985eee259e6db07"/><file name="Settings.php" hash="dee31d423d26a3efbc773530ac847afb"/></dir><file name="Tabs.php" hash="578af9256efb3d516db14db7e396e5e3"/></dir><file name="Edit.php" hash="491948d86e2e3a50fa185a407997c163"/><file name="Grid.php" hash="96ef8fa066b89937712b44991191f4de"/></dir><file name="Modulecreator.php" hash="b2630018b6f103d1a3f9e92ed7de7a54"/></dir></dir><file name="Exception.php" hash="aaef7086ff700d7132418cf68629246f"/><dir name="Helper"><file name="Adminhtml.php" hash="f913d91b1041032b35e4d0ca2fd20205"/><file name="Data.php" hash="15c1fc5975814c656c587da7db416a21"/></dir><dir name="Model"><file name="Abstract.php" hash="33a186edb30b8ff3f54fda6690a90a2c"/><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Codepool.php" hash="045f0555fc545799148627e081ca8727"/><file name="Install.php" hash="7fb2fd108b5bed63b31ab9cfd0da25f5"/><file name="Layout.php" hash="3d63a2221b3a93926c662b3c10effc2c"/></dir></dir></dir></dir><dir name="Attribute"><dir name="Type"><file name="Abstract.php" hash="983e731730dbc4ee0a8c24ec662c091a"/><file name="Country.php" hash="59211a0da793c9f828caa161688f0d1c"/><file name="Decimal.php" hash="593c993bfba24af511164987a8c11eb3"/><file name="File.php" hash="a8e18228577beb612f202acbe0ddb41a"/><file name="Image.php" hash="80211878524ee9ed71096d30b1c52c42"/><file name="Int.php" hash="7e06c84fa8a3c2940624248c386e2d67"/><file name="Text.php" hash="237217feda93dadf93a63f181ebb8793"/><file name="Textarea.php" hash="04cd8559fbeeb8b81733e6c9a3b7b725"/><file name="Timestamp.php" hash="d18d599090ac5fa824e44edf3fa14486"/><file name="Website.php" hash="0bd68cd56e97013711986bdb3edf06cb"/><file name="Yesno.php" hash="dbb96529e483d587d8d8d99f176afa8b"/></dir></dir><file name="Attribute.php" hash="5232f076d415a7fea7470c210e9937a1"/><file name="Entity.php" hash="c67e2105bb2087ce3a56c739d3b4335b"/><dir name="Module"><file name="Collection.php" hash="0e413b976cbc9649ec982fe0f4b95dd1"/></dir><file name="Module.php" hash="74aa2aacef31c8d7f8c3fad0fa0c97bb"/><file name="Relation.php" hash="d026e9113cf9ad8c65fc4c78bdac5852"/><file name="Writer.php" hash="b47341646a1882d77e57cf6a5b30ad49"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="ModulecreatorController.php" hash="11ee92957c8099af688993543b9f849e"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="755c04b748c41ced20f41c725acc95c2"/><file name="config.xml" hash="7287d029ddff85952cae1f54fc54d370"/><dir name="m"><dir name="app"><dir name="code"><dir name="cp"><dir name="Ns"><dir name="Md"><dir name="Block"><dir name="Adminhtml"><dir name="Catalog"><dir name="Product"><dir name="Edit"><dir name="Tab"><dir name="Entity"><file name="01_content.php" hash="59347ed053e0fe3dc2e25a5c5490ecd4"/><dir name="IsTree"><file name="01_content.php" hash="1eda50311bcf910106a49ad54f1681fd"/></dir></dir></dir></dir></dir></dir><dir name="Entity"><file name="01_content.php" hash="5dfc799aeee50cc5ef32d356c1cc176f"/><dir name="Abstract"><file name="01_content.php" hash="dfe60775e0f319347a8937a17733c751"/></dir><dir name="Edit"><file name="01_content.php" hash="21d1cd84da305a41e516752e39c12404"/><dir name="Form"><file name="01_content.php" hash="39f68c93dba53e650f502776c03caf20"/><dir name="IsTree"><file name="01_top.php" hash="6bf3a72161678690d515deb253fb5f3d"/><file name="02_product_relation.php" hash="adee6754a75247b7d401d8f774d3918b"/><file name="03_entity_relation.php" hash="7f06c1f227ff6e8e1f64606bc1da6d3a"/><file name="04_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="IsTree"><file name="01_content.php" hash="6f8ab2c71f28a7618db8b94c311d6f13"/></dir><dir name="Tab"><dir name="Form"><file name="01_top.php" hash="9f6681f6bc3e012a8c711739a0ed6ae1"/><file name="02_image.php" hash="8dbf5010de2c46aabb02cd7a4df6f45e"/><file name="03_file.php" hash="64ede5038fe0edfec08671a5ca521777"/><file name="04_wysiwyg.php" hash="d25a58b233bd88a2e6d1fd5a79398394"/><file name="05_wysiwyg_is_tree.php" hash="6ef452bba45e48bbfc370ea24b61d6e0"/><file name="06_path_tree.php" hash="9991a81df109b0abbc8bd06a26694d1b"/><file name="07_parents.php" hash="476f7ebd1b04a879f3dd51b1913f9a9d"/><file name="08_attributes.php" hash="44c81d580dcf072b2ed9b5cc90fb1fac"/><file name="09_url_rewrite.php" hash="fdcf74d7a3abe5bfa32db1d5f042d8e2"/><file name="10_status.php" hash="ade9e66ee2dd546ebea8c9800b378a88"/><file name="11_rss.php" hash="0a122d46cc4826a0bd62b2f5d52b3fdc"/><file name="12_seo.php" hash="f0cf29478e91ced8dc39170b2574f1f2"/><file name="13_add_values_not_tree.php" hash="dc7ba40ed78eb43b08fc46c235029c8c"/><file name="14_add_values_tree.php" hash="c569ce680f4c5328292d6bb4f4c37e69"/><file name="15_get_entity_tree.php" hash="3d9027f073bf28f89aecd6b224c350ca"/><file name="16_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Product"><file name="01_content.php" hash="e42fb1044c47e7e1ba7c456f057b9558"/></dir><dir name="Sibling"><file name="01_content.php" hash="45cbbc5d065f5e0402a8340e14e5e6b2"/><dir name="IsTree"><file name="01_content.php" hash="0809c980a4d5059bc679e37762853f5e"/></dir></dir></dir><dir name="Tabs"><file name="01_top.php" hash="7cecbd5b68dc09c4e9a14f214b3b70df"/><file name="02_relations_tabs.php" hash="3f1eba9e9a7bf177185364cffc8468ba"/><file name="03_product_relation.php" hash="aee681c7021e9efad07a39bc8f8cf56d"/><file name="04_footer.php" hash="01b6273dfbf342c1f984c1e10b631b65"/><dir name="IsTree"><file name="01_top.php" hash="e48cac6414b02601cbef87e9831846a2"/><file name="02_relations_tabs.php" hash="50d5a9065062cf44f11a8aba92140790"/><file name="03_product_relation.php" hash="c5dc78d7c883af529b3adf72770d3dde"/><file name="04_footer.php" hash="5cad78a0f4dc4a2531cb6195e5e9ea5a"/></dir></dir></dir><dir name="Grid"><file name="01_top.php" hash="1a0c8754c5482692ae460fd6aafcfa6b"/><file name="02_columns_top.php" hash="1d28265e98b06fe61edde000c0d28db6"/><file name="03_parents.php" hash="011f4f2895cbaa33e753168131feedee"/><file name="04_grid_attributes.php" hash="2e7a6d5f6333b44ddf6792898a6e01c1"/><file name="05_url_rewrite.php" hash="b35f254eefea0d714de7ec6bdf5f2c4b"/><file name="06_grid_status.php" hash="f1d657a64ad855219882ac8aa6ead5b5"/><file name="07_created_at.php" hash="15f2bf1aeab4512931cfd13461466dbf"/><file name="08_updated_at.php" hash="b416ed24d9613f8332f4191f0378c1a3"/><file name="09_grid_actions.php" hash="fbc479c06560e193e4c2177358eadc07"/><file name="10_grid_export.php" hash="3da336230cb919e5dd36e39d21ea3f0e"/><file name="11_columns_footer.php" hash="1cdf225b4a61a0036903c4e251484684"/><file name="12_mass_action_top.php" hash="4979fc362c7c0666bcfe39e89f3a88f4"/><file name="13_mass_action_status.php" hash="d504216f92f489be7857bee37cf0771c"/><file name="14_mass_action_flags.php" hash="9b0d9088708f5e84b50e7ac6ee06a632"/><file name="15_mass_action_parents.php" hash="7b36b4b3954e3913e6bdafb822ca6634"/><file name="16_footer.php" hash="0833ff1f2002af6a4db1df3a3cad3385"/></dir><dir name="Helper"><dir name="File"><file name="01_content.php" hash="c00cdcedf171c992bb88a20402bfd70d"/></dir><dir name="Image"><file name="01_content.php" hash="62a55ac8856f4dc555d6dc373c2de7d5"/></dir></dir><dir name="Tree"><file name="01_top.php" hash="8b8eaeea900cceeccb0b12717fe440f7"/><file name="02_status.php" hash="3a0cada5dfb430e3d7b9890e3f6ac2ba"/><file name="03_footer.php" hash="1e7043194d0104f8e39c6418af00a7f4"/></dir><dir name="Widget"><dir name="Chooser"><file name="01_top.php" hash="61b31cd249d7f23aeb456eeff337c9c0"/><file name="02_top_status.php" hash="ae8d09557d6c9aa3a920e148f0cdd7d6"/><file name="03_content.php" hash="8dcbeac6eb2d80f500479a36c5b49c36"/><file name="04_status.php" hash="6fb78962dd9ffb30ee5d750876a26e5d"/><file name="05_footer.php" hash="c6f7967214ca668b51f41dc428cf7145"/><dir name="IsTree"><file name="01_content.php" hash="90138bcf517a4df92825e95e65902a1c"/></dir></dir></dir></dir><dir name="Helper"><dir name="Wysiwyg"><file name="01_content.php" hash="50f63445cbb78d5eb1ff42eed07e76af"/></dir></dir></dir><dir name="Catalog"><dir name="Product"><dir name="List"><dir name="Entity"><file name="01_top.php" hash="e73df46ed0d2f57e185cebe41814ab67"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_footer.php" hash="7afa811ee3b39c3717cbb8f484e32405"/></dir></dir></dir></dir><dir name="Entity"><dir name="Catalog"><dir name="Product"><dir name="List"><file name="01_content.php" hash="f9a6ec0ca31b9525357f447b5471256f"/></dir></dir></dir><dir name="Child"><dir name="List"><file name="01_content.php" hash="30ac249d25535c1a522f96bae56a4f75"/></dir></dir><dir name="Children"><file name="01_content.php" hash="e3f2d736896f8b81132ab0ce4735d08a"/></dir><dir name="List"><file name="01_top.php" hash="225b59a84d8bf6cb0d06d62bb5240eb2"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_footer.php" hash="369738e4147fd032b12c1df4aa01ed9c"/><dir name="IsTree"><file name="01_top.php" hash="225b59a84d8bf6cb0d06d62bb5240eb2"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_center.php" hash="d4bab4d0e7f4741b0288454906b0e428"/><file name="04_status_draw.php" hash="05f41e4fa26f8644069191a7621b6e3f"/><file name="05_children.php" hash="b59bb1c9e92637ceab3196618b8deee7"/><file name="06_active_children.php" hash="1c9785dbb369f8d3818d4644c5f7e232"/><file name="07_active_children_no_status.php" hash="60a6cf3f5643514e5c1b83353cea5ea9"/><file name="08_footer.php" hash="90180c9a604e490752cf905fd3410efd"/></dir></dir><dir name="Rss"><file name="01_top.php" hash="957b89055315fee8ecefa6b34e940efe"/><file name="02_status.php" hash="7a81b20fbd0ca4ac140c263e481a5b06"/><file name="03_content_top.php" hash="6e2c16bd170842cc88610692439c4674"/><file name="04_content.php" hash="f556d8f00acfa61f93bbc9b09da3508b"/><file name="05_footer.php" hash="0514ad15059f8411d3315d111aac5b84"/></dir><dir name="Sibling"><dir name="List"><file name="01_content.php" hash="09e6f490b8b2d73efdbecbb68737c81f"/></dir></dir><dir name="View"><file name="01_content.php" hash="b6824731ad9bb41ef1f84b4359596f67"/></dir><dir name="Widget"><dir name="Link"><file name="01_content.php" hash="2862dcc4937c58fbee284764732e733c"/></dir><dir name="View"><file name="01_top.php" hash="a31bafcf8918811ff55b0a8eaf49c021"/><file name="02_status.php" hash="fd4d2e31a4c04c13bb470ce615550310"/><file name="03_template.php" hash="e6fd0367cfbd0b14996e189ac56b2d3b"/><file name="04_status.php" hash="573160846b9e8693e966c0881103f25e"/><file name="05_footer.php" hash="1009acd5e8f54dbedb651ecffb283df1"/></dir></dir></dir><dir name="Rss"><file name="01_content.php" hash="ea37b93ec747a042dd51e2e4eaeb22ac"/></dir></dir><dir name="Controller"><dir name="Adminhtml"><dir name="Module"><file name="01_content.php" hash="938c09e00f8a7045d70c7e97dd478df8"/></dir></dir><dir name="Router"><file name="01_top.php" hash="c9dd518945d5ab5fb7508084c2206125"/><file name="02_entity.php" hash="8ba8993dd992d580cd5e3b6ced303d38"/><file name="03_footer.php" hash="7ba40f835c0bbca8dfb8e60753142de4"/></dir></dir><dir name="Helper"><dir name="Data"><file name="01_top.php" hash="44aa03c717b24b0086230271b07f195a"/><file name="02_entity.php" hash="378423c2b9ba4ac86328e094d6e60946"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Entity"><file name="01_top.php" hash="6e37881fbe0898e930a5d7b3d1ce606f"/><file name="02_tree.php" hash="8e6d460e528f4b0e3e74bbbff06336dd"/><file name="03_rss.php" hash="9e9fa595a4a7ec7f159e1d64620119ae"/><file name="04_file.php" hash="44bc7ce84f603100f67dedc1edf3cc0d"/><file name="05_footer.php" hash="2e687c8e025cca2e891ac925406f277c"/><dir name="Image"><file name="01_content.php" hash="e09360ea17dff94a611787004030275b"/></dir></dir><dir name="Image"><dir name="Abstract"><file name="01_content.php" hash="b39acaba6cf4d242689147dfffc8f095"/></dir></dir><dir name="Product"><file name="01_top.php" hash="20709afdafe7e3fd280e7c346a441b0c"/><file name="02_content.php" hash="33fa587ea74ff5caae02e2263bd6092b"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="Model"><dir name="Adminhtml"><dir name="Observer"><file name="01_top.php" hash="abec4c7c295fb57c4086fdf9d22cdf28"/><file name="02_entity.php" hash="6c64bd2314a24f6d2dafa4dedb448b8c"/><file name="03_entity_save.php" hash="6b6db7bcb0cffefc6c3406df406c497a"/><file name="04_entity_save_tree.php" hash="aca15cbb7afc5a832488addb56df157e"/><file name="05_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Search"><dir name="Entity"><file name="01_content.php" hash="824a247bcd2cadb8f1da16ec3034d1c1"/></dir></dir></dir><dir name="Entity"><file name="01_top.php" hash="37daaca4671c58ef2fb2eaa50e0d7a7b"/><file name="02_var_sibling.php" hash="cbbdeeaa7082b22b3a57508dc6bcd4fa"/><file name="03_var_product_relation.php" hash="50cd6433f6617ed2d47c2a9ab9bee4d1"/><file name="04_construct.php" hash="81fb22faf1dc0c05920f5db34061100c"/><file name="05_url.php" hash="6d955735b11308ec8087bfbf2d0c6078"/><file name="06_url_rewrite_not_status.php" hash="514c4998931a817a55e652ec6fa4a322"/><file name="07_url_rewrite_status.php" hash="c5b3cbcffc16a48989a5491e4abd2c4b"/><file name="08_editors.php" hash="615bc07ef7e14bc892bb567e3c22cef7"/><file name="09_after_save_top.php" hash="f456ae82840db694e49d527d6ad23f8f"/><file name="10_after_save_product.php" hash="7e85bbf889a5beededa975831b573d97"/><file name="11_after_save_sibling.php" hash="a7ea726ae5b4b19f78773a563a7196bf"/><file name="12_after_save_footer.php" hash="1af792cf3f94391bbe2b261a0d927a8c"/><file name="13_product_relation.php" hash="890ad6b1cad708779f0e5cb1aa745f1a"/><file name="14_sibling_relation.php" hash="09f99a030f1e9e09864cee3e5f92457c"/><file name="15_tree.php" hash="c577ef6c4d67da82d5226162345ef896"/><file name="16_tree_status.php" hash="64da48d68c1af82304cea4ee2c21800e"/><file name="17_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Api"><file name="01_top.php" hash="c1956fcb05a9cb5130a2b736875deff7"/><file name="02_product_relation_info.php" hash="1c7bc902ac26ce46dfa0d7fc9928550b"/><file name="03_sibling_info.php" hash="e47f87465f7bc8ef58513290f79059a3"/><file name="04_info_footer.php" hash="f86ab31eddfc4e564e856d6e2e7dae19"/><file name="05_tree.php" hash="c7748f2727f04dc6abd56f7857a83fc6"/><file name="06_product_relation.php" hash="e8e82e554b7da081ad41490255233686"/><file name="07_sibling_relation.php" hash="44840138eaed0a057d6435107e9e0bf0"/><file name="08_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="V2"><file name="01_top.php" hash="e9b8c7bcd7cc8a16bcd0d88f3f889981"/><file name="02_product_relation.php" hash="cdf0cbb621852613df86f91988463608"/><file name="03_sibling_relation.php" hash="c323564cb482d85f774415585ed2b1df"/><file name="04_footer.php" hash="6a6c4437c80ae02dc771877d93a38b6c"/></dir></dir><dir name="Product"><file name="01_content.php" hash="d8dfaa0ac8ba132bf95d3d65452d9795"/></dir><dir name="Sibling"><file name="01_content.php" hash="ef2fc76324ca0afcaabab7f8272bd526"/></dir></dir><dir name="Resource"><dir name="Entity"><file name="01_top.php" hash="8584bb2dba4e8da350ad36ee91ba7094"/><file name="02_tree_var.php" hash="8a673f57e7979c6c0aa2dc38c8f29c38"/><file name="03_constructor.php" hash="1c67d6971268cb3765067a30d6a5ebac"/><file name="04_tree.php" hash="f5f39cd45b72b48079a8bc3c6cee81d2"/><file name="05_tree_before_save_no_url_rewrite.php" hash="721b246ab7c8011faa810f9c509cbc76"/><file name="06_tree_before_save_url_rewrite.php" hash="872a4a6d7b408bf621a52739e5d8438a"/><file name="07_children_no_status.php" hash="41b492cea369e6303ad444b16f016857"/><file name="08_children_status.php" hash="61bfda77779840f9855311137112979e"/><file name="09_content.php" hash="ad6a926a11cf4ca722b896a78bbeadab"/><file name="10_url_rewrite_status.php" hash="1f7413dfcd315965fac22404f7a2808e"/><file name="11_url_rewrite_not_status.php" hash="13b834ba94b4998155668d3c211d2759"/><file name="12_url_rewrite_before_save_not_tree.php" hash="2d51e7bda2f717d22bd17593851f65fa"/><file name="13_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Collection"><file name="01_top.php" hash="7aed912ade7c0e7f779b73d3022772b4"/><file name="02_tree.php" hash="22c1250f162919870d08ec9aa71b949e"/><file name="03_tree_status.php" hash="fe745dc63220b3ddd5f799921077ac51"/><file name="04_product_relation.php" hash="d2f707b97df2ecf2d088aebeeb660822"/><file name="05_sibling_relation.php" hash="4563330e972ef0b0f4b96096b8594727"/><file name="06_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir><dir name="Product"><file name="01_content.php" hash="1545e16c25769395d3d95ec03a8cd4b3"/><dir name="Collection"><file name="01_content.php" hash="401d1dc800ddf76ea155160f3e02d162"/></dir><dir name="IsTree"><file name="01_content.php" hash="0a1b1718dec4ec27dc5310d45b388e2e"/></dir></dir><dir name="Sibling"><file name="01_top.php" hash="e78ca594012a642782fc2292084f81ca"/><file name="02_save_relation.php" hash="43dbb46224c1f8ca4a658a6a5d5077ad"/><file name="03_save_relation_tree.php" hash="1b0b458b7327dd6beaca0455d4268921"/><file name="04_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Collection"><file name="01_content.php" hash="c48de1443823a6ff51517f8a6cab0599"/></dir></dir><dir name="Tree"><file name="01_top.php" hash="d286ac636149b07c3e1993eb4d157529"/><file name="02_status_top.php" hash="f4151c843a394922807dcb59ce6807d8"/><file name="03_content.php" hash="402a0ba7525c552db2e2fa64c79f6473"/><file name="04_not_status.php" hash="d1b54f100c018fe6d5ae965e5aac8dd8"/><file name="05_status.php" hash="df0ef83645e0784f4c33534b976421ee"/><file name="06_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="Setup"><file name="01_content.php" hash="335c579a20a627c5a403e3c7ac6156c0"/></dir></dir></dir><dir name="controllers"><dir name="Adminhtml"><dir name="Module"><dir name="Entity"><dir name="Catalog"><dir name="ProductController"><file name="01_content.php" hash="b904ef31283029cf808cc42719208874"/><dir name="IsTree"><file name="01_content.php" hash="989ec00484ec5ef3f04df8f9f0007eee"/></dir></dir></dir><dir name="WidgetController"><file name="01_content.php" hash="8d934e135109f74ac036b84d6939f6c9"/><file name="02_tree.php" hash="41b1fca05f9bd59455c72b1d240cc1e7"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="EntityController"><file name="01_top.php" hash="21cbb6239ec0b4d998b494308af6cf1a"/><file name="02_upload_image.php" hash="c111546b644ffafd26c102f095334f95"/><file name="03_upload_files.php" hash="90fd33445b8889a23e5af035da89c15e"/><file name="04_save_product_relation.php" hash="29b35c54da6069c72edd245c42aa5369"/><file name="05_save_sibling_relation.php" hash="e9fe7f25344280b483db7108cc3ae0b1"/><file name="06_save_sibling_relation_tree.php" hash="ee1dcb0a6924b8c7c074a63ec2331f53"/><file name="07_save.php" hash="11c73c7cfc8c76738fce70c466ba7c63"/><file name="08_exception_upload.php" hash="216185c48b0b0937597939a95026a1c9"/><file name="09_exception.php" hash="b34376b34211a9cc21609ac7438d6d6d"/><file name="10_center.php" hash="bc1d289241de1722abb5685c63352c2e"/><file name="11_mass_status.php" hash="31d3560d9ec69d1e5f190d34ef9f54a2"/><file name="12_mass_update.php" hash="adc4ce198da420c75a45f32f9deb9d8f"/><file name="13_mass_parents.php" hash="2f6af9624a7c790d0995fb445e3b8af5"/><file name="14_product_relation_actions.php" hash="772e8ec1661ca45871bc962bdf1bbbcd"/><file name="15_sibling_actions.php" hash="8833208a9d834e7d5fda272a6b827b53"/><file name="16_sibling_actions_tree.php" hash="2994bf89f5d90bfc90e94a76444a4719"/><file name="17_footer.php" hash="044299b6435f621987f31c7c540f113c"/><dir name="IsTree"><file name="01_top.php" hash="951a6a86fdc5f2b39a6b2cae4c9f6434"/><file name="02_wysiwyg.php" hash="3c2ec4bab3895ca6a43bd0416b827028"/><file name="03_save.php" hash="e22bd734eb73a53a0d365f619cd8f7e6"/><file name="04_upload_image.php" hash="c111546b644ffafd26c102f095334f95"/><file name="05_upload_file.php" hash="90fd33445b8889a23e5af035da89c15e"/><file name="06_save_continue.php" hash="b277fb6a9cdb4a28b43416331154f9b8"/><file name="07_product_data.php" hash="d9050ba8bf3d0780d5077a606184e09c"/><file name="08_sibling_data.php" hash="5edd1b8750aef7c7e4fc0137d038a867"/><file name="09_real_save.php" hash="c59972f30bbca76b52376696013d9f82"/><file name="10_product_relation_action.php" hash="1a9875a99162f151e67b827e695f22a9"/><file name="11_sibling_actions.php" hash="0c165d6714a5a4b6203c9d021cdba223"/><file name="12_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir></dir></dir><dir name="EntityController"><file name="01_top.php" hash="eec876d7b63d893886bb334b09480af4"/><file name="02_list.php" hash="dfcf0e406a5a6548637bd50ce06bb1f6"/><file name="03_list_seo.php" hash="04dedfdc059b8b4b89c7c9ccc403a4b4"/><file name="04_list_footer.php" hash="1d41a3331d006d0a04ff32bb4085210b"/><file name="05_view.php" hash="65c4d2ff246370e5bda69be233e01275"/><file name="06_view_status.php" hash="fd0bc040dc135e3469757569ffcf7899"/><file name="07_view_status_tree.php" hash="2b36e7be800e6c59e12a87b0ef697097"/><file name="08_view2.php" hash="af3fc07f58fa608f8f70f2e0264fe0bd"/><file name="09_breadcrumbs.php" hash="8157b6c12ecd17df9acdf095e7eb75db"/><file name="10_breadcrumbs_tree.php" hash="f2391a45fb1ce3e64de454981973cc23"/><file name="11_breadcrumbs_footer.php" hash="b41efc51d35a4f93a3b00dc5f899e1b5"/><file name="12_view_seo.php" hash="2e56f0ef104d419dee88abf037fe9f18"/><file name="13_view_footer.php" hash="3be2b1b314c50af6fd03c53647f06e56"/><file name="14_rss.php" hash="6e2fc4485e7a2b6c3508d05d7b71748d"/><file name="15_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="data"><dir name="namespace_module_setup"><dir name="data-install-0.0.1.php"><file name="01_top.php" hash="d63e4a5fbe4435eadd52abf1534ee829"/><file name="02_entity.php" hash="df6b285616bf2741ae9288e5d9e0758e"/></dir></dir></dir><dir name="etc"><dir name="adminhtml"><file name="01_top.xml" hash="11dee4372e147adfdd6dcf549207d52c"/><file name="02_entity_acl.xml" hash="6afabb39251e5233380992ec92a7a49f"/><file name="03_center.xml" hash="c3daf849d2cc4f2b9bb10319466df7b9"/><file name="04_entity_menu.xml" hash="c940e5491e196974bd81421566bec92d"/><file name="05_footer.xml" hash="567de2825a456f5c8de1c2d3f718b333"/></dir><dir name="api"><file name="01_top.xml" hash="7836cc079929002f49056da0be781555"/><file name="02_entity_api.xml" hash="56522fd929feb8847a9b967cf476b43f"/><file name="03_resource_alias.xml" hash="b5a94f1f1ce1b7cc87fca2c80e98027a"/><file name="04_entity_resource_alias.xml" hash="532ce8db90f811adc74dc024b7024602"/><file name="05_v2.xml" hash="5fbe5be841e5295fbc5ea8d2ae85543b"/><file name="06_v2_entity.xml" hash="0d5d9f9f702c83233a18e38bc3d5c2cb"/><file name="07_acl.xml" hash="f901a483416fdaed90b5777c3bc8a8e2"/><file name="08_acl_entity.xml" hash="6c30398b3df24d454653a2a56f3fe790"/><file name="09_footer.xml" hash="080e838a7ed6930c7bf9cf17e4c6c7e8"/></dir><dir name="config"><file name="01_top.xml" hash="ab60a876013ce736e83c89e6e9be4e25"/><file name="02_tables.xml" hash="07d07c4044d5ee658664c9d3465ea676"/><file name="03_siblings_table.xml" hash="13cdf74c83b7d86d15717b7e31bcc5ed"/><file name="04_relation_table.xml" hash="5e50710deedcd19316110a4db8dbfe5c"/><file name="05_global.xml" hash="9e1870511df355e90da3f86acb7e88cf"/><file name="06_url_rewrite.xml" hash="d7e710748d570d29aca3d15ec4424f2d"/><file name="07_adminhtml.xml" hash="f91e8a152a9e4b7c331df0583e987c7c"/><file name="08_relation_product.xml" hash="de83346f1f657f61a23251f37016bd99"/><file name="09_global_search_top.xml" hash="24e3dddbf6fc52170457a0804c07e060"/><file name="10_global_search_entity.xml" hash="c9e6a985c2292d82c0e648b0fea07837"/><file name="11_global_search_footer.xml" hash="46e34587440f1aa3462eba45aca78be7"/><file name="12_admin.xml" hash="d4c5c6313071ffa54afb69782dbcc21e"/><file name="13_frontend.xml" hash="9617988c4eb5ab502eb57349ab1a2dec"/><file name="14_default_top.xml" hash="a306c05cad3fd6c4c46f5c162e52df68"/><file name="15_default.xml" hash="fc553b2555e09b1ab639b58649b5b4cf"/><file name="16_default_footer.xml" hash="40004610d67a1bcf5ecf317917a1b0ab"/></dir><dir name="system"><file name="01_top.xml" hash="a250611cd158a2b0f9c0adef5b3d8074"/><file name="02_entity.xml" hash="0e789a6caeecd1e7223ab6c44ca1504e"/><file name="03_footer.xml" hash="2ead9ca0742a78448b5db442581d4cd9"/></dir><dir name="widget"><file name="01_top.xml" hash="29a6efa02a0f04ce056cc53d0b4e2272"/><file name="02_entity.xml" hash="102a8cfb8f0a2c330768add309e25e97"/><file name="03_footer.xml" hash="b84026fabe4a09ef682aac220eccf07a"/></dir><dir name="wsdl"><file name="01_top.xml" hash="032cf4d009950a895bcc746d14520c4a"/><file name="02_entity_types.xml" hash="da926f1d401ef0cf6981478e600ce590"/><file name="03_schema_footer.xml" hash="11cdc73afaf5c18317842cfa4bdb18c5"/><file name="04_entity_messages.xml" hash="c6a3c8f421237712c9b6d0c18ffee1b3"/><file name="05_porttype_top.xml" hash="a0f28bf86ea809a274f5ace26c1151a1"/><file name="06_porttype_entity.xml" hash="a12705979c73a95665bfb0acec67020a"/><file name="07_porttype_footer.xml" hash="edd2f81a01c7a7ab53ac219e3858eac1"/><file name="08_binding_top.xml" hash="eb9eb6fbf3658ac82c81c7618452215a"/><file name="09_entity_binding.xml" hash="f8b0190d1667c74d566f01734f99f48e"/><file name="10_footer.xml" hash="2211f6d3fd443d15bcdcc05a5d51688a"/></dir><dir name="wsi"><file name="01_top.xml" hash="1114adc81809072b93634c4ef3f2e4c5"/><file name="02_entity_types.xml" hash="267596c149eaa51cd68289ea18f0ed99"/><file name="03_schema_footer.xml" hash="0f0f2308f6bce8a1913b262bf82b3a27"/><file name="04_entity_messages.xml" hash="fd238b2d37b4e5bc5cd4d40b1c98ce75"/><file name="05_porttype_top.xml" hash="d531a165007b9599c8d5d99217f8d351"/><file name="06_porttype_entity.xml" hash="df8ef427f5d23245e52a001eeaefbcdb"/><file name="07_porttype_footer.xml" hash="edff616a12bdb1606c4e3d29e5f334bc"/><file name="08_binding_top.xml" hash="8634ae067a9a45d2321e46a3e07e856c"/><file name="09_entity_binding.xml" hash="1affab4357607e1b491b502f7789e4c8"/><file name="10_footer.xml" hash="1022e110706ee7f3cb1edfa2d491e31f"/></dir></dir><dir name="sql"><dir name="namespace_module_setup"><dir name="install-0.0.1"><file name="01_top.php" hash="50cec9cf47ccb1001b16c156bd792210"/><file name="02_entity.php" hash="fdfc8dbe0872a9f346d10925942daad0"/><file name="03_product_relation.php" hash="1be95058703726dc35fc985466d62129"/><file name="04_sibling_relation.php" hash="581b0adc63e3e28ab89dc576a3f2e7d6"/><file name="05_footer.php" hash="7d307239f928e12e9a9b48754777f640"/></dir></dir></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><dir name="namespace_module"><file name="01_top.xml" hash="c657e63ddce2df350b7d45c57620e967"/><file name="02_entity_not_tree.xml" hash="4897e318fff890bf377ed3e8091b9986"/><file name="03_relation_product.xml" hash="4ae352696eebe3635e9df76bedaf48d6"/><file name="04_relation_sibling.xml" hash="b9f5a68c69914abeb24c9638a451b157"/><file name="05_entity_tree.xml" hash="e598aa0b93b1e6d5f180bac14f0fc20c"/><file name="06_relation_product_tree.xml" hash="897ddf70ea257a2f553bed07f1e84e3c"/><file name="07_relation_sibling_tree.xml" hash="3ae178a0a81364ec8df9935bf8a3da23"/><file name="08_footer.xml" hash="fd25391f06094530aadcbee222b433fc"/></dir></dir><dir name="template"><dir name="namespace_module"><dir name="catalog"><dir name="product"><dir name="edit"><dir name="tab"><dir name="entity"><file name="01_content.phtml" hash="22515160e08aec47a72e51321949ef9b"/></dir></dir></dir></dir></dir><dir name="entity"><dir name="edit"><file name="01_content.phtml" hash="ce1e8b965823d7880a5acea0de5ba26a"/><dir name="form"><file name="01_top.phtml" hash="99f82b638e08569b4be985af5a77aa26"/><file name="02_product_hidden.phtml" hash="7ef02b97f351681086ccc0f69615cbef"/><file name="03_sibling_hidden.phtml" hash="b0ab3d283c7dd99670034f439f1a7e83"/><file name="04_content.phtml" hash="887287c2135f192c2e050e7d9c2df401"/><file name="05_status.phtml" hash="3f4356540bc8cef1186b62c04e41d305"/><file name="06_content2.phtml" hash="d3d867b32ed5001de64b9d349d4a304f"/><file name="07_product_relation.phtml" hash="95ca5bc339ba49da37e0f9b5714521ea"/><file name="08_sibling_relations.phtml" hash="781a697648d00ec4c824380fae4b67ac"/><file name="09_footer.phtml" hash="5fd8d0c41500e156711c723af13f627f"/></dir><dir name="tab"><dir name="sibling"><file name="01_content.phtml" hash="59bbfec6eb6cee9778872eac55ac74bc"/></dir></dir></dir><dir name="tree"><file name="01_content.phtml" hash="0326fef77a80ddb5d154939783b52b1a"/></dir><dir name="widget"><dir name="tree"><file name="01_content.phtml" hash="e0e24d2640bdc3e4c7234564b263465f"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="namespace_module"><file name="01_top.xml" hash="bf6f2b1a2a7bfaec115c381abfa40e02"/><file name="02_default_top.xml" hash="10c0056a19cc82fbf809aa13b879b4ff"/><file name="03_default.xml" hash="e58d9aa36808b39bdd648d51fca7b992"/><file name="04_default_footer.xml" hash="22f72da3c656b5721d355607c891cc9c"/><file name="05_list.xml" hash="d612266dae53939552fb5b0a6fcb6feb"/><file name="06_view.xml" hash="7f3837e6fc2f6325304d5028fcfda532"/><file name="07_entity_rss.xml" hash="f06074f610065fbc6cb9a228402da7a7"/><file name="08_rss_top.xml" hash="54753c3cd7d42667c88c88f0084484f2"/><file name="09_rss.xml" hash="b513533d7cc561ec197ce1662bf54883"/><file name="10_rss_footer.xml" hash="3adf9a1e5301aa4221cede3ff5208785"/><file name="11_relation_product.xml" hash="309965e4062dc6f6f82dd495035e08ec"/><file name="12_footer.xml" hash="fd25391f06094530aadcbee222b433fc"/></dir></dir><dir name="template"><dir name="namespace_module"><dir name="catalog"><dir name="product"><dir name="list"><dir name="entity"><file name="01_top.phtml" hash="bb86f12fc472152437ef1be97280d258"/><file name="02_link_top.phtml" hash="62a65063f9611f31b02a5b3f3b34f524"/><file name="03_name.phtml" hash="fed55ae628836787e7a2ba05b1e695e6"/><file name="04_link_footer.phtml" hash="f01ee0fb040754cbdd4c7ca86dbec387"/><file name="05_footer.phtml" hash="d0bff7b594da78b60141591d6870556b"/></dir></dir></dir></dir><dir name="entity"><dir name="catalog"><dir name="product"><dir name="list"><file name="01_content.phtml" hash="96ec480a53c89ff5b87cfd59dc163f9e"/></dir></dir></dir><dir name="children"><file name="01_content.phtml" hash="129d29d6a49f3e6bbbd0697f55c97740"/></dir><dir name="list"><file name="01_top.phtml" hash="10c541cba8766100d47e8baadb8ce6a5"/><file name="02_rss_link.phtml" hash="cacf7866f6dd54ab37a217d7cb7466c7"/><file name="03_footer.phtml" hash="24d3a1e0224a9e59f5daa0d2660e76b4"/><file name="04_footer_is_tree.phtml" hash="098332bf5a88d8529ea3ef57ed9c75f4"/></dir><dir name="sibling"><dir name="child"><dir name="list"><file name="01_content.phtml" hash="5a1f524b49cf120201a90ee695f90544"/></dir></dir><dir name="list"><file name="01_content.phtml" hash="5a1f524b49cf120201a90ee695f90544"/></dir></dir><dir name="view"><file name="01_content.phtml" hash="205b0b21c650f28ff0e364d6ec8ce552"/></dir><dir name="widget"><dir name="link"><file name="01_content.phtml" hash="11d9e23bd1c2f8cb8a0f857c8bb393d8"/></dir><dir name="view"><file name="01_content.phtml" hash="f89f40babc5af3cd30597cd097ad9ab9"/></dir></dir></dir><dir name="rss"><file name="01_content.phtml" hash="172a345ace9b7ec84ad2e18f51d48257"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><dir name="Namespace_Module"><file name="01_content.xml" hash="4495317a1b8392281b68f07a546c56c2"/></dir></dir></dir><dir name="locale"><dir name="en_US"><dir name="Namespace_Module"><file name="01_global.csv" hash="133cec10c0a2d55366574bbaa3c98a6f"/><file name="02_entity.csv" hash="97e1a2056ec2f49acc1c5c9598ef10d7"/><file name="03_attribute.csv" hash="0bc9532d35587f2225e398156cc3ef7f"/><file name="04_global_status.csv" hash="507d9e24387e6935b1ee629e8432f842"/><file name="05_global_rss.csv" hash="df495f10c1e7d7d3fb770d8b406b9f9b"/><file name="06_global_seo.csv" hash="5f973fd7dfbb61ce8c21d6f7e8622379"/><file name="07_attribute_yesno.csv" hash="20eaf2d5eaa8224e5fa1c7a63634b1c0"/><file name="08_global_file.csv" hash="8bebcdd48d5ae7b533cc53e789f03ef2"/><file name="09_product_relation.csv" hash="b96f377dfa788f2772f2f8b7f156aebd"/><file name="10_relations.csv" hash="d0f7a10c89d21ade4ba17cd73dbb42fb"/><file name="11_global_tree.csv" hash="279098d455e2c1adcde8668e042541d7"/><file name="12_tree_entity.csv" hash="e3465d0427eadb644654d8e614f6a209"/><file name="13_url_rewrite.csv" hash="87e5df1e3e95f0751f362b5acf37ddce"/><file name="14_api.csv" hash="58e27bb8ef0a04a711e20207dce037a4"/><file name="15_api_entity.csv" hash="5f79e38c8a97f2e171eedc2d5246910d"/><file name="16_api_product_related.csv" hash="f6875de876ab6e34595e5513aa35628b"/><file name="17_api_tree.csv" hash="99f44156e5181aa598f1d217b8c1cbc7"/><file name="18_api_sibling.csv" hash="096605fae72bf35317dc4601406a23d0"/></dir></dir></dir></dir><dir name="skin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="namespace_module"><dir name="tree"><file name="01_content.css" hash="7929b899ed457d539637d5083286bed4"/></dir></dir></dir><dir name="images"><dir name="namespace_module"><dir name="collapsedgif"><file name="01_content.gif" hash="ef74c08289e94b7aae81766fb00d4195"/></dir><dir name="collapsedpng"><file name="01_content.png" hash="0613450d25c762b6a40c51768b02462d"/></dir><dir name="expandedgif"><file name="01_content.gif" hash="3f5512a54f359343273caf7b3787ee8a"/></dir><dir name="expandedpng"><file name="01_content.png" hash="f7f28ae897708c78b28ead22c3692bb8"/></dir><dir name="line1gif"><file name="01_content.gif" hash="65b0c812c8d57ea72b84fc69a077a40a"/></dir><dir name="line1png"><file name="01_content.png" hash="4e01064a2c78b8885f65ff7a40f78c02"/></dir><dir name="line2gif"><file name="01_content.gif" hash="95fc5c58069ece5eb44e198ee53b3fe1"/></dir><dir name="line2png"><file name="01_content.png" hash="6adbb4ca64d943f5ee5528d713757fde"/></dir></dir><dir name="placeholder"><file name="entity.jpg" hash="6361a80d5ca988fcec45ad3767322e5e"/></dir></dir><dir name="js"><dir name="namespace_module"><dir name="tree"><file name="01_content.js" hash="1b8a1e7b1cb23e7a87e05b33a34523a0"/></dir></dir></dir></dir></dir></dir></dir></dir><file name="modulecreator.xml" hash="b04acac63e000066b607f12788be6d24"/><file name="system.xml" hash="cd7ac112cc90b7ce4de307800d0ee584"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="ultimate_modulecreator.xml" hash="f21bb3c8940eb81307817c0491caf300"/></dir><dir name="template"><dir name="ultimate_modulecreator"><dir name="edit"><dir name="tab"><dir name="entities"><dir name="entity"><file name="attribute.phtml" hash="586ebc5ca473dfcd1a0a47917c4353e4"/></dir><file name="entity.phtml" hash="ca653f56e1ad2fb6c6e54c64a462e9eb"/></dir><file name="entities.phtml" hash="df9179ffd5e72a04cf4740488521f0ce"/><file name="help.phtml" hash="dae530bc9d4ab9445d95d087bfc80fe6"/><file name="relation.phtml" hash="17a41ecbecdf7af519d11c3d026a800b"/></dir></dir><file name="edit.phtml" hash="8d10e82ae89d9e4ede28e6c59c9e724c"/><file name="tooltip.phtml" hash="d3598ad3f978d708b1f7f36feee39560"/></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Ultimate_ModuleCreator.xml" hash="324d2b364541a7355c9ff4248c0518f2"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Ultimate_ModuleCreator.csv" hash="8938a6c3ad159fe924edb13983acadfb"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><file name="ultimate_modulecreator.css" hash="781a789d72dc08f660479543ff09b143"/><dir name="images"><dir name="ultimate_modulecreator"><file name="logo.png" hash="9c9ca3b07295cab1cb1503865905ee50"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="."><file name="LICENSE_UMC.txt" hash="1372b858e10f4c6feb2967766a0b7a62"/><file name="readme_UMC.txt" hash="7b8cd5baf640a5078be5c7136b56b5d9"/></dir></target><target name="mageweb"><dir name="."><file name="modman" hash="f2259e0ec25ae1812bf192bdddb1fa7a"/></dir></target></contents>
|
23 |
<compatible/>
|
24 |
<dependencies><required><php><min>5.0.0</min><max>7.0.0</max></php></required></dependencies>
|
25 |
</package>
|