Сайты uCoz: создание платных услуг на своем сайте
Сайты uCoz: создание платных услуг на своем сайте

Расширение функционала 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-скрипт небольшой код "черного списка". Однако проще и эффективнее разместить предупреждение, что ссылки на сайты с сомнительным или противозаконным контентом будут удаляться, а их стоимость возвращаться не будет.

Все скрипты и файлы, указанные в тексте, предоставляются в свободное пользование и могут редактироваться на собственное усмотрение. А мы будем рады ответить на любые вопросы и предложения в комментариях к этой статье.

17 комментариев
avatar
1 Написал Дениссисс 29 Август 2011, 12:49
Поддержка таких функций - это теперь большой плюс системы uCoz!
Добавляйте больше функций и возможностей и вы сотрете конкурентов!
happy
2 Написал Admin_Vanland_Company 29 Август 2011, 14:01
Поддерживаю!!! smile
avatar
3 Написал diki78 29 Август 2011, 15:52
Да за каждую новую фичу надо платить дополнительно деньги. Плачу каждый месяц за удаление баннера по 3 доллара еще и за php платить? Бред полный. За 36 долларов снимается нормальный домен с хостингом и на joomla делаешь все что надо.
5 Написал АлексБаг 29 Август 2011, 19:29
Вас никто не просит брать услуги по отдельности. Гораздо выгоднее купить пакет.
6 Написал Bur 29 Август 2011, 20:39
Да, вообще бред, что коммерческий проект берет деньги за свои расширенные услуги. Тем более за функционал, позволяющий зарабатывать деньги (вроде интернет-магазина). Почему эти разработчики не могут работать бесплатно?!! biggrin
7 Написал Bur 29 Август 2011, 20:54
Да как-то тереть некого в Рунете. В нашем сегменте нет аналогов, предлагающих такой функционал по условно-бесплатной модели (кстати, буду благодарен за корректные примеры). Зарубежные аналоги - лично сравнивал несколько штук для Hostinfo.ru - хитро выдают настолько ограниченный бесплатный пакет, что сделать полноценный сайт на них довольно трудно (либо урезают функционал, либо количество просмотров в месяц, либо дисковое пространство). Тот же файловый хостинг "Народ", с которым почему-то все время сравнивают uCoz, на текущий момент, видимо, находится на реконструкции: старый функционал - "Мастерскую" - убрали, а новый - "Конструктор" - пока еще передирают у Google. А конкуренция (здоровая ее разновидность) всегда только на пользу, поскольку стимулирует развитие и не дает расслабляться. Но появление новых заметных игроков в сегменте отечественных конструкторов сайтов - всего лишь вопрос времени. И денег.
8 Написал Kurt 30 Август 2011, 11:51
Например кого?
avatar
9 Написал Serega111 30 Август 2011, 23:07
Добавьте пожалуйста модуль "Книги Онлайн"
Это было бы великолепно!
Даже если он будет платный, я бы за платил, очень нужен такой модуль.
10 Написал Olsiva 30 Август 2011, 23:26
А чем вас не устраивает модуль "Каталог файлов"? smile Из него получаются отличные онлайн-библиотеки.
avatar
11 Написал Serega111 31 Август 2011, 02:39
Каталог файлов уже используется для других дел(

Кстати клевый у тебя Блог, мне про сны понравилось что ты писала и о вдохновении)
4 Написал tyapuhy 29 Август 2011, 16:22
Вот, очень хорошо, что доделали эту функцию и привели инструкцию. Обязательно воспользуемся.
12 Написал G-XPert 06 Сентябрь 2011, 20:29
Это не нововведение smile
Можно было и до этого легко сделать любой контент скрытым (платным):
Ставим условие для контента на IP-адрес PHP-сервера (в шаблоне), при загрузке страницы делаем запрос на PHP-скрипт, и он уже, в зависимости от нужных условий (можно привязать систему оплаты) выводит этот контент (id пользователя безопасно получить можно, а раз можно id, то и можно всё остальное, сделав гет-запрос на страницу профиля).
13 Написал Ternox 06 Сентябрь 2011, 22:56
Добавил в избранное. Через недельку вернусь, протестирую, спасибо за подробное описание
14 Написал программа_2010 21 Октябрь 2011, 22:29
можно без оплаты использовать код:
Code
<?PHPCODE?>
avatar
15 Написал joncofe 22 Октябрь 2011, 11:41
код использовать можно, а php скрипты нельзя.
avatar
16 Написал asy 06 Ноябрь 2011, 19:27
Не понял систему оплаты за услуги сайта?
avatar
17 Написал LG-savikdvd_ 27 Январь 2013, 21:33
Решил реализовать Продажу ссылок у себя на сайте через SMS + PHP, по этой инструкции

Все понятно, кроме того, что вставлять в созданную страницу ( если использовать сервис https://smscoin.com , а не свои пароли ) и что вставлять в строку
$_VALID_ANSWER в шапке скрипта - http://upayments.ru/files/paidlinks.txt
Кто ставил себе этот скрипт, подскажите ! Спасибо !
Ваш комментарий