- HTML и CSS
- CSS3 shape-outside или обтекание картинки текстом
- Маштабируемый фон background css
- CSS выравнивание по вертикали
- Хранение картинок в css с помощью base64
- Как сделать ссылку, якорь?
- CSS3 для Internet Explirer 6 и старше
- Вёрстка для мобильных устройств
- Растягиваем html на всю страницу
- Таблица цветов CSS
- Выравнивание тега LI в контенте
- Оооох какой прекрасный box-sizing
- Делаем таблицу при помощи div и css
- Как сделать кросбраузерный linear-gradient без особых усилий
- CSS прозрачность для всех
- CSS для печати @media print
- Выравнивание блоков с помощью css {display: inline-block}
- Замечательное значение inherit
- Тень блочных элементов в CSS3
- Обводка текста с помощью CSS
- Полезные html символы
- Хаки или CSS для Internet Explorer-ов
- Делаем трёхуровневое меню на css
- jQuery, javaScript
- Устанавливаем на Яндекс Карте свою картинку вместо стандартной метки
- Адаптивные фотогалереи, слайдеры, карусели для сайта
- Узнаём координаты для установки скрипта Яндекс Карт
- Собственный фильтр для селекторов. Выбираем случайный элемент на jQuery
- closeClick true fancyBox 2, closeClick :true
- jquery ui slider, дробные числа, float values
- Парсер параметров из адресной строки jQuery
- Подсказки по javascript
- Выпадающее горизонтальное меню
- Работа с объектами в JavaScript: теория и практика
- Работа с массивами в jquery
- PHP
- Регулярные выражения онлайн
- Как определить путь к файлу текущего класса
- PHP скрипт для поиска. Удаление вируса с сайта
- UMI-CMS
- UMI CMS rel canonical
- UMI CMS API Шаблоны данных Добавить префикс к полю
- UMI CMS API Шаблоны данных Вывести текст из подсказки
- Если надо в UMI CMS открыть доступ к файлу в корне сайта htaccess
- Как перенести контент со старой UMI на новую UMI CMS с помощью umiDump
- Отправка письма с вложением UMI CMS API
- Как вывести из набор изображений одну картинку UMI CMS API (или случайную)
- UMI CMS Основные поля для отправки формы в модуле Конструктор форм
- Функции API UMI CMS для добавления, редактирования, удаления объектов каталога
- Функции API UMI CMS для добавления, редактирования, удаления объектов каталога
- UMI CMS Фильтрация спама на сайте
- Работа с набором изображений (multiple_image) TPL в UMI.CMS
- UMI CMS Ошибка "I expect value in request for param"
- UMI.CMS USEL кириллица не работает
- UMI Добавление дополнительных настроик на примере модуля catalog
- Подключение шаблонов в UMI.CMS в TPL шаблонизаторе
- UMI.CMS - забыл пароль администратора. Как восстановить?
- UMI Selector USEL фильтрация в PHP
- Передать в xslt xpath в запросе знак амперсанда
- Работа с system makeThumbnail
- Вывести названия методов в UMI
- UMI CMS API загрузка модуля
- UMI CMS карта сайта с помощью Usel
- UMI выгрузка из 1C поиск страницы копии, удаление копии
- Как в UMI.CMS изменить адрес домена в sitemap.xml и robots.txt. Изменить HTTP на HTTPS
- Вывод баннеров/слайдера в umi xslt
- UMI.CMS нет вкладок в админке
- XSLT вывод ссылки в которой присутствует знак амперсанда &
- UMI CMS Выгрузка из 1С нужно чтобы название товара (страницы каталога) не менялось
- Как в UMI поставить всем страницам галку на просмотр гостю
- Как узнать у страницы id шаблона данных через api?
- UMI.CMS работа с debug config.ini фильтрация по IP
- Как задать заголовок H1 (header) на странице созданного метода UMI CMS
- Выводим случайную статью в UMI CMS с помощью usel в tpl
- UMI.CMS Открыть закрытые поля в шаблонах данных ?skip-lock=1
- Как отредактировать облако тегов
- Как узнать позицию страницы среди соседних страниц в UMI
- umi cms usel вывод страниц каталога c фильтрацией
- Вывод справочника при помощи usel
- Как в umi узнать umiHierarchyElement из id umiObject
- Карта сайта на UMI CMS с помощью кастомного метода
- Редирект со страницы на страницу
- Создание, обслуживание, поддержка сайта
- Как удалить в картинке jpg, jpeg, gif? eval или base64_decode
- Основные технические ошибки, допускаемые при создании сайта
- Как выбрать домен?
- Хостинг, что это и для чего он нужен
- htaccess редиректы
- Наполнение сайта
- Цены на разработку сайта в Петербурге
- Какова может быть стоимость поддержки сайта?
- Важные мелочи!
- Каким должен быть сайт по версии яндекса
- 5 советов верстальщику
- Копирайтинг, seo, продвижение
- Ранжирование сайтов в поисковиках, выдача поисковых систем, поисковый алгоритм, поисковое ранжирование сайта
- Что нужно делать чтобы сайт был на первых местах?
- Копирайтинг - что это?
- Добавить сайты в индекс поисковых систем, регистрация в поисковиках
- Почему сайт не может приносить прибыль сразу?
- Почему следует вкладывать деньги в сайт?
- SEO статья о SEO-копирайтинге (seo copyrighting, seo copywriting). Кто seo копирайтер, что такое seo текст сайта, как помогают seo статьи и зачем нужна оптимизация?
- Как верстать сайт для SEO?
- Контекстная реклама
Отправка письма с вложением UMI CMS API
Отправка письма с вложением картинки или файла и капчей на api UMI CMS. Подходит для редакции UMI Lite, так как в ней нет модуля для создания форм.
Идиально подайдёт там, где нужно сделать форму побыстрее, с прикреплением файла или капчи.
По мимо этого понадобится создать заголовок для страницы, как это сделать читать подробнее
public function send(){
$fio = htmlspecialchars(getRequest('name'));
$phone = preg_match('|^[0-9\,\;\ ]*$|', htmlspecialchars(getRequest('phone')) ) ? htmlspecialchars(getRequest('phone')) : '';
$email = htmlspecialchars(getRequest('email'));
$comments = htmlspecialchars(getRequest('comments'));
if (!umiCaptcha::checkCaptcha()) {
def_module::errorNewMessage("% errors_wrong_captcha%");
def_module::errorPanic();
}
$collection = domainsCollection::getInstance();
$domain = $collection->getDefaultDomain()->getHost();
$message = <<<END
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Посетитель сайта {$domain} заполнил форму 'Оставить заявку'</title>
</head>
<body>
<h4>Посетитель сайта {$domain} заполнил форму 'Оставить заявку'</h4>
Имя Фамилия: {$fio}<br>
Телефон: {$phone}<br>
Email: {$email}<br>
Комментарий: {$comments}
</body>
</html>
END;
$oMail = new umiMail();
// загружаем картинку из временной папки в $folder_temp и прикрепляем её к письму
$folder_temp = "./images/.umimail_files_uploads_temp";
$umiDir = new umiDirectory($folder_temp);
$umiDir->requireFolder($folder_temp);
if($image = umiFile::upload('data', 'file-upload', $umiDir->getPath(), 'new')){
$oMail->attachFile($image);
}
$regedit = regedit::getInstance();
$admin_email = $regedit->getVal("//settings/admin_email");
$arr_email = explode(",", $admin_email);
foreach($arr_email as $val){
$oMail->addRecipient($val);
}
$email_from = $regedit->getVal("//settings/email_from");
$fio_from = $regedit->getVal("//settings/fio_from");
$oMail->setFrom($email_from,$fio_from);
$oMail->setSubject("Посетитель сайта $domain заполнил форму Обратный звонок");
$oMail->setContent($message);
$oMail->commit();
$oMail->send(); // отправили письмо
if($image) $image->delete(); // удаляем загруженную картинку с сервера
return "<h3>Ваше письмо {$fio} успешно отправлено.</h3><p>Спасибо за обращение к нам, в ближайшее время Мы с Вами свяжемся!</p>";
}
Я убрал для удобства лишнее из HTML формы и оставил только 2 поля. Поле 'Загрузить файл' должно называться name='data[new][file-upload]' :
<form method="post" action="/content/send/" enctype="multipart/form-data">
Загрузить файл:<input name="data[new][file-upload]" type="file" />
Комментарий:<textarea name="comments" cols="60" rows="4"></textarea>
<button class="button" type="submit">Отправить</button>
</form>
Если нужно сделать без использования класса umiMail, можно воспользоваться этим примером.