[1349] | 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 | } |
---|