Дмитрий Кондин

Скрипт отключения старых объявлений

Recommended Posts

Для того чтобы отключить старые объявления без покупки модуля Биллинга можно использовать простейший вариант.

Во вложении файл switcher.zip, там находится PHP-скрипт switcher.php.

Его нужно загрузить в корень сайта по FTP, чтобы он был доступен по адресу http://site.ru/switcher.php

Чтобы задать время жизни объявления смотрим строчку в этом файле

$timeoff = time() - 7*24*3600;

Где 7 - Это количество дней.

Это простая формула, которая высчитывает количество секунд в 7 днях, отнимает от текущей даты в UNIX-формате.

Если хотите поставить 30 дней, то формула будет выглядеть так 

$timeoff = time() - 30*24*3600;

Теперь нужно добавить задание в планировщик задач Crontab, чтобы скрипт вызывался 1 раз в сутки.

Строчка планировщика может быть такой

1 1 * * * /usr/bin/wget -O /dev/null -q http://site.ru/switcher.php

Эта строчка будет выполнятся каждый день в 1:01.

Конечно же, site.ru - заменяем на адрес своего сайта.

switcher.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Объявления по истечении срока будут совсем удаляться или становиться не активными?

В базе они останутся, будет установлен статс Не активно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В базе они останутся, будет установлен статс Не активно.

Это для всех без исключения объявлений или можно установить для разных категорий разные сроки?

И будут ли пользователи оповещаться об истечении срока публикации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это для всех без исключения объявлений или можно установить для разных категорий разные сроки?

И будут ли пользователи оповещаться об истечении срока публикации?

Это для всех без исключения, оповещений нет.

Для расширенных настроек есть биллинг http://www.sitebill.ru/skript-oplaty

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно одной рассылкой всем пользователям отправить "оповещение" об окончании срока?

Пользователи будут видеть свои неактивные объявления, чтоб они сами смогли решить: обновлять или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно одной рассылкой всем пользователям отправить "оповещение" об окончании срока?

Пользователи будут видеть свои неактивные объявления, чтоб они сами смогли решить: обновлять или нет?

Этот скрипт делает только одно действие.

Для более сложных действий нужен биллинг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А можно ли настроить скрипт так, чтобы все объявления становились неактивными 1 числа каждого месяца?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно - в кроне делаем условие запуска раз в месяц первого числа.

1 1 1 * * /usr/bin/wget -O /dev/null -q http://site.ru/switcher.php

И sql-для выполнения внутри switcher.php

$query = "update ".DB_PREFIX."_data set active=0";

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При этих настройках возможно запретить самостоятельное поднятие объявлений для пользователей? Нужно ли что-нибудь еще настраивать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При этих настройках возможно запретить самостоятельное поднятие объявлений для пользователей? Нужно ли что-нибудь еще настраивать?

Эти настройки (скрипт) никак не влияет на поднятие объявлений.

Поднятие можно сделать только с помощью модуля биллинга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эти настройки (скрипт) никак не влияет на поднятие объявлений.

Поднятие можно сделать только с помощью модуля биллинга.

Я правильно понял, что без биллинга я не могу настроить так, чтоб скрипт сделал объявление неактивным и только я смог вернуть ему активность через админку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я правильно понял, что без биллинга я не могу настроить так, чтоб скрипт сделал объявление неактивным и только я смог вернуть ему активность через админку?

Неактивность можно сделать простым скриптом что описан выше.

Я вам писал про биллинг для поднятия объявлений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помогите разобраться, запутался немного.

 

Без подключения биллинга при настроенной Робокассе можно брать оплату за размещение объявлений. Вместе со скриптом описанным выше можно ограничить объявления по времени.

 

После того, как оно станет неактивным кто может его активировать снова?

 

1. Пользователь бесплатно.

2. Пользователь за деньги (при условии настроенной Робокассы)

3. Только Админ через админпанель.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помогите разобраться, запутался немного.

 

Без подключения биллинга при настроенной Робокассе можно брать оплату за размещение объявлений. Вместе со скриптом описанным выше можно ограничить объявления по времени.

 

После того, как оно станет неактивным кто может его активировать снова?

 

1. Пользователь бесплатно.

2. Пользователь за деньги (при условии настроенной Робокассы)

3. Только Админ через админпанель.

В базовой версии (без биллинга) в настройках можно включить две опции

1. advert_cost - цена размещения объявления (тогда если оно стало неактивно, то нужно снова оплатить его чтобы стало активно), можете поставить туда 10 руб например и испробовать.

2. Аналогично со special_advert_cost - цена спец.размещения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В базовой версии (без биллинга) в настройках можно включить две опции

1. advert_cost - цена размещения объявления (тогда если оно стало неактивно, то нужно снова оплатить его чтобы стало активно), можете поставить туда 10 руб например и испробовать.

2. Аналогично со special_advert_cost - цена спец.размещения.

В этом случае через какое время объявление становится неактивным?

Или без скрипта не обойтись?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В этом случае через какое время объявление становится неактивным?

Или без скрипта не обойтись?

Через то, которое укажете в скрипте, без него не будет автоматического отключения

http://www.etown.ru/s/topic/423-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%BE%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81%D1%82%D0%B0%D1%80%D1%8B%D1%85-%D0%BE%D0%B1%D1%8A%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9/#entry4065

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите где искать планировщик задач Crontab, чтобы добавить задание?

 

У меня хостинг jino.ru. В лк нашел Задания по расписанию, но там нужно заполнить несколько полей: задание, комментарий, минуты, часы, дни, месяцы, дни недели.

 

Как прописать задание исходя из этого? Или это вообще не то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

https://ru.wikipedia.org/wiki/Cron

 

Подскажите где искать планировщик задач Crontab, чтобы добавить задание?

 

У меня хостинг jino.ru. В лк нашел Задания по расписанию, но там нужно заполнить несколько полей: задание, комментарий, минуты, часы, дни, месяцы, дни недели.

 

Как прописать задание исходя из этого? Или это вообще не то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В моем случае это так должно быть?

 

Задание: /usr/bin/wget -/dev/null -q http://site.ru/switcher.php

Комментарий:

Минуты: 1

Часы: 1

Дни: *

Месяцы: *

Дни недели: *

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, а скрипт после настройки отслеживает дату создания объявления или дату последнего поднятия?

 

Другими словами может ли пользователь, имеющий доступ к изменению даты никогда не платить, изменяя дату хотя бы раз в неделю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, а скрипт после настройки отслеживает дату создания объявления или дату последнего поднятия?

 

Другими словами может ли пользователь, имеющий доступ к изменению даты никогда не платить, изменяя дату хотя бы раз в неделю?

Пользователь из ЛК не сможет менять дату объявления.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не работает платная активация.

 

Настроил скрипт отключения старых объявлений на 7 дней, стоимость 7 рублей в неделю.

Скрипт убрал старые объявления.

Зашел под пользовательским логином и паролем, пополнил баланс, далее в редактирование неактивного объявления, поставил галочку публиковать на сайте.

Объявление появилось на сайте, деньги не списались. Что не так?

При добавлении нового объявления деньги списались, получается если новое объявление станет неактивным, его можно вернуть БЕСПЛАТНО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Точно.

Ведь пользователь же просто может снять свое объявление с публикации временно (всякое бывает).

И согласитесь что вернуть обратно он его тоже может и все за пару минут при редактировании.

Т.е. тут обойти редактирование не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас