1 | var inc_sort_field = 'file_name'; |
---|
2 | var inc_sort_asc = 1; |
---|
3 | var rewrite = false; |
---|
4 | |
---|
5 | function set_rewrite() |
---|
6 | { |
---|
7 | rewrite = !rewrite; |
---|
8 | } |
---|
9 | |
---|
10 | function show_include_window() |
---|
11 | { |
---|
12 | var showHnd = function(data) |
---|
13 | { |
---|
14 | |
---|
15 | div = document.getElementById('model_include_list'); |
---|
16 | if (!div) { |
---|
17 | |
---|
18 | div = document.createElement("DIV"); |
---|
19 | div.style.visibility = "hidden"; |
---|
20 | div.style.position = "absolute"; |
---|
21 | div.id = "model_include_list"; |
---|
22 | |
---|
23 | tb = document.createElement("TABLE"); |
---|
24 | tr = document.createElement("TR"); |
---|
25 | td = document.createElement("TD"); |
---|
26 | |
---|
27 | td.innerHTML = '<b>Selecione o modelo desejado:</b><br>'; |
---|
28 | se = document.createElement("SELECT"); |
---|
29 | se.setAttribute('name','file'); |
---|
30 | se.setAttribute('size','10'); |
---|
31 | se.setAttribute('id','win_include_model'); |
---|
32 | se.style.width = '200px'; |
---|
33 | |
---|
34 | for (i = 0; i < data.length; i++) |
---|
35 | { |
---|
36 | op = document.createElement("OPTION"); |
---|
37 | op.setAttribute('value',data[i]['file_name']); |
---|
38 | if (i == 0) |
---|
39 | op.setAttribute('selected','selected'); |
---|
40 | op.innerHTML = data[i]['file_name']; |
---|
41 | se.appendChild(op); |
---|
42 | } |
---|
43 | |
---|
44 | td.appendChild(se); |
---|
45 | tb.setAttribute('align','center'); |
---|
46 | tr.appendChild(td); |
---|
47 | tb.appendChild(tr); |
---|
48 | |
---|
49 | tr = document.createElement("TR"); |
---|
50 | td = document.createElement("TD"); |
---|
51 | |
---|
52 | td.innerHTML = '<b>Nome do arquivo a ser criado:</b><br>'; |
---|
53 | |
---|
54 | it = document.createElement("INPUT"); |
---|
55 | it.setAttribute('type','text'); |
---|
56 | it.setAttribute('name','novo_nome'); |
---|
57 | it.setAttribute('value','arquivo.php'); |
---|
58 | it.setAttribute('id','win_include_name'); |
---|
59 | it.style.width = '200px'; |
---|
60 | |
---|
61 | td.appendChild(it); |
---|
62 | tr.appendChild(td); |
---|
63 | tb.appendChild(tr); |
---|
64 | |
---|
65 | tr = document.createElement("TR"); |
---|
66 | td = document.createElement("TD"); |
---|
67 | |
---|
68 | ch = document.createElement("INPUT"); |
---|
69 | ch.setAttribute('type','checkbox'); |
---|
70 | ch.setAttribute('name','rewrite'); |
---|
71 | ch.setAttribute('onclick','set_rewrite()'); |
---|
72 | ch.setAttribute('id','chk_rewrite_file'); |
---|
73 | td.appendChild(ch); |
---|
74 | td.innerHTML += 'Sobrescreve se já existe'; |
---|
75 | td.setAttribute('valign','top'); |
---|
76 | |
---|
77 | tr.appendChild(td); |
---|
78 | tb.appendChild(tr); |
---|
79 | |
---|
80 | tr = document.createElement("TR"); |
---|
81 | td = document.createElement("TD"); |
---|
82 | td.setAttribute('align','center'); |
---|
83 | |
---|
84 | bt = document.createElement("INPUT"); |
---|
85 | bt.setAttribute('type','button'); |
---|
86 | bt.setAttribute('value','Ok'); |
---|
87 | bt.setAttribute('name','Ok'); |
---|
88 | bt.setAttribute('onclick','create_new_include()'); |
---|
89 | bt.style.width = '70px'; |
---|
90 | td.appendChild(bt); |
---|
91 | |
---|
92 | bt = document.createElement("INPUT"); |
---|
93 | bt.setAttribute('type','button'); |
---|
94 | bt.setAttribute('value','Cancelar'); |
---|
95 | bt.setAttribute('name','Cancelar'); |
---|
96 | bt.setAttribute('onclick','win.close()'); |
---|
97 | bt.style.width = '70px'; |
---|
98 | td.appendChild(bt); |
---|
99 | |
---|
100 | tr.appendChild(td); |
---|
101 | tb.appendChild(tr); |
---|
102 | |
---|
103 | div.appendChild(tb); |
---|
104 | |
---|
105 | document.body.appendChild(div); |
---|
106 | } |
---|
107 | show_window('Modelos de Classe',div,250,270); |
---|
108 | }; |
---|
109 | |
---|
110 | cExecute ("$this.bo_adminsource.get_model_files", showHnd, "type=include"); |
---|
111 | } |
---|
112 | |
---|
113 | |
---|
114 | function sort_include_list(field) |
---|
115 | { |
---|
116 | inc_sort_field = field; |
---|
117 | inc_sort_asc = (inc_sort_asc == 1) ? 0 : 1; |
---|
118 | redraw_include_list(); |
---|
119 | } |
---|
120 | |
---|
121 | function createIncludeList(folder) |
---|
122 | { |
---|
123 | var table = document.createElement("TABLE"); |
---|
124 | var body = document.createElement("TBODY"); |
---|
125 | var tr = document.createElement("TR"); |
---|
126 | var td = new Array(4); |
---|
127 | |
---|
128 | var fillIncludeList = function(data) { |
---|
129 | var tr; |
---|
130 | var td; |
---|
131 | |
---|
132 | if (data != null) { |
---|
133 | for (i = 0; i < data.length; i++) { |
---|
134 | tr = document.createElement("TR"); |
---|
135 | td = new Array(5); |
---|
136 | |
---|
137 | for (j = 0; j < td.length; j++) { |
---|
138 | td[j] = document.createElement('TD'); |
---|
139 | } |
---|
140 | |
---|
141 | tr.className = 'table_elements_tr_line'; |
---|
142 | |
---|
143 | if (i % 2) { |
---|
144 | tr.style.backgroundColor = '#FFFFFF'; |
---|
145 | } else { |
---|
146 | tr.style.backgroundColor = '#F5F5F5'; |
---|
147 | } |
---|
148 | |
---|
149 | td[0].align = 'left'; |
---|
150 | td[0].innerHTML = data[i]['file_name']; |
---|
151 | td[0].innerHTML = get_link("javascript:void(0)", data[i]['file_name'],"onclick=\"window.open('"+_web_server_url+"/index.php?menuaction=workflow.ui_phpeditor.form&proc_name="+data[i]['proc_name']+"&file_name="+data[i]['file_name']+"&type="+data[i]['tipo_codigo']+"&proc_id="+data[i]['proc_id']+"','','width=850,height=680,screenX=100,left=10,screenY=100,top=10,toolbar=no,scrollbars=yes,resizable=yes')\""); |
---|
152 | |
---|
153 | td[1].align = 'center'; |
---|
154 | td[1].innerHTML = data[i]['tamanho']; |
---|
155 | |
---|
156 | td[2].align = 'center'; |
---|
157 | td[2].innerHTML = data[i]['modificado']; |
---|
158 | |
---|
159 | td[3].align = 'left'; |
---|
160 | td[3].innerHTML = get_link("javascript:void(0)", get_icon('phpedit.png','Editar Include','hspace=1'),"onclick=\"window.open('"+_web_server_url+"/index.php?menuaction=workflow.ui_phpeditor.form&proc_name="+data[i]['proc_name']+"&file_name="+data[i]['file_name']+"&type="+data[i]['tipo_codigo']+"&proc_id="+data[i]['proc_id']+"','','width=850,height=680,screenX=100,left=10,screenY=100,top=10,toolbar=no,scrollbars=yes,resizable=yes')\"") + |
---|
161 | get_link(_web_server_url+"/index.php?menuaction=workflow.bo_adminsource.export_file&file_name="+escape(data[i]['file_name'])+"&type="+data[i]['tipo_codigo']+"&proc_id="+proc_id,get_icon('phpexport.png','Exportar Include','hspace=1'),""); |
---|
162 | |
---|
163 | if (data[i]['file_name'] != 'shared.php') { |
---|
164 | td[3].innerHTML += get_link("javascript:void(0)", get_icon('del_template.png','Excluir Include','hspace=1'),"onclick=\"delete_include('"+data[i]['file_name']+"')\""); |
---|
165 | } |
---|
166 | |
---|
167 | for (j = 0; j < td.length; j++) { |
---|
168 | tr.appendChild(td[j]); |
---|
169 | } |
---|
170 | |
---|
171 | body.appendChild(tr); |
---|
172 | } |
---|
173 | } |
---|
174 | }; |
---|
175 | |
---|
176 | table.setAttribute("cellPadding", "2"); |
---|
177 | table.className = "table_elements"; |
---|
178 | table.id = 'include_list'; |
---|
179 | |
---|
180 | tr.className = "table_elements_tr_header"; |
---|
181 | |
---|
182 | for (i = 0; i < td.length; i++) { |
---|
183 | td[i] = document.createElement('TD'); |
---|
184 | td[i].style.cursor = 'pointer'; |
---|
185 | } |
---|
186 | |
---|
187 | icon_order = (inc_sort_asc == 1) ? get_icon('arrow_descendant.gif','Crescente','hspace=1') : get_icon('arrow_ascendant.gif','Decrescente','hspace=1') ; |
---|
188 | |
---|
189 | td[0].setAttribute('width', '63%'); |
---|
190 | td[0].align = 'left'; |
---|
191 | td[0].innerHTML = 'Nome do Arquivo'; |
---|
192 | td[0].onclick = function() { sort_include_list('file_name'); }; |
---|
193 | td[0].innerHTML = ( inc_sort_field == 'file_name' ) ? td[0].innerHTML = '<b>Nome do Arquivo</b>' + icon_order : td[0].innerHTML; |
---|
194 | |
---|
195 | td[1].setAttribute('width', '10%'); |
---|
196 | td[1].align = 'center'; |
---|
197 | td[1].innerHTML = 'Tamanho'; |
---|
198 | td[1].onclick = function() { sort_include_list('tamanho'); }; |
---|
199 | td[1].innerHTML = ( inc_sort_field == 'tamanho' ) ? td[1].innerHTML = '<b>Tamanho</b>' + icon_order : td[1].innerHTML; |
---|
200 | |
---|
201 | td[2].setAttribute('width', '20%'); |
---|
202 | td[2].align = 'center'; |
---|
203 | td[2].innerHTML = 'Modificado'; |
---|
204 | td[2].onclick = function() { sort_include_list('modificado'); }; |
---|
205 | td[2].innerHTML = ( inc_sort_field == 'modificado' ) ? td[2].innerHTML = '<b>Modificado</b>' + icon_order : td[2].innerHTML; |
---|
206 | |
---|
207 | td[3].setAttribute('width', '7%'); |
---|
208 | td[3].align = 'center'; |
---|
209 | td[3].innerHTML = 'Ações'; |
---|
210 | |
---|
211 | for (i = 0; i < td.length; i++) |
---|
212 | tr.appendChild(td[i]); |
---|
213 | |
---|
214 | body.appendChild(tr); |
---|
215 | table.appendChild(body); |
---|
216 | folder.appendChild(table); |
---|
217 | |
---|
218 | cExecute ("$this.bo_adminsource.get_include_files", fillIncludeList, "proc_id="+proc_id+"&sort="+inc_sort_field+"&order_by="+inc_sort_asc); |
---|
219 | } |
---|
220 | |
---|
221 | function redraw_include_list() |
---|
222 | { |
---|
223 | var include_folder = getFolder(ID_INCLUDES_FOLDER); |
---|
224 | killElement('include_list'); |
---|
225 | createIncludeList(include_folder); |
---|
226 | } |
---|
227 | |
---|
228 | function delete_include(file_name) |
---|
229 | { |
---|
230 | var deleteHnd = function(data) { |
---|
231 | redraw_include_list(); |
---|
232 | }; |
---|
233 | |
---|
234 | if (confirm("Tem certeza que deseja excluir o include "+file_name+"?")) |
---|
235 | { |
---|
236 | cExecute ("$this.bo_adminsource.delete_file", deleteHnd, "proc_id="+proc_id+"&type=include&file_name="+file_name); |
---|
237 | } |
---|
238 | } |
---|
239 | |
---|
240 | var createHnd = function(data) { |
---|
241 | var includes_folder = getFolder(ID_INCLUDES_FOLDER); |
---|
242 | |
---|
243 | switch(data) |
---|
244 | { |
---|
245 | case 0: alert('Erro: Nome de arquivo inválido.'); |
---|
246 | break; |
---|
247 | case 1: alert('Erro: ID de processo inválido.'); |
---|
248 | break; |
---|
249 | case 2: alert('Arquivo já existe.'); |
---|
250 | break; |
---|
251 | case 3: alert('Arquivo criado com sucesso.'); |
---|
252 | break; |
---|
253 | case 4: alert('Não foi possível criar o arquivo.'); |
---|
254 | break; |
---|
255 | |
---|
256 | } |
---|
257 | killElement('include_list'); |
---|
258 | createIncludeList(includes_folder); |
---|
259 | }; |
---|
260 | |
---|
261 | |
---|
262 | function create_new_include() |
---|
263 | { |
---|
264 | |
---|
265 | include_model = document.getElementById('win_include_model'); |
---|
266 | modelo = include_model.value; |
---|
267 | |
---|
268 | |
---|
269 | text = document.getElementById('win_include_name'); |
---|
270 | file_name = text.value; |
---|
271 | if (file_name) { |
---|
272 | if (rewrite) { |
---|
273 | rewrite_file = 1; |
---|
274 | } else { |
---|
275 | rewrite_file = 0; |
---|
276 | } |
---|
277 | cExecute ("$this.bo_adminsource.create_file", createHnd, "rewrite="+rewrite_file+"&modelo="+modelo+"&proc_id="+proc_id+"&type=include&file_name="+file_name); |
---|
278 | win.close(); |
---|
279 | } else { |
---|
280 | alert('É necessário informar o nome do arquivo a ser criado.'); |
---|
281 | text.focus(); |
---|
282 | } |
---|
283 | } |
---|
284 | |
---|
285 | function draw_include_toolbar(folder) { |
---|
286 | var toolbar_cell = document.getElementById('td_main_toolbar_'+folder.id+'_1'); |
---|
287 | |
---|
288 | include_tool = new TMainMenu("include_tool",'horizontal'); |
---|
289 | include_tool.Add( new TPopMenu('Novo Include',_web_server_url+'/workflow/templateFile.php?file=images/new_template.png','f','show_include_window()', 'Insere Novo Include') ); |
---|
290 | |
---|
291 | setToolBarStyle(include_tool); |
---|
292 | //alert(toolbar_cell.innerHTML); |
---|
293 | include_tool.Build(toolbar_cell.id); |
---|
294 | document.getElementById(include_tool._id).style.visibility = 'visible'; |
---|
295 | } |
---|
296 | |
---|
297 | function draw_includes_folder() { |
---|
298 | |
---|
299 | var includes_folder = getFolder(ID_INCLUDES_FOLDER); |
---|
300 | var toolbar; |
---|
301 | |
---|
302 | toolbar = document.getElementById("wf_toolbar_"+includes_folder.id); |
---|
303 | if (toolbar == null) |
---|
304 | { |
---|
305 | createToolBar(ID_INCLUDES_FOLDER,false); |
---|
306 | draw_include_toolbar(includes_folder); |
---|
307 | } |
---|
308 | |
---|
309 | createIncludeList(includes_folder); |
---|
310 | } |
---|