jdt 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }