.comment { color: gray; } .keyword { font-weight: bold; } .html .atribute .value { color: green; }

воскресенье, 20 сентября 2009 г.

Модуль S5 Tell a Friend - доведения до ума

Очень неплохой модуль для рассылки рекомендаций с вашего сайта - S5 Tell A Friend. Можно использовать для вирусного маркетинга, например.
Что пришлось сделать что бы я был им доволен:

1. Что бы подружить S5 Tell A Friend с sef404sh нужно подправить mod_S5tellafriend.php в строке 20 (источник):
window.open('modules/mod_S5tellafriend/tellafriend.htm','page',

вставить слэш в пути перед modules:
window.open('/modules/mod_S5tellafriend/tellafriend.htm','page',


2. Добавить дополнительные заголовки для отправки (используется функция mail), для этого правим tellafriend.php (источник):
вместо
@mail("$_POST[fmail1],$_POST[fmail2],$_POST[fmail3]", $tsubject, $ttext, "FROM: $_POST[email]");

ставим следуещее
$headers = "From: " . $_POST[email] . "\r\nContent-Type: text/plain; charset=UTF-8\r\n";
@mail("$_POST[fmail1],$_POST[fmail2],$_POST[fmail3]", $tsubject, $ttext, $headers);


3. И от себя я добавил кодировку темы письма, в том же tellafriend.php:
вместо
$tsubject = "A recommendation from $_POST[name]";

влепил
$send_charset = "UTF-8";
$subject = "A recommendation from $_POST[name]";
$tsubject = mime_header_encode($subject, $send_charset);

и в конце скрипта добавил функцию перекодировки:
function mime_header_encode($str, $send_charset) {

return '=?' . $send_charset . '?B?' . base64_encode($str) . '?=';

}

пятница, 28 августа 2009 г.

Mobile Sites with Joomla! CMS

Установка/Настройка здесь
Файлы здесь

воскресенье, 23 августа 2009 г.

Модуль переключения валют

Joomla 1.5.14, VirtueMart 1.1.3

Автоматическая смена цены относительно выбранной валюты реализована здесь:
http://joomlaforum.ru/index.php/topic,26078.msg210238.html#msg210238
Курс нужно вводить ручками, но для начала пойдет...
Требуются сам модуль и конвектор
Есть еще вариант - смотреть здесь http://joomlaforum.ru/index.php/topic,26078.msg329714.html#msg329714

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

Важное дополнение: для корректного отображения конвектора convertHARD.php в админке необходимо сделать это - http://joomlaforum.ru/index.php/topic,26078.msg357825.html#msg357825

пятница, 21 августа 2009 г.

Problem to create a Shipper List (Баг при создании способов доставки)

Joomla 1.5.10, VirueMart 1.1.3

При создании способов доставки выдает ошибку типа:
Warning: Missing argument 2 for vmGet(), called in /blah-blah/administrator/components/com_virtuemart/classes/ps_shipping.php on line 113 and defined in /blah-blah/administrator/components/com_virtuemart/classes/request.class.php on line 26

Решение было найдено здесь
В моем случае я делал замену
vmGet($d["shipping_carrier_name"])
на
vmGet($d, 'shipping_carrier_name')
в строках 225 и 275 в файле administrator/components/com_virtuemart/classes/ps_shipping.php

понедельник, 25 мая 2009 г.

SEF (ЧПУ) для Joomla - кому это нужно?

Статья, которая заставила меня засомневаться в моих действиях и огорчила о возможно потерянном времени в работе над SEO
Линк...
в ту же тему - линк

воскресенье, 24 мая 2009 г.

Почему письма отправленные PHP mail function (Joomla 1.5.x) определяются как спам?

У каждой статьи (опубликованного материала) есть кнопка "отправить ссылку на материал по почте другу". Эта кнопка работает по назначению (в принципе) и если письмо отправлено, то большая часть уважающих себя почтовых серверов определяет эти письма как спам, а это не солидно. Все дело в заголовке Sender. Если там стоит адрес отправителя, который не является корректным, то такое письмо потенциальный спам. Кстати, письма отправленные со страниц VirtueMart'а имеют корректные заголовки, в том числе Sender. У VirtueMart'а своя отправлялка, хотя тоже не без косяков.
Так как же сделать что бы отправлялись валидные мэйлы? Случайно прочитал топик в котором чел описывал такую же проблему, и вдохновившись решил таки найти откуда берется этот заголовок - Sender.
Незнаю, с того боку я зашел или нет, но мне это помогло. В скрипте libraries/phpmailer/phpmailer.php есть много хороших переменных, в том числе var $Sender, а также комментарий к ней:
/**
* Sets the Sender email (Return-Path) of the message. If not empty,
* will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
* @var string
*/
var $Sender = "";

где русским языком английскими буквами написано, что если значение не пустое (а оно млин пустое), то будет оправлено сендмейлу, что нам и нужно. Я вписал тот адрес который хотел видеть в заголовке Sender
var $Sender = "name@domen.com";

и алилуйя, отправляется письмо с валидными заголовками!

пятница, 22 мая 2009 г.

PHP Error - Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

Наверняка многие кто хостится даже на платных серверах и не имеющий доступ к файлу настроек php.ini, встречали такую ошибку при отработке прожорливых php скриптов. Я пытался поначалу бороться с этим недугом созданием файла php.ini со своими настройками в корне папки с исполняемым скриптом (у некоторых хостеров это возможно). Но работало это через раз, а то и вообще...
Нашел решение проблемы здесь, спасибо большое товарищу Jason'у !

Ошибка "Allowed memory size of X bytes exhausted (tried to allocate Y bytes)" - говорит о том что вашему скрипту не хватает памяти, точнее скрипт не укладывается в тот обьем памяти который разрешен для выполнения PHP скриптами.

В таких случаях обычно помогает изменение настроек, выберите подходящий:

memory_limit = 12M - опция в вашем php.ini файле (рекомендуется если есть доступ, действует на все скрипты на сервере)
ini_set('memory_limit', '12M'); - php-код в начале проблемных скриптов.
php_value memory_limit 12M - опция в .htaccess файле той папки в которой запускается скрипт.

Вместо 12M подставляем необходимый обьем памяти, например по нарастающей, пока ошбка не перестанет вылазить, значение по умолчанию обычно 8M (мегабайт).

Я выбрал второй способ - добавлял в начале кода
ini_set('memory_limit', 'ХM');

, где Х - желаемое количество памяти.