Сразу хочу сказать что подобная тема уже существует на форуме
http://joomlaforum.ru/index.php/topic,137455.0.html, но скрипт лично у меня оказался не рабочим, да и биллинг что автор рекомендовал ориентирован на Россию, а мне нужна была Украина, я описывал уже исправленные ошибки в теме указанной по ссылке, но так как не все смогли разобраться что и где менять создаю отдельную тему.
Внимание! Данное решение работает для AdsManager 2.6, и на AdsManager 2.7 она работать не будет!
И так, сделаем сначала vip-объявления.
Для этого
1. Создаем в БД adsmanager_ads новую строку и называем ее vip.
2. в файле [Joomla] /administrator/components/com_adsmanager/tables/content.php добавляем var $vip = null; (поймете куда).
3. переходим в файл [Joomla] administrator/components/com_adsmanager/views/admin/tmpl/editcontent.php и там после кода
Код:
<tr>
<td><?php echo JTEXT::_('ADSMANAGER_TH_PUBLISH'); ?></td>
<td>
<select name="published" id="published">
<option value="1" <?php if ($this->content->published == 1) { echo "selected"; } ?>><?php echo JTEXT::_('ADSMANAGER_PUBLISH'); ?></option>
<option value="0" <?php if ($this->content->published == 0) { echo "selected"; } ?>><?php echo JTEXT::_('ADSMANAGER_NO_PUBLISH'); ?></option>
</select>
</td>
<td>
</td>
</tr>
Вставляем
Код:
<tr>
<td><?php echo 'VIP'; ?></td>
<td>
<select name="vip" id="vip">
<option value="0" <?php if ($this->content->vip == 0) { echo "selected"; } ?>><?php echo JTEXT::_('ADSMANAGER_NO'); ?></option>
<option value="1" <?php if ($this->content->vip == 1) { echo "selected"; } ?>><?php echo JTEXT::_('ADSMANAGER_YES'); ?></option>
</select>
</td>
<td>
</td>
</tr>
Далее в файле [Joomla] /administrator/components/com_adsmanager/models/content.php находим функцию function getListOrder и $filter_order изменяем сл. образом:
Код:
$filter_order = "a.vip DESC ,a.date_created DESC ,a.id ";
Вот мы сделали так, чтобы администратор мог сам делать объявление VIPом.
Теперь делаем чтобы система сама назначала объявления VIP с помощью смсок/
1. Скачайте архив для работы с сервисом и поместите его содержимое в любое место на сайте
2. Регистрируемся на
http://smsbill.com.ua (именно через этот сервис и будем осуществлять работу)
3. В личном кабинете, в меню "Сайты" добавляем адрес вашего сайта на котором будет работать этот сервис, название сайта и пишем что будет продаваться за смс-сообщения.
4. Далее, после модерации сайта, в меню "Услуги" подключаем новую услугу. Выбираем услугу "Сам справлюсь". Пишем описание услуги на свое
усмотрение. Жмем "Добавить".
Далее заполняем необходимые поля:
- В поле URL обработчика указываем путь к папке извлеченной из скаченного архива и помещенной на ваш сайт, например:
http://yousite/vip/vipsms.php.
- Кодировку оставляем utf-8.
- Придумываем "секретное слово", любое напр: password
- В поле "Контакты поддержки" заполняете так: Podderzka: ваш телефон.
Жмем "сохранить".
5. Идем в меню "Услуги"->"Код подключения". В разделе "Требования к оформлению" смотрим как правильно подготовить у себя на сайте инструкцию
по отправке SMS. Оформляем страницу у себя на сайте.
Смотрим в меню "Тарифы" список доступных стран и коротких номеров. Пишем в поддержку email с просьбой подключить к сайту нужные страны и указываете,
какие короткие номера нужны. Вам будет подключен префикс (текст, который нужно слать в смс) и короткие номера - получите подтверждение по email
6. Потом в БД создайте таблицу, например, вашпрефикс_vipsms. В этой таблице создайте одно поле code.
7. Зайдите в папку vip которую вы скачали от сюда и разархивировали, и редактируйте файл config.php.
В поле smsAccessKey введите ключ, который придумывали в настройках на сайте smsbill.
<?
$conf = array();
$conf['siteUrl'] = 'http://ваш сайт/vip'; //путь к папке с vipsms.php
$conf['smsAccessKey'] = 'секретное слово'; //sms access key - устанавливается в настройках личного кабинета.
$conf['ttl'] = 1*60*60; //время жизни кодов
?>
8. В этой же папке в файле vipsms.php настройте соединение с БД, укажите имя базы и таблицу в базе данных что вы создавали для кодов
<?
// sms handler
if ($_REQUEST['sms_body']) {
include 'config.php';
if ($_REQUEST['secret_word'] != md5($conf['smsAccessKey'])) {
exit;
}
$code = '';
for($i=0;$i<=7;$i++){
$code .= chr(rand(65, 90));
}
$lnk = mysql_connect ('localhost','логин','пароль');
mysql_select_db('имя базы данных', $lnk);
$q = mysql_query("INSERT into jos_ваша таблица в базе данных с кодами VALUES ('".$code."')");
echo "sms_id:".$_POST['sms_id']."\n";
echo "response:Ваш код активации:".$code."\n";
echo "error:0";
}
?>
8. Теперь заходим в файл [Joomla]/ components/com_adsmanager/ controller.php и в самом начале файла, после строк
Код:
/**
* Content Component Controller
*
* @package Joomla
* @subpackage Content
* @since 1.5
*/
Вставляем
Код:
// sms
function checkCode($code) {
$db = JFactory::getDBO();
$query = "SELECT * FROM #__ваша таблица в бд с кодами";
$db->setQuery($query);
$dbcode = $db->loadObjectList();
$db2 = JFactory::getDBO();
$q = "SELECT * FROM #__adsmanager_ads WHERE ad_code='".$code."'";
$db2->setQuery($q);
$ads = $db2->loadObjectList();
$ok = false;
foreach($dbcode as $c) {
if( $c->code == $code ) {
$codesmstable = $c->code;
}
}
foreach($ads as $a) {
if( $code == $a->ad_code ) {
$codeadstable = $a->ad_code;
}
}
if(($codesmstable == $code) && ($codesmstable != $codeadstable) && ($code != '')) {
$ok = true;
}
return $ok;
}
// -sms
9. В этом же файле находим функцию function save(), там находим $content->expiration_date = date("Y-m-d",mktime()+($delta*24*3600));
10. После этого кода вставляем
Код:
// ---------- sms ---------
$post_code = JRequest::getVar('ad_code');
if (!checkCode($post_code)) {
$content->vip = '0';
} else {
$content->vip = '1';
$content->ad_code = $post_code;
}
// ----------/sms/---------
11. Дальше в админ панели сайта в компоненте AdsManager создаем новое поле! Тип: Text Field; Название: ad_code (т.е. пишем code, а он сам сформирует приставку), Заголовок: СМС-код для VIP-объявления (или по усмотрению), Ставим галочки на Опубликовано? Ну и выбираем Все объявления слева в «Категория».
12. На последнем шаге можно протестировать работу сервиса. Заходим в Личный кабинет на smsbill.com.ua. Выбираем меню "Услуги"->"Настроить".
Внизу доступна форма для тестирования. Поля можно заполнить любыми данными - это не принципиально.
Если правильно указан URL и правильно настроен vipsms.php, то должен отобразиться ВИП-код (тот который приходит на телефон ). Копируете его и пробуйте создать объявление на своем сайте, используя полученный код.
Вот в принципе и все! Может не совсем кому понятно будет пишите в теме, или в службу поддержки биллинга, там ребята всегда рады помочь. Посмотреть как работает система можна на сайте
http://bezagentov.net/[вложение удалено Администратором]