Архив рубрики: Скрипты, cms

Работа с куками (cookie) в Zend Framework

Для установки куки необходимо:

$cookie = new Zend_Http_Cookie('name',
    'value',
    '.site.ru',
    time() + 7200,
    '/'
);
$this->getResponse()->setHeader('Set-Cookie', $cookie->__toString());
//Для передачи всех данных нужно использовать
$this->getResponse()->setHeader('Set-Cookie', $cookie->__toStringFull());

Читать далее

Обрезание писем в Zend_mail

Обнаружил интересную проблему, некоторая часть писем с сайта доходит не полностью, письма обрезались на самом интересном месте.

Письма отправляются через Zend_Mail. Используется дефолтовый транспорт. Кодировка писем KOI8-R.

Методом перебора определил, что письмо обрезалось после знаков №, — , и нестандартных кавычек.

Таким образом проблема решается очисткой содержимого письма, следующим кодом:


	$a = str_replace('№', 'N', $a);
	$a = str_replace("–", '_', $a);
	$a = str_replace(array('«','»','„','“'), '"', $a);

Не попадайтесь на такое.

Редирект на сайт используя google

Обнаружил интересный редирект на другие сайты:

itif.ru>>

Добиться этого можно вставляю в url такой код, (вместо http://itif.ru/ можно написать свой сайт)

http://www.google.com/url?sa=D&q=http://itif.ru/

С помощью этого редиректа можно переделывать все ссылки от «комментаторов» на сайте.

Работа с переменными в Smarty

Инициализация новой переменной в Smarty и ее дальнейшее использование происходит таки образом:

{assign var=idCont value=$this->get(‘idContent’)}
{assign var=Par value=$this->getParent($idCont)}

Еще по переменным в Smarty

{$foo} <— отображение простой переменной (не массив и не объект)
{$foo[4]} <— отображает 5-й элемент числового массива
{$foo.bar} <— отображает значение ключа «bar» ассоциативного массива, подобно PHP $foo[‘bar’]
{$foo.$bar} <— отображает значение переменного ключа массива, подобно PHP $foo[$bar]
{$foo->bar} <— отображает свойство «bar» объекта
{$foo->bar()} <— отображает возвращаемое значение метода «bar» объекта
{#foo#} <— отображает переменную «foo» конфигурационного файла
{$smarty.config.foo} <— синоним для {#foo#}
{$foo[bar]} <— синтаксис доступен только в цикле section, см. {section}
{assign var=foo value=’baa’}{$foo} <— отображает «baa», см. {assign}
{«foo»} <— статические значения также разрешены

Математические операции с переменными:
Читать далее

OpenX: баннер накладывается на элементы дизайна

Для этого необходимо установить прозрачность баннера.

В OpenX 2.8.5 это делается следующим образом:
при добавлении баннера в «параметры баннера», необходимо поставить галочку «Разрешить прозрачный фон»

Импорт больших файлов в phpmyadmin

Если в импорте в phpmyadmin стоит ограничение «(Максимальный размер: 2,024 КБ)», то его можно увеличить изменив настройки в php.ini:

; Максимальный размер данных POST, который PHP сможет принять.
post_max_size = 32M

; Максимальный размер закачанного файла
upload_max_filesize = 32M

Также можно изменить:

в конф файле phpMyAdmin (config.inc.php)
$cfg[‘ExecTimeLimit’]    = 0;

Ошибка 500 в OpenX 2.8.5

После установки рекламной системы openx 2.8.5, при заходе в админку появлялась ошибка 500.

В логах записывалась следующая ошибка:

[Wed Jun 30 20:04:34 2010] [error] [client **.***.**.***] SoftException in Application.cpp:227: Directory «/h/turby/htdocs/openx/www/admin/plugins/oxMarket» is writeable by group

Решилась проблема установкой прав 711, на папку:

htdocs/openx/www/admin/plugins/oxMarket

Продолжаю дальше исследовать openx.