Как Вы знаете в GHTWEB есть функция скачивания файла после регистрации, но в последней версии она была отключена и не корректно работала. Сейчас я расскажу Вам как реализовать и подкорректировать эту функцию, чтобы она у Вас заработала, но есть и некоторые условия при которых она будет работать. Условия такие: 1. В настройках убираете подтверждение регистрации по email. 2. Юзер получит тхт файл с логином паролем и другими данными вместо сообщения о том что его аккаунт успешно зарегистрирован. Если Вас устраивают эти условия, тогда приступаем. 1. Открываем файл: www/protected/modules/register/models/RegisterForm.php 2. Ищем строку 332, или забиваем в поиск: PHP: //$this->downloadFileInfoAfterRegister(); Как Вы можете увидеть, эта строка за комментирована, убираем комментарий (это // спереди) Должно получиться так: $this->downloadFileInfoAfterRegister(); Идем дальше, строка 351 или ищем: PHP: public function downloadFileInfoAfterRegister() После строчки: PHP: $gs = $this->gs_list[$this->gs_id]; Вставляем строку: PHP: $servername = $_SERVER['HTTP_HOST']; Вместо PHP: $fileName = time() . '.txt'; Меняем на: PHP: $fileName = $servername . ' - ' . $gs['name'] . '.txt'; Вместо PHP: $body Меняем на: PHP: $filecontent и последнюю строчку, вместо: PHP: request()->sendFile($fileName, $body, 'text/plain', FALSE); Меняем на: PHP: Yii::app()->request->sendFile($fileName, $filecontent, 'text/plain'); Строка PHP: $fileName = $servername . ' - ' . $gs['name'] . '.txt'; означает, что имя файла у нас будет: sitename.ru - название сервера.txt Если Вы не хотите название сервера в виде домена сайта, можно изменить на свое, сделать это вот так: Нашу строку PHP: $servername = $_SERVER['HTTP_HOST']; меняем на PHP: $servername = 'SuperServer'; И теперь файл сохранится юзеру с именем: SuperServer - название сервера. Если Вы хотите добавить в Ваш сохраняемый тхт файл Email юзера, что бы он знал что ввел, тогда после строки: PHP: Yii::t('main', 'Пароль') . ": " . $this->password . "\r\n" . Вставляем строку: PHP: Yii::t('main', 'Email') . ": " . $this->email . "\r\n" . Все работает, проверено как на локалке так и на удаленном хостинге.
Приветствую, переехал на новый сервак, все бы ничего да вот такая беда, при загрузке изображения к новости выскакивает ошибка такого типа - Загрузка файла: завершилось ошибкой Вы не авторизированы на сайте. Что за бред, подскажите куда копать? в гугле толком ничего не нашел, может кто то сталкивался.
и еще может кому сгодиться, если в БД картинки не меняли, то логично, что их не зачем загружать.Для этого я просто сохраняю компонент ImageList в файл. Если есть лучше решения, то критика приветствуется //сохраняем компонент ImageList в файл vStream := TFileStream.CreateTPath.GetDocumentsPath /imagelist,fmCreate; try vStream.WriteComponentimgMain; finally vStream.Free; end; //загружаем файл в компонент ImageList vStream := TFileStream.CreateTPath.GetDocumentsPath /imagelist,fmOpenRead; try vStream.ReadComponentimgMain; finally vStream.Free; end;