А вот у меня такой вопрос для гуру.
Реально ли сделать вот такую ботву.
Задача:
1) Имеется некое количество партнеров с ссылкой на их сайты.
2) Для них создаются страницы или личные кабинеты, где они указывают все о себе, в том числе все контакты и малое описание.
3) Выводится вьювсом в список этих партнеров.
4) Однако публикация этих страниц происходит только при соблюдении парочки условий:
- Принимает условия договора. Там галочка например, шо он готов гладко бриться и больше не пинать соседскую собаку
- Партнер разместил у себя на сайте, на главной странице этот кодик с ссылкой на наш сайт.
5) Если партнер убирает ссылку или код (типа баннера "партнер такой то сети" с картинкой), в списке он пропадает автоматом.
Надеюсь написал понятно.
В общем понимаю, что реально, но какие для этого нужны технические решения и на сколько затратная затея.
Комментарии
Вопрос ваш в том, что как друпалом контролировать ежедневное бритьё?
ну нет. Просто мы например договариваемся с некой группой лиц об обмене ссылками и работе по одним правилам. Он говорит да, а через неделю включает заднюю. Пиарю его как честного, но на самом деле парень снимает сливки в виде клиентов и мне в обратку не шлет ссылкой. Я то не узнаю об этом, что он съехал с темы.
Обратная ссылка нужна для того, чтобы клиенты видели кто его контролирует на предмет качества, чтоб если надо пожаловаться. В общем списке он смотрится как сертифицированный подлец, умеющий грызть ногти на ногах по определенной схеме. Качественно, без надрывов.
От file_get_contents и preg_match по крону, до построения "умных" алгоритмов парсинга. Зависит от тонкостей.
Да какие тонкости? Вывели вьювсом список этих личных страничек. Кабинет пользователя например и они все списком светятся. Ссылку убрал - из списка автоматом вылетел. В общем списке партнеров его больше нет.
Появился новый. Заполнил все данные, нажал галочку "согласен, вставил код у себя и в списке появился. Тоже автоматом.
1 булька, соответствующая статусу размещения, не доступная пользователю и меняющаяся по результатам проверки.
Если использовать родные свойства или поля - не нужно писать доп хендлер для фильтрации вьюхи.
Так проверка не должна быть ручной. Все автоматизировано чтоб было. Уж не знаю возможно ли. Типа как вставляем счетчик яндекса или гугла. Нет кода на сайте - нет статистики в личном кабинете метрики. Только он просто выпадает из общего списка. В реальном времени чтоб можно было видеть сколько у тебя партнеров.
Счетчик посылает запросы с вашего сайта на сервер. В Вашем случае, нужно делать проверку наличия информации в коде страницы (читайте мой коммент выше).
Я б в ответку клоакинг бы устроил - боту по ip отдавал бы ссылку, а остальным - нет
А я бы не участвовал в проекте ради ссылки.
Как по мне никаких проблем тут нет. По крону проверять и выбрасывать.
Я бы накостылил следующим образом:
1. В типе материала скрытое поле, на котором указан адрес страницы, где обратная ссылка.
2. Скрипт, который лезет в табличку друпала и:
- качает страничку где должна быть ссылка
- парсит
- если не находит, то в базе снимает публикацию
3. Скрипт в крон.
Решение костыльное, но позволит не городить огород в самом друпале.
Данный вариант хорош если затея ограничивается только ссылкой. Это лишь часть задачи. Там должно еще одно событие происходить. Срабатывание одного из модулей. Не возникнет проблем?
Не надо там никаких доп.модулей, просто снимать материал с публикации, это в базе сразу скриптом делать.
Для нахождения ссылки достаточно простого strpos по коду страницы. Другое дело, что могут скрыть ссылку через css, а это уже только руками (глазами) проверяется. Именно поэтому лучше меняться не ссылками, а баннерами. Скрипт баннера будет просто кидать пинг на друпал, а друпал в ответку раз в день парсит страничку на наличие скрипта. Так можно точно удостовериться, что скрипт не только присутствует в коде страницы, но и работает.
Пусть это баннер. Мне важно, чтобы проверка была автоматической. Но на сколько понял у партнера есть возможность обойти. И на сколько этот скрипт трудный в создании?
Возможность обойти есть всегда, исходящие запросы могут подделать, входящие обработать должным образом. Но факт, что никто не будет этим заморачиваться ради того, чтобы обмануть вас, т.к. затраты не окупятся. А скрипт создать легко. Надо просто немного знать js
Решение для баннера - one pixel img
То есть ты отдаёшь партнёру ссылку на свой баннер, который картинкой, но отдаёшь эту картинку не на прямую, а через свой роут, который обновляет поле в профиле партнёра, что он "честный" и время "проверки" и только потом отдаёт в респонс саму картинку (роут может быть динамическим, чтоб можно было детектить от какого партнёра "пришли") по желанию можно в крон поставить проверку по партнёрам, которые давно не "обновлялись"
Что то не нашел такого модуля one pixel img
Никто и не писал, что это модуль
Если не сложно, для ламера как я расшифровать что это и куда.
Усложним задачу.
Человек не только должен разместить обратную ссылку на своем сайте в виде баннера, ссылки, но и пройти предварительное тестирование через модуль Quiz, который не работает пока)) https://drupal.ru/node/135705
Объясню идею в целом.
Некий парень, умеет например хорошо красить тачки. Имеет сайт. Хочет пройти добровольную сертификацию на знание технологии покраски, появившись в общем списке добровольно прошедших сертификацию.
То есть. Он проходит тест на знание технологии онлайн, размещает у себя ссылку на мой сайт и только тогда высвечивается в общем списке сертифицированных.
Какое из вышеперечисленных решений подойдут?
Отвлечённая история из жизни: в филиале одной крупной компании техдир решил бороться с любителями в нерабочее время полазить по порносайтам. Три месяца ит-отдел изобретал велосипеды и писал порнофильтры борясь с изобретательностью юзверей, периодически громко ругаясь что это бред и нужен приказ. Спустя три месяца это надоело генеральному и он издал приказ всем под роспись, что кто будет смотреть не то - лишится премии. В следующем месяце траффик сократился в два раза.
Мораль сей басни такова: не пытайтесь решать административные проблемы техническими путями.
Это не модуль, а технология.
Заключается в том, что создаётся картинка размером в 1 пиксель где в аттрибуте src указывается ссылка на обработчик. То есть при загрузке страницы браузер попытается загрузить данную картинку, следовательно сделает запрос на ваш сайт и роут на вашем сайте обработает данный запрос. Обычно использовалась в почте для детектилки прочитанности письма
В конкретно вашем случае это может быть не 1 пиксель, а нормальная картинка баннера.