Ultimate_ModuleCreator - Version 1.6.0

Version Notes

Features:
- DDL install scripts for generated entity
- enable entities by store view (similar to CMS pages)
- meta title for admin pages
Bug fixes:
- errors in some function documentations
Refactoring:
- moved meta information to separate tab.
- completed the help tab

Download this release

Release Info

Developer Marius
Extension Ultimate_ModuleCreator
Version 1.6.0
Comparing to
See all releases


Code changes from version 1.5.0 to 1.6.0

Files changed (86) hide show
  1. app/code/community/Ultimate/ModuleCreator/Model/Attribute.php +36 -0
  2. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Abstract.php +30 -2
  3. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Country.php +5 -0
  4. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Decimal.php +10 -0
  5. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Int.php +10 -0
  6. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Textarea.php +5 -0
  7. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Timestamp.php +5 -0
  8. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Website.php +10 -0
  9. app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Yesno.php +10 -0
  10. app/code/community/Ultimate/ModuleCreator/Model/Entity.php +45 -71
  11. app/code/community/Ultimate/ModuleCreator/Model/Module.php +18 -0
  12. app/code/community/Ultimate/ModuleCreator/etc/config.xml +2 -2
  13. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Form/IsTree/01_top.php +1 -1
  14. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Form/12_seo.php +0 -12
  15. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Form/12_stores.php +7 -0
  16. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Meta/01_content.php +37 -0
  17. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Stores/01_content.php +34 -0
  18. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/02_seo.php +5 -0
  19. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/03_stores.php +7 -0
  20. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/{02_relations_tabs.php → 04_relations_tabs.php} +0 -0
  21. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/{03_product_relation.php → 05_product_relation.php} +0 -0
  22. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/{04_footer.php → 06_footer.php} +0 -0
  23. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/01_top.php +1 -1
  24. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/02_seo.php +5 -0
  25. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/03_stores.php +7 -0
  26. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/{02_relations_tabs.php → 04_relations_tabs.php} +0 -0
  27. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/{03_product_relation.php → 05_product_relation.php} +0 -0
  28. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/{04_footer.php → 06_footer.php} +0 -0
  29. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/07_stores.php +11 -0
  30. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{07_created_at.php → 08_created_at.php} +0 -0
  31. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{08_updated_at.php → 09_updated_at.php} +0 -0
  32. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{09_grid_actions.php → 10_grid_actions.php} +0 -0
  33. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{10_grid_export.php → 11_grid_export.php} +0 -0
  34. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{11_columns_footer.php → 12_columns_footer.php} +0 -0
  35. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{12_mass_action_top.php → 13_mass_action_top.php} +0 -0
  36. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{13_mass_action_status.php → 14_mass_action_status.php} +0 -0
  37. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{14_mass_action_flags.php → 15_mass_action_flags.php} +0 -0
  38. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/16_footer.php +0 -22
  39. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{15_mass_action_parents.php → 16_mass_action_parents.php} +0 -0
  40. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/17_footer.php +47 -0
  41. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Widget/Chooser/03_content.php +10 -0
  42. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Widget/Chooser/05_footer.php +10 -0
  43. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Widget/Chooser/IsTree/01_content.php +1 -1
  44. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Catalog/Product/List/Entity/01_top.php +2 -0
  45. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/01_top.php +1 -0
  46. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/01_top.php +1 -0
  47. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/03_center.php +5 -0
  48. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/06_active_children.php +5 -0
  49. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/07_active_children_no_status.php +5 -0
  50. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/Rss/01_top.php +2 -0
  51. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/Widget/View/01_top.php +3 -1
  52. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Controller/Router/03_footer.php +1 -1
  53. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/03_constructor.php +53 -0
  54. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/04_not_tree.php +35 -0
  55. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{04_tree.php → 05_tree.php} +25 -0
  56. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{05_tree_before_save_no_url_rewrite.php → 06_tree_before_save_no_url_rewrite.php} +0 -0
  57. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{06_tree_before_save_url_rewrite.php → 07_tree_before_save_url_rewrite.php} +0 -0
  58. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{07_children_no_status.php → 08_children_no_status.php} +0 -0
  59. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{08_children_status.php → 09_children_status.php} +0 -0
  60. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{09_content.php → 10_content.php} +0 -0
  61. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{11_url_rewrite_not_status.php → 11_url_rewrite_status.php} +26 -9
  62. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{10_url_rewrite_status.php → 12_url_rewrite_not_status.php} +22 -13
  63. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{12_url_rewrite_before_save_not_tree.php → 13_url_rewrite_before_save_not_tree.php} +0 -0
  64. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{13_footer.php → 14_footer.php} +0 -0
  65. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/Collection/01_top.php +57 -0
  66. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/Tree/03_content.php +1 -1
  67. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/Entity/WidgetController/02_tree.php +1 -1
  68. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/EntityController/01_top.php +12 -1
  69. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/EntityController/09_exception.php +1 -0
  70. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/EntityController/IsTree/01_top.php +2 -0
  71. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/EntityController/05_view.php +3 -1
  72. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/config/02_tables.xml +3 -0
  73. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/06_porttype_entity.xml +2 -2
  74. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/01_top.php +10 -0
  75. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/02_entity.php +31 -0
  76. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/03_product_relation.php +27 -0
  77. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/04_sibling_relation.php +26 -0
  78. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/05_footer.php +1 -0
  79. app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1/02_entity.php +10 -0
  80. app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/01_global.csv +1 -0
  81. app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/06_global_seo.csv +2 -0
  82. app/code/community/Ultimate/ModuleCreator/etc/modulecreator.xml +122 -28
  83. app/code/community/Ultimate/ModuleCreator/etc/system.xml +9 -0
  84. app/design/adminhtml/default/default/template/ultimate_modulecreator/edit/tab/help.phtml +12 -0
  85. app/locale/en_US/Ultimate_ModuleCreator.csv +1 -0
  86. package.xml +13 -11
app/code/community/Ultimate/ModuleCreator/Model/Attribute.php CHANGED
@@ -161,6 +161,42 @@ class Ultimate_ModuleCreator_Model_Attribute extends Ultimate_ModuleCreator_Mode
161
  public function getSqlColumn(){
162
  return $this->getTypeInstance()->getSqlColumn();
163
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  /**
165
  * get the frontend html
166
  * @access public
161
  public function getSqlColumn(){
162
  return $this->getTypeInstance()->getSqlColumn();
163
  }
164
+ /**
165
+ * get the sql column
166
+ * @access public
167
+ * @return string
168
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
169
+ */
170
+ public function getDdlSqlColumn(){
171
+ $ddl = '';
172
+ $ddl .= "->addColumn('{$this->getCode()}', Varien_Db_Ddl_Table::".$this->getTypeDdl().", ".$this->getSizeDdl().", array(\n";
173
+ if ($this->getRequired()){
174
+ $ddl .= "\t\t"."'nullable' => false,\n";
175
+ }
176
+ if ($this->getType() == 'int'){
177
+ $ddl .= "\t\t"."'unsigned' => true,\n";
178
+ }
179
+ $ddl .= "\t\t), '".$this->getLabel()."')\n";
180
+ return $ddl;
181
+ }
182
+ /**
183
+ * get column ddl type
184
+ * @access public
185
+ * @return string
186
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
187
+ */
188
+ public function getTypeDdl(){
189
+ return $this->getTypeInstance()->getTypeDdl();
190
+ }
191
+ /**
192
+ * get column ddl size
193
+ * @access public
194
+ * @return string
195
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
196
+ */
197
+ public function getSizeDdl(){
198
+ return $this->getTypeInstance()->getSizeDdl();
199
+ }
200
  /**
201
  * get the frontend html
202
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Abstract.php CHANGED
@@ -26,12 +26,22 @@ class Ultimate_ModuleCreator_Model_Attribute_Type_Abstract extends Varien_Object
26
  * separator for options
27
  * @var string
28
  */
29
- const OPTION_SEPARATOR = "\t\t\t";
30
  /**
31
  * attribute memebr
32
  * @var mixed(null|Ultimate_ModuleCreator_Model_Attribute)
33
  */
34
- protected $_attribute = null;
 
 
 
 
 
 
 
 
 
 
35
  /**
36
  * set attribute
37
  * @access public
@@ -163,4 +173,22 @@ class Ultimate_ModuleCreator_Model_Attribute_Type_Abstract extends Varien_Object
163
  public function getRssText(){
164
  return ' $'.'description .= $item->get'.$this->getAttribute()->getMagicMethodCode().'();';
165
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  }
26
  * separator for options
27
  * @var string
28
  */
29
+ const OPTION_SEPARATOR = "\t\t\t";
30
  /**
31
  * attribute memebr
32
  * @var mixed(null|Ultimate_ModuleCreator_Model_Attribute)
33
  */
34
+ protected $_attribute = null;
35
+ /**
36
+ * sql colum ddl type
37
+ * @var string
38
+ */
39
+ protected $_typeDdl = 'TYPE_TEXT';
40
+ /**
41
+ * sql colum ddl size
42
+ * @var string
43
+ */
44
+ protected $_sizeDdl = '255';
45
  /**
46
  * set attribute
47
  * @access public
173
  public function getRssText(){
174
  return ' $'.'description .= $item->get'.$this->getAttribute()->getMagicMethodCode().'();';
175
  }
176
+ /**
177
+ * get column ddl type
178
+ * @access public
179
+ * @return string
180
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
181
+ */
182
+ public function getTypeDdl(){
183
+ return $this->_typeDdl;
184
+ }
185
+ /**
186
+ * get column ddl size
187
+ * @access public
188
+ * @return string
189
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
190
+ */
191
+ public function getSizeDdl(){
192
+ return $this->_sizeDdl;
193
+ }
194
  }
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Country.php CHANGED
@@ -22,6 +22,11 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Country extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
 
 
 
 
 
25
  /**
26
  * get the type for the form
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Country extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
25
+ /**
26
+ * sql colum ddl size
27
+ * @var string
28
+ */
29
+ protected $_sizeDdl = '2';
30
  /**
31
  * get the type for the form
32
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Decimal.php CHANGED
@@ -22,6 +22,16 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Decimal extends Ultimate_ModuleCreator_Model_Attribute_Type_Int{
 
 
 
 
 
 
 
 
 
 
25
  /**
26
  * get the sql column format
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Decimal extends Ultimate_ModuleCreator_Model_Attribute_Type_Int{
25
+ /**
26
+ * sql colum ddl type
27
+ * @var string
28
+ */
29
+ protected $_typeDdl = 'TYPE_DECIMAL';
30
+ /**
31
+ * sql colum ddl size
32
+ * @var string
33
+ */
34
+ protected $_sizeDdl = "'12,4'";
35
  /**
36
  * get the sql column format
37
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Int.php CHANGED
@@ -22,6 +22,16 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Int extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
 
 
 
 
 
 
 
 
 
 
25
  /**
26
  * get the sql column
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Int extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
25
+ /**
26
+ * sql colum ddl type
27
+ * @var string
28
+ */
29
+ protected $_typeDdl = 'TYPE_INTEGER';
30
+ /**
31
+ * sql colum ddl size
32
+ * @var string
33
+ */
34
+ protected $_sizeDdl = 'null';
35
  /**
36
  * get the sql column
37
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Textarea.php CHANGED
@@ -22,6 +22,11 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Textarea extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
 
 
 
 
 
25
  /**
26
  * the textarea attributes are not allowed in the admin grid
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Textarea extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
25
+ /**
26
+ * sql colum ddl size
27
+ * @var string
28
+ */
29
+ protected $_sizeDdl = "'64k'";
30
  /**
31
  * the textarea attributes are not allowed in the admin grid
32
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Timestamp.php CHANGED
@@ -22,6 +22,11 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Timestamp extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
 
 
 
 
 
25
  /**
26
  * get the type for the form
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Timestamp extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
25
+ /**
26
+ * sql colum ddl type
27
+ * @var string
28
+ */
29
+ protected $_typeDdl = 'TYPE_DATETIME';
30
  /**
31
  * get the type for the form
32
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Website.php CHANGED
@@ -22,6 +22,16 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Website extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
 
 
 
 
 
 
 
 
 
 
25
  /**
26
  * get the type for the form
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Website extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
25
+ /**
26
+ * sql colum ddl type
27
+ * @var string
28
+ */
29
+ protected $_typeDdl = 'TYPE_INTEGER';
30
+ /**
31
+ * sql colum ddl size
32
+ * @var string
33
+ */
34
+ protected $_sizeDdl = 'null';
35
  /**
36
  * get the type for the form
37
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Attribute/Type/Yesno.php CHANGED
@@ -22,6 +22,16 @@
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Yesno extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
 
 
 
 
 
 
 
 
 
 
25
  /**
26
  * get the type for the form
27
  * @access public
22
  * @author Marius Strajeru <marius.strajeru@gmail.com>
23
  */
24
  class Ultimate_ModuleCreator_Model_Attribute_Type_Yesno extends Ultimate_ModuleCreator_Model_Attribute_Type_Abstract{
25
+ /**
26
+ * sql colum ddl type
27
+ * @var string
28
+ */
29
+ protected $_typeDdl = 'TYPE_INTEGER';
30
+ /**
31
+ * sql colum ddl size
32
+ * @var string
33
+ */
34
+ protected $_sizeDdl = 'null';
35
  /**
36
  * get the type for the form
37
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Entity.php CHANGED
@@ -211,6 +211,8 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
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();
@@ -219,6 +221,7 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
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();
@@ -372,77 +375,25 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
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');
379
- $attr->setType('text');
380
- $content .= $padding.$attr->getSqlColumn()."\n";
381
- }
382
- if($this->getAddStatus()){
383
- $attr = Mage::getModel('modulecreator/attribute');
384
- $attr->setCode('status');
385
- $attr->setLabel('Status');
386
- $attr->setType('yesno');
387
- $content .= $padding.$attr->getSqlColumn()."\n";
388
- }
389
- if ($this->getIsTree()){
390
- $attr = Mage::getModel('modulecreator/attribute');
391
- $attr->setCode('parent_id');
392
- $attr->setLabel('Parent id');
393
- $attr->setType('int');
394
- $content .= $padding.$attr->getSqlColumn()."\n";
395
-
396
- $attr = Mage::getModel('modulecreator/attribute');
397
- $attr->setCode('path');
398
- $attr->setLabel('Path');
399
- $attr->setType('text');
400
- $content .= $padding.$attr->getSqlColumn()."\n";
401
-
402
- $attr = Mage::getModel('modulecreator/attribute');
403
- $attr->setCode('position');
404
- $attr->setLabel('Position');
405
- $attr->setType('int');
406
- $content .= $padding.$attr->getSqlColumn()."\n";
407
-
408
- $attr = Mage::getModel('modulecreator/attribute');
409
- $attr->setCode('level');
410
- $attr->setLabel('Level');
411
- $attr->setType('int');
412
- $content .= $padding.$attr->getSqlColumn()."\n";
413
-
414
- $attr = Mage::getModel('modulecreator/attribute');
415
- $attr->setCode('children_count');
416
- $attr->setLabel('Children count');
417
- $attr->setType('int');
418
- $content .= $padding.$attr->getSqlColumn()."\n";
419
  }
420
- if($this->getRss()){
421
- $attr = Mage::getModel('modulecreator/attribute');
422
- $attr->setCode('in_rss');
423
- $attr->setLabel('In RSS');
424
- $attr->setType('yesno');
425
- $content .= $padding.$attr->getSqlColumn()."\n";
426
  }
427
- if ($this->getFrontendAddSeo()){
428
- $attr = Mage::getModel('modulecreator/attribute');
429
- $attr->setCode('meta_title');
430
- $attr->setLabel('Meta title');
431
- $attr->setType('text');
432
- $content .= $padding.$attr->getSqlColumn()."\n";
433
-
434
- $attr = Mage::getModel('modulecreator/attribute');
435
- $attr->setCode('meta_keywords');
436
- $attr->setLabel('Meta keywords');
437
- $attr->setType('textarea');
438
- $content .= $padding.$attr->getSqlColumn()."\n";
439
-
440
- $attr = Mage::getModel('modulecreator/attribute');
441
- $attr->setCode('meta_description');
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
  /**
@@ -784,7 +735,7 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
784
  * @return string
785
  * @author Marius Strajeru <marius.strajeru@gmail.com>
786
  */
787
- public function getParentEntitiesFkAttributes($padding){
788
  $parents = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_CHILD);
789
  $content = '';
790
  foreach ($parents as $parent){
@@ -792,7 +743,12 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
792
  $attr->setCode($parent->getNameSingular().'_id');
793
  $attr->setLabel($parent->getLabelSingular());
794
  $attr->setType('int');
795
- $content .= $padding.$attr->getSqlColumn()."\n";
 
 
 
 
 
796
  }
797
  return $content;
798
  }
@@ -811,6 +767,24 @@ class Ultimate_ModuleCreator_Model_Entity extends Ultimate_ModuleCreator_Model_A
811
  }
812
  return $content;
813
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
814
  /**
815
  * check if entity does not behave as tree
816
  * @access public
211
  $placeholders['{{nameAttributeLabel}}'] = $nameAttribute->getLabel();
212
  $placeholders['{{firstImageField}}'] = $this->getFirstImageField();
213
  $placeholders['{{attributeSql}}'] = $this->getAttributesSql();
214
+ $placeholders['{{attributeDdlSql}}'] = $this->getAttributesDdlSql();
215
+
216
  $placeholders['{{menu_sort}}'] = $this->getPosition();
217
  $placeholders['{{defaults}}'] = $this->getConfigDefaults();
218
  $placeholders['{{systemAttributes}}'] = $this->getSystemAttributes();
221
  $placeholders['{{EntityViewWidgetAttributes}}'] = $this->getViewWidgetAttributesHtml();
222
  $placeholders['{{EntityViewRelationLayout}}'] = $this->getRelationLayoutXml();
223
  $placeholders['{{fks}}'] = $this->getParentEntitiesFks("\t\t");
224
+ $placeholders['{{fksDdl}}'] = $this->getParentEntitiesFksDdl("\t");
225
  $placeholders['{{referenceHead}}'] = $this->getReferenceHeadLayout();
226
  //$placeholders['{{entityApiRelations}}'] = $this->getApiRelations();
227
  $placeholders['{{entityApiAdditional}}'] = $this->getApiAdditional();
375
  foreach ($simulated as $attr){
376
  $content .= $padding.$attr->getSqlColumn()."\n";
377
  }
378
+ return substr($content,0, strlen($content) - strlen("\n"));
379
+ }
380
+ /**
381
+ * get the ddl sql for attributes
382
+ * @access public
383
+ * @return string
384
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
385
+ */
386
+ public function getAttributesDdlSql(){
387
+ $padding = "\t";
388
+ $content = '';
389
+ $content.= $this->getParentEntitiesFkAttributes($padding, true);
390
+ foreach ($this->getAttributes() as $attribute){
391
+ $content .= $padding.$attribute->getDdlSqlColumn()."\n";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  }
393
+ $simulated = $this->_getSimulatedAttributes(null, false);
394
+ foreach ($simulated as $attr){
395
+ $content .= $padding.$attr->getDdlSqlColumn()."\n";
 
 
 
396
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
397
  return substr($content,0, strlen($content) - strlen("\n"));
398
  }
399
  /**
735
  * @return string
736
  * @author Marius Strajeru <marius.strajeru@gmail.com>
737
  */
738
+ public function getParentEntitiesFkAttributes($padding, $ddl = false){
739
  $parents = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_CHILD);
740
  $content = '';
741
  foreach ($parents as $parent){
743
  $attr->setCode($parent->getNameSingular().'_id');
744
  $attr->setLabel($parent->getLabelSingular());
745
  $attr->setType('int');
746
+ if ($ddl){
747
+ $content .= $padding.$attr->getDdlSqlColumn()."\n";
748
+ }
749
+ else{
750
+ $content .= $padding.$attr->getSqlColumn()."\n";
751
+ }
752
  }
753
  return $content;
754
  }
767
  }
768
  return $content;
769
  }
770
+ /**
771
+ * get foreign keys for sql (Ddl)
772
+ * @access public
773
+ * @param string $padding
774
+ * @return string
775
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
776
+ */
777
+ public function getParentEntitiesFksDdl($padding){
778
+ $parents = $this->getRelatedEntities(Ultimate_ModuleCreator_Helper_Data::RELATION_TYPE_CHILD);
779
+ $content = '';
780
+
781
+ $module = strtolower($this->getModule()->getModuleName());
782
+ foreach ($parents as $parent){
783
+ $parentName = strtolower($parent->getNameSingular());
784
+ $content .= "\n".$padding."->addIndex($"."this->getIdxName('".$module.'/'.$parentName."', array('".$parentName."_id')), array('".$parentName."_id'))";
785
+ }
786
+ return $content;
787
+ }
788
  /**
789
  * check if entity does not behave as tree
790
  * @access public
app/code/community/Ultimate/ModuleCreator/Model/Module.php CHANGED
@@ -978,4 +978,22 @@ class Ultimate_ModuleCreator_Model_Module extends Ultimate_ModuleCreator_Model_A
978
  }
979
  return $relations;
980
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
981
  }
978
  }
979
  return $relations;
980
  }
981
+ /**
982
+ * get use ddl
983
+ * @access public
984
+ * @return bool
985
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
986
+ */
987
+ public function getUseDdl(){
988
+ return Mage::getStoreConfigFlag('modulecreator/settings/use_ddl');
989
+ }
990
+ /**
991
+ * get not use ddl
992
+ * @access public
993
+ * @return bool
994
+ * @author Marius Strajeru <marius.strajeru@gmail.com>
995
+ */
996
+ public function getNotUseDdl(){
997
+ return !$this->getUseDdl();
998
+ }
999
  }
app/code/community/Ultimate/ModuleCreator/etc/config.xml CHANGED
@@ -24,7 +24,7 @@
24
  <config>
25
  <modules>
26
  <Ultimate_ModuleCreator>
27
- <version>1.5.0</version>
28
  </Ultimate_ModuleCreator>
29
  </modules>
30
  <global>
@@ -94,7 +94,7 @@ http://opensource.org/licenses/mit-license.php
94
  @copyright Copyright (c) {{Y}}
95
  @license http://opensource.org/licenses/mit-license.php MIT License
96
  ]]></license>
97
-
98
  </settings>
99
  <entity_defaults>
100
  <use_frontend>1</use_frontend>
24
  <config>
25
  <modules>
26
  <Ultimate_ModuleCreator>
27
+ <version>1.6.0</version>
28
  </Ultimate_ModuleCreator>
29
  </modules>
30
  <global>
94
  @copyright Copyright (c) {{Y}}
95
  @license http://opensource.org/licenses/mit-license.php MIT License
96
  ]]></license>
97
+ <use_ddl>1</use_ddl>
98
  </settings>
99
  <entity_defaults>
100
  <use_frontend>1</use_frontend>
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Form/IsTree/01_top.php CHANGED
@@ -29,7 +29,7 @@ class {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Form extends {{Na
29
  * prepare the layout
30
  * @access protected
31
  * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Form
32
- * {{qwrtyuiop}}
33
  */
34
  protected function _prepareLayout(){
35
  ${{entity}} = $this->get{{Entity}}();
29
  * prepare the layout
30
  * @access protected
31
  * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Form
32
+ * {{qwertyuiop}}
33
  */
34
  protected function _prepareLayout(){
35
  ${{entity}} = $this->get{{Entity}}();
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Form/12_seo.php DELETED
@@ -1,12 +0,0 @@
1
- $fieldset->addField('meta_title', 'text', array(
2
- 'label' => Mage::helper('{{module}}')->__('Meta-title'),
3
- 'name' => 'meta_title',
4
- ));
5
- $fieldset->addField('meta_description', 'textarea', array(
6
- 'name' => 'meta_description',
7
- 'label' => Mage::helper('{{module}}')->__('Meta-description'),
8
- ));
9
- $fieldset->addField('meta_keywords', 'textarea', array(
10
- 'name' => 'meta_keywords',
11
- 'label' => Mage::helper('{{module}}')->__('Meta-keywords'),
12
- ));
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Form/12_stores.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ if (Mage::app()->isSingleStoreMode()){
2
+ $fieldset->addField('store_id', 'hidden', array(
3
+ 'name' => 'stores[]',
4
+ 'value' => Mage::app()->getStore(true)->getId()
5
+ ));
6
+ Mage::registry('current_{{entity}}')->setStoreId(Mage::app()->getStore(true)->getId());
7
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Meta/01_content.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ {{License}}
3
+ /**
4
+ * meta information tab
5
+ *
6
+ * @category {{Namespace}}
7
+ * @package {{Namespace}}_{{Module}}
8
+ * {{qwertyuiop}}
9
+ */
10
+ class {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Tab_Meta extends Mage_Adminhtml_Block_Widget_Form{
11
+ /**
12
+ * prepare the form
13
+ * @access protected
14
+ * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Tab_Meta
15
+ * {{qwertyuiop}}
16
+ */
17
+ protected function _prepareForm(){
18
+ $form = new Varien_Data_Form();
19
+ $form->setFieldNameSuffix('{{entity}}');
20
+ $this->setForm($form);
21
+ $fieldset = $form->addFieldset('{{entity}}_meta_form', array('legend'=>Mage::helper('{{module}}')->__('Meta information')));
22
+ $fieldset->addField('meta_title', 'text', array(
23
+ 'label' => Mage::helper('{{module}}')->__('Meta-title'),
24
+ 'name' => 'meta_title',
25
+ ));
26
+ $fieldset->addField('meta_description', 'textarea', array(
27
+ 'name' => 'meta_description',
28
+ 'label' => Mage::helper('{{module}}')->__('Meta-description'),
29
+ ));
30
+ $fieldset->addField('meta_keywords', 'textarea', array(
31
+ 'name' => 'meta_keywords',
32
+ 'label' => Mage::helper('{{module}}')->__('Meta-keywords'),
33
+ ));
34
+ $form->addValues(Mage::registry('current_{{entity}}')->getData());
35
+ return parent::_prepareForm();
36
+ }
37
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Stores/01_content.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ {{License}}
3
+ /**
4
+ * store selection tab
5
+ *
6
+ * @category {{Namespace}}
7
+ * @package {{Namespace}}_{{Module}}
8
+ * {{qwertyuiop}}
9
+ */
10
+ class {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Tab_Stores extends Mage_Adminhtml_Block_Widget_Form{
11
+ /**
12
+ * prepare the form
13
+ * @access protected
14
+ * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Tab_Stores
15
+ * {{qwertyuiop}}
16
+ */
17
+ protected function _prepareForm(){
18
+ $form = new Varien_Data_Form();
19
+ $form->setFieldNameSuffix('{{entity}}');
20
+ $this->setForm($form);
21
+ $fieldset = $form->addFieldset('{{entity}}_stores_form', array('legend'=>Mage::helper('{{module}}')->__('Store views')));
22
+ $field = $fieldset->addField('store_id', 'multiselect', array(
23
+ 'name' => 'stores[]',
24
+ 'label' => Mage::helper('{{module}}')->__('Store Views'),
25
+ 'title' => Mage::helper('{{module}}')->__('Store Views'),
26
+ 'required' => true,
27
+ 'values'=> Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true),
28
+ ));
29
+ $renderer = $this->getLayout()->createBlock('adminhtml/store_switcher_form_renderer_fieldset_element');
30
+ $field->setRenderer($renderer);
31
+ $form->addValues(Mage::registry('current_{{entity}}')->getData());
32
+ return parent::_prepareForm();
33
+ }
34
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/02_seo.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ $this->addTab('form_meta_section', array(
2
+ 'label' => Mage::helper('{{module}}')->__('Meta'),
3
+ 'title' => Mage::helper('{{module}}')->__('Meta'),
4
+ 'content' => $this->getLayout()->createBlock('{{module}}/adminhtml_{{entity}}_edit_tab_meta')->toHtml(),
5
+ ));
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/03_stores.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ if (!Mage::app()->isSingleStoreMode()){
2
+ $this->addTab('form_store_section', array(
3
+ 'label' => Mage::helper('{{module}}')->__('Store views'),
4
+ 'title' => Mage::helper('{{module}}')->__('Store views'),
5
+ 'content' => $this->getLayout()->createBlock('{{module}}/adminhtml_{{entity}}_edit_tab_stores')->toHtml(),
6
+ ));
7
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/{02_relations_tabs.php → 04_relations_tabs.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/{03_product_relation.php → 05_product_relation.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/{04_footer.php → 06_footer.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/01_top.php CHANGED
@@ -22,7 +22,7 @@ class {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Edit_Tabs extends Mage
22
  $this->setTemplate('widget/tabshoriz.phtml');
23
  }
24
  /**
25
- * Retrieve {{siblingLabel}} entity
26
  * @access public
27
  * @return {{Namespace}}_{{Module}}_Model_{{Entity}}
28
  * {{qwertyuiop}}
22
  $this->setTemplate('widget/tabshoriz.phtml');
23
  }
24
  /**
25
+ * Retrieve {{entityLabel}} entity
26
  * @access public
27
  * @return {{Namespace}}_{{Module}}_Model_{{Entity}}
28
  * {{qwertyuiop}}
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/02_seo.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ $this->addTab('form_meta_section', array(
2
+ 'label' => Mage::helper('{{module}}')->__('Meta'),
3
+ 'title' => Mage::helper('{{module}}')->__('Meta'),
4
+ 'content' => $this->getLayout()->createBlock('{{module}}/adminhtml_{{entity}}_edit_tab_meta')->toHtml(),
5
+ ));
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/03_stores.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ if (!Mage::app()->isSingleStoreMode()){
2
+ $this->addTab('form_store_section', array(
3
+ 'label' => Mage::helper('{{module}}')->__('Store views'),
4
+ 'title' => Mage::helper('{{module}}')->__('Store views'),
5
+ 'content' => $this->getLayout()->createBlock('{{module}}/adminhtml_{{entity}}_edit_tab_stores')->toHtml(),
6
+ ));
7
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/{02_relations_tabs.php → 04_relations_tabs.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/{03_product_relation.php → 05_product_relation.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tabs/IsTree/{04_footer.php → 06_footer.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/07_stores.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ if (!Mage::app()->isSingleStoreMode()) {
2
+ $this->addColumn('store_id', array(
3
+ 'header'=> Mage::helper('{{module}}')->__('Store Views'),
4
+ 'index' => 'store_id',
5
+ 'type' => 'store',
6
+ 'store_all' => true,
7
+ 'store_view'=> true,
8
+ 'sortable' => false,
9
+ 'filter_condition_callback'=> array($this, '_filterStoreCondition'),
10
+ ));
11
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{07_created_at.php → 08_created_at.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{08_updated_at.php → 09_updated_at.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{09_grid_actions.php → 10_grid_actions.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{10_grid_export.php → 11_grid_export.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{11_columns_footer.php → 12_columns_footer.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{12_mass_action_top.php → 13_mass_action_top.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{13_mass_action_status.php → 14_mass_action_status.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{14_mass_action_flags.php → 15_mass_action_flags.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/16_footer.php DELETED
@@ -1,22 +0,0 @@
1
- return $this;
2
- }
3
- /**
4
- * get the row url
5
- * @access public
6
- * @param {{Namespace}}_{{Module}}_Model_{{Entity}}
7
- * @return string
8
- * {{qwertyuiop}}
9
- */
10
- public function getRowUrl($row){
11
- return $this->getUrl('*/*/edit', array('id' => $row->getId()));
12
- }
13
- /**
14
- * get the grid url
15
- * @access public
16
- * @return string
17
- * {{qwertyuiop}}
18
- */
19
- public function getGridUrl(){
20
- return $this->getUrl('*/*/grid', array('_current'=>true));
21
- }
22
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/{15_mass_action_parents.php → 16_mass_action_parents.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Grid/17_footer.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ return $this;
2
+ }
3
+ /**
4
+ * get the row url
5
+ * @access public
6
+ * @param {{Namespace}}_{{Module}}_Model_{{Entity}}
7
+ * @return string
8
+ * {{qwertyuiop}}
9
+ */
10
+ public function getRowUrl($row){
11
+ return $this->getUrl('*/*/edit', array('id' => $row->getId()));
12
+ }
13
+ /**
14
+ * get the grid url
15
+ * @access public
16
+ * @return string
17
+ * {{qwertyuiop}}
18
+ */
19
+ public function getGridUrl(){
20
+ return $this->getUrl('*/*/grid', array('_current'=>true));
21
+ }
22
+ /**
23
+ * after collection load
24
+ * @access protected
25
+ * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Grid
26
+ * {{qwertyuiop}}
27
+ */
28
+ protected function _afterLoadCollection(){
29
+ $this->getCollection()->walk('afterLoad');
30
+ parent::_afterLoadCollection();
31
+ }
32
+ /**
33
+ * filter store column
34
+ * @access protected
35
+ * @param {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection $collection
36
+ * @param Mage_Adminhtml_Block_Widget_Grid_Column $column
37
+ * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Grid
38
+ * {{qwertyuiop}}
39
+ */
40
+ protected function _filterStoreCondition($collection, $column){
41
+ if (!$value = $column->getFilter()->getValue()) {
42
+ return;
43
+ }
44
+ $collection->addStoreFilter($value);
45
+ return $this;
46
+ }
47
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Widget/Chooser/03_content.php CHANGED
@@ -76,3 +76,13 @@
76
  'align' => 'left',
77
  'index' => '{{nameAttribute}}',
78
  ));
 
 
 
 
 
 
 
 
 
 
76
  'align' => 'left',
77
  'index' => '{{nameAttribute}}',
78
  ));
79
+ if (!Mage::app()->isSingleStoreMode()) {
80
+ $this->addColumn('store_id', array(
81
+ 'header'=> Mage::helper('{{module}}')->__('Store Views'),
82
+ 'index' => 'store_id',
83
+ 'type' => 'store',
84
+ 'store_all' => true,
85
+ 'store_view'=> true,
86
+ 'sortable' => false,
87
+ ));
88
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Widget/Chooser/05_footer.php CHANGED
@@ -9,4 +9,14 @@
9
  public function getGridUrl(){
10
  return $this->getUrl('adminhtml/{{module}}_{{entity}}_widget/chooser', array('_current' => true));
11
  }
 
 
 
 
 
 
 
 
 
 
12
  }
9
  public function getGridUrl(){
10
  return $this->getUrl('adminhtml/{{module}}_{{entity}}_widget/chooser', array('_current' => true));
11
  }
12
+ /**
13
+ * after collection load
14
+ * @access protected
15
+ * @return {{Namespace}}_{{Module}}_Block_Adminhtml_{{Entity}}_Widget_Chooser
16
+ * {{qwertyuiop}}
17
+ */
18
+ protected function _afterLoadCollection(){
19
+ $this->getCollection()->walk('afterLoad');
20
+ parent::_afterLoadCollection();
21
+ }
22
  }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Adminhtml/Entity/Widget/Chooser/IsTree/01_content.php CHANGED
@@ -2,7 +2,7 @@
2
  {{License}}
3
 
4
  /**
5
- * {{EntityLavel}} chooser for Wysiwyg CMS widget
6
  *
7
  * @category {{Namespace}}
8
  * @package{{Namespace}}_{{Module}}
2
  {{License}}
3
 
4
  /**
5
+ * {{EntityLabel}} chooser for Wysiwyg CMS widget
6
  *
7
  * @category {{Namespace}}
8
  * @package{{Namespace}}_{{Module}}
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Catalog/Product/List/Entity/01_top.php CHANGED
@@ -18,3 +18,5 @@ class {{Namespace}}_{{Module}}_Block_Catalog_Product_List_{{Entity}} extends Mag
18
  if (!$this->hasData('{{entity}}_collection')){
19
  $product = Mage::registry('product');
20
  $collection = Mage::getResourceSingleton('{{module}}/{{entity}}_collection')
 
 
18
  if (!$this->hasData('{{entity}}_collection')){
19
  $product = Mage::registry('product');
20
  $collection = Mage::getResourceSingleton('{{module}}/{{entity}}_collection')
21
+ ->addStoreFilter(Mage::app()->getStore())
22
+
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/01_top.php CHANGED
@@ -17,3 +17,4 @@ class {{Namespace}}_{{Module}}_Block_{{Entity}}_List extends Mage_Core_Block_Tem
17
  public function __construct(){
18
  parent::__construct();
19
  ${{entities}} = Mage::getResourceModel('{{module}}/{{entity}}_collection')
 
17
  public function __construct(){
18
  parent::__construct();
19
  ${{entities}} = Mage::getResourceModel('{{module}}/{{entity}}_collection')
20
+ ->addStoreFilter(Mage::app()->getStore())
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/01_top.php CHANGED
@@ -17,3 +17,4 @@ class {{Namespace}}_{{Module}}_Block_{{Entity}}_List extends Mage_Core_Block_Tem
17
  public function __construct(){
18
  parent::__construct();
19
  ${{entities}} = Mage::getResourceModel('{{module}}/{{entity}}_collection')
 
17
  public function __construct(){
18
  parent::__construct();
19
  ${{entities}} = Mage::getResourceModel('{{module}}/{{entity}}_collection')
20
+ ->addStoreFilter(Mage::app()->getStore())
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/03_center.php CHANGED
@@ -47,3 +47,8 @@
47
  */
48
  public function draw{{Entity}}(${{entity}}, $level = 0){
49
  $html = '';
 
 
 
 
 
47
  */
48
  public function draw{{Entity}}(${{entity}}, $level = 0){
49
  $html = '';
50
+ $storeIds = Mage::getResourceSingleton('news/section')->lookupStoreIds($section->getId());
51
+ $validStoreIds = array(0, Mage::app()->getStore()->getId());
52
+ if (!array_intersect($storeIds, $validStoreIds)){
53
+ continue;
54
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/06_active_children.php CHANGED
@@ -1,5 +1,10 @@
1
  $activeChildren = array();
2
  foreach ($children as $child) {
 
 
 
 
 
3
  if ($child->getStatus()) {
4
  $activeChildren[] = $child;
5
  }
1
  $activeChildren = array();
2
  foreach ($children as $child) {
3
+ $childStoreIds = Mage::getResourceSingleton('{{module}}/{{entity}}')->lookupStoreIds($child->getId());
4
+ $validStoreIds = array(0, Mage::app()->getStore()->getId());
5
+ if (!array_intersect($childStoreIds, $validStoreIds)){
6
+ continue;
7
+ }
8
  if ($child->getStatus()) {
9
  $activeChildren[] = $child;
10
  }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/List/IsTree/07_active_children_no_status.php CHANGED
@@ -1,4 +1,9 @@
1
  $activeChildren = array();
2
  foreach ($children as $child) {
 
 
 
 
 
3
  $activeChildren[] = $child;
4
  }
1
  $activeChildren = array();
2
  foreach ($children as $child) {
3
+ $childStoreIds = Mage::getResourceSingleton('{{module}}/{{entity}}')->lookupStoreIds($child->getId());
4
+ $validStoreIds = array(0, Mage::app()->getStore()->getId());
5
+ if (!array_intersect($childStoreIds, $validStoreIds)){
6
+ continue;
7
+ }
8
  $activeChildren[] = $child;
9
  }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/Rss/01_top.php CHANGED
@@ -45,3 +45,5 @@ class {{Namespace}}_{{Module}}_Block_{{Entity}}_Rss extends Mage_Rss_Block_Abstr
45
  );
46
  $rssObj->_addHeader($data);
47
  $collection = Mage::getModel('{{module}}/{{entity}}')->getCollection()
 
 
45
  );
46
  $rssObj->_addHeader($data);
47
  $collection = Mage::getModel('{{module}}/{{entity}}')->getCollection()
48
+ ->addStoreFilter(Mage::app()->getStore())
49
+
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Block/Entity/Widget/View/01_top.php CHANGED
@@ -19,4 +19,6 @@ class {{Namespace}}_{{Module}}_Block_{{Entity}}_Widget_View extends Mage_Core_Bl
19
  parent::_beforeToHtml();
20
  ${{entity}}Id = $this->getData('{{entity}}_id');
21
  if (${{entity}}Id) {
22
- ${{entity}} = Mage::getModel('{{module}}/{{entity}}')->load(${{entity}}Id);
 
 
19
  parent::_beforeToHtml();
20
  ${{entity}}Id = $this->getData('{{entity}}_id');
21
  if (${{entity}}Id) {
22
+ ${{entity}} = Mage::getModel('{{module}}/{{entity}}')
23
+ ->setStoreId(Mage::app()->getStore()->getId())
24
+ ->load(${{entity}}Id);
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Controller/Router/03_footer.php CHANGED
@@ -1,6 +1,6 @@
1
  foreach ($check as $key=>$settings){
2
  $model = Mage::getModel($settings->getModel());
3
- $id = $model->checkUrlKey($urlKey);
4
  if ($id){
5
  $request->setModuleName('{{module}}')
6
  ->setControllerName($settings->getController())
1
  foreach ($check as $key=>$settings){
2
  $model = Mage::getModel($settings->getModel());
3
+ $id = $model->checkUrlKey($urlKey, Mage::app()->getStore()->getId());
4
  if ($id){
5
  $request->setModuleName('{{module}}')
6
  ->setControllerName($settings->getController())
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/03_constructor.php CHANGED
@@ -7,3 +7,56 @@
7
  public function _construct(){
8
  $this->_init('{{module}}/{{entity}}', 'entity_id');
9
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  public function _construct(){
8
  $this->_init('{{module}}/{{entity}}', 'entity_id');
9
  }
10
+
11
+ /**
12
+ * Get store ids to which specified item is assigned
13
+ * @access public
14
+ * @param int ${{entity}}Id
15
+ * @return array
16
+ * {{qwertyuiop}}
17
+ */
18
+ public function lookupStoreIds(${{entity}}Id){
19
+ $adapter = $this->_getReadAdapter();
20
+ $select = $adapter->select()
21
+ ->from($this->getTable('{{module}}/{{entity}}_store'), 'store_id')
22
+ ->where('{{entity}}_id = ?',(int)${{entity}}Id);
23
+ return $adapter->fetchCol($select);
24
+ }
25
+ /**
26
+ * Perform operations after object load
27
+ * @access public
28
+ * @param Mage_Core_Model_Abstract $object
29
+ * @return {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}
30
+ * {{qwertyuiop}}
31
+ */
32
+ protected function _afterLoad(Mage_Core_Model_Abstract $object){
33
+ if ($object->getId()) {
34
+ $stores = $this->lookupStoreIds($object->getId());
35
+ $object->setData('store_id', $stores);
36
+ }
37
+ return parent::_afterLoad($object);
38
+ }
39
+
40
+ /**
41
+ * Retrieve select object for load object data
42
+ *
43
+ * @param string $field
44
+ * @param mixed $value
45
+ * @param {{Namespace}}_{{Module}}_Model_{{Entity}} $object
46
+ * @return Zend_Db_Select
47
+ */
48
+ protected function _getLoadSelect($field, $value, $object){
49
+ $select = parent::_getLoadSelect($field, $value, $object);
50
+ if ($object->getStoreId()) {
51
+ $storeIds = array(Mage_Core_Model_App::ADMIN_STORE_ID, (int)$object->getStoreId());
52
+ $select->join(
53
+ array('{{module}}_{{entity}}_store' => $this->getTable('{{module}}/{{entity}}_store')),
54
+ $this->getMainTable() . '.entity_id = {{module}}_{{entity}}_store.{{entity}}_id',
55
+ array()
56
+ )
57
+ ->where('{{module}}_{{entity}}_store.store_id IN (?)', $storeIds)
58
+ ->order('{{module}}_{{entity}}_store.store_id DESC')
59
+ ->limit(1);
60
+ }
61
+ return $select;
62
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/04_not_tree.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Assign {{entityLabel}} to store views
3
+ * @access protected
4
+ * @param Mage_Core_Model_Abstract $object
5
+ * @return {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}
6
+ * {{qwertyuiop}}
7
+ */
8
+ protected function _afterSave(Mage_Core_Model_Abstract $object){
9
+ $oldStores = $this->lookupStoreIds($object->getId());
10
+ $newStores = (array)$object->getStores();
11
+ if (empty($newStores)) {
12
+ $newStores = (array)$object->getStoreId();
13
+ }
14
+ $table = $this->getTable('{{module}}/{{entity}}_store');
15
+ $insert = array_diff($newStores, $oldStores);
16
+ $delete = array_diff($oldStores, $newStores);
17
+ if ($delete) {
18
+ $where = array(
19
+ '{{entity}}_id = ?' => (int) $object->getId(),
20
+ 'store_id IN (?)' => $delete
21
+ );
22
+ $this->_getWriteAdapter()->delete($table, $where);
23
+ }
24
+ if ($insert) {
25
+ $data = array();
26
+ foreach ($insert as $storeId) {
27
+ $data[] = array(
28
+ '{{entity}}_id' => (int) $object->getId(),
29
+ 'store_id' => (int) $storeId
30
+ );
31
+ }
32
+ $this->_getWriteAdapter()->insertMultiple($table, $data);
33
+ }
34
+ return parent::_afterSave($object);
35
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{04_tree.php → 05_tree.php} RENAMED
@@ -73,6 +73,31 @@
73
  $object->setPath($object->getPath() . $object->getId());
74
  $this->_savePath($object);
75
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  return parent::_afterSave($object);
77
  }
78
 
73
  $object->setPath($object->getPath() . $object->getId());
74
  $this->_savePath($object);
75
  }
76
+ $oldStores = $this->lookupStoreIds($object->getId());
77
+ $newStores = (array)$object->getStores();
78
+ if (empty($newStores)) {
79
+ $newStores = (array)$object->getStoreId();
80
+ }
81
+ $table = $this->getTable('{{module}}/{{entity}}_store');
82
+ $insert = array_diff($newStores, $oldStores);
83
+ $delete = array_diff($oldStores, $newStores);
84
+ if ($delete) {
85
+ $where = array(
86
+ '{{entity}}_id = ?' => (int) $object->getId(),
87
+ 'store_id IN (?)' => $delete
88
+ );
89
+ $this->_getWriteAdapter()->delete($table, $where);
90
+ }
91
+ if ($insert) {
92
+ $data = array();
93
+ foreach ($insert as $storeId) {
94
+ $data[] = array(
95
+ '{{entity}}_id' => (int) $object->getId(),
96
+ 'store_id' => (int) $storeId
97
+ );
98
+ }
99
+ $this->_getWriteAdapter()->insertMultiple($table, $data);
100
+ }
101
  return parent::_afterSave($object);
102
  }
103
 
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{05_tree_before_save_no_url_rewrite.php → 06_tree_before_save_no_url_rewrite.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{06_tree_before_save_url_rewrite.php → 07_tree_before_save_url_rewrite.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{07_children_no_status.php → 08_children_no_status.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{08_children_status.php → 09_children_status.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{09_content.php → 10_content.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{11_url_rewrite_not_status.php → 11_url_rewrite_status.php} RENAMED
@@ -2,13 +2,18 @@
2
  * check url key
3
  * @access public
4
  * @param string $urlKey
 
5
  * @return mixed
6
  * {{qwertyuiop}}
7
  */
8
- public function checkUrlKey($urlKey){
9
- $select = $this->_initCheckUrlKeySelect($urlKey);
 
 
 
 
10
  $select->reset(Zend_Db_Select::COLUMNS)
11
- ->columns('main_table.entity_id')
12
  ->limit(1);
13
 
14
  return $this->_getReadAdapter()->fetchOne($select);
@@ -17,13 +22,19 @@
17
  * init the check select
18
  * @access protected
19
  * @param string $urlKey
 
20
  * @return Zend_Db_Select
21
  * {{qwertyuiop}}
22
  */
23
- protected function _initCheckUrlKeySelect($urlKey){
24
  $select = $this->_getReadAdapter()->select()
25
- ->from(array('main_table' => $this->getMainTable()))
26
- ->where('main_table.url_key = ?', $urlKey);
 
 
 
 
 
27
  return $select;
28
  }
29
  /**
@@ -34,9 +45,15 @@
34
  * {{qwertyuiop}}
35
  */
36
  public function getIsUniqueUrlKey(Mage_Core_Model_Abstract $object){
37
- $select = $this->_initCheckUrlKeySelect($object->getData('url_key'));
 
 
 
 
 
 
38
  if ($object->getId()) {
39
- $select->where('main_table.entity_id <> ?', $object->getId());
40
  }
41
  if ($this->_getWriteAdapter()->fetchRow($select)) {
42
  return false;
@@ -62,4 +79,4 @@
62
  */
63
  protected function isValidUrlKey(Mage_Core_Model_Abstract $object){
64
  return preg_match('/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/', $object->getData('url_key'));
65
- }
2
  * check url key
3
  * @access public
4
  * @param string $urlKey
5
+ * @param bool $active
6
  * @return mixed
7
  * {{qwertyuiop}}
8
  */
9
+ public function checkUrlKey($urlKey, $storeId, $active = true){
10
+ $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID, $storeId);
11
+ $select = $this->_initCheckUrlKeySelect($urlKey, $stores);
12
+ if (!is_null($active)) {
13
+ $select->where('e.status = ?', $active);
14
+ }
15
  $select->reset(Zend_Db_Select::COLUMNS)
16
+ ->columns('e.entity_id')
17
  ->limit(1);
18
 
19
  return $this->_getReadAdapter()->fetchOne($select);
22
  * init the check select
23
  * @access protected
24
  * @param string $urlKey
25
+ * @param array $store
26
  * @return Zend_Db_Select
27
  * {{qwertyuiop}}
28
  */
29
+ protected function _initCheckUrlKeySelect($urlKey, $store){
30
  $select = $this->_getReadAdapter()->select()
31
+ ->from(array('e' => $this->getMainTable()))
32
+ ->join(
33
+ array('es' => $this->getTable('{{module}}/{{entity}}_store')),
34
+ 'e.entity_id = es.{{entity}}_id',
35
+ array())
36
+ ->where('e.url_key = ?', $urlKey)
37
+ ->where('es.store_id IN (?)', $store);
38
  return $select;
39
  }
40
  /**
45
  * {{qwertyuiop}}
46
  */
47
  public function getIsUniqueUrlKey(Mage_Core_Model_Abstract $object){
48
+ if (Mage::app()->isSingleStoreMode() || !$object->hasStores()) {
49
+ $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID);
50
+ }
51
+ else {
52
+ $stores = (array)$object->getData('stores');
53
+ }
54
+ $select = $this->_initCheckUrlKeySelect($object->getData('url_key'), $stores);
55
  if ($object->getId()) {
56
+ $select->where('e.entity_id <> ?', $object->getId());
57
  }
58
  if ($this->_getWriteAdapter()->fetchRow($select)) {
59
  return false;
79
  */
80
  protected function isValidUrlKey(Mage_Core_Model_Abstract $object){
81
  return preg_match('/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/', $object->getData('url_key'));
82
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{10_url_rewrite_status.php → 12_url_rewrite_not_status.php} RENAMED
@@ -2,17 +2,14 @@
2
  * check url key
3
  * @access public
4
  * @param string $urlKey
5
- * @param bool $active
6
  * @return mixed
7
  * {{qwertyuiop}}
8
  */
9
- public function checkUrlKey($urlKey, $active = true){
10
- $select = $this->_initCheckUrlKeySelect($urlKey);
11
- if (!is_null($active)) {
12
- $select->where('main_table.status = ?', $active);
13
- }
14
  $select->reset(Zend_Db_Select::COLUMNS)
15
- ->columns('main_table.entity_id')
16
  ->limit(1);
17
 
18
  return $this->_getReadAdapter()->fetchOne($select);
@@ -21,13 +18,19 @@
21
  * init the check select
22
  * @access protected
23
  * @param string $urlKey
 
24
  * @return Zend_Db_Select
25
  * {{qwertyuiop}}
26
  */
27
- protected function _initCheckUrlKeySelect($urlKey){
28
  $select = $this->_getReadAdapter()->select()
29
- ->from(array('main_table' => $this->getMainTable()))
30
- ->where('main_table.url_key = ?', $urlKey);
 
 
 
 
 
31
  return $select;
32
  }
33
  /**
@@ -38,9 +41,15 @@
38
  * {{qwertyuiop}}
39
  */
40
  public function getIsUniqueUrlKey(Mage_Core_Model_Abstract $object){
41
- $select = $this->_initCheckUrlKeySelect($object->getData('url_key'));
 
 
 
 
 
 
42
  if ($object->getId()) {
43
- $select->where('main_table.entity_id <> ?', $object->getId());
44
  }
45
  if ($this->_getWriteAdapter()->fetchRow($select)) {
46
  return false;
@@ -66,4 +75,4 @@
66
  */
67
  protected function isValidUrlKey(Mage_Core_Model_Abstract $object){
68
  return preg_match('/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/', $object->getData('url_key'));
69
- }
2
  * check url key
3
  * @access public
4
  * @param string $urlKey
 
5
  * @return mixed
6
  * {{qwertyuiop}}
7
  */
8
+ public function checkUrlKey($urlKey, $storeId){
9
+ $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID, $storeId);
10
+ $select = $this->_initCheckUrlKeySelect($urlKey, $stores);
 
 
11
  $select->reset(Zend_Db_Select::COLUMNS)
12
+ ->columns('e.entity_id')
13
  ->limit(1);
14
 
15
  return $this->_getReadAdapter()->fetchOne($select);
18
  * init the check select
19
  * @access protected
20
  * @param string $urlKey
21
+ * @param array $store
22
  * @return Zend_Db_Select
23
  * {{qwertyuiop}}
24
  */
25
+ protected function _initCheckUrlKeySelect($urlKey, $store){
26
  $select = $this->_getReadAdapter()->select()
27
+ ->from(array('e' => $this->getMainTable()))
28
+ ->join(
29
+ array('es' => $this->getTable('{{module}}/{{entity}}_store')),
30
+ 'e.entity_id = es.{{entity}}_id',
31
+ array())
32
+ ->where('e.url_key = ?', $urlKey)
33
+ ->where('es.store_id IN (?)', $store);
34
  return $select;
35
  }
36
  /**
41
  * {{qwertyuiop}}
42
  */
43
  public function getIsUniqueUrlKey(Mage_Core_Model_Abstract $object){
44
+ if (Mage::app()->isSingleStoreMode() || !$object->hasStores()) {
45
+ $stores = array(Mage_Core_Model_App::ADMIN_STORE_ID);
46
+ }
47
+ else {
48
+ $stores = (array)$object->getData('stores');
49
+ }
50
+ $select = $this->_initCheckUrlKeySelect($object->getData('url_key'), $stores);
51
  if ($object->getId()) {
52
+ $select->where('e.entity_id <> ?', $object->getId());
53
  }
54
  if ($this->_getWriteAdapter()->fetchRow($select)) {
55
  return false;
75
  */
76
  protected function isValidUrlKey(Mage_Core_Model_Abstract $object){
77
  return preg_match('/^[a-z0-9][a-z0-9_\/-]+(\.[a-z0-9_-]+)?$/', $object->getData('url_key'));
78
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{12_url_rewrite_before_save_not_tree.php → 13_url_rewrite_before_save_not_tree.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/{13_footer.php → 14_footer.php} RENAMED
File without changes
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/Collection/01_top.php CHANGED
@@ -18,6 +18,7 @@ class {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection extends Mage
18
  public function _construct(){
19
  parent::_construct();
20
  $this->_init('{{module}}/{{entity}}');
 
21
  }
22
  /**
23
  * get {{entities}} as array
@@ -42,3 +43,59 @@ class {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection extends Mage
42
  protected function _toOptionHash($valueField='entity_id', $labelField='{{nameAttribute}}'){
43
  return parent::_toOptionHash($valueField, $labelField);
44
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  public function _construct(){
19
  parent::_construct();
20
  $this->_init('{{module}}/{{entity}}');
21
+ $this->_map['fields']['store'] = 'store_table.store_id';
22
  }
23
  /**
24
  * get {{entities}} as array
43
  protected function _toOptionHash($valueField='entity_id', $labelField='{{nameAttribute}}'){
44
  return parent::_toOptionHash($valueField, $labelField);
45
  }
46
+ /**
47
+ * Add filter by store
48
+ * @access public
49
+ * @param int|Mage_Core_Model_Store $store
50
+ * @param bool $withAdmin
51
+ * @return {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection
52
+ * {{qwertyuiop}}
53
+ */
54
+ public function addStoreFilter($store, $withAdmin = true){
55
+ if (!isset($this->_joinedFields['store'])){
56
+ if ($store instanceof Mage_Core_Model_Store) {
57
+ $store = array($store->getId());
58
+ }
59
+ if (!is_array($store)) {
60
+ $store = array($store);
61
+ }
62
+ if ($withAdmin) {
63
+ $store[] = Mage_Core_Model_App::ADMIN_STORE_ID;
64
+ }
65
+ $this->addFilter('store', array('in' => $store), 'public');
66
+ $this->_joinedFields['store'] = true;
67
+ }
68
+ return $this;
69
+ }
70
+ /**
71
+ * Join store relation table if there is store filter
72
+ * @access protected
73
+ * @return {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection
74
+ * {{qwertyuiop}}
75
+ */
76
+ protected function _renderFiltersBefore(){
77
+ if ($this->getFilter('store')) {
78
+ $this->getSelect()->join(
79
+ array('store_table' => $this->getTable('{{module}}/{{entity}}_store')),
80
+ 'main_table.entity_id = store_table.{{entity}}_id',
81
+ array()
82
+ )->group('main_table.entity_id');
83
+ /*
84
+ * Allow analytic functions usage because of one field grouping
85
+ */
86
+ $this->_useAnalyticFunction = true;
87
+ }
88
+ return parent::_renderFiltersBefore();
89
+ }
90
+ /**
91
+ * Get SQL for get record count.
92
+ * Extra GROUP BY strip added.
93
+ * @access public
94
+ * @return Varien_Db_Select
95
+ * {{qwertyuiop}}
96
+ */
97
+ public function getSelectCountSql(){
98
+ $countSelect = parent::getSelectCountSql();
99
+ $countSelect->reset(Zend_Db_Select::GROUP);
100
+ return $countSelect;
101
+ }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/Model/Resource/Entity/Tree/03_content.php CHANGED
@@ -19,7 +19,7 @@
19
  }
20
 
21
  /**
22
- * Get {{entitiesLabel} collection
23
  * @access public
24
  * @param boolean $sorted
25
  * @return {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection
19
  }
20
 
21
  /**
22
+ * Get {{entitiesLabel}} collection
23
  * @access public
24
  * @param boolean $sorted
25
  * @return {{Namespace}}_{{Module}}_Model_Resource_{{Entity}}_Collection
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/Entity/WidgetController/02_tree.php CHANGED
@@ -1,5 +1,5 @@
1
  /**
2
- * {{enititiesLabel}} json action
3
  * @access public
4
  * @return void
5
  * {{qwertyuiop}}
1
  /**
2
+ * {{entitiesLabel}} json action
3
  * @access public
4
  * @return void
5
  * {{qwertyuiop}}
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/EntityController/01_top.php CHANGED
@@ -29,7 +29,10 @@ class {{Namespace}}_{{Module}}_Adminhtml_{{Module}}_{{Entity}}Controller extends
29
  * {{qwertyuiop}}
30
  */
31
  public function indexAction() {
32
- $this->loadLayout()->renderLayout();
 
 
 
33
  }
34
  /**
35
  * grid action
@@ -60,6 +63,14 @@ class {{Namespace}}_{{Module}}_Adminhtml_{{Module}}_{{Entity}}Controller extends
60
  }
61
  Mage::register('{{entity}}_data', ${{entity}});
62
  $this->loadLayout();
 
 
 
 
 
 
 
 
63
  if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
64
  $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
65
  }
29
  * {{qwertyuiop}}
30
  */
31
  public function indexAction() {
32
+ $this->loadLayout();
33
+ $this->_title(Mage::helper('{{module}}')->__('{{Module}}'))
34
+ ->_title(Mage::helper('{{module}}')->__('{{EntitiesLabel}}'));
35
+ $this->renderLayout();
36
  }
37
  /**
38
  * grid action
63
  }
64
  Mage::register('{{entity}}_data', ${{entity}});
65
  $this->loadLayout();
66
+ $this->_title(Mage::helper('{{module}}')->__('{{Module}}'))
67
+ ->_title(Mage::helper('{{module}}')->__('{{EntitiesLabel}}'));
68
+ if (${{entity}}->getId()){
69
+ $this->_title(${{entity}}->get{{EntityNameMagicCode}}());
70
+ }
71
+ else{
72
+ $this->_title(Mage::helper('{{module}}')->__('Add {{entityLabel}}'));
73
+ }
74
  if (Mage::getSingleton('cms/wysiwyg_config')->isEnabled()) {
75
  $this->getLayout()->getBlock('head')->setCanLoadTinyMce(true);
76
  }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/EntityController/09_exception.php CHANGED
@@ -4,3 +4,4 @@
4
  return;
5
  }
6
  catch (Exception $e) {
 
4
  return;
5
  }
6
  catch (Exception $e) {
7
+ Mage::logException($e);
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/Adminhtml/Module/EntityController/IsTree/01_top.php CHANGED
@@ -99,6 +99,8 @@ class {{Namespace}}_{{Module}}_Adminhtml_{{Module}}_{{Entity}}Controller extends
99
  return;
100
  }
101
  $this->loadLayout();
 
 
102
  $this->_setActiveMenu('{{module}}/{{entity}}');
103
  $this->getLayout()->getBlock('head')->setCanLoadExtJs(true)
104
  ->setContainerCssClass('{{entity}}');
99
  return;
100
  }
101
  $this->loadLayout();
102
+ $this->_title(Mage::helper('{{module}}')->__('{{Module}}'))
103
+ ->_title(Mage::helper('{{module}}')->__('{{EntitiesLabel}}'));
104
  $this->_setActiveMenu('{{module}}/{{entity}}');
105
  $this->getLayout()->getBlock('head')->setCanLoadExtJs(true)
106
  ->setContainerCssClass('{{entity}}');
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/controllers/EntityController/05_view.php CHANGED
@@ -6,7 +6,9 @@
6
  */
7
  public function viewAction(){
8
  ${{entity}}Id = $this->getRequest()->getParam('id', 0);
9
- ${{entity}} = Mage::getModel('{{module}}/{{entity}}')->load(${{entity}}Id);
 
 
10
  if (!${{entity}}->getId()){
11
  $this->_forward('no-route');
12
  }
6
  */
7
  public function viewAction(){
8
  ${{entity}}Id = $this->getRequest()->getParam('id', 0);
9
+ ${{entity}} = Mage::getModel('{{module}}/{{entity}}')
10
+ ->setStoreId(Mage::app()->getStore()->getId())
11
+ ->load(${{entity}}Id);
12
  if (!${{entity}}->getId()){
13
  $this->_forward('no-route');
14
  }
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/config/02_tables.xml CHANGED
@@ -1,3 +1,6 @@
1
  <{{entity}}>
2
  <table>{{module}}_{{entity}}</table>
3
  </{{entity}}>
 
 
 
1
  <{{entity}}>
2
  <table>{{module}}_{{entity}}</table>
3
  </{{entity}}>
4
+ <{{entity}}_store>
5
+ <table>{{module}}_{{entity}}_store</table>
6
+ </{{entity}}_store>
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/etc/wsi/06_porttype_entity.xml CHANGED
@@ -1,10 +1,10 @@
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>
1
  <wsdl:operation name="{{module}}{{Entity}}List">
2
+ <wsdl:documentation>Retrieve list of {{entitiesLabel}}</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 {{entityLabel}} info</wsdl:documentation>
8
  <wsdl:input message="typens:{{module}}{{Entity}}InfoRequest" />
9
  <wsdl:output message="typens:{{module}}{{Entity}}InfoResponse" />
10
  </wsdl:operation>
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/01_top.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ {{License}}
3
+ /**
4
+ * {{Module}} module install script
5
+ *
6
+ * @category {{Namespace}}
7
+ * @package {{Namespace}}_{{Module}}
8
+ * {{qwertyuiop}}
9
+ */
10
+ $this->startSetup();
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/02_entity.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $table = $this->getConnection()
2
+ ->newTable($this->getTable('{{module}}/{{entity}}'))
3
+ ->addColumn('entity_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
4
+ 'identity' => true,
5
+ 'nullable' => false,
6
+ 'primary' => true,
7
+ ), '{{EntityLabel}} ID')
8
+ {{attributeDdlSql}}
9
+ ->addColumn('created_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
10
+ ), '{{EntityLabel}} Creation Time')
11
+ ->addColumn('updated_at', Varien_Db_Ddl_Table::TYPE_TIMESTAMP, null, array(
12
+ ), '{{EntityLabel}} Modification Time'){{fksDdl}}
13
+ ->setComment('{{EntityLabel}} Table');
14
+ $this->getConnection()->createTable($table);
15
+
16
+ $table = $this->getConnection()
17
+ ->newTable($this->getTable('{{module}}/{{entity}}_store'))
18
+ ->addColumn('{{entity}}_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
19
+ 'nullable' => false,
20
+ 'primary' => true,
21
+ ), '{{EntityLabel}} ID')
22
+ ->addColumn('store_id', Varien_Db_Ddl_Table::TYPE_SMALLINT, null, array(
23
+ 'unsigned' => true,
24
+ 'nullable' => false,
25
+ 'primary' => true,
26
+ ), 'Store ID')
27
+ ->addIndex($this->getIdxName('{{module}}/{{entity}}_store', array('store_id')), array('store_id'))
28
+ ->addForeignKey($this->getFkName('{{module}}/{{entity}}_store', '{{entity}}_id', '{{module}}/{{entity}}', 'entity_id'), '{{entity}}_id', $this->getTable('{{module}}/{{entity}}'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
29
+ ->addForeignKey($this->getFkName('{{module}}/{{entity}}_store', 'store_id', 'core/store', 'store_id'), 'store_id', $this->getTable('core/store'), 'store_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
30
+ ->setComment('{{EntitiesLabel}} To Store Linkage Table');
31
+ $this->getConnection()->createTable($table);
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/03_product_relation.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $table = $this->getConnection()
2
+ ->newTable($this->getTable('{{module}}/{{entity}}_product'))
3
+ ->addColumn('rel_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
4
+ 'unsigned' => true,
5
+ 'identity' => true,
6
+ 'nullable' => false,
7
+ 'primary' => true,
8
+ ), 'Category ID')
9
+ ->addColumn('{{entity}}_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
10
+ 'unsigned' => true,
11
+ 'nullable' => false,
12
+ 'default' => '0',
13
+ ), '{{EntityLabel}} ID')
14
+ ->addColumn('product_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
15
+ 'unsigned' => true,
16
+ 'nullable' => false,
17
+ 'default' => '0',
18
+ ), 'Product ID')
19
+ ->addColumn('position', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
20
+ 'nullable' => false,
21
+ 'default' => '0',
22
+ ), 'Position')
23
+ ->addIndex($this->getIdxName('{{module}}/{{entity}}_product', array('product_id')), array('product_id'))
24
+ ->addForeignKey($this->getFkName('{{module}}/{{entity}}_product', '{{entity}}_id', '{{module}}/{{entity}}', 'entity_id'), '{{entity}}_id', $this->getTable('{{module}}/{{entity}}'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
25
+ ->addForeignKey($this->getFkName('{{module}}/{{entity}}_product', 'product_id', 'catalog/product', 'entity_id'), 'product_id', $this->getTable('catalog/product'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
26
+ ->setComment('{{EntityLabel}} to Product Linkage Table');
27
+ $this->getConnection()->createTable($table);
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/04_sibling_relation.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $table = $this->getConnection()
2
+ ->newTable($this->getTable('{{module}}/{{entity}}_{{sibling}}'))
3
+ ->addColumn('rel_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
4
+ 'unsigned' => true,
5
+ 'identity' => true,
6
+ 'nullable' => false,
7
+ 'primary' => true,
8
+ ), 'Relation ID')
9
+ ->addColumn('{{entity}}_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
10
+ 'unsigned' => true,
11
+ 'nullable' => false,
12
+ 'default' => '0',
13
+ ), '{{EntityLabel}} ID')
14
+ ->addColumn('{{sibling}}_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
15
+ 'unsigned' => true,
16
+ 'nullable' => false,
17
+ 'default' => '0',
18
+ ), '{{SiblingLabel}} ID')
19
+ ->addColumn('position', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
20
+ 'nullable' => false,
21
+ 'default' => '0',
22
+ ), 'Position')
23
+ ->addForeignKey($this->getFkName('{{module}}/{{entity}}_{{sibling}}', '{{entity}}_id', '{{module}}/{{entity}}', 'entity_id'), '{{entity}}_id', $this->getTable('{{module}}/{{entity}}'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
24
+ ->addForeignKey($this->getFkName('{{module}}/{{entity}}_{{sibling}}', '{{sibling}}_id', '{{module}}/{{entity}}', 'entity_id'), '{{sibling}}_id', $this->getTable('{{module}}/{{sibling}}'), 'entity_id', Varien_Db_Ddl_Table::ACTION_CASCADE, Varien_Db_Ddl_Table::ACTION_CASCADE)
25
+ ->setComment('{{EntityLabel}} to {{SiblingLabel}} Linkage Table');
26
+ $this->getConnection()->createTable($table);
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/05_footer.php ADDED
@@ -0,0 +1 @@
 
1
+ $this->endSetup();
app/code/community/Ultimate/ModuleCreator/etc/m/app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1/02_entity.php CHANGED
@@ -7,3 +7,13 @@ $this->run("
7
  PRIMARY KEY (`entity_id`){{fks}})
8
  ENGINE=InnoDB DEFAULT CHARSET=utf8;
9
  ");
 
 
 
 
 
 
 
 
 
 
7
  PRIMARY KEY (`entity_id`){{fks}})
8
  ENGINE=InnoDB DEFAULT CHARSET=utf8;
9
  ");
10
+ $this->run("
11
+ CREATE TABLE `{$this->getTable('{{module}}/{{entity}}_store')}` (
12
+ `{{entity}}_id` int(10) NOT NULL,
13
+ `store_id` int(10) unsigned NOT NULL,
14
+ PRIMARY KEY (`{{entity}}_id`,`store_id`),
15
+ CONSTRAINT `FK_{{MODULE}}_{{ENTITY}}_STORE_{{ENTITY}}` FOREIGN KEY (`{{entity}}_id`) REFERENCES `{$this->getTable('{{module}}/{{entity}}')}` (`entity_id`) ON UPDATE CASCADE ON DELETE CASCADE,
16
+ CONSTRAINT `FK_{{MODULE}}_{{ENTITY}}_STORE_STORE` FOREIGN KEY (`store_id`) REFERENCES `{$this->getTable('core/store')}` (`store_id`) ON UPDATE CASCADE ON DELETE CASCADE
17
+ )
18
+ ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='{{EntitiesLabel}} to Stores';
19
+ ");
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/01_global.csv CHANGED
@@ -11,3 +11,4 @@
11
  "Are you sure?","Are you sure?"
12
  "Home","Home"
13
  "None","None"
 
11
  "Are you sure?","Are you sure?"
12
  "Home","Home"
13
  "None","None"
14
+ "Store views","Store views"
app/code/community/Ultimate/ModuleCreator/etc/m/app/locale/en_US/Namespace_Module/06_global_seo.csv CHANGED
@@ -1,3 +1,5 @@
1
  "Meta-title","Meta-title"
2
  "Meta-description","Meta-description"
3
  "Meta-keywords","Meta-keywords"
 
 
1
  "Meta-title","Meta-title"
2
  "Meta-description","Meta-description"
3
  "Meta-keywords","Meta-keywords"
4
+ "Meta information","Meta information"
5
+ "Meta","Meta"
app/code/community/Ultimate/ModuleCreator/etc/modulecreator.xml CHANGED
@@ -64,48 +64,51 @@
64
  </depend>
65
  </file>
66
  <file>
67
- <name>07_created_at.php</name>
 
 
 
68
  <depend>
69
  <created_to_grid />
70
  </depend>
71
  </file>
72
  <file>
73
- <name>08_updated_at.php</name>
74
  <depend>
75
  <updated_to_grid />
76
  </depend>
77
  </file>
78
  <file>
79
- <name>09_grid_actions.php</name>
80
  </file>
81
  <file>
82
- <name>10_grid_export.php</name>
83
  </file>
84
  <file>
85
- <name>11_columns_footer.php</name>
86
  </file>
87
  <file>
88
- <name>12_mass_action_top.php</name>
89
  </file>
90
  <file>
91
- <name>13_mass_action_status.php</name>
92
  <depend>
93
  <add_status />
94
  </depend>
95
  </file>
96
  <file>
97
- <name>14_mass_action_flags.php</name>
98
  <scope>attribute</scope>
99
  <depend_type>
100
  <yesno />
101
  </depend_type>
102
  </file>
103
  <file>
104
- <name>15_mass_action_parents.php</name>
105
  <scope>parents</scope>
106
  </file>
107
  <file>
108
- <name>16_footer.php</name>
109
  </file>
110
  </content>
111
  </file>
@@ -187,17 +190,26 @@
187
  <name>01_top.php</name>
188
  </file>
189
  <file>
190
- <name>02_relations_tabs.php</name>
 
 
 
 
 
 
 
 
 
191
  <scope>siblings</scope>
192
  </file>
193
  <file>
194
- <name>03_product_relation.php</name>
195
  <depend>
196
  <link_product />
197
  </depend>
198
  </file>
199
  <file>
200
- <name>04_footer.php</name>
201
  </file>
202
  </content>
203
  </file>
@@ -216,17 +228,26 @@
216
  <name>01_top.php</name>
217
  </file>
218
  <file>
219
- <name>02_relations_tabs.php</name>
 
 
 
 
 
 
 
 
 
220
  <scope>siblings</scope>
221
  </file>
222
  <file>
223
- <name>03_product_relation.php</name>
224
  <depend>
225
  <link_product />
226
  </depend>
227
  </file>
228
  <file>
229
- <name>04_footer.php</name>
230
  </file>
231
  </content>
232
  </file>
@@ -421,68 +442,74 @@
421
  <name>03_constructor.php</name>
422
  </file>
423
  <file>
424
- <name>04_tree.php</name>
 
 
 
 
 
 
425
  <depend>
426
  <is_tree />
427
  </depend>
428
  </file>
429
  <file>
430
- <name>05_tree_before_save_no_url_rewrite.php</name>
431
  <depend>
432
  <is_tree />
433
  <not_url_rewrite />
434
  </depend>
435
  </file>
436
  <file>
437
- <name>06_tree_before_save_url_rewrite.php</name>
438
  <depend>
439
  <is_tree />
440
  <url_rewrite />
441
  </depend>
442
  </file>
443
  <file>
444
- <name>07_children_no_status.php</name>
445
  <depend>
446
  <is_tree />
447
  <not_add_status />
448
  </depend>
449
  </file>
450
  <file>
451
- <name>08_children_status.php</name>
452
  <depend>
453
  <is_tree />
454
  <add_status />
455
  </depend>
456
  </file>
457
  <file>
458
- <name>09_content.php</name>
459
  <depend>
460
  <is_tree />
461
  </depend>
462
  </file>
463
  <file>
464
- <name>10_url_rewrite_status.php</name>
465
  <depend>
466
  <add_status />
467
  <url_rewrite />
468
  </depend>
469
  </file>
470
  <file>
471
- <name>11_url_rewrite_not_status.php</name>
472
  <depend>
473
  <not_add_status />
474
  <url_rewrite />
475
  </depend>
476
  </file>
477
  <file>
478
- <name>12_url_rewrite_before_save_not_tree.php</name>
479
  <depend>
480
  <url_rewrite />
481
  <not_is_tree />
482
  </depend>
483
  </file>
484
  <file>
485
- <name>13_footer.php</name>
486
  </file>
487
  </content>
488
  </file>
@@ -1292,7 +1319,7 @@
1292
  </depend>
1293
  </file>
1294
  <file>
1295
- <name>12_seo.php</name>
1296
  <depend>
1297
  <frontend_add_seo />
1298
  </depend>
@@ -1320,7 +1347,38 @@
1320
  </file>
1321
  </content>
1322
  </file>
1323
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1324
  <file translate="title" module="modulecreator">
1325
  <title>WISIWYG helper block.</title>
1326
  <scope>global</scope>
@@ -1401,6 +1459,9 @@
1401
  <file translate="title" module="modulecreator">
1402
  <title>Install script</title>
1403
  <scope>global</scope>
 
 
 
1404
  <filetype>php</filetype>
1405
  <from>app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1/</from>
1406
  <to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/sql/{{namespace}}_{{module}}_setup/install-0.0.1.php</to>
@@ -1428,6 +1489,39 @@
1428
  </file>
1429
  </content>
1430
  </file>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1431
  <file translate="title" module="modulecreator">
1432
  <title>Widget xml</title>
1433
  <scope>global</scope>
64
  </depend>
65
  </file>
66
  <file>
67
+ <name>07_stores.php</name>
68
+ </file>
69
+ <file>
70
+ <name>08_created_at.php</name>
71
  <depend>
72
  <created_to_grid />
73
  </depend>
74
  </file>
75
  <file>
76
+ <name>09_updated_at.php</name>
77
  <depend>
78
  <updated_to_grid />
79
  </depend>
80
  </file>
81
  <file>
82
+ <name>10_grid_actions.php</name>
83
  </file>
84
  <file>
85
+ <name>11_grid_export.php</name>
86
  </file>
87
  <file>
88
+ <name>12_columns_footer.php</name>
89
  </file>
90
  <file>
91
+ <name>13_mass_action_top.php</name>
92
  </file>
93
  <file>
94
+ <name>14_mass_action_status.php</name>
95
  <depend>
96
  <add_status />
97
  </depend>
98
  </file>
99
  <file>
100
+ <name>15_mass_action_flags.php</name>
101
  <scope>attribute</scope>
102
  <depend_type>
103
  <yesno />
104
  </depend_type>
105
  </file>
106
  <file>
107
+ <name>16_mass_action_parents.php</name>
108
  <scope>parents</scope>
109
  </file>
110
  <file>
111
+ <name>17_footer.php</name>
112
  </file>
113
  </content>
114
  </file>
190
  <name>01_top.php</name>
191
  </file>
192
  <file>
193
+ <name>02_seo.php</name>
194
+ <depend>
195
+ <frontend_add_seo />
196
+ </depend>
197
+ </file>
198
+ <file>
199
+ <name>03_stores.php</name>
200
+ </file>
201
+ <file>
202
+ <name>04_relations_tabs.php</name>
203
  <scope>siblings</scope>
204
  </file>
205
  <file>
206
+ <name>05_product_relation.php</name>
207
  <depend>
208
  <link_product />
209
  </depend>
210
  </file>
211
  <file>
212
+ <name>06_footer.php</name>
213
  </file>
214
  </content>
215
  </file>
228
  <name>01_top.php</name>
229
  </file>
230
  <file>
231
+ <name>02_seo.php</name>
232
+ <depend>
233
+ <frontend_add_seo />
234
+ </depend>
235
+ </file>
236
+ <file>
237
+ <name>03_stores.php</name>
238
+ </file>
239
+ <file>
240
+ <name>04_relations_tabs.php</name>
241
  <scope>siblings</scope>
242
  </file>
243
  <file>
244
+ <name>05_product_relation.php</name>
245
  <depend>
246
  <link_product />
247
  </depend>
248
  </file>
249
  <file>
250
+ <name>06_footer.php</name>
251
  </file>
252
  </content>
253
  </file>
442
  <name>03_constructor.php</name>
443
  </file>
444
  <file>
445
+ <name>04_not_tree.php</name>
446
+ <depend>
447
+ <not_is_tree />
448
+ </depend>
449
+ </file>
450
+ <file>
451
+ <name>05_tree.php</name>
452
  <depend>
453
  <is_tree />
454
  </depend>
455
  </file>
456
  <file>
457
+ <name>06_tree_before_save_no_url_rewrite.php</name>
458
  <depend>
459
  <is_tree />
460
  <not_url_rewrite />
461
  </depend>
462
  </file>
463
  <file>
464
+ <name>07_tree_before_save_url_rewrite.php</name>
465
  <depend>
466
  <is_tree />
467
  <url_rewrite />
468
  </depend>
469
  </file>
470
  <file>
471
+ <name>08_children_no_status.php</name>
472
  <depend>
473
  <is_tree />
474
  <not_add_status />
475
  </depend>
476
  </file>
477
  <file>
478
+ <name>09_children_status.php</name>
479
  <depend>
480
  <is_tree />
481
  <add_status />
482
  </depend>
483
  </file>
484
  <file>
485
+ <name>10_content.php</name>
486
  <depend>
487
  <is_tree />
488
  </depend>
489
  </file>
490
  <file>
491
+ <name>11_url_rewrite_status.php</name>
492
  <depend>
493
  <add_status />
494
  <url_rewrite />
495
  </depend>
496
  </file>
497
  <file>
498
+ <name>12_url_rewrite_not_status.php</name>
499
  <depend>
500
  <not_add_status />
501
  <url_rewrite />
502
  </depend>
503
  </file>
504
  <file>
505
+ <name>13_url_rewrite_before_save_not_tree.php</name>
506
  <depend>
507
  <url_rewrite />
508
  <not_is_tree />
509
  </depend>
510
  </file>
511
  <file>
512
+ <name>14_footer.php</name>
513
  </file>
514
  </content>
515
  </file>
1319
  </depend>
1320
  </file>
1321
  <file>
1322
+ <name>12_stores.php</name>
1323
  <depend>
1324
  <frontend_add_seo />
1325
  </depend>
1347
  </file>
1348
  </content>
1349
  </file>
1350
+ <file translate="title" module="modulecreator">
1351
+ <title>Flat entity admin meta attributes tab.</title>
1352
+ <scope>entity</scope>
1353
+ <filetype>php</filetype>
1354
+ <depend>
1355
+ <flat />
1356
+ <frontend_add_seo />
1357
+ </depend>
1358
+ <from>app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Meta/</from>
1359
+ <to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/Block/Adminhtml/{{Entity}}/Edit/Tab/Meta.php</to>
1360
+ <content>
1361
+ <file>
1362
+ <name>01_content.php</name>
1363
+ </file>
1364
+ </content>
1365
+ </file>
1366
+ <file translate="title" module="modulecreator">
1367
+ <title>Flat entity admin stores tab.</title>
1368
+ <scope>entity</scope>
1369
+ <filetype>php</filetype>
1370
+ <depend>
1371
+ <flat />
1372
+ <frontend_add_seo />
1373
+ </depend>
1374
+ <from>app/code/cp/Ns/Md/Block/Adminhtml/Entity/Edit/Tab/Stores/</from>
1375
+ <to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/Block/Adminhtml/{{Entity}}/Edit/Tab/Stores.php</to>
1376
+ <content>
1377
+ <file>
1378
+ <name>01_content.php</name>
1379
+ </file>
1380
+ </content>
1381
+ </file>
1382
  <file translate="title" module="modulecreator">
1383
  <title>WISIWYG helper block.</title>
1384
  <scope>global</scope>
1459
  <file translate="title" module="modulecreator">
1460
  <title>Install script</title>
1461
  <scope>global</scope>
1462
+ <depend>
1463
+ <not_use_ddl />
1464
+ </depend>
1465
  <filetype>php</filetype>
1466
  <from>app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1/</from>
1467
  <to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/sql/{{namespace}}_{{module}}_setup/install-0.0.1.php</to>
1489
  </file>
1490
  </content>
1491
  </file>
1492
+ <file translate="title" module="modulecreator">
1493
+ <title>Install script</title>
1494
+ <scope>global</scope>
1495
+ <depend>
1496
+ <use_ddl />
1497
+ </depend>
1498
+ <filetype>php</filetype>
1499
+ <from>app/code/cp/Ns/Md/sql/namespace_module_setup/install-0.0.1-ddl/</from>
1500
+ <to>app/code/{{codepool}}/{{Namespace}}/{{Module}}/sql/{{namespace}}_{{module}}_setup/install-0.0.1.php</to>
1501
+ <content>
1502
+ <file>
1503
+ <name>01_top.php</name>
1504
+ </file>
1505
+ <file>
1506
+ <name>02_entity.php</name>
1507
+ <scope>entity</scope>
1508
+ </file>
1509
+ <file>
1510
+ <name>03_product_relation.php</name>
1511
+ <scope>entity</scope>
1512
+ <depend>
1513
+ <link_product />
1514
+ </depend>
1515
+ </file>
1516
+ <file>
1517
+ <name>04_sibling_relation.php</name>
1518
+ <scope>siblings</scope>
1519
+ </file>
1520
+ <file>
1521
+ <name>05_footer.php</name>
1522
+ </file>
1523
+ </content>
1524
+ </file>
1525
  <file translate="title" module="modulecreator">
1526
  <title>Widget xml</title>
1527
  <scope>global</scope>
app/code/community/Ultimate/ModuleCreator/etc/system.xml CHANGED
@@ -82,6 +82,15 @@
82
  <show_in_store>0</show_in_store>
83
  <comment>Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year</comment>
84
  </license>
 
 
 
 
 
 
 
 
 
85
  </fields>
86
  </settings>
87
  <entity_defaults translate="label" module="modulecreator">
82
  <show_in_store>0</show_in_store>
83
  <comment>Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year</comment>
84
  </license>
85
+ <use_ddl translate="label" module="modulecreator">
86
+ <label>Use DDL for install script</label>
87
+ <frontend_type>select</frontend_type>
88
+ <source_model>adminhtml/system_config_source_yesno</source_model>
89
+ <sort_order>50</sort_order>
90
+ <show_in_default>1</show_in_default>
91
+ <show_in_website>0</show_in_website>
92
+ <show_in_store>0</show_in_store>
93
+ </use_ddl>
94
  </fields>
95
  </settings>
96
  <entity_defaults translate="label" module="modulecreator">
app/design/adminhtml/default/default/template/ultimate_modulecreator/edit/tab/help.phtml CHANGED
@@ -179,6 +179,18 @@
179
  <?php echo Mage::helper('modulecreator')->__('Each entity has a field called created_at and one called updated_at that remembers when the item was created and saved last. Setting these wo "Yes" will add these columns to the admin gird.');?>
180
  </p>
181
  </li>
 
 
 
 
 
 
 
 
 
 
 
 
182
  <li>
183
  <strong><?php echo Mage::helper('modulecreator')->__('Include "Status" field')?></strong><br />
184
  <p>
179
  <?php echo Mage::helper('modulecreator')->__('Each entity has a field called created_at and one called updated_at that remembers when the item was created and saved last. Setting these wo "Yes" will add these columns to the admin gird.');?>
180
  </p>
181
  </li>
182
+ <li>
183
+ <strong><?php echo Mage::helper('modulecreator')->__('Add to admin global search')?></strong><br />
184
+ <p>
185
+ <?php echo 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.')?>
186
+ </p>
187
+ </li>
188
+ <li>
189
+ <strong><?php echo Mage::helper('modulecreator')->__('Create API')?></strong><br />
190
+ <p>
191
+ <?php echo Mage::helper('modulecreator')->__('This will create the files needed for the SOAP API for the custom entity.')?>
192
+ </p>
193
+ </li>
194
  <li>
195
  <strong><?php echo Mage::helper('modulecreator')->__('Include "Status" field')?></strong><br />
196
  <p>
app/locale/en_US/Ultimate_ModuleCreator.csv CHANGED
@@ -338,6 +338,7 @@
338
  "Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} as placeholder for current year.","Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} as placeholder for current year.","false"
339
  "Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year","Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year","false"
340
  "Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year.","Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year.","false"
 
341
  "View widget","View widget","false"
342
  "WISIWYG helper block.","WISIWYG helper block.","false"
343
  "Website","Website","true"
338
  "Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} as placeholder for current year.","Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} as placeholder for current year.","false"
339
  "Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year","Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year","false"
340
  "Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year.","Use {{Namespace}} as a placeholder for namespace, {{Module}} as a placeholder for the module name and {{Y}} for current year.","false"
341
+ "Use DDL for install script","Use DDL for install script"
342
  "View widget","View widget","false"
343
  "WISIWYG helper block.","WISIWYG helper block.","false"
344
  "Website","Website","true"
package.xml CHANGED
@@ -1,7 +1,7 @@
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>
@@ -9,17 +9,19 @@
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:&#xD;
12
- - Generate API (v1 &amp; v2) files.&#xD;
13
- - WSI compliance for API &#xD;
14
- Bug fixes:&#xD;
15
- - Fixed Generated translation file&#xD;
16
- - Uppercase letter in entity codes is now restricted&#xD;
17
- Refactoring:&#xD;
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>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Ultimate_ModuleCreator</name>
4
+ <version>1.6.0</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/MIT">MIT License</license>
7
  <channel>community</channel>
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:&#xD;
12
+ - DDL install scripts for generated entity&#xD;
13
+ - enable entities by store view (similar to CMS pages)&#xD;
14
+ - meta title for admin pages&#xD;
15
+ Bug fixes: &#xD;
16
+ - errors in some function documentations&#xD;
17
+ Refactoring: &#xD;
18
+ - moved meta information to separate tab.&#xD;
19
+ - completed the help tab&#xD;
20
+ </notes>
21
  <authors><author><name>Marius Strajeru</name><user>tzyganu</user><email>tzyganu@gmail.com</email></author></authors>
22
+ <date>2013-04-19</date>
23
+ <time>09:52:54</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="db70512d5a1123e8065c2237b0ce5960"/><file name="Country.php" hash="f1d8b4418c223baafed7c218acf1b640"/><file name="Decimal.php" hash="54d30f34faa1b998073a78a9abdb13b8"/><file name="File.php" hash="a8e18228577beb612f202acbe0ddb41a"/><file name="Image.php" hash="80211878524ee9ed71096d30b1c52c42"/><file name="Int.php" hash="754778ace18f36c77e5de96c2ccc4273"/><file name="Text.php" hash="237217feda93dadf93a63f181ebb8793"/><file name="Textarea.php" hash="befe5d84f69efc1a85b7f258b50ff950"/><file name="Timestamp.php" hash="05759eaa9d07cee6c47764eaaab5c292"/><file name="Website.php" hash="2ea3d85dd5e2ffa846a3da376e70ffcd"/><file name="Yesno.php" hash="689678378cfabfb54575653d109d79cf"/></dir></dir><file name="Attribute.php" hash="14b859fbda32ab06c8587e36151e6a97"/><file name="Entity.php" hash="1cc5c1021a30bd6653038a1ff1023761"/><dir name="Module"><file name="Collection.php" hash="0e413b976cbc9649ec982fe0f4b95dd1"/></dir><file name="Module.php" hash="f1058e525ad61b024da12b3fb3201cce"/><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="a0d41475e12aed3a33d53f356f620995"/><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="13336661cfaf0f25ceef484d28d1f99f"/><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_stores.php" hash="48e5e8e12b9d544496da7ee1a4997868"/><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="Meta"><file name="01_content.php" hash="3c47ce08d25eb90d91629e0647a01d5c"/></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 name="Stores"><file name="01_content.php" hash="db8bf44c310b5e2522bd1dd643af5a93"/></dir></dir><dir name="Tabs"><file name="01_top.php" hash="7cecbd5b68dc09c4e9a14f214b3b70df"/><file name="02_seo.php" hash="e6aaeed55a764190ba6bdd5e6b78188f"/><file name="03_stores.php" hash="0bc0c76c3fd28ef2147c9112ee7aa073"/><file name="04_relations_tabs.php" hash="3f1eba9e9a7bf177185364cffc8468ba"/><file name="05_product_relation.php" hash="aee681c7021e9efad07a39bc8f8cf56d"/><file name="06_footer.php" hash="01b6273dfbf342c1f984c1e10b631b65"/><dir name="IsTree"><file name="01_top.php" hash="e2f945070c544afb320959d6f410587b"/><file name="02_seo.php" hash="e6aaeed55a764190ba6bdd5e6b78188f"/><file name="03_stores.php" hash="0bc0c76c3fd28ef2147c9112ee7aa073"/><file name="04_relations_tabs.php" hash="50d5a9065062cf44f11a8aba92140790"/><file name="05_product_relation.php" hash="c5dc78d7c883af529b3adf72770d3dde"/><file name="06_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_stores.php" hash="083304c47194a612232e1554b3afdc70"/><file name="08_created_at.php" hash="15f2bf1aeab4512931cfd13461466dbf"/><file name="09_updated_at.php" hash="b416ed24d9613f8332f4191f0378c1a3"/><file name="10_grid_actions.php" hash="fbc479c06560e193e4c2177358eadc07"/><file name="11_grid_export.php" hash="3da336230cb919e5dd36e39d21ea3f0e"/><file name="12_columns_footer.php" hash="1cdf225b4a61a0036903c4e251484684"/><file name="13_mass_action_top.php" hash="4979fc362c7c0666bcfe39e89f3a88f4"/><file name="14_mass_action_status.php" hash="d504216f92f489be7857bee37cf0771c"/><file name="15_mass_action_flags.php" hash="9b0d9088708f5e84b50e7ac6ee06a632"/><file name="16_mass_action_parents.php" hash="7b36b4b3954e3913e6bdafb822ca6634"/><file name="17_footer.php" hash="671e5e1d49c4023a016c0bd1fb53fb31"/></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="cf1a5893817a61c410f0ea5071cd75f6"/><file name="04_status.php" hash="6fb78962dd9ffb30ee5d750876a26e5d"/><file name="05_footer.php" hash="5d257efc9e4b41bf2a0efb46190e59ec"/><dir name="IsTree"><file name="01_content.php" hash="f16e81972cc4add59cefc51e37599547"/></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="9f3fdfa832ef7be2e51a4807d87f4248"/><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="70e1c31772d2afaf9f27af0d5f83939c"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_footer.php" hash="369738e4147fd032b12c1df4aa01ed9c"/><dir name="IsTree"><file name="01_top.php" hash="70e1c31772d2afaf9f27af0d5f83939c"/><file name="02_status.php" hash="716a6a2f8243c5048f90584f0bd7f888"/><file name="03_center.php" hash="8d06ad36d30a8e242a28284ed852d02d"/><file name="04_status_draw.php" hash="05f41e4fa26f8644069191a7621b6e3f"/><file name="05_children.php" hash="b59bb1c9e92637ceab3196618b8deee7"/><file name="06_active_children.php" hash="b94240db116938724f17c956514b3919"/><file name="07_active_children_no_status.php" hash="11df90ae4209241f1a3361523e9b490c"/><file name="08_footer.php" hash="90180c9a604e490752cf905fd3410efd"/></dir></dir><dir name="Rss"><file name="01_top.php" hash="3fafe99eb2eca968647283a10e847ad5"/><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="7ef1885e33a674dc952230c7a50aca81"/><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="17469d98f81368c7e35deb1b7321cc19"/></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="c52e8b2694802192d4e4abe8ea0bac35"/><file name="04_not_tree.php" hash="d7860bfbba616ec75aaa23480d35e462"/><file name="05_tree.php" hash="153094ca24b380a2708ecb7532aaca18"/><file name="06_tree_before_save_no_url_rewrite.php" hash="721b246ab7c8011faa810f9c509cbc76"/><file name="07_tree_before_save_url_rewrite.php" hash="872a4a6d7b408bf621a52739e5d8438a"/><file name="08_children_no_status.php" hash="41b492cea369e6303ad444b16f016857"/><file name="09_children_status.php" hash="61bfda77779840f9855311137112979e"/><file name="10_content.php" hash="ad6a926a11cf4ca722b896a78bbeadab"/><file name="11_url_rewrite_status.php" hash="e32e6c2ce2419fa01181a6bc62236c07"/><file name="12_url_rewrite_not_status.php" hash="81e1b3574fb2766760b7baf9b56b89ea"/><file name="13_url_rewrite_before_save_not_tree.php" hash="2d51e7bda2f717d22bd17593851f65fa"/><file name="14_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/><dir name="Collection"><file name="01_top.php" hash="d07e1e18d79b3be34193b78ff2bb0a34"/><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="ec13ef4bc7eb96364605b8e6d214c9fb"/><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="0662fc91f7ef5090d5b74be7c971d3b9"/><file name="03_footer.php" hash="cbb184dd8e05c9709e5dcaedaa0495cf"/></dir></dir><dir name="EntityController"><file name="01_top.php" hash="10fa062eef953d4236da1dfc135717d1"/><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="b4f42e91747b48665a6287faf0342bc0"/><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="e651cfbf97dc7451b38974611a1be692"/><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="64c7b0b4222d351b20885b51a6153158"/><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="806cef86423c771c8909ba69b6780dee"/><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="bef6725d39c1b96cac3694cf707ea78a"/><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="fe0cd5718f68e347f92118de3ebcdbd7"/><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 name="install-0.0.1-ddl"><file name="01_top.php" hash="50cec9cf47ccb1001b16c156bd792210"/><file name="02_entity.php" hash="6497a1f379b9e4d7bb35d98ad28e6767"/><file name="03_product_relation.php" hash="844585191b8c338c895e59c7162b54ab"/><file name="04_sibling_relation.php" hash="9a31f0b23781ef937045d26a48c5dcd1"/><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="f38bee4515bcc54da7f781a0bac1da66"/><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="1c5889d31d3410540715b6c866966178"/><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="4022f41d69e77fd0d9e5ef130687c978"/><file name="system.xml" hash="5446234bd875fb0740fc7430a019f987"/></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="f57b75302fc0e90e2cb5bba49946cd82"/><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="0a37d4e248c2dcccc63dac60ddbc3b3f"/></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>
25
  <compatible/>
26
  <dependencies><required><php><min>5.0.0</min><max>7.0.0</max></php></required></dependencies>
27
  </package>