Перейти к содержанию
Gann

Произвольные поля покупателей - файл

Рекомендуемые сообщения

Доброго утра!

 

Хотелось бы узнать, как можно вывести ссылку на загруженный пользователем файл?

Под файлом имеется ввиду произвольное поле: "Покупатели" - "Произвольные поля" - тип поля файл.

 

В админке на странице просмотра заказа временно вывел ссылку в таком виде:

<a href="/admin/index.php?route=tool/upload/download&token=<?= $token; ?>&code=<?php echo $custom_field['value'];?>">Скачать файл</a></td>

Токен - в контроллере.

 

Ссылка работает.

 

Как сделать такую же ссылку, но, например, в письме админу? На данный момент сделал ссылку без токена - после авторизации скачивать файл можно, но это не совсем удобно. Токен в письме ведь нельзя получить, так? Как поступить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По соображениям безопасности, файлы хранятся в папке недоступной из интернета. Доступ к ним возможен только через контроллер tool/upload, который доступен только из админки. Можно написать контроллер, который будет получать файлы без авторизации и положить его в фронтенд, но безопасность пострадает. 

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 25.10.2017 в 09:21, shalan сказал:

По соображениям безопасности, файлы хранятся в папке недоступной из интернета. Доступ к ним возможен только через контроллер tool/upload, который доступен только из админки. Можно написать контроллер, который будет получать файлы без авторизации и положить его в фронтенд, но безопасность пострадает. 

 

Других вариантов совсем нет?

Может какой-нибудь костыль можно придумать без снижения безопасности? 

Допустим, загруженный пользователей файл (на этапе оформления заказа), отправлять вложением в письме админу. Так ведь можно сделать? Я, правда, не представляю в какую сторону копать, чтобы это вложение прикрепилось к письму....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, Gann сказал:

Допустим, загруженный пользователей файл (на этапе оформления заказа), отправлять вложением в письме админу. Так ведь можно сделать? Я, правда, не представляю в какую сторону копать, чтобы это вложение прикрепилось к письму....

Я так и делал. Загруженный пользователем файл попадает в downloads, оттуда в письмо, и сразу удаляется.

И да, это были не произвольные поля, а самодельная форма заказа.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, mazein сказал:

Я так и делал. Загруженный пользователем файл попадает в downloads, оттуда в письмо, и сразу удаляется.

Расскажете в каких файлах копать, что почитать, чтобы разобраться как к письму вложение прицепить? Сам уже начал гуглить :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, Gann сказал:

Расскажете в каких файлах копать, что почитать, чтобы разобраться как к письму вложение прицепить? Сам уже начал гуглить :-)

 

Я не знаю уровень Ваших знаний, чтобы что-то советовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
19 минут назад, mazein сказал:

Я не знаю уровень Ваших знаний, чтобы что-то советовать.

 

Около 1 из 5))

посмотрел сейчас mail.php (system/library) - там есть такая вот строчка:

protected $attachments = array();

Получается, в этот массив и нужно передать загруженный файл. В моём случае: шифрованый код файла это $order_info['shipping_custom_field']['1']

Далее не знаю что и от куда взять. 

 

Пусть переменная $pfile - это тот самый файл. Как ей присвоить значение "загруженый файл"?

$mail->AddAttachment("files/file1.pdf"); - прямо указать файл.

Но у нас же он кодированный. Запутался.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.