Расширение функционала uCoz’а поддержкой PHP открыло много новых и интересных возможностей для наших сайтостроителей. Cейчас у нас даже проходит конкурс, посвященный этой теме. Но, ожидая потока ваших идей, мы и сами не собираемся стоять в стороне, и потому предлагаем пример, как с помощью небольшого скрипта позволить посетителям за деньги публиковать на сайте разнообразную информацию или получать доступ к vip-контенту. Это может быть использовано, например, для публикации платных объявлений, перехода в группу пользователей с расширенными правами, размещения рекламных ссылок или получения платных рангов, титулов, подписей. Пример использования скрипта можно посмотреть здесь.
Правда, стоит оговориться, что программный код рассчитан не на новичков, а скорее на "продвинутых" пользователей. В данной статье предлагается два варианта решения, как на сайте uCoz сдавать в аренду места под контент. Первый способ могут использовать только те пользователи, у которых помимо услуги PHP оплачена еще услуга снятия рекламного банера (оплата в этом случае будет возможна только через SMS). Вторым же способом могут пользоваться абсолютно любые наши пользователи, оплатившие услугу PHP. В нем помимо SMS возможны и другие варианты приема платежей. Рассмотрим оба примера подробнее.
Первым делом необходимо активировать поддержку PHP у себя на сайте. Далее, если у вас на сайте оплачена услуга снятия баннера (в рамках любого пакета или отдельной услугой), и вас интересует прием платежей от пользователей только посредством SMS, вам нужно:
- скачать файл paidlinks_vip.zip;
- зарегистрироваться в системе SMSCoin;
- создать ключи, как описано на официальном сайте системы uCoz usms.ucoz.ru;
- распаковать файл paidlinks_vip.php из архива и поместить его в папку scripts (или в любую ее подпапку) в своей учетной записи на PHP-сервере.
Если же вы хотите принимать платежи не только через SMS, но и с помощью электронных платежных систем, QIWI и т.д., или вы не оплачивали снятие рекламного баннера, тогда вам необходимо:
- скачать файл paidlinks_vip.zip;
- зарегистрироваться в системе UPayments;
- создать ключи в UPayments;
- распаковать файл paidlinks.php из архива и поместить его в папку scripts (или в любую ее подпапку) в своей учетной записи на PHP-сервере.
После этого в файле paidlinks.php нужно будет прописать нужные вам настройки. Но вначале рассмотрим подробнее сам код скрипта.
Секция между START SECTION <GLOBALCONFIG> и END SECTION <GLOBALCONFIG> является конфигурационной. Здесь определяются следующие переменные:
- $_MAXLINKS - задает максимальное количество ссылок в блоке, который будет выведен у вас на сайте;
- $_DATAFILE - имя файла, в котором будут храниться данные о ссылках (включая период, на который они оплачены);
-
$_PAYMENT_TYPES - массив со списком ключей, используемых для оплаты, и их параметрами.
Формат массива следующий:
KEYID_1 => array( SELECTOPTIONVALUE_1, DESCRIPTION_1, PERIODINSEC_1),
KEYID_2 => array( SELECTOPTIONVALUE_2, DESCRIPTION_2,PERIODINSEC_2), ...,
KEYID_N => array( SELECTOPTIONVALUE_N, DESCRIPTION_N, PERIODINSEC_N),
где:- KEYID_1, KEYID_2, ..., KEYID_N - идентификаторы используемых ключей,
- SELECTOPTIONVALUE_1, SELECTOPTIONVALUE_2, ..., SELECTOPTIONVALUE_N - значения для option в HTML форме оплаты,
- DESCRIPTION_1, DESCRIPTION_2, ..., DESCRIPTION_N - описание периода оплаты,
- PERIODINSEC_1, PERIODINSEC_2, ..., PERIODINSEC_N - длительность периода, на который покупается ссылка (в секундах!).
Сколько ключей вы добавите в массив, столько вариантов оплат и будет предлагаться покупателю. Вам нужно изменить KEYID, DESCRIPTION и PERIODINSEC на свои значения.
-
$_PAYMENT_COOKIES - массив с названиями cookie-файлов, с помощью которых будут переданы данные о размещении платного контента, и длительности его нахождения на вашем сайте. Здесь:
- 'linkcookiename' - имя cookie-файла с адресом сайта (ссылкой),
- 'descrcookiename' - имя cookie-файла с описанием ссылки,
- 'validtime' - период действия cookie-файлов.
Эти значения вы можете оставить, как есть, или поменять на свои.
- $_CHECK_PAGE - адрес особой страницы на вашем сайте, с помощью которой будет проверяться факт существования купленного и введенного кода (см. ниже). Заполните эту переменную после создания страницы.
- $_VALID_ANSWER - строка, наличие которой в странице $_CHECK_PAGE является признаком действительности введенного кода доступа. Заполните эту переменную после создания страницы $_CHECK_PAGE.
- $_SCRIPT_LINK - адрес вашего PHP скрипта (полный URL к копии скрипта, который вы разместили у себя в учетной записи для PHP).
- $_PAGE_HEADER и $_PAGE_FOOTER - соответственно часть страницы до формы оплаты, выводимой скриптом, и часть страницы после формы. Это элементы дизайна самой платежной страницы. В примере используются только основные заголовки HTML, поэтому страница оплаты не имеет дизайна. Рекомендуем изменить эти переменные на элементы дизайна вашего сайта, чтобы страница выглядела более эстетично и полностью вписывалась в общий дизайн. Например, вот так.
Секция между START SECTION <MAIN> и END SECTION <MAIN> является основной. В ней происходит проверка, оплачена ли ссылка, перестраивается файл с данными о ссылках и строится сам блок ссылок.
Секция между START SECTION <ADDLINK> и END SECTION <ADDLINK> отвечает за проверку оплаченности введенного кода с помощью страницы, указанной в переменной $_CHECK_PAGE, и добавление купленной ссылки в файл с данными.
Секция между START SECTION <PAYFORM> и END SECTION <PAYFORM> выполняет всю работу по выстраиванию HTML формы оплаты ссылки и вызова окна с вариантами выбора способа оплаты и информацией о нем.
Секция между START SECTION <LINKSLIST> и END SECTION <LINKSLIST> выводит блок оплаченных ссылок.
После того, как вы вписали свои настройки в конфигурационные параметры скрипта, вам необходимо создать страницу, на которой будет проверяться, оплачен ли введенный код. В зависимости от ее содержания будет либо добавляться ссылка, либо выводиться сообщение с ошибкой. Это будет та страница, адрес которой мы поместим в переменную скрипта $_CHECK_PAGE. Для этого необходимо:
- зайти в ПУ сайта, перейти в редактор страниц и нажать "Добавить страницу";
- ввести название страницы, любые данные в содержимое страницы (они нам не понадобятся), в опциях проставить галочку напротив "Использовать персональный шаблон для страницы" и нажать "Сохранить";
- в ПУ перейти в раздел "Дизайн" - "Управление дизайном (шаблоны)" и выбрать в секции "Редактор страниц" шаблон только что созданной страницы;
-
в самом начале шаблона надо ввести:
<!--ANYALPHANUMERICSET-->;
- переменной скрипта $_VALID_ANSWER устанавливается значение: <!--ANYALPHANUMERICSET-->, где ANYALPHANUMERICSET заменяется на любой случайный набор цифр и букв (например, LKJ3dcjkhK8, JHuj23434hdhK, 87owqioi7zNB);
- в самый конец шаблона необходимо вставить и сохранить шаблон.
Далее надо создать импорт удаленного кода:
- для этого заходим в "Дизайн" - "Импорт удаленного кода" и нажимаем кнопку "Добавить импорт удаленной страницы";
- вводим адрес PHP скрипта (тот же, который был установлен для переменной $_SCRIPT_LINK), устанавливаем минимальную частоту обновления (3 часа) и нажимаем "Добавить";
- после этого у вас появится код $RCODE_1$ (или $RCODE_N$, где N какое-то число, если вы уже пользовались данной функцией);
- теперь выбираем шаблон любой страницы, на которой надо разместить блок со ссылками;
- открываем его и выбираем место, где будет вставлен блок на странице;
- вставляем $RCODE_1$ (или $RCODE_N$) и сохраняем шаблон.
Вот и все. Теперь у вас на сайте есть блок, в котором пользователи могут самостоятельно приобрести место под свой контент. А вам остается лишь развивать сайт и подсчитывать прибыль.
Полезные советы
- Устанавливайте адекватную стоимость размещения текста/ссылок в зависимости от популярности и посещаемости вашего ресурса.
- Используйте прогрессирующую систему скидок, чтобы клиенту было выгоднее арендовать место под свой контент на более долгий срок (например, стоимость ключа для размещения ссылки на 180 дней должна быть ниже 6-кратной стоимости ключа на 30 дней).
- Не используйте на странице более 1 рекламного блока. Чем меньше в нем максимально возможное число ссылок, тем он привлекательнее для рекламодателя.
- Предупреждайте пользователей о том, что размещаемый контент появляется (и исчезает после истечения периода оплаты) не сразу, а через некоторое время. Это связано с временем кэширования ответа от PHP скрипта (именно поэтому мы устанавливали его минимальным).
- Для блокирования размещения нежелательного текста можно добавить в PHP-скрипт небольшой код "черного списка". Однако проще и эффективнее разместить предупреждение, что ссылки на сайты с сомнительным или противозаконным контентом будут удаляться, а их стоимость возвращаться не будет.