kamila 1.0.1

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 (75) hide show
  1. data/doc/classes/Array2D.html +221 -0
  2. data/doc/classes/Array2D.src/M000001.html +19 -0
  3. data/doc/classes/Array2D.src/M000002.html +18 -0
  4. data/doc/classes/Array2D.src/M000003.html +18 -0
  5. data/doc/classes/Array2D.src/M000004.html +23 -0
  6. data/doc/classes/CfYiyi.html +172 -0
  7. data/doc/classes/CfYiyi.src/M000011.html +17 -0
  8. data/doc/classes/CfYiyi.src/M000012.html +26 -0
  9. data/doc/classes/EscapeShellCmd.html +157 -0
  10. data/doc/classes/EscapeShellCmd.src/M000013.html +18 -0
  11. data/doc/classes/Example.html +184 -0
  12. data/doc/classes/Example.src/M000005.html +17 -0
  13. data/doc/classes/Example.src/M000006.html +19 -0
  14. data/doc/classes/Example.src/M000007.html +19 -0
  15. data/doc/classes/Example.src/M000008.html +20 -0
  16. data/doc/classes/Method/Overload.html +123 -0
  17. data/doc/classes/Method/Signature.html +315 -0
  18. data/doc/classes/Method/Signature.src/M000015.html +20 -0
  19. data/doc/classes/Method/Signature.src/M000016.html +18 -0
  20. data/doc/classes/Method/Signature.src/M000017.html +18 -0
  21. data/doc/classes/Method/Signature.src/M000018.html +18 -0
  22. data/doc/classes/Method/Signature.src/M000019.html +22 -0
  23. data/doc/classes/Method/Signature.src/M000020.html +18 -0
  24. data/doc/classes/Method/Signature.src/M000021.html +21 -0
  25. data/doc/classes/Method/Signature.src/M000022.html +26 -0
  26. data/doc/classes/Method/Signature.src/M000023.html +36 -0
  27. data/doc/classes/Method/Signature.src/M000024.html +18 -0
  28. data/doc/classes/Method/Signature.src/M000025.html +24 -0
  29. data/doc/classes/Method/Signature.src/M000026.html +18 -0
  30. data/doc/classes/Method.html +144 -0
  31. data/doc/classes/Method.src/M000014.html +33 -0
  32. data/doc/classes/Module.html +111 -0
  33. data/doc/classes/MyCGI.html +137 -0
  34. data/doc/classes/MyCGI.src/M000034.html +18 -0
  35. data/doc/classes/ScanearDisco.html +251 -0
  36. data/doc/classes/ScanearDisco.src/M000027.html +24 -0
  37. data/doc/classes/ScanearDisco.src/M000028.html +28 -0
  38. data/doc/classes/ScanearDisco.src/M000029.html +52 -0
  39. data/doc/classes/ScanearDisco.src/M000030.html +19 -0
  40. data/doc/classes/ScanearDisco.src/M000031.html +48 -0
  41. data/doc/classes/ScanearDisco.src/M000032.html +40 -0
  42. data/doc/classes/TestEscapeShellCmd.html +137 -0
  43. data/doc/classes/TestEscapeShellCmd.src/M000033.html +19 -0
  44. data/doc/classes/Utilidades.html +173 -0
  45. data/doc/classes/Utilidades.src/M000009.html +17 -0
  46. data/doc/classes/Utilidades.src/M000010.html +28 -0
  47. data/doc/created.rid +1 -0
  48. data/doc/files/lib/Array2D_rb.html +120 -0
  49. data/doc/files/lib/cf_yiyi_rb.html +120 -0
  50. data/doc/files/lib/escape_shell_cmd_rb.html +121 -0
  51. data/doc/files/lib/mycgi_rb.html +127 -0
  52. data/doc/files/lib/overload_rb.html +101 -0
  53. data/doc/files/lib/scanear_disco_rb.html +140 -0
  54. data/doc/files/lib/utilidades_rb.html +120 -0
  55. data/doc/files/test/testEscapeShellCmd_rb.html +116 -0
  56. data/doc/files/test/testmycgi_rb.html +109 -0
  57. data/doc/files/test/testoverload_rb.html +101 -0
  58. data/doc/fr_class_index.html +38 -0
  59. data/doc/fr_file_index.html +36 -0
  60. data/doc/fr_method_index.html +60 -0
  61. data/doc/index.html +24 -0
  62. data/lib/Array2D.rb +33 -0
  63. data/lib/application.rb +3509 -0
  64. data/lib/cerrar.sh +2 -0
  65. data/lib/cf_yiyi.rb +26 -0
  66. data/lib/escape_shell_cmd.rb +24 -0
  67. data/lib/kamila.rb +452 -0
  68. data/lib/mycgi.rb +41 -0
  69. data/lib/mypdf.rb +215 -0
  70. data/lib/overload.rb +197 -0
  71. data/lib/scanear_disco.rb +169 -0
  72. data/lib/smtp_tls.rb +66 -0
  73. data/lib/utilidades.rb +29 -0
  74. data/test/testEscapeShellCmd.rb +12 -0
  75. metadata +133 -0
data/lib/cerrar.sh ADDED
@@ -0,0 +1,2 @@
1
+ # Cerrar
2
+ rm $1
data/lib/cf_yiyi.rb ADDED
@@ -0,0 +1,26 @@
1
+ # /****************************************************************************/
2
+ # /* clase CfYiyi */
3
+ # /* */
4
+ # /* Clase de Control */
5
+ # /****************************************************************************/
6
+ # /*
7
+ # Version: 1.0 en ruby 1.8.x
8
+ # Fecha : 28 de Marzo 2008
9
+ # Autor : Prof. Edgar Gonzalez
10
+ # Email : edgargonzalezmunoz@gmail.com
11
+ # */
12
+ class CfYiyi
13
+ def initialize()
14
+ end
15
+ def control()
16
+ valor = false
17
+ fechatope = "20091231"
18
+ fechaactual = Time.now().strftime("%Y%m%d")
19
+ if fechatope<fechaactual
20
+ puts "No puede usar este componente\nLlamar al Prof. Edgar Gonzalez\nAl telefono: +58 02512591601"
21
+ else
22
+ valor = true
23
+ end
24
+ return valor
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ # /****************************************************************************/
2
+ # /* clase EscapeShellCmd */
3
+ # /* */
4
+ # /* Clase que hace igual que el comando: escapeshellcmd de PHP */
5
+ # /****************************************************************************/
6
+ # /*
7
+ # Version : 1.0 en ruby 1.8.x
8
+ # Fecha : 01 de Abril 2008
9
+ # Fuente : http://d.hatena.ne.jp/babie/20051201/p1
10
+ # Adaptacion : Prof. Edgar Gonzalez
11
+ # Email : edgargonzalezmunoz@gmail.com
12
+ # */
13
+ #!ruby
14
+
15
+ class EscapeShellCmd
16
+ def escapeshellcmd(cmd)
17
+ return cmd.gsub(/(["'#&;`|*?~<>^()\[\]{}$\\\x0A\xFF])/) { "" }
18
+ end
19
+ end
20
+
21
+
22
+
23
+
24
+
data/lib/kamila.rb ADDED
@@ -0,0 +1,452 @@
1
+ # ******************** kamila version 1.0.1 - Framework *********************
2
+ #
3
+ # Copyright (C) 2008 Edgar Gonzalez (egonzale.wordpress.com)
4
+ #
5
+ # This framework is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This framework is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this framework; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
+ #
19
+ # Este framework es software libre; puedes redistribuirlo y/o modificarlo
20
+ # bajo los terminos de la licencia publica general GNU tal y como fue publicada
21
+ # por la Fundacion del Software Libre; desde la version 2.1 o cualquier
22
+ # versi&oacute;n superior.
23
+ #
24
+ # Este framework es distribuido con la esperanza de ser util pero SIN NINGUN
25
+ # TIPO DE GARANTIA; sin dejar atras su LADO MERCANTIL o PARA FAVORECER ALGUN
26
+ # FIN EN PARTICULAR. Lee la licencia publica general para mas detalles.
27
+ #
28
+ # Debes recibir una copia de la Licencia Publica General GNU junto con este
29
+ # framework, si no es asi, escribe a Fundacion del Software Libre Inc.,
30
+ # 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31
+ # ***************************************************************************
32
+ =begin
33
+ Classes : Kamila
34
+ Source : kamila.rb
35
+ Autor : Edgar Gonzalez
36
+ Email : edgargonzalezmunoz@gmail.com
37
+ Blog : egonzale.wordpress.com
38
+ Website : www.myjavaserver.com/~egonzale
39
+ Framework : kamila versión 1.0.1
40
+ Fecha : 18 de Julio del 2008
41
+ =end
42
+
43
+ require 'rubygems' # Libreria de gems rubyforge
44
+ require "mycgi" # Libreria del autor.
45
+ require 'cgi' # Libreria de cgi con ruby.
46
+ require 'cgi/session' # Libreria de cgi con ruby.
47
+ require 'cgi/session/pstore' # Libreria de cgi con ruby.
48
+ require "utilidades" # Libreria autor.
49
+ require "fileutils" # Libreria de ruby
50
+ require 'yaml' # Libreria de ruby
51
+ require "session" # Libreria de terceros
52
+
53
+ class Kamila
54
+ def initialize()
55
+ end
56
+ public
57
+ def Kamila.init()
58
+ # obtener informacion del IP del Servidor y el IP del Cliente
59
+ $kamila_serveraddr = ENV['SERVER_ADDR']
60
+ $kamila_remoteaddr = ENV['REMOTE_ADDR']
61
+ # Obtener la informacion del URL: controlador/accion/parametros y definiendo variables globales
62
+ $kamila_mensaje = String.new
63
+ $kamila_titulo = ""
64
+ $kamila_mensaje = ""
65
+ $kamila_array_items = Array.new()
66
+ $kamila_array_items = ENV['REQUEST_URI'].split('/')
67
+ $kamila_website = $kamila_array_items[1].to_s
68
+ #if ENV['HTTP_REFERER'].to_s != ''
69
+ # $kamila_site = ENV['HTTP_REFERER'].to_s
70
+ #else
71
+ $kamila_site = "http://" + ENV['HTTP_HOST'].to_s + "/"+$kamila_array_items[1].to_s
72
+ #end
73
+ dirHome = Dir.getwd()
74
+ #$kamila_home = ENV['DOCUMENT_ROOT'].to_s
75
+ #Dir.chdir("../")
76
+ $kamila_home = dirHome
77
+ $kamila_home = $kamila_home.to_s
78
+
79
+ # Creando el objeto CGI
80
+ $kamila_cgi = MyCGI.new("html4Tr")
81
+
82
+ # Cargar los mensajes y Validar MVC++
83
+ begin
84
+ if File.exist?($kamila_home+"/config/config.yml")
85
+ kamila_config = YAML.load(File.open($kamila_home+"/config/config.yml"))
86
+ $kamila_MVCPlusPlus = kamila_config["mvcplusplus"]
87
+ $kamila_defaultMessagesType = kamila_config["defaultMessages"]
88
+ if $kamila_defaultMessagesType!=nil
89
+ case $kamila_defaultMessagesType
90
+ when "es"
91
+ $kamila_defaultMessages = kamila_config["spanish"]
92
+ when "en"
93
+ $kamila_defaultMessages = kamila_config["english"]
94
+ when "ruby"
95
+ $kamila_defaultMessages = kamila_config["english"]
96
+ end
97
+ else
98
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
99
+ $kamila_titulo = "Error"
100
+ $kamila_mensaje = "Configuration file config.yml damaged"
101
+ $kamila_linkto = $kamila_site
102
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
103
+ end
104
+ else
105
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
106
+ $kamila_titulo = "Error"
107
+ $kamila_mensaje = "Configuration file config.yml not exist"
108
+ $kamila_linkto = $kamila_site
109
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
110
+ end
111
+ rescue
112
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
113
+ $kamila_titulo = "Error"
114
+ $kamila_mensaje = "Configuration file config.yml damaged"
115
+ $kamila_linkto = $kamila_site
116
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
117
+ end
118
+ if $kamila_defaultMessages==nil
119
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
120
+ $kamila_titulo = "Error"
121
+ $kamila_mensaje = "Configuration file config.yml damaged"
122
+ $kamila_linkto = $kamila_site
123
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
124
+ end
125
+
126
+ # Definir Path de la libreria de Kamila para Ubuntu y Familia
127
+ # $kamila_lib = "/usr/lib/ruby/gems/1.8/gems/kamila-1.0.1/lib/"
128
+ if $kamila_scan==nil or $kamila_scan==''
129
+ require 'rubygems'
130
+ require "scanear_disco"
131
+ arregloLOADPATH = $LOAD_PATH
132
+ nodoPATH=nil
133
+ objDir = ScanearDisco.new
134
+ dirActual = arregloLOADPATH[1]
135
+ existe=objDir.scandisco(nodoPATH,dirActual)
136
+ if existe==true
137
+ $kamila_lib = dirActual.to_s + "/"
138
+ else
139
+ $kamila_lib = ""
140
+ end
141
+ $kamila_scan=true
142
+ # Para Debian idea de Marco Antonio Villegas Garcia alumno de laboratorio III, promo 45
143
+ bash = Session::Bash.new
144
+ comando = 'cat /proc/version'
145
+ so = bash.execute comando
146
+ if so.to_s.index('Debian')!=nil
147
+ $kamila_lib = "/var/lib/gems/1.8/gems/kamila-1.0.1/lib/"
148
+ end
149
+ # Faltaria otras distribuciones de Linux
150
+ end
151
+
152
+ # Cargar configuracion del database.yml
153
+ $kamila_mensaje_error_load = "Configuration file database.yml not exist or damaged"
154
+ begin
155
+ $kamila_DatabaseAdapter = ""
156
+ $kamila_DatabaseHost = ""
157
+ $kamila_DatabasePort = ""
158
+ $kamila_DatabaseName = ""
159
+ $kamila_DatabaseUsername = ""
160
+ $kamila_DatabasePassword = ""
161
+ config = YAML.load(File.open($kamila_home+"/config/database.yml"))
162
+ defaultDatabaseDevelopment = config["development"]
163
+ defaultDatabaseTest = config["test"]
164
+ defaultDatabaseProduction = config["production"]
165
+ if defaultDatabaseDevelopment!=nil and defaultDatabaseDevelopment["active"].to_s=="true"
166
+ if defaultDatabaseDevelopment["adapter"]!=nil
167
+ $kamila_DatabaseAdapter = defaultDatabaseDevelopment["adapter"].to_s
168
+ end
169
+ if defaultDatabaseDevelopment["host"]!=nil
170
+ $kamila_DatabaseHost = defaultDatabaseDevelopment["host"].to_s
171
+ end
172
+ if defaultDatabaseDevelopment["port"]!=nil
173
+ $kamila_DatabasePort = defaultDatabaseDevelopment["port"].to_s
174
+ end
175
+ if defaultDatabaseDevelopment["database"]!=nil
176
+ $kamila_DatabaseName = defaultDatabaseDevelopment["database"].to_s
177
+ end
178
+ if defaultDatabaseDevelopment["username"]!=nil
179
+ $kamila_DatabaseUsername = defaultDatabaseDevelopment["username"].to_s
180
+ end
181
+ if defaultDatabaseDevelopment["password"]!=nil
182
+ $kamila_DatabasePassword = defaultDatabaseDevelopment["password"].to_s
183
+ end
184
+ else
185
+ if defaultDatabaseTest!=nil and defaultDatabaseTest["active"].to_s=="true"
186
+ if defaultDatabaseTest["adapter"]!=nil
187
+ $kamila_DatabaseAdapter = defaultDatabaseTest["adapter"].to_s
188
+ end
189
+ if defaultDatabaseTest["host"]!=nil
190
+ $kamila_DatabaseHost = defaultDatabaseTest["host"].to_s
191
+ end
192
+ if defaultDatabaseTest["port"]!=nil
193
+ $kamila_DatabasePort = defaultDatabaseTest["port"].to_s
194
+ end
195
+ if defaultDatabaseTest["database"]!=nil
196
+ $kamila_DatabaseName = defaultDatabaseTest["database"].to_s
197
+ end
198
+ if defaultDatabaseTest["username"]!=nil
199
+ $kamila_DatabaseUsername = defaultDatabaseTest["username"].to_s
200
+ end
201
+ if defaultDatabaseTest["password"]!=nil
202
+ $kamila_DatabasePassword = defaultDatabaseTest["password"].to_s
203
+ end
204
+ else
205
+ if defaultDatabaseProduction!=nil and defaultDatabaseProduction["active"].to_s=="true"
206
+ if defaultDatabaseProduction["adapter"]!=nil
207
+ $kamila_DatabaseAdapter = defaultDatabaseProduction["adapter"].to_s
208
+ end
209
+ if defaultDatabaseProduction["host"]!=nil
210
+ $kamila_DatabaseHost = defaultDatabaseProduction["host"].to_s
211
+ end
212
+ if defaultDatabaseProduction["port"]!=nil
213
+ $kamila_DatabasePort = defaultDatabaseProduction["port"].to_s
214
+ end
215
+ if defaultDatabaseProduction["database"]!=nil
216
+ $kamila_DatabaseName = defaultDatabaseProduction["database"].to_s
217
+ end
218
+ if defaultDatabaseProduction["username"]!=nil
219
+ $kamila_DatabaseUsername = defaultDatabaseProduction["username"].to_s
220
+ end
221
+ if defaultDatabaseProduction["password"]!=nil
222
+ $kamila_DatabasePassword = defaultDatabaseProduction["password"].to_s
223
+ end
224
+ end
225
+ end
226
+ end
227
+ if $kamila_DatabaseAdapter.length == 0 or $kamila_DatabaseHost.length == 0 or $kamila_DatabasePort.length == 0 or $kamila_DatabaseName.length == 0 or $kamila_DatabaseUsername.length == 0
228
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
229
+ $kamila_titulo = "Error"
230
+ if $kamila_defaultMessagesType.upcase=="RUBY"
231
+ $kamila_mensaje = $!.to_s
232
+ if $kamila_mensaje != ""
233
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
234
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
235
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
236
+ else
237
+ $kamila_mensaje = $kamila_defaultMessages["message016"]
238
+ end
239
+ else
240
+ $kamila_mensaje = $kamila_defaultMessages["message016"]
241
+ end
242
+ $kamila_linkto = $kamila_site
243
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
244
+ end
245
+ rescue
246
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
247
+ $kamila_titulo = "Error"
248
+ if $kamila_defaultMessagesType.upcase=="RUBY"
249
+ $kamila_mensaje = $!.to_s
250
+ if $kamila_mensaje != ""
251
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
252
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
253
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
254
+ else
255
+ $kamila_mensaje = $kamila_defaultMessages["message017"]
256
+ end
257
+ else
258
+ $kamila_mensaje = $kamila_defaultMessages["message017"]
259
+ end
260
+ $kamila_linkto = $kamila_site
261
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
262
+ end
263
+ end
264
+
265
+ def Kamila.dispatcher()
266
+ # obtener informacion del IP del Servidor y el IP del Cliente
267
+ $kamila_serveraddr = ENV['SERVER_ADDR']
268
+ $kamila_remoteaddr = ENV['REMOTE_ADDR']
269
+ # Obtener la informacion del URL: controlador/accion/parametros
270
+ $kamila_array_items = ENV['REQUEST_URI'].split('/')
271
+ $kamila_website = $kamila_array_items[1].to_s
272
+ #if ENV['HTTP_REFERER'].to_s != ''
273
+ # $kamila_site = ENV['HTTP_REFERER'].to_s
274
+ #else
275
+ $kamila_site = "http://" + ENV['HTTP_HOST'].to_s + "/"+$kamila_array_items[1].to_s
276
+ #end
277
+ $kamila_controller = $kamila_array_items[2].to_s
278
+ $kamila_action = $kamila_array_items[3].to_s
279
+ $kamila_params_get = $kamila_array_items[4].to_s
280
+ # Cargar los controladores existentes en kamila/controllers
281
+ $kamila_controller_exist = false
282
+ Dir.chdir($kamila_home+"/controllers/")
283
+ archivos = Dir.glob('*')
284
+ objUtilidades = Utilidades.new()
285
+ $kamila_array_controllers = Array.new()
286
+ if (archivos.size()-1>=0)
287
+ j = archivos.size()-1
288
+ for i in 0..j
289
+ $kamila_array_controllers[i] = objUtilidades.getNombreArchivo(archivos[i].to_s)
290
+ if $kamila_array_controllers[i] == $kamila_controller+".rb"
291
+ $kamila_controller_exist = true
292
+ end
293
+ end
294
+ end
295
+ #print "ejecutar el controlador " + $kamila_controller + ", la accion " + $kamila_action + " y parametros: "+ $kamila_params + "<br/>"
296
+ $kamila_mensaje_error_load = "Error not found..."
297
+ $kamila_mensaje = String.new
298
+ begin
299
+ if $kamila_controller_exist
300
+ # Cargar el Controlador
301
+ begin
302
+ require $kamila_home + '/controllers/' + $kamila_controller
303
+ rescue
304
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
305
+ $kamila_titulo = "Error"
306
+ if $kamila_defaultMessagesType.upcase=="RUBY"
307
+ $kamila_mensaje = $!.to_s
308
+ if $kamila_mensaje != ""
309
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
310
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
311
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
312
+ else
313
+ $kamila_mensaje = $kamila_defaultMessages["message003"] + " " + $kamila_controller
314
+ end
315
+ else
316
+ $kamila_mensaje = $kamila_defaultMessages["message003"] + " " + $kamila_controller
317
+ end
318
+ $kamila_linkto = $kamila_site
319
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
320
+ end
321
+ $kamila_controller_class = $kamila_controller.capitalize()
322
+ begin
323
+ $kamila_controller_object = Module::const_get("#{$kamila_controller_class}").new
324
+ rescue
325
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
326
+ $kamila_titulo = "Error"
327
+ if $kamila_defaultMessagesType.upcase=="RUBY"
328
+ $kamila_mensaje = $!.to_s
329
+ if $kamila_mensaje != ""
330
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
331
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
332
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
333
+ else
334
+ $kamila_mensaje = $kamila_defaultMessages["message004"]+ " " + $kamila_controller_class + " " +$kamila_defaultMessages["message008"] + " " + $kamila_controller
335
+ end
336
+ else
337
+ $kamila_mensaje = $kamila_defaultMessages["message004"]+ " " + $kamila_controller_class + " " +$kamila_defaultMessages["message008"] + " " + $kamila_controller
338
+ end
339
+ $kamila_linkto = $kamila_site
340
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
341
+ end
342
+
343
+ if $kamila_action !=""
344
+ begin
345
+ $kamila_controller_object.send($kamila_action)
346
+ rescue
347
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
348
+ $kamila_titulo = "Error"
349
+ #$kamila_mensaje = "M&eacute;todo " + $kamila_action +" no existe para el controlador " + $kamila_controller
350
+ if $kamila_defaultMessagesType.upcase=="RUBY"
351
+ $kamila_mensaje = $!.to_s
352
+ if $kamila_mensaje != ""
353
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
354
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
355
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
356
+ else
357
+ $kamila_mensaje = $kamila_defaultMessages["message005"] + " " + $kamila_action + " " +$kamila_defaultMessages["message008"] + " " + $kamila_controller
358
+ end
359
+ else
360
+ $kamila_mensaje = $kamila_defaultMessages["message005"] + " " + $kamila_action + " " +$kamila_defaultMessages["message008"] + " " + $kamila_controller
361
+ end
362
+ $kamila_linkto = $kamila_site
363
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
364
+ end
365
+ else
366
+ begin
367
+ $kamila_action = "index"
368
+ $kamila_controller_object.send($kamila_action)
369
+ rescue
370
+ #rescue Exception => e
371
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
372
+ $kamila_titulo = "Error"
373
+ #$kamila_mensaje = "M&eacute;todo " + $kamila_action +" no existe para el controlador " + $kamila_controller
374
+ #$kamila_mensaje = "#{ e } (#{ e.class })!"
375
+ if $kamila_defaultMessagesType.upcase=="RUBY"
376
+ $kamila_mensaje = $!.to_s
377
+ if $kamila_mensaje != ""
378
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
379
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
380
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
381
+ else
382
+ $kamila_mensaje = $kamila_defaultMessages["message005"] + " " + $kamila_action + " " +$kamila_defaultMessages["message006"] +" "+ $kamila_controller_class + " " + $kamila_defaultMessages["message008"] + " " + $kamila_controller
383
+ end
384
+ else
385
+ $kamila_mensaje = $kamila_defaultMessages["message005"] + " " + $kamila_action + " " +$kamila_defaultMessages["message006"] +" "+ $kamila_controller_class + " " + $kamila_defaultMessages["message008"] + " " + $kamila_controller
386
+ end
387
+ $kamila_linkto = $kamila_site
388
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
389
+ end
390
+ end
391
+
392
+ else
393
+ if ($kamila_controller=="public" or $kamila_controller=="") and ($kamila_action =="index.rhtml" or $kamila_action =="index" or $kamila_action =="")
394
+ $kamila_cgi.redirect($kamila_site+"/public/kamila_index.html")
395
+ else
396
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
397
+ $kamila_titulo = "Error"
398
+ #$kamila_mensaje = "Controlador " + $kamila_controller + " y/o M&eacute;todo " + $kamila_action + " no existe"
399
+ if $kamila_defaultMessagesType.upcase=="RUBY"
400
+ $kamila_mensaje = $!.to_s
401
+ if $kamila_mensaje != ""
402
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
403
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
404
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
405
+ else
406
+ $kamila_mensaje = $kamila_defaultMessages["message007"] + " " + $kamila_controller
407
+ end
408
+ else
409
+ $kamila_mensaje = $kamila_defaultMessages["message007"] + " " + $kamila_controller
410
+ end
411
+ $kamila_linkto = $kamila_site
412
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
413
+ end
414
+ end
415
+ rescue
416
+ $kamila_icon_mensaje = "Ext.MessageBox.ERROR"
417
+ $kamila_titulo = "Error"
418
+ if $kamila_defaultMessagesType.upcase=="RUBY"
419
+ $kamila_mensaje = $!.to_s
420
+ if $kamila_mensaje != ""
421
+ $kamila_mensaje = $kamila_mensaje.gsub(/</,"")
422
+ $kamila_mensaje = $kamila_mensaje.gsub(/>/,"")
423
+ $kamila_mensaje = $kamila_mensaje.gsub(/"/,"'")
424
+ else
425
+ $kamila_mensaje = $kamila_mensaje_error_load
426
+ end
427
+ else
428
+ $kamila_mensaje = $kamila_mensaje_error_load
429
+ end
430
+ $kamila_linkto = $kamila_site
431
+ $kamila_cgi.redirect($kamila_site+"/public/message/message.rhtml")
432
+ end
433
+ end
434
+
435
+ def Kamila.close_sesion()
436
+ $kamila_sesion.close
437
+ if PLATFORM == "i386-mswin32" # Windows
438
+ comando = "dir"
439
+ require "win32ole"
440
+ comando.gsub('/','\\')
441
+ system(comando)
442
+ else # PLATFORM == "i486-linux" # Linux
443
+ #File.chmod(0777,'/tmp/kamila.*')
444
+ comando = 'rm /tmp/kamila.*'
445
+ require "session"
446
+ bash = Session::Bash.new
447
+ bash.execute comando
448
+ bash = nil
449
+ end
450
+ end
451
+
452
+ end
data/lib/mycgi.rb ADDED
@@ -0,0 +1,41 @@
1
+ # /****************************************************************************/
2
+ # /* clase MyCGI */
3
+ # /* */
4
+ # /* Clase que agrega el metodo redirect */
5
+ # /****************************************************************************/
6
+ # /*
7
+ # Version: 1.0 en ruby 1.8.x
8
+ # Fecha : 8 de Abril 2008
9
+ # Autor : Bob Calco
10
+ # email : robert.calco verizon.net
11
+ # */
12
+ ##############################################################################################
13
+ # Solucion para el .htaccess: #
14
+ # http://drupal.org/node/209162 #
15
+ # http://www.estadobeta.com/2007/04/27/ruby-on-rails-apache-y-cache-para-multiples-dominios/ #
16
+ # Permitir ejecución de scripts CGI y no presentar indice de directorios #
17
+ # Options +ExecCGI -Indexes #
18
+ # #Para Windows Wamp #
19
+ # #ScriptInterpreterSource registry #
20
+ # <IfModule mod_rewrite.c> #
21
+ # # Configuración del Framework Kamila #
22
+ # RewriteEngine on #
23
+ # RewriteCond %{REQUEST_FILENAME} !-f #
24
+ # RewriteCond %{REQUEST_FILENAME} !-d #
25
+ # #RewriteRule ^(.*)$ public/ [L,QSA] #
26
+ # RewriteRule ^(.*)$ index.rhtml [QSA,L] #
27
+ # # Descomentar alguna regla, si deseas desactivar #
28
+ # # alguna carpeta del Framework Kamila #
29
+ # #RewriteRule ^(controllers)/$ - [F] #
30
+ # #RewriteRule ^(models)/$ - [F] #
31
+ # #RewriteRule ^(views)/$ - [F] #
32
+ # </IfModule> #
33
+ ##############################################################################################
34
+ require 'cgi'
35
+ require 'cgi/session'
36
+
37
+ class MyCGI < CGI
38
+ def redirect( where )
39
+ print header( { 'Status' => '302 Moved', 'location' => where } )
40
+ end
41
+ end