Страница 3 из 4

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-05 8:58:51
QweЯty
вот еще...

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-05 11:47:43
Nick_mad
Файл /usr/local/www/net2ftp/skins/blue/browse_main_details.template.php
с 204 строки, тут и рисуется таблица файлов

Код: Выделить всё

<?php /* ----- Files ----- */ ?>
<?php   if ($list["stats"]["files"]["total_number"]> 0) { ?>

<?php           for ($i=1; $i<=sizeof($list_files); $i++) { ?>
<?php
// ----- Some PHP stuff -----
                        $rowcounter++;
                        if ($rowcounter % 2 == 1) { $odd_even = "odd"; }
                        else                      { $odd_even = "even"; }
                        if ($list_files[$i]["selectable"] == "ok") {
                                $onClick = "submitBrowseForm('" . $directory_js . "','" . $list_files[$i]["dirfilename_js"] . "','downloadfile','');";
                                $title = __("Download the file %1\$s", $list_files[$i]["dirfilename_js"]);
                                $style = "cursor: pointer; cursor: hand; width: 32px;";
                                $href = "<a style=\"white-space: nowrap;\" href=\"javascript:" . $onClick . "\">" . $list_files[$i]["dirfilename_html"] . "</a
>\n";

                        }
                        else {
                                $onClick = "";
                                $title = "";
                                $style = "";
                                $href = "<span style=\"white-space: nowrap;\">" . $list_files[$i]["dirfilename_html"] . "</span>";
                        }
// -------------------------- ?>
                        <tr class="browse_rows_<?php echo $odd_even; ?>" id="row<?php echo $rowcounter; ?>" onmouseover="this.style.color='#000000'; this.style.backgroundColor='#FFCC00';" onmouseout="this.style.color='#000000'; setColor_js(<?php echo $rowcounter; ?>, 'checkbox');">
                                <td title="<?php echo __("Select the file %1\$s", $list_files[$i]["dirfilename_html"]); ?>" style="text-align: center; width: 32px;">
<?php                           printDirFileProperties($rowcounter, $list_files[$i], "checkbox", "onclick=\"setColor_js($rowcounter, 'checkbox');\""); ?>
                                </td>
                                <td onclick="<?php echo $onClick; ?>" title="<?php echo $title; ?>" style="<?php echo $style; ?>">
<?php                                   printMime("icon", $list_files[$i]); ?>
                                </td>
                                <td onclick="<?php echo $onClick; ?>" title="<?php echo $title; ?>" style="<?php echo $style; ?>">
                                        <?php echo $href; ?>
                                </td>
вот содержание массива с переменными, как видно они все отображаются коректно

Код: Выделить всё

[4] => Array ( [scanrule] => rule-1 [dirorfile] => - [dirfilename] => Книга1.xls [size] => 78848 [owner] => 10025 [group] => 10025 [permissions] => rwxr--r-- [mtime] => Mar 19 2012 [dirfilename_html] => Книга1.xls [dirfilename_url] => %D0%9A%D0%BD%D0%B8%D0%B3%D0%B01.xls [dirfilename_js] => Книга1.xls [selectable] => ok )
а в html уже крякозябры7

Код: Выделить всё

<td style="cursor: pointer; cursor: hand; width: 32px;" title="Скачать файл?????????°1.xls" onclick="submitBrowseForm('/','Книга1.xls','downloadfile','');">
<a href="javascript:submitBrowseForm('/','Книга1.xls','downloadfile','');" style="white-space: nowrap;">Книга1.xls</a>
</td>
можно прямо здесь перекодировать переменную, но что то с наскоку не получилось. Попробуйте вы может у вас получится.

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-05 12:07:52
Nick_mad
кстати если строку

Код: Выделить всё

$title = __("Download the file %1\$s", $list_files[$i]["dirfilename_html"]);
заменить на

Код: Выделить всё

$title = $list_files[$i]["dirfilename_html"];
то будет правильно отображаться имя файла.

Наверное нужно перекодировать не переменную которую отдаем, а где то раньше по коду поискать.

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-05 12:27:50
Nick_mad
В общем если через костыль то меняете строку в том куске кода что я приводил раньше (который начинается с 204 строки)

Код: Выделить всё

$title = __("Download the file %1\$s", $list_files[$i]["dirfilename_html"]);
на

Код: Выделить всё

$title = __("Download the file %1\$s", '') . ' ' . $list_files[$i]["dirfilename_js"];
и будет вам счастье, хотя это только в этом месте в остальных же будет отображаться коряво. Я подумаю как сделать одним махом

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-06 9:10:03
QweЯty
ну, буду костыль применять во всех этих глюках,
а как с этим быть?
или тоже так же можно избавиться?

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-06 12:28:28
Nick_mad
та можно поискать в шаблонах и там поправить, если тебе нужно только это то могу поискать.

Но я нашел функцию в которой теряется (или хз что там с ней) кодировка, попросил знакомого программиста чтобы ее поправил, если у него получится то тогда все сходу должно работать и править только одну функцию а не по всему шаблону искать.

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-06 21:08:35
QweЯty
шаблон у меня только один - blue. остальные выкинул, его подредактировал, и все...

только одно вот один вопрос, не знаешь какую переменную в сессии можно использовать для $username

а то скрипт , показывающий сколько места на винте, только для одного юзера.
хотелось бы для других тоже, но как ни пробовал, не получается :( везде пишет не та пеерменная.

Код: Выделить всё

%cat /usr/local/www/apache22/data/size.php
<?php
// $df содержит размер свободного места в каталоге "/"
$diskfsp = "/STORAGE/project";
$freespace = disk_free_space($diskfsp);
$mb = pow(1024,2);
$gb = $mb*1024;
$hdGnugb = $freespace/$gb;
$hdd_size = round($hdGnugb, 2);
$hdd_size_all = '<center>Свободного места на диске: <b><font color="red" size="3">'.$hdd_size.'</font></b> GB</center>';

Код: Выделить всё

?>%cat /usr/local/www/apache22/data/settings.inc.php

$net2ftp_settings["message_browse"] = "";
$net2ftp_settings["message_browse_hdd"] =  $hdd_size_all;

Код: Выделить всё

%cat /usr/local/www/apache22/data/modules/browse/browse.inc.php
// ------------------------------------^M
// Browse message^M
// ------------------------------------^M
<------>if ($net2ftp_settings["message_browse"] != "" && $net2ftp_settings["message_browse"] != "Setting message_browse does not exist") {
<------><------>$warning_message = $net2ftp_settings["message_browse"];
<------>} else $warning_message = $net2ftp_settings["message_browse_hdd"];

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-07 10:45:08
Nick_mad
Может, я не совсем правильно понял, но если нужна переменная в которой содержится имя пользователя под которым зашли то вот где они могут быть
_POST["username"]
_REQUEST["username"]
_REQUEST["net2ftpcookie_username"]

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-08 1:54:23
QweЯty
ага, спасибо, помогло.
как нить потом посижу, попробую сделать проверку пользователей и их путей через mysql а не в ручную забивать.

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-15 22:43:40
dimsat1
Nick_mad, спасиб за кусок кода, сча нормально в зиппе скачвается :)
А у кого кракозяблы, замените файл ru.inc.php в папке languages
ru.inc.php.zip
(22.43 КБ) 73 скачивания

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-16 17:41:40
Mister_X
Подскажите пожалуйста я пытаюсь закачать на net2ftp файл весом 4,31 мб а мне выдает

Файл web.zip слишком большой. Файл не будет загружен.

хотя Ограничения:

Максимальный размер одного файла ограничен net2ftp до 4882812.5 Кб и PHP до 2000M
Максимальное время выполнения 300 секунд
Режим передачи FTP (ASCII или BINARY) будет автоматически определен, основан на расширении
Если файл уже существует, он будет перезаписан

как победить это все ???

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-17 15:31:26
dimsat1
Mister_X писал(а): как победить это все ???
для начала надо хотя-бы прочитать тему :roll:

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-18 22:39:43
QweЯty
А у кого кракозяблы
в чем именно? у файла просто кодировка сменена?
крякозябры в интерфейсе или касательно обработки файлов? пост выше

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-19 1:04:54
Nick_mad
Последнее. При обработке фала, в всплывающих подсказках

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-19 11:23:26
Nick_mad
Ура нашел как решить проблему.
идем в

Код: Выделить всё

cd /usr/local/www/net2ftp/languages/
там файл

Код: Выделить всё

languages.inc.php 
в файле функция примерно с 143 строки выглядит (примерно, потому как правил) так

Код: Выделить всё

function __() {

// --------------
// This function returns a translated message; the core standard function used is sprintf (see manual)
// Input: - from function argument: message name $args[0] and variable parts in the message $args[1], $args[2],... 
//                               (there is a variable nr of variable parts)
//        - from globals: the array of messages $message
// Output: string in the language indicated in $net2ftp_language
// --------------

// -------------------------------------------------------------------------
// Global variables
// -------------------------------------------------------------------------
	global $net2ftp_globals, $net2ftp_messages;


// -------------------------------------------------------------------------
// Get the arguments of this function
// $args[0] contains the messagename
// $args[1], $args[2], ... contain the variables in the message
// -------------------------------------------------------------------------
	$numargs = func_num_args();
	$args = func_get_args();
	$messagename = $args[0];

	
// -------------------------------------------------------------------------
// Create the argument for the sprintf function
// Aim is to have something like:  sprintf($string_with_percents, $args[1], $args[2], ...);
// As there is a variable nr of arguments in the function __, there is also a variable 
// nr of arguments in sprintf, and this must be constructed with a loop
// -------------------------------------------------------------------------

// Check if the message with that $messagename exists
	if (@array_key_exists($messagename, $net2ftp_messages)) { $string_with_percents = $net2ftp_messages[$messagename]; }
	else { return "MESSAGE NOT FOUND"; }
	$sprintf_argument = "\$translated_string = sprintf(\$string_with_percents";

	
	for ($i=1; $i<$numargs; $i++) {
		$sprintf_argument .= ",  @htmlentities(\$args[$i], ENT_QUOTES)";
	} // end for

	$sprintf_argument .= ");";

	
// -------------------------------------------------------------------------
// Run the sprintf function
// -------------------------------------------------------------------------
	eval($sprintf_argument);

	return $translated_string;

} // end function __
нужно заменить одну строку строку
с

Код: Выделить всё

$sprintf_argument .= ",  @htmlentities(\$args[$i], ENT_QUOTES)";
на

Код: Выделить всё

$sprintf_argument .= ",  @htmlentities(\$args[$i], ENT_QUOTES, 'UTF-8')";
ну и полный текст рабочей функции

Код: Выделить всё

function __() {

// --------------
// This function returns a translated message; the core standard function used is sprintf (see manual)
// Input: - from function argument: message name $args[0] and variable parts in the message $args[1], $args[2],... 
//                               (there is a variable nr of variable parts)
//        - from globals: the array of messages $message
// Output: string in the language indicated in $net2ftp_language
// --------------

// -------------------------------------------------------------------------
// Global variables
// -------------------------------------------------------------------------
	global $net2ftp_globals, $net2ftp_messages;


// -------------------------------------------------------------------------
// Get the arguments of this function
// $args[0] contains the messagename
// $args[1], $args[2], ... contain the variables in the message
// -------------------------------------------------------------------------
	$numargs = func_num_args();
	$args = func_get_args();
	$messagename = $args[0];

	
// -------------------------------------------------------------------------
// Create the argument for the sprintf function
// Aim is to have something like:  sprintf($string_with_percents, $args[1], $args[2], ...);
// As there is a variable nr of arguments in the function __, there is also a variable 
// nr of arguments in sprintf, and this must be constructed with a loop
// -------------------------------------------------------------------------

// Check if the message with that $messagename exists
	if (@array_key_exists($messagename, $net2ftp_messages)) { $string_with_percents = $net2ftp_messages[$messagename]; }
	else { return "MESSAGE NOT FOUND"; }
	$sprintf_argument = "\$translated_string = sprintf(\$string_with_percents";

	
	for ($i=1; $i<$numargs; $i++) {
		$sprintf_argument .= ",  @htmlentities(\$args[$i], ENT_QUOTES, 'UTF-8')";
	} // end for

	$sprintf_argument .= ");";

	
// -------------------------------------------------------------------------
// Run the sprintf function
// -------------------------------------------------------------------------
	eval($sprintf_argument);

	return $translated_string;

} // end function __

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-22 18:29:15
dimsat1
Кто может подскажет, какая функция отвечает за время скачки файла или папки с сервера.. При попытке скачать допустим файл или папку мегов 150 ровно через минуту выкидвает белый экран.. :(
С закачкой на сервер проблемм нет..

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-22 18:32:41
Nick_mad
Это скорей всего настройки php, а не net2ftp посмотрите в сторону максимального время выполнения скрипта

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-22 18:47:45
dimsat1
какая функция за это отвечает,
в лимитах глянул так прописано..

; Resource Limits ;

max_execution_time = 1200
max_input_time = 600
;max_input_nesting_level = 64
memory_limit = 128M
ну и
post_max_size = 500M
upload_max_filesize = 500M
max_file_uploads = 20
и в сеттинге net2ftp и в .htaccess тоже..

:pardon:

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-22 19:00:59
dimsat1
Именно через net2ftp выкидывает, через любой другой (filezilla и т.д) проблемм нет..

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-22 19:43:18
QweЯty
ну дак filezilla - это ftp клиент, а не гуи для браузера, он напрямую к ftp обращается, а не к net2ftp
так что смотри конфиги php httpd net2ftp но по идее все что отвечает за время

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-22 21:52:34
dimsat1
Я правил php.ini в /etc/php5/apache2, но php.ini есть ещё в папках /etc/php5/cgi и /etc/php5/cli и /etc/php5/fpm . А в них надо что-то править??

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-23 0:06:31
QweЯty
шо за ситема?
во freebsd только в /usr/local/etc/php.ini и все

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-23 3:40:27
dimsat1
На дебьяне свой хост настраиваю, но это сути не меняет ;-)
Вопщем, после долгих поисков причины наконец-то результат.. Пробывал я раньше поднять лимит памяти с 128 до 256, результата не давало.
Решил ещё попробывать, поставил memory_limit = 512M и... стали скачиваться больие файлы.. :Yahoo!: Памяти-то на домашнем сервере всего гиг, вопщим поставил лимит 384мб :smile: Спасибо вам за помощь :smile:

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-26 0:08:18
QweЯty
оно получается завязано на locale системной...
сделал так, потом повторил на виртуалке :)
оставил локаль дефолтную, поствил net2ftp, сменил локаль - пошли глюки.
сменил сначала локаль, потом поставил net2ftp - глюков нет и не было.

Re: net2ftp (FreeBSD7.1 and apache22)

Добавлено: 2013-02-26 5:50:19
RusLanR
dimsat1 писал(а):На дебьяне свой хост настраиваю, но это сути не меняет ;-)
Вопщем, после долгих поисков причины наконец-то результат.. Пробывал я раньше поднять лимит памяти с 128 до 256, результата не давало.
Решил ещё попробывать, поставил memory_limit = 512M и... стали скачиваться больие файлы.. :Yahoo!: Памяти-то на домашнем сервере всего гиг, вопщим поставил лимит 384мб :smile: Спасибо вам за помощь :smile:
В каком файле?