Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[OLD] File Attachment Mod - Вложение файлов

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
And_Y
phpBB 1.2.0
Сообщения: 10
Стаж: 18 лет 6 месяцев

Сообщение And_Y »

Kastaneda писал(а):
And_Y писал(а):Не помогло
В смысле, файл больше двух мегабайт так и не удаётся закачать?
ага. да и не должна видимо возможность заливать на фтп изменять максимальный размер файла доступного для закачки на сервер.
Ведь это настройки веб-сервера не позволяют передать большой файл, собственно он до скрипта и не доходит даже.
Аватара пользователя
Alexis1805
phpBB 1.4.3
Сообщения: 87
Стаж: 19 лет 2 месяца

Сообщение Alexis1805 »

scrill писал(а):Папка Files пуста. В настройках в админке пробовал всё.
Атрибуты папки какие? Надо установить права на запись 777.
scrill
phpBB 1.0.0
Сообщения: 4
Стаж: 18 лет 5 месяцев
Откуда: Kharkoff

Сообщение scrill »

Alexis1805 писал(а):Атрибуты папки какие? Надо установить права на запись 777.
Какие атрибуты? На виндах всё стоит... :evil:
Аватара пользователя
Balamut
Former team member
Сообщения: 2213
Стаж: 19 лет 2 месяца
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 105 раз

Сообщение Balamut »

scrill писал(а):Какие атрибуты? На виндах всё стоит...
на ntfs тоже атрибуты есть. :wink:
(оффтопиком, не обращайте внимания)
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 19 лет 9 месяцев
Откуда: Санкт-Петербург

Сообщение MXM »

Smayliks писал(а):
MXM писал(а):'Ya\''ll Must\''ve Forgot'
не отработался в коментарии знак '
?
Шаг за шагом к ошибке:

1. В сообщение сделать вложение файла с комментарием - ya'll must've forgot.
2. Отправить сообщение на форум.
3. Зайти в правку сообщения чтобы загрузить новую версию файла.
4. В сообщении выбрать новую версию файла с комментарием - ya'll must've forgot или другой комментарий содержащий знак '.
5. Напротив файла старой версии нажимаем кнопку – «загрузить новую версию»
6. Ошибка.

Написал об этом на форуме разработчика, жду ответа.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 4 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

MXM
Подтверждаю, некорректная обработка комментариев с символом '
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

MXM
Видел ваше сообщение на opentools.de.
Для таких вещей существует багтрек. Если же вы хотите максимально быстро получить ответ, напишите разработчику в приват ссылку на тему.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 4 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Наверно копать надо тут:
posting_attachments.php 628 строка.

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

                                                // Update Entry
                                                $sql = "UPDATE " . ATTACHMENTS_DESC_TABLE . "
                                                SET physical_filename = '" . str_replace("'", "''", basename($this->attach_filename)) . "', real_filename = '" . str_replace("'", "''", basename($this->filename)) . "', comment = '" . str_replace("'", "''", $comment) . "', extension = '" . str_replace("'", "''", $this->extension) . "', mimetype = '" . str_replace("'", "''", $this->type) . "', filesize = " . $this->filesize . ", filetime = " . $this->filetime . ", thumbnail = " . $this->thumbnail . "
                                                WHERE attach_id = " . (int) $attachment_id;
Добавлено спустя 2 минуты 11 секунд:

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

comment = '" . str_replace("'", "''", $comment) . "'
Хм.. интересно зачем это в комментариях?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Ага...
Все замены должны быть имхо такого вида:

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

str_replace("'", "''",
->

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

str_replace("\'", "''",
Код не смотрел, но судя по всему stripslashes автор к данным не применяет.

Добавлено спустя 57 секунд:

Siava
Все верно, это преобразование кавычек к т.н. "стилю sybase".
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 4 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
В принципе для исправления хватило замены

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

comment = '" . str_replace("'", "''", $comment) . "'
на

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

comment = '" . str_replace("\'", "''", $comment) . "'
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Чтобы не было других глюков, лучше поменять все. Можешь проэкспериментировать - попробуй закачать файл, в имени которого есть одинарная кавычка. С моей заменой (imho) удастся, без оной - получим ошибку SQL-запроса.

Тут просто логическая ошибка присуствует, она относится ко всем данным, но проявилось это в нашем случае с комментариями.

Добавлено спустя 5 минут:

Отправил ЛС автору мода, посмотрим что он скажет.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 4 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
Да, так и есть.

Тогда вот решение проблемы:
заменить

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

                                                SET physical_filename = '" . str_replace("'", "''", basename($this->attach_filename)) . "', real_filename = '" . str_replace("'", "''", basename($this->filename)) . "', comment = '" . str_replace("'", "''", $comment) . "', extension = '" . str_replace("'", "''", $this->extension) . "', mimetype = '" . str_replace("'", "''", $this->type) . "', filesize = " . $this->filesize . ", filetime = " . $this->filetime . ", thumbnail = " . $this->thumbnail . "
на

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

                                                SET physical_filename = '" . str_replace("\'", "''", basename($this->attach_filename)) . "', real_filename = '" . str_replace("\'", "''", basename($this->filename)) . "', comment = '" . str_replace("\'", "''", $comment) . "', extension = '" . str_replace("\'", "''", $this->extension) . "', mimetype = '" . str_replace("\'", "''", $this->type) . "', filesize = " . $this->filesize . ", filetime = " . $this->filetime . ", thumbnail = " . $this->thumbnail . "
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 2 месяца
Поблагодарили: 2 раза

Сообщение Xpert »

Т.е. насчет кавычки в имени файла я был прав?
Кстати, если не сложно, посмотри обработку данных при вставке в таблицу, т.е. при первом отправлении вложения. У меня сейчас кода под рукой нет, а любопытство распирает. Выложи сюда, еcли не сложно.
Можно аттачем, у нас теперь такая возможность тоже имеется.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 4 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
Ок, вроде бы оно (строка 698 в том же файле)

Как ни странно, но там почти то же самое =)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
MXM
phpBB 2.0.7
Сообщения: 555
Стаж: 19 лет 9 месяцев
Откуда: Санкт-Петербург

Сообщение MXM »

Xpert писал(а):MXM
Видел ваше сообщение на opentools.de.
Для таких вещей существует багтрек. Если же вы хотите максимально быстро получить ответ, напишите разработчику в приват ссылку на тему.
Xpert, а что он не читает свой форум... Отправлять не буду раз ты уже отправил.

Вернуться в «Поддержка модов для phpBB 2.0.x»