jdt 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/.gitignore +6 -0
  2. data/.rspec +2 -0
  3. data/CHANGELOG.md +1 -0
  4. data/Gemfile +9 -0
  5. data/Gemfile.lock +64 -0
  6. data/LICENSE +7 -0
  7. data/README.md +101 -0
  8. data/Rakefile +2 -0
  9. data/bin/jdt +16 -0
  10. data/features/build.feature +0 -0
  11. data/features/manifest.feature +25 -0
  12. data/features/new.feature +97 -0
  13. data/features/release.feature +47 -0
  14. data/features/status.feature +22 -0
  15. data/features/step_definitions/my_steps.rb +37 -0
  16. data/features/support/env.rb +7 -0
  17. data/features/support/setup.rb +2 -0
  18. data/features/validate.feature +0 -0
  19. data/features/version.feature +9 -0
  20. data/jdt.gemspec +25 -0
  21. data/lib/jdt/cli.rb +34 -0
  22. data/lib/jdt/commands/build.rb +28 -0
  23. data/lib/jdt/commands/bump.rb +37 -0
  24. data/lib/jdt/commands/install.rb +20 -0
  25. data/lib/jdt/commands/new.rb +31 -0
  26. data/lib/jdt/commands/pretty_print.rb +16 -0
  27. data/lib/jdt/commands/secure.rb +19 -0
  28. data/lib/jdt/commands/status.rb +21 -0
  29. data/lib/jdt/commands/validate.rb +35 -0
  30. data/lib/jdt/commands/version.rb +18 -0
  31. data/lib/jdt/generator/generator.rb +262 -0
  32. data/lib/jdt/generator/templates/access.xml.erb +10 -0
  33. data/lib/jdt/generator/templates/component/admin/access.xml.erb +0 -0
  34. data/lib/jdt/generator/templates/component/admin/com_name.erb +0 -0
  35. data/lib/jdt/generator/templates/component/admin/config.xml.erb +0 -0
  36. data/lib/jdt/generator/templates/component/admin/controller.erb +0 -0
  37. data/lib/jdt/generator/templates/component/admin/views/view_name/tmpl/default.erb +0 -0
  38. data/lib/jdt/generator/templates/component/admin/views/view_name/view.html.erb +0 -0
  39. data/lib/jdt/generator/templates/component/index.html.erb +1 -0
  40. data/lib/jdt/generator/templates/component/manifest.xml.erb +46 -0
  41. data/lib/jdt/generator/templates/component/script.php.erb +66 -0
  42. data/lib/jdt/generator/templates/component/site/com_name.php.erb +15 -0
  43. data/lib/jdt/generator/templates/component/site/controller.php.erb +14 -0
  44. data/lib/jdt/generator/templates/component/site/models/com_model_name.erb +0 -0
  45. data/lib/jdt/generator/templates/component/site/views/view_name/tmpl/default.php.erb +0 -0
  46. data/lib/jdt/generator/templates/component/site/views/view_name/tmpl/default.xml.erb +0 -0
  47. data/lib/jdt/generator/templates/component/site/views/view_name/view.html.erb +0 -0
  48. data/lib/jdt/generator/templates/config.xml.erb +6 -0
  49. data/lib/jdt/generator/templates/controller.php.erb +13 -0
  50. data/lib/jdt/generator/templates/dummy_html.erb +1 -0
  51. data/lib/jdt/generator/templates/entry.erb +15 -0
  52. data/lib/jdt/generator/templates/manifest.xml.erb +59 -0
  53. data/lib/jdt/generator/templates/module/helper.php.erb +14 -0
  54. data/lib/jdt/generator/templates/module/manifest.xml.erb +16 -0
  55. data/lib/jdt/generator/templates/module/mod_name.php.erb +10 -0
  56. data/lib/jdt/generator/templates/module/tmpl/default.php.erb +3 -0
  57. data/lib/jdt/generator/templates/plugin/main.php.erb +0 -0
  58. data/lib/jdt/generator/templates/plugin/manifest.xml.erb +16 -0
  59. data/lib/jdt/generator/templates/script.php.erb +66 -0
  60. data/lib/jdt/generator.rb +1 -0
  61. data/lib/jdt/manifest/attributes.rb +77 -0
  62. data/lib/jdt/manifest/build.rb +106 -0
  63. data/lib/jdt/manifest/bump.rb +40 -0
  64. data/lib/jdt/manifest/find.rb +58 -0
  65. data/lib/jdt/manifest/library_manifest.rb +19 -0
  66. data/lib/jdt/manifest/manifest.rb +29 -0
  67. data/lib/jdt/manifest/referenced.rb +96 -0
  68. data/lib/jdt/manifest/schemas/library.xsd +80 -0
  69. data/lib/jdt/manifest/schemas/manifest.xsd +32 -0
  70. data/lib/jdt/manifest/secure.rb +39 -0
  71. data/lib/jdt/manifest/validation.rb +121 -0
  72. data/lib/jdt/manifest/xslts/pretty_print.xsl +46 -0
  73. data/lib/jdt/manifest.rb +9 -0
  74. data/lib/jdt/version.rb +3 -0
  75. data/lib/jdt.rb +0 -0
  76. data/lib/not_yet_added/deploy.rb +54 -0
  77. data/lib/not_yet_added/xampp.rb +82 -0
  78. data/spec/jdt/generator/generator_spec.rb +55 -0
  79. data/spec/jdt/manifest/data/example_library/.gitignore +1 -0
  80. data/spec/jdt/manifest/data/example_library/ActiveRecord.php +3 -0
  81. data/spec/jdt/manifest/data/example_library/JoomlaActiveRecord.php +56 -0
  82. data/spec/jdt/manifest/data/example_library/JoomlaConfig.php +42 -0
  83. data/spec/jdt/manifest/data/example_library/README.md +51 -0
  84. data/spec/jdt/manifest/data/example_library/dist/asdf.txt +0 -0
  85. data/spec/jdt/manifest/data/example_library/manifest.xml +22 -0
  86. data/spec/jdt/manifest/data/library.xml +33 -0
  87. data/spec/jdt/manifest/data/library_error.xml +23 -0
  88. data/spec/jdt/manifest/data/library_minimum.xml +11 -0
  89. data/spec/jdt/manifest/data/manifest.xml +4 -0
  90. data/spec/jdt/manifest/example_library_spec.rb +27 -0
  91. data/spec/jdt/manifest/finder_spec.rb +58 -0
  92. data/spec/jdt/manifest/library_manifest_spec.rb +17 -0
  93. data/spec/jdt/manifest/manifest_spec.rb +68 -0
  94. data/spec/jdt/manifest/referenced_spec.rb +28 -0
  95. data/spec/jdt/manifest/secure_spec.rb +42 -0
  96. data/spec/jdt/manifest/validation_spec.rb +45 -0
  97. data/spec/jdt/version_spec.rb +9 -0
  98. metadata +211 -0
@@ -0,0 +1,16 @@
1
+ module Jdt
2
+
3
+ class CLI < Thor
4
+
5
+ desc "manifest", "prints the contents of the manifest on the console"
6
+ method_options :location => "."
7
+
8
+ def manifest
9
+ handle_errors do
10
+ say Jdt::Manifest.find(options[:location]).to_xml
11
+ end
12
+ end
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,19 @@
1
+ require "thor"
2
+
3
+
4
+ module Jdt
5
+
6
+ class CLI < Thor
7
+ include Thor::Actions
8
+
9
+ desc "secure", "ensures the existence of index.html for every referenced folder"
10
+ method_options :location => "."
11
+
12
+ def secure ()
13
+ handle_errors do
14
+ Manifest.find(options[:location]).secure
15
+ end
16
+
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ require 'thor'
2
+
3
+ module Jdt
4
+
5
+ class CLI < Thor
6
+ include Thor::Actions
7
+
8
+ desc "status", "displays information about Joomla! extension in current directory"
9
+ method_options :location => "."
10
+
11
+ def status
12
+
13
+ handle_errors do
14
+ manifest = Manifest.find(options[:location])
15
+ say("Extension #{manifest.prefixed_name_with_version}")
16
+ end
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -0,0 +1,35 @@
1
+ require "thor"
2
+
3
+ module Jdt
4
+
5
+ class CLI < Thor
6
+
7
+ desc "validate", "validates the manifest file against schema and additional validations"
8
+ method_options :location => "."
9
+
10
+ def validate
11
+
12
+ handle_errors do
13
+
14
+ manifest = Manifest.find(options[:location])
15
+ if (manifest.valid?)
16
+ say "Manifest (#{manifest.file}) is valid"
17
+ else
18
+ say "Manifest (#{manifest.file}) is NOT valid"
19
+ manifest.errors.each do |error|
20
+ say "ERR: #{error}"
21
+ end
22
+ end
23
+
24
+ if (not manifest.warnings.empty?)
25
+ manifest.warnings.each do |warning|
26
+ say "WARN: #{warning}"
27
+ end
28
+ end
29
+ end
30
+ end
31
+
32
+
33
+ end
34
+
35
+ end
@@ -0,0 +1,18 @@
1
+ require "thor"
2
+
3
+ require "jdt/version"
4
+
5
+ module Jdt
6
+
7
+ class CLI < Thor
8
+ include Thor::Actions
9
+
10
+ desc "version", "prints the current version of the JDT"
11
+ def version()
12
+ say "#{Jdt::VERSION}"
13
+ end
14
+
15
+ end
16
+
17
+ end
18
+
@@ -0,0 +1,262 @@
1
+ require 'thor'
2
+ require 'date'
3
+ require 'nokogiri'
4
+
5
+ module Jdt
6
+
7
+ class ExtensionTypeNotFoundError < RuntimeError;
8
+ end
9
+
10
+ class Generator < Thor
11
+ include Thor::Actions
12
+
13
+ # include templates directory
14
+ def self.source_root
15
+ File.dirname(__FILE__)
16
+ end
17
+
18
+ attr_accessor :name, :author, :description, :creation_date, :location
19
+
20
+ def initialize(name)
21
+ @name = name
22
+ @version = "0.0.1"
23
+ @author = "AUTHOR"
24
+ @description = "DESCRIPTION"
25
+ @creation_date = "#{Date::MONTHNAMES[Time.now.month]} #{Time.now.year}"
26
+ @location = "."
27
+ end
28
+
29
+ no_tasks{
30
+ def generate
31
+ # create directory
32
+ empty_directory(prefixed_name)
33
+
34
+ # TODO create README, LICENSE, CHANGELOG
35
+ end
36
+
37
+ def type
38
+ throw NoMethodError
39
+ end
40
+
41
+ def type_short
42
+ throw NoMethodError
43
+ end
44
+
45
+ def self.find(type, name)
46
+
47
+ if (type == :component)
48
+ ComponentGenerator.new(name)
49
+ elsif(type == :module)
50
+ ModuleGenerator.new(name)
51
+ elsif(type == :plugin)
52
+ PluginGenerator.new(name)
53
+ elsif(type == :library)
54
+ LibraryGenerator.new(name)
55
+ elsif(type == :template)
56
+ TemplateGenerator.new(name)
57
+ elsif(type == :language)
58
+ LanguageGenerator.new(name)
59
+ else
60
+ raise ExtensionTypeNotFoundError
61
+ end
62
+
63
+ end
64
+
65
+ def prefixed_name
66
+ "#{type_short}_#{name}"
67
+ end
68
+
69
+ def folder
70
+ "#{location}/#{prefixed_name}"
71
+ end
72
+ }
73
+ end
74
+
75
+ class LanguageGenerator < Generator
76
+ no_tasks{
77
+ def generate
78
+ super
79
+
80
+ end
81
+
82
+ def type
83
+ "language"
84
+ end
85
+
86
+ def type_short
87
+ "lang"
88
+ end
89
+ }
90
+ end
91
+
92
+ class TemplateGenerator < Generator
93
+ no_tasks{
94
+ def generate
95
+ super
96
+
97
+ #create empty directory
98
+ empty_directory("#{folder}/css")
99
+ empty_directory("#{folder}/html")
100
+ empty_directory("#{folder}/images")
101
+ end
102
+
103
+ def type
104
+ "template"
105
+ end
106
+
107
+ def type_short
108
+ "tpl"
109
+ end
110
+ }
111
+ end
112
+
113
+ class LibraryGenerator < Generator
114
+ no_tasks{
115
+ def generate
116
+ super
117
+ end
118
+
119
+ def type
120
+ "library"
121
+ end
122
+
123
+ def type_short
124
+ "lib"
125
+ end
126
+ }
127
+ end
128
+
129
+ class PluginGenerator < Generator
130
+ no_tasks{
131
+ def generate
132
+ super
133
+
134
+ # create files
135
+ template("templates/plugin/manifest.xml.erb", "#{folder}/#{prefixed_name}.xml")
136
+ template("templates/plugin/main.php.erb", "#{folder}/#{prefixed_name}.php")
137
+ end
138
+
139
+ def type
140
+ "plugin"
141
+ end
142
+
143
+ def type_short
144
+ "plg"
145
+ end
146
+ }
147
+ end
148
+
149
+ class ModuleGenerator < Generator
150
+ no_tasks{
151
+ def generate
152
+ super
153
+
154
+ # create sub directories
155
+ empty_directory("#{folder}/tmpl")
156
+
157
+ # create files
158
+ template("templates/module/manifest.xml.erb", "#{folder}/#{prefixed_name}.xml")
159
+ template("templates/module/mod_name.php.erb", "#{folder}/#{prefixed_name}.php")
160
+ template("templates/module/helper.php.erb", "#{folder}/helper.php")
161
+ template("templates/module/tmpl/default.php.erb", "#{folder}/tmpl/default.php")
162
+ end
163
+
164
+ def type
165
+ "module"
166
+ end
167
+
168
+ def type_short
169
+ "mod"
170
+ end
171
+ }
172
+ end
173
+
174
+ class ComponentGenerator < Generator
175
+ no_tasks{
176
+ def generate
177
+ super
178
+
179
+ view_name = "#{name}"
180
+
181
+ empty_directory("#{folder}")
182
+ template('templates/component/manifest.xml.erb', "#{folder}/manifest.xml")
183
+ template('templates/component/script.php.erb', "#{folder}/script.php")
184
+
185
+ # site
186
+ site_dir = "#{folder}/site"
187
+ empty_directory("#{site_dir}")
188
+ template('templates/component/site/com_name.php.erb', "#{site_dir}/#{prefixed_name}.php")
189
+ template('templates/component/site/controller.php.erb', "#{site_dir}/controller.php")
190
+
191
+ #site view
192
+ empty_directory("#{site_dir}/views/")
193
+ empty_directory("#{site_dir}/views/#{view_name}")
194
+ template('templates/component/site/views/view_name/view.html.erb', "#{site_dir}/views/#{view_name}/view.html.php")
195
+ empty_directory("#{site_dir}/views/#{view_name}/tmpl")
196
+ template('templates/component/site/views/view_name/tmpl/default.php.erb', "#{site_dir}/views/#{view_name}/tmpl/default.php")
197
+ template('templates/component/site/views/view_name/tmpl/default.xml.erb', "#{site_dir}/views/#{view_name}/tmpl/default.xml")
198
+
199
+ #site models
200
+ empty_directory("#{site_dir}/models/")
201
+ template('templates/component/site/models/com_model_name.erb', "#{site_dir}/models/com_#{name}.php")
202
+
203
+ #site controllers
204
+ empty_directory("#{site_dir}/controllers/")
205
+
206
+ #site language
207
+ empty_directory("#{site_dir}/language/")
208
+ empty_directory("#{site_dir}/language/en-GB/")
209
+ empty_directory("#{site_dir}/language/de-DE/")
210
+
211
+ # admin
212
+ admin_dir = "#{folder}/admin"
213
+ empty_directory("#{admin_dir}")
214
+ template('templates/component/admin/access.xml.erb', "#{admin_dir}/access.xml")
215
+ template('templates/component/admin/config.xml.erb', "#{admin_dir}/config.xml")
216
+ template('templates/component/admin/com_name.php.erb', "#{admin_dir}/com_#{name}.php")
217
+ template('templates/component/admin/controller.php.erb', "#{admin_dir}/controller.php")
218
+
219
+ #admin views
220
+ empty_directory("#{admin_dir}/views/")
221
+ empty_directory("#{admin_dir}/views/#{view_name}")
222
+ template('templates/component/admin/views/view_name/view.html.erb', "#{admin_dir}/views/#{view_name}/view.html.php")
223
+ empty_directory("#{admin_dir}/views/#{view_name}/tmpl")
224
+ template('templates/component/admin/views/view_name/tmpl/default.php.erb', "#{admin_dir}/views/#{view_name}/tmpl/default.php")
225
+
226
+ #admin models
227
+ empty_directory("#{admin_dir}/models/")
228
+ empty_directory("#{admin_dir}/models/forms/")
229
+ empty_directory("#{admin_dir}/models/rules/")
230
+ empty_directory("#{admin_dir}/models/fields/")
231
+
232
+ #admin controllers
233
+ empty_directory("#{admin_dir}/controllers/")
234
+
235
+ #admin helpers
236
+ empty_directory("#{admin_dir}/helpers/")
237
+
238
+ #admin tables
239
+ empty_directory("#{admin_dir}/tables/")
240
+
241
+ #admin language
242
+ empty_directory("#{admin_dir}/language/")
243
+ empty_directory("#{admin_dir}/language/en-GB/")
244
+ empty_directory("#{admin_dir}/language/de-DE/")
245
+
246
+ #admin sql
247
+ empty_directory("#{admin_dir}/sql/")
248
+ empty_directory("#{admin_dir}/sql/updates/")
249
+
250
+ end
251
+
252
+ def type
253
+ "component"
254
+ end
255
+
256
+ def type_short
257
+ "com"
258
+ end
259
+ }
260
+ end
261
+
262
+ end
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8" ?>
2
+ <access component="<%= @name %>">
3
+ <section name="component">
4
+ <action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
5
+ <action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
6
+ <action name="core.create" title="JACTION_CREATE" description="JACTION_CREATE_COMPONENT_DESC" />
7
+ <action name="core.delete" title="JACTION_DELETE" description="JACTION_DELETE_COMPONENT_DESC" />
8
+ <action name="core.edit" title="JACTION_EDIT" description="JACTION_EDIT_COMPONENT_DESC" />
9
+ </section>
10
+ </access>
@@ -0,0 +1 @@
1
+ <html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,46 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <extension type="component" version="1.6.0" method="upgrade">
3
+
4
+ <name><%= @name %></name>
5
+ <creationDate><%= @creation_date %></creationDate>
6
+ <author><%= @author %></author>
7
+ <version><%= @version %></version>
8
+ <description><%= @description %></description>
9
+
10
+ <!-- Site Main File Copy Section -->
11
+ <files folder="site">
12
+ <filename>com_<%= @name %>.php</filename>
13
+ <filename>controller.php</filename>
14
+ <folder>views</folder>
15
+ <folder>models</folder>
16
+ <folder>controllers</folder>
17
+ <folder>language</folder>
18
+ </files>
19
+
20
+
21
+ <administration>
22
+
23
+ <!-- Admin Main File Copy Section -->
24
+ <files folder="admin">
25
+ <!-- Admin Main File Copy Section -->
26
+ <filename>config.xml</filename>
27
+ <filename>access.xml</filename>
28
+
29
+ <filename><%= @name %>.php</filename>
30
+ <filename>controller.php</filename>
31
+ <!-- SQL files section -->
32
+ <folder>sql</folder>
33
+ <!-- tables files section -->
34
+ <folder>tables</folder>
35
+ <!-- models files section -->
36
+ <folder>models</folder>
37
+ <!-- views files section -->
38
+ <folder>views</folder>
39
+ <!-- controllers files section -->
40
+ <folder>controllers</folder>
41
+ <!-- helpers files section -->
42
+ <folder>helpers</folder>
43
+ </files>
44
+ </administration>
45
+
46
+ </extension>
@@ -0,0 +1,66 @@
1
+ <?php
2
+ // No direct access to this file
3
+ defined('_JEXEC') or die('Restricted access');
4
+
5
+ /**
6
+ * Script file of <%= @name %> component
7
+ */
8
+ class com_<%= @name %>InstallerScript
9
+ {
10
+ /**
11
+ * method to install the component
12
+ *
13
+ * @return void
14
+ */
15
+ function install($parent)
16
+ {
17
+ // $parent is the class calling this method
18
+ $parent->getParent()->setRedirectURL('index.php?option=com_<%= @name %>');
19
+ }
20
+
21
+ /**
22
+ * method to uninstall the component
23
+ *
24
+ * @return void
25
+ */
26
+ function uninstall($parent)
27
+ {
28
+ // $parent is the class calling this method
29
+ echo '<p>' . JText::_('COM_<%= @name.upcase %>_UNINSTALL_TEXT') . '</p>';
30
+ }
31
+
32
+ /**
33
+ * method to update the component
34
+ *
35
+ * @return void
36
+ */
37
+ function update($parent)
38
+ {
39
+ // $parent is the class calling this method
40
+ echo '<p>' . JText::_('COM_<%= @name.upcase %>_UPDATE_TEXT') . '</p>';
41
+ }
42
+
43
+ /**
44
+ * method to run before an install/update/uninstall method
45
+ *
46
+ * @return void
47
+ */
48
+ function preflight($type, $parent)
49
+ {
50
+ // $parent is the class calling this method
51
+ // $type is the type of change (install, update or discover_install)
52
+ echo '<p>' . JText::_('COM_<%= @name.upcase %>_PREFLIGHT_' . $type . '_TEXT') . '</p>';
53
+ }
54
+
55
+ /**
56
+ * method to run after an install/update/uninstall method
57
+ *
58
+ * @return void
59
+ */
60
+ function postflight($type, $parent)
61
+ {
62
+ // $parent is the class calling this method
63
+ // $type is the type of change (install, update or discover_install)
64
+ echo '<p>' . JText::_('COM_<%= @name.upcase %>_POSTFLIGHT_' . $type . '_TEXT') . '</p>';
65
+ }
66
+ }
@@ -0,0 +1,15 @@
1
+ <?php
2
+ // No direct access to this file
3
+ defined('_JEXEC') or die('Restricted access');
4
+
5
+ // import joomla controller library
6
+ jimport('joomla.application.component.controller');
7
+
8
+ // Get an instance of the controller prefixed by <%= @name %>
9
+ $controller = JController::getInstance('<%= @name %>');
10
+
11
+ // Perform the Request task
12
+ $controller->execute(JRequest::getCmd('task'));
13
+
14
+ // Redirect if set by the controller
15
+ $controller->redirect();
@@ -0,0 +1,14 @@
1
+ <?php
2
+ // No direct access to this file
3
+ defined('_JEXEC') or die('Restricted access');
4
+
5
+ // import Joomla controller library
6
+ jimport('joomla.application.component.controller');
7
+
8
+ /**
9
+ * Component Controller
10
+ */
11
+ class <%= @name %>Controller extends JController
12
+ {
13
+
14
+ }
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <config>
3
+ <!-- parameter for the component.
4
+ GUI will be automatically provided
5
+ -->
6
+ </config>
@@ -0,0 +1,13 @@
1
+ <?php
2
+ // No direct access to this file
3
+ defined('_JEXEC') or die('Restricted access');
4
+
5
+ // import Joomla controller library
6
+ jimport('joomla.application.component.controller');
7
+
8
+ /**
9
+ * Hello World Component Controller
10
+ */
11
+ class <%= @name %>Controller extends JController
12
+ {
13
+ }
@@ -0,0 +1 @@
1
+ <html><body bgcolor="#FFFFFF"></body></html>
@@ -0,0 +1,15 @@
1
+ <?php
2
+ // No direct access to this file
3
+ defined('_JEXEC') or die('Restricted access');
4
+
5
+ // import joomla controller library
6
+ jimport('joomla.application.component.controller');
7
+
8
+ // Get an instance of the controller prefixed by <%= @name %>
9
+ $controller = JController::getInstance('<%= @name %>');
10
+
11
+ // Perform the Request task
12
+ $controller->execute(JRequest::getCmd('task'));
13
+
14
+ // Redirect if set by the controller
15
+ $controller->redirect();
@@ -0,0 +1,59 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <install type="<%= @type %>" version="1.6.0">
3
+
4
+ <name><%= @name %></name>
5
+ <libraryname><%= @name %></libraryname>
6
+ <version><%= @version %></version>
7
+
8
+ <description>Contains php-activerecord 1.0 from http://www.phpactiverecord.org/</description>
9
+
10
+ <creationDate>January 2011</creationDate>
11
+
12
+ <author>Simon Harrer</author>
13
+ <authorEmail>simon.harrer@feki.de</authorEmail>
14
+ <authorUrl>http://www.feki.de/</authorUrl>
15
+
16
+ <copyright>Feki.de e.V. (c)</copyright>
17
+ <license>License Info</license>
18
+
19
+
20
+ <!-- Runs on install/uninstall/update -->
21
+ <scriptfile>script.php</scriptfile>
22
+
23
+ <!-- Site Main File Copy Section -->
24
+ <files folder="site">
25
+ <filename><%= @name %>.php</filename>
26
+ <filename>controller.php</filename>
27
+ <folder>views</folder>
28
+ <folder>models</folder>
29
+ <folder>language</folder>
30
+ </files>
31
+
32
+
33
+ <administration>
34
+
35
+ <!-- Admin Main File Copy Section -->
36
+ <files folder="admin">
37
+ <!-- Admin Main File Copy Section -->
38
+ <filename>config.xml</filename>
39
+ <filename>access.xml</filename>
40
+
41
+ <filename><%= @name %>.php</filename>
42
+ <filename>controller.php</filename>
43
+ <!-- SQL files section -->
44
+ <folder>sql</folder>
45
+ <!-- tables files section -->
46
+ <folder>tables</folder>
47
+ <!-- models files section -->
48
+ <folder>models</folder>
49
+ <!-- views files section -->
50
+ <folder>views</folder>
51
+ <!-- controllers files section -->
52
+ <folder>controllers</folder>
53
+ <!-- helpers files section -->
54
+ <folder>helpers</folder>
55
+ </files>
56
+ </administration>
57
+
58
+
59
+ </install>
@@ -0,0 +1,14 @@
1
+ <?php
2
+ class mod<%= @name.capitalize %>Helper
3
+ {
4
+ /**
5
+ * Retrieves the hello message
6
+ *
7
+ * @param array $params An object containing the module parameters
8
+ * @access public
9
+ */
10
+ function getHello( $params )
11
+ {
12
+ return 'Hello, World!';
13
+ }
14
+ }