Jump to content
Sign in to follow this  
Tekzo17

Проблема с attachment

Recommended Posts

Posted (edited)

После перестроения публикаций все файлы вместо ссылок "https://site.ru/index.php?do=download&id=1345" имеют вид "https://site.ru/catalog/[attachment=1:file.rar]" и выдает ошибку Not Found. 

Или же если в файле attachment.tpl оставить стандартный шаблон, то вместо моей кнопки "скачать" и ссылки на файл attachment.tpl выводит просто текст [attachment=1:file.rar].


Загрузка файла осуществляется через дополнительно поле.
В чем может быть причина? Версия DLE последняя.

Edited by Tekzo17

Share this post


Link to post
Share on other sites
Posted (edited)

Так же в БД в таблице dle_post данные доп.поля после перестроения публикация изменяются с [attachment=1:file.rar] на [attachment=1:file.rar]

После очередного сохранения новости (не загружая файл заново), все вновь начинает работать. Файлы грузятся.

В общем, проблема именно с перестроением публикаций.

Edited by Tekzo17

Share this post


Link to post
Share on other sites
Posted (edited)

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

 

sD99ZF42ebg.jpg

 

В версии 13.3 такой проблемы нет. После перестроение публикации все на месте.

Edited by Tekzo17

Share this post


Link to post
Share on other sites

Так и никто не ответил по этой теме, но нашел проблему.
В rebuild.php строка:

$newpostedxfields[$value[0]] = str_replace( array("{", "[", ":"), array("{", "[", ":"), $newpostedxfields[$value[0]] );

После перестроение публикации она портит attachment. Если удалить строку то все станет нормально, но уже не будут перестраиваться доп поля с включенными спец.символами, что очевидно.

 

Share this post


Link to post
Share on other sites

Это ошибка в скрипте. Для ее исправления вам нужно открыть файл engine/ajax/rebuild.php найти в нем строчку
 

$newpostedxfields[$value[0]] = str_replace( array("{", "[", ":"), array("{", "[", ":"), $newpostedxfields[$value[0]] );


и ниже нее добавить
 

if($value[3] == "file") {

	$newpostedxfields[$value[0]] = str_replace( array("[", ":"), array("[", ":"), $newpostedxfields[$value[0]] );

	if (strpos ( $newpostedxfields[$value[0]], "[attachment=" ) === false) $newpostedxfields[$value[0]] = "";

}


После чего опять запустите перестроение в админпанели. Это устранит вашу проблему

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...