xandeadx.ru Блог музицирующего веб-девелопера

PHPОтправка письма в UTF-8

Опубликовано в
function mail_utf8($to, $from, $subject, $message)
{
    $subject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
 
    $headers  = "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/plain; charset=utf-8\r\n";
    $headers .= "From: $from\r\n";
 
    return mail($to, $subject, $message, $headers);
}
 
// пример использования
mail_utf8('to-user@gmail.com', 'no-reply@example.ru', 'Заголовок сообщения', 'Текст сообщения');

DrupalПропадают файлы загруженные с помощью функции file_save_upload

Опубликовано в

Из документации к функции file_save_upload:

The file will be added to the files table as a temporary file. Temporary files are periodically cleaned. To make the file permanent file call file_set_status() to change its status.

Перевод:

Файл будет добавлен в таблицу files с флагом "временный". Временные файлы периодически удаляются (по крону). Для того, чтобы назначить файлу флаг "постоянный", нужно вызвать функцию file_set_status().

JavascriptСкрипт изменения размера textarea как в Drupal

Опубликовано в

В Drupal есть полезный jQuery скрипт, который позволяет с помощью мышки изменять размеры textarea:

Вот его немного переделанная версия, которую можно использовать вне друпала:

РазноеJoomla: Вынос подменю в отдельный блок

Задача

Создать двухуровневое меню, в котором второй уровень отображается в отдельном блоке.

Решение

Предположим, нам нужно создать следующую структуру меню:

  • Главная
  • О компании
    • История
    • Награды
    • Клиенты
  • Услуги
    • Дизайн
    • Поддержка
    • Продвижение

JavascriptIE не передаёт referer при изменении location.href

Опубликовано в

Решение проблемы — эмулировать нажатие на ссылку:

function openUrl(url)
{
    var fakeLink = document.createElement('a');
 
    // Firefox & other browsers
    if (typeof(fakeLink.click) == 'undefined')
    {
        location.href = url;
    }
    // Internet Explorer
    else
    {
        fakeLink.href = url;
        document.body.appendChild(fakeLink);
        fakeLink.click(); 
    }
 
    return true;
}
 
// пример
openUrl('http://google.com');