10 ноября 2010
Монетизируем доску объявлений AdsManager 2.6
- написал: gloomkolomna
- 15803
- 12
Начал я тестировать новую версию компонента AdsManager и пришел к выводу, что почему бы не поставить ее на рабочий сайт и немного не подзаработать? :)
Написал следующее решение для заработка на досках, которое состоит из двух частей:
1. Объявления делаются VIP (выходят в ТОП — всегда вверху при отображении списка объявлений), если админ ставит переключатель
2. Объявления делаются 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 и там после кода
Вставляем
Далее в файле [Joomla]/administrator/components/com_adsmanager/models/content.php находим функцию function getListOrder и $filter_order изменяем сл. образом:
Вот мы сделали так, чтобы администратор мог сам делать объявление VIPом.
1. Регистрируемся на (именно через этот сервис и будем осуществлять работу)
2. В личном кабинете во вкладке «Биллинг» добавляем номер, придумываем префикс…
3. В настройках – Настройки удаленного доступа придумывает сложный ключ и сохраняем
4. Скачайте для работы с сервисом и поместите его содержимое в любое место на сайте (например, создайте каталог vipsmski)
5. В БД создайте таблицу, например, вашпрефикс_vipsms. В этой таблице создайте одно поле code.
6. Зайдите в файл config.php, который вы разархивировали, и настройте его. В поле smsAccessKey введите ключ, который придумывали в настройках удаленного доступа на сайте ависосмс.
7. В файле vipsms.php настройте соединение с БД, укажите имя базы. Поле $q = mysql_query(«INSERT into OLOLOL VALUES ('».$code."')"); измените на $q = mysql_query(«INSERT into вашпрефикс_названиетаблицыдлявипобъявлений VALUES ('».$code."')"); Думаю понятно, что означает вашпрефикс_названиетаблицыдлявипобъявлений :)
8. Теперь заходим в файл [Joomla]/components/com_adsmanager/controller.php и в самом начале файла, после строк
Вставляем
Замечу, что присланный код можно использовать только один раз! (p.s. у кого будет более изящное решение — пишите, на скорую руку набросал такое)
9. В этом же файле находим функцию function save(), там находим $content->expiration_date = date(«Y-m-d»,mktime()+($delta*24*3600));
10. После этого кода вставляем
11. Дальше создаем в компоненте новое поле! Тип: Text Field; Название: ad_code (т.е. пишем code, а он сам сформирует приставку), Заголовок: СМС-код для VIP-объявления (или по усмотрению), Ставим галочки на Опубликовано? Ну и выбираем Все объявления слева в «Категория».
12. Заходим опять на сайт смсок, в личном кабинете в биллинге где высвечиваются Ваши префиксы нажимаем Редактировать (префикс будем редактировать), ставим галочку «Вызывать URL на API вашего сайта» и вписываем туда полный путь до файла vipsms.php (Например, ). Сохраняемся.
13. На этом же сайте можно и потестировать. В биллинге в виртуальный телефон заходим, там выбираем номер и вписываем префикс, внизу Вам отобразиться код
Вот в принципе и все!
Хочу отдельно поблагодарить Комкова Александра с сайта AvisoSMS, который подсказал во многих местах как лучше сделать!
p.s.: сейчас немного не оптимальный код проверки SMS на правильность, чуть позже разберусь с ним и подправлю (надо все же, чтобы использованный код удалялся из базы с кодами или ставился какой-то код в таблицу (или же заменялся код на что-то...) )
Написал следующее решение для заработка на досках, которое состоит из двух частей:
1. Объявления делаются VIP (выходят в ТОП — всегда вверху при отображении списка объявлений), если админ ставит переключатель
2. Объявления делаются VIP, если пользователь отправляет смс и вводит пришедший к нему код.
Сделаем сначала 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. В личном кабинете во вкладке «Биллинг» добавляем номер, придумываем префикс…
3. В настройках – Настройки удаленного доступа придумывает сложный ключ и сохраняем
4. Скачайте для работы с сервисом и поместите его содержимое в любое место на сайте (например, создайте каталог vipsmski)
5. В БД создайте таблицу, например, вашпрефикс_vipsms. В этой таблице создайте одно поле code.
6. Зайдите в файл config.php, который вы разархивировали, и настройте его. В поле smsAccessKey введите ключ, который придумывали в настройках удаленного доступа на сайте ависосмс.
7. В файле vipsms.php настройте соединение с БД, укажите имя базы. Поле $q = mysql_query(«INSERT into OLOLOL VALUES ('».$code."')"); измените на $q = mysql_query(«INSERT into вашпрефикс_названиетаблицыдлявипобъявлений VALUES ('».$code."')"); Думаю понятно, что означает вашпрефикс_названиетаблицыдлявипобъявлений :)
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);
$cods = $db->loadObjectList();
$db2 = JFactory::getDBO();
$q = "SELECT * FROM #__adsmanager_ads WHERE ad_code='".$code."'";
$db2->setQuery($q);
$ads = $db2->loadObjectList();
$ok = false;
foreach($cods 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Замечу, что присланный код можно использовать только один раз! (p.s. у кого будет более изящное решение — пишите, на скорую руку набросал такое)
9. В этом же файле находим функцию function save(), там находим $content->expiration_date = date(«Y-m-d»,mktime()+($delta*24*3600));
10. После этого кода вставляем
// ---------- sms ---------
$codes = $content->ad_code;
if (!checkCode($codes)) {
$content->vip = '0';
} else {
$content->vip = '1';
}
// ----------/sms/---------11. Дальше создаем в компоненте новое поле! Тип: Text Field; Название: ad_code (т.е. пишем code, а он сам сформирует приставку), Заголовок: СМС-код для VIP-объявления (или по усмотрению), Ставим галочки на Опубликовано? Ну и выбираем Все объявления слева в «Категория».
12. Заходим опять на сайт смсок, в личном кабинете в биллинге где высвечиваются Ваши префиксы нажимаем Редактировать (префикс будем редактировать), ставим галочку «Вызывать URL на API вашего сайта» и вписываем туда полный путь до файла vipsms.php (Например, ). Сохраняемся.
13. На этом же сайте можно и потестировать. В биллинге в виртуальный телефон заходим, там выбираем номер и вписываем префикс, внизу Вам отобразиться код
Вот в принципе и все!
Хочу отдельно поблагодарить Комкова Александра с сайта AvisoSMS, который подсказал во многих местах как лучше сделать!
p.s.: сейчас немного не оптимальный код проверки SMS на правильность, чуть позже разберусь с ним и подправлю (надо все же, чтобы использованный код удалялся из базы с кодами или ставился какой-то код в таблицу (или же заменялся код на что-то...) )
- gloomkolomna
- 10 ноября 2010, 15:03
- 0
Спасибо, но вот проблема в том, что не хочет скрипт, который проверяет правильность кода, обрабатывать запросы, типа UPDATE, DELETE… :( поэтому приходится выкручиваться и сравнивать по сто раз
- Alex43
- 18 сентября 2011, 15:18
- 0
В ответном SMS приходит: " Невозможно определить кодировку ответа" с чем это может быть связанно?
- pupynyn
- 08 февраля 2012, 10:58
- 0
Здрасте!
Этот вариант сработает чтобы сделать все объявления випами? тоесть, чтобы без оплаты смс объявления не было опубликовано
кароче, платные объявления
Если нет, то что в этом коде надо переделать для того чтобыпубликация проходила только после смс
Этот вариант сработает чтобы сделать все объявления випами? тоесть, чтобы без оплаты смс объявления не было опубликовано
кароче, платные объявления
Если нет, то что в этом коде надо переделать для того чтобыпубликация проходила только после смс
- 777maxi
- 26 мая 2012, 08:29
- 0
Разработаю или продам компонент adsmaneger для joomla 1.5 1.7 2.5
примеры выможите посмотреть на сайте www.ar54.ru
по всем вопросам обращайтесь по email: 777maxi@bk.ru tel +7-965-971-07-77 skype: o299my
примеры выможите посмотреть на сайте www.ar54.ru
по всем вопросам обращайтесь по email: 777maxi@bk.ru tel +7-965-971-07-77 skype: o299my
- nadim
- 21 августа 2012, 18:38
- 0
Подскажите в чем может быть проблема или это так и есть?
Форма для тестирования Вашего обработчика сообщений выдает:
Ответ сервера партнера на сообщение о статусе оплаты:
Хотя когда полученный код активации ввожу при добавлении объявления, объявлению присваивается статус VIP
2. Какой должен быть тип в поле «code» и строке «vip» -?
Форма для тестирования Вашего обработчика сообщений выдает:
Ответ сервера партнера на сообщение о статусе оплаты:
Notice: Undefined index: sms_body in /home/имя сайта/www/vip/vipsms.php on line 4Хотя когда полученный код активации ввожу при добавлении объявления, объявлению присваивается статус VIP
2. Какой должен быть тип в поле «code» и строке «vip» -?
вашпрефикс_vipsms. В этой таблице создайте одно поле code
Создаем в БД adsmanager_ads новую строку и называем ее vipТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Комментарии:12