kamila 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
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