Форма входа

mvcreative

Старая форма входа

  • Страница 1 из 1
  • 1
Форум MVCreative » сделаем креативный uCoz » Общение и архив » Флудодром » PHP & API на uCoz
PHP & API на uCoz
SkaN7769Дата: Воскресенье, 24.04.2011, 00:38 | Сообщение # 1
Завзятый балабол!
Группа: Пользователи
Пользователь №: 170
Сообщений: 109
Награды: 0
Репутация: 5
Статус: оффлайн
Дождались! Думаю для опытных пользователей ох как пригодится! Php и API uCoz. На днях в системе uCoz произошло одно из самых ожидаемых обновлений системы - теперь в uCoz возможно использование языка программирования PHP и функционала API.

PHP - это платная услуга, она доступна как в рамках пакетов (начиная с пакета "Расширенный 2”), так и как отдельная услуга ($1.99 в месяц). Цены на все пакеты, в которых вводится данная услуга, остаются на прежнем уровне и не повышаются.

АPI - это бесплатная возможность, её нужно просто активировать в Основных настройках сайта:

Что теперь можно сделать?

PHP вводится для того, чтобы наши пользователи могли расширить и кастомизировать свои сайты. Добавить им гибкости и разнообразных полезных функций. С помощью нового функционала возможно реализовать различные фичи на сайте, использовать скрипты для взаимодействия с модулями системы и вывода данных в необходимом виде и месте, их преобразование. Открываются возможности к реализации необычных сервисов на своих сайтах.

Для чего данное решение не предназначено?

Данное решение не подходит для установки портальных систем, монстрообразных движков форумов, и прочих высоконагрузочных скриптов с неоптимальным исходным кодом, дающих высокие необоснованные нагрузки на сервер. Собственно, подобные ограничения в реальности есть у любых виртуальных хостингов. К тому же, в ряде случаев это будет дублировать функционал uCoz, и врядли будет иметь целесообразность.

Примеры того, что можно реализовать при помощи PHP

Мы подготовили несколько примеров того, как можно использовать вводимое решение. Все эти примеры с кодами и описаниями доступны на http://phpexample.ucoz.net
Мы также надеемся, что коллекции готовых скриптов и решений будут постоянно пополняться не только усилиями наших разработчиков, но и пользователями системы!
Чтобы поставить уже готовый и отлаженный скрипт - совсем не обязательно быть программистом - при наличии четкой пошаговой инструкции это под силу каждому.

Итак, примеры:

1. Кастомизированные водяные знаки на картинках:

2. Подписка на рассылку с использованием кода безопасности:

3. Смена группы пользователей, при помощи отправки SMS - реализацию этой функции давно просили в нашем сообществе. Например, для организации исключительно платного доступа к некоторым разделам сайта.

Данная функция станет доступна в панели управления как виджет и ей сможет воспользоваться любой сайт, который считает, что ему данный функционал необходим. К сожалению, по некоторым причинам мы не приводим исходный код данного решения, но при этом для его реализации был использован стандартный функционал API и подобный виджет может теперь создать любой желающий.

Посмотреть на другие примеры и получить код для вышеперечисленных можно на сайте http://phpexample.ucoz.net
Вы можете писать свои PHP скрипты и предлагать их к размещению в общий каталог скриптов. В будущем будут проводиться конкурсы, связанные с разработкой PHP скриптов для системы uCoz.

В каком формате мы внедряем эту функцию?

Это именно возможность использовать язык PHP. Под запретом функции работы с памятью, системные вызовы и низкоуровневые функции по работе с файловой системой.
Да, быть может вы уверенны в своих познаниях PHP и готовы поставить на кон голову, что именно ваши скрипты не положат сервер. Но представьте, что будет, если владелец соседнего сайта, того, что расположен на одном с вами сервере, начнет экспериментировать и результат работы его пытливого мозга и шаловливых рук уронит не только его сайт, но и все 100 тысяч, которым не посчастливилось хоститься рядом. Именно поэтому подобные функции есть и будут оставаться под запретом.
Все остальные же функции языка использовать можно.
Можно работать с POST и GET запросами.

Как это работает?

Для вашего аккаунта при активации функции создается отдельная учетная запись на отдельном сервере, папка scripts, где будут храниться все файлы с расширением *.php. Только файлы с таким расширением будет можно вызывать непосредственно в редакторе шаблонов путем специального обращения. Все остальные файлы (их содержимое) можно получать только посредством самих php-скриптов (т.е. нельзя напрямую из шаблона обратиться к картинке в папке /scripts/ или файлу с базой данных, но можно вызвать их через скрипт, а сам скрипт уже вызвать в шаблоне). Сама папка хранится на отдельном сервере, на котором и происходит исполнение всех скриптов. Доступ к ней осуществляется через FTP.
Для того, чтобы запустить скрипт на исполнение, его нужно вызвать в любом нужном вам месте шаблона или материала (или даже напрямую, ссылкой в браузере) в текущем домене через проксирование, используя вот такой синтаксис:

http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM

В шаблонах для вызова php-скрипта можно использовать функцию PHPCODE следующим образом:

<?$PHPCODE$("http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM")?>
где

* SITE_ADDRESS - адрес сайта пользователя, на котором выполняется скрипт.
* SCRIPT_NAME - путь (относительно папки scripts) и имя скрипта, который выполняется.
* ?param0=valueA¶m1=valueB...¶mN=valueM - параметры для скрипта, которые могут как быть, так и не быть.
* <?$PHPCODE$()?> - синтаксис вызова php функции в шаблоне системы uCoz.

Данная функция выполняет GET-запрос на указанный скрипт. Ответ для нее должен быть возвращен только в формате json.
Реализовать использование POST-запросов можно через формы, iframe, другие скрипты этого домена и т.д.

Как это выглядит на практике?

Рассмотрим на примере скрипта, который хранит какую-либо дополнительную информацию о пользователе. Скрипт создает на странице форму с дополнительными полями для текущего пользователя, которые он заполняет и нажимает кнопку "Обновить".

В шаблоне страницы добавляется код обращения к скрипту:

<?IF($USER_ID$)?>
<div align="center">
<p>
<b>Данный пример демонстрирует использование скрипта для хранения дополнительных полей текущего пользователя</b>
</p>
</div>
<hr>
<?$PHPCODE$("http://phpexample.ucoz.net/php/example001/example001.php?uid=",$USER_ID$)?>
<?ELSE?>
<div id="phpdiv">
<p>
Вы не зарегистрированы. Пожалуйста, зарегистрируйтесь или войдите своей учетной записью
</p>
</div>
<?ENDIF?>

А в корень папки помещается файл example001.php с содержимым:

<?php
if(count($_POST)>0)
{
$___notjson=1;
$lines = file('additiondata.dat');
if ($_POST['f0'] && $_POST['f1'] && $_POST['f2'] && $_POST['f3'] && $_POST['f4'])
{
foreach ($lines as $line_num => $line) {
trim($line);
list ($id, $data) = split("\t",$line,2);
if ($id==$_POST['userid'])
{
unset($lines[$line_num]);
file_put_contents('additiondata.dat', $lines);
break;
}
}

Вот так выглядит результат работы скрипта:

Результат работы скрипта

Подробнее о тонкостях работы функций можно почитать в инструкции.

API

Помимо внутреннего внедрения языка PHP мы запустили в работу функционал API.
API - на данный момент существует для всех контент-модулей, кроме форума, интернет-магазина. Импорт данных для обработки осуществляется в формате XML-RPC.
С его помощью возможен импорт данных со страниц этих модулей. Это работает как в рамках юкозовских сайтов, так и для любых других ресурсов.
Например, можно сделать кросспостинг последней статьи из блога на любой сторонний сайт. Или, на основе анализа возраста посетителей, скрывать от них материалы: например, показывать картинки только, если залогиненный посетитель старше 18-ти лет:

С техническими деталями можно ознакомиться в инструкции по API.

Планы на будущее

Далее мы планируем развивать API, добавляя его в оставшиеся модули. Через некоторое время добавится возможность API для редактирования и постинга с oauth-авторизацией.
Без развития не останутся и возможности использования PHP: исходя из реальных потребностей будут меняться установленные лимиты, добавляться необходимые функции.

Вместо заключения

К внедрению PHP мы шли несколько лет не самыми простыми путями. Самые старые наши пользователи могут еще помнить, что на вопрос, когда у нас появится эта функция, отвечалось, что "никогда”. Но времена меняются, и мы не только развиваемся, но и пересматриваем как стратегию нашего развития, так и признаем недочеты в планах.
На сегодняшний день мы являемся первопроходцами в данном направлении и единственной (в своем классе) системой в мире, которая предоставляет такую услугу.

Полная новость


 
вверх
forumzaДата: Воскресенье, 24.04.2011, 01:08 | Сообщение # 2
Спикер
Группа: Пользователи
Пользователь №: 363
Сообщений: 233
Награды: 3
Репутация: 11
Статус: оффлайн
черт лень стоко читать ))))


Бесплатно Скачать ADOBE PHOTOSHOP CS 5

 
вверх
SkaN7769Дата: Воскресенье, 24.04.2011, 01:16 | Сообщение # 3
Завзятый балабол!
Группа: Пользователи
Пользователь №: 170
Сообщений: 109
Награды: 0
Репутация: 5
Статус: оффлайн
ты посмотри картинки в полной новости) мне лень оформлать было)




Сообщение отредактировал SkaN7769 - Воскресенье, 24.04.2011, 01:16
 
вверх
forumzaДата: Воскресенье, 24.04.2011, 01:20 | Сообщение # 4
Спикер
Группа: Пользователи
Пользователь №: 363
Сообщений: 233
Награды: 3
Репутация: 11
Статус: оффлайн
Я в примерах смотрю ненужны понты приведины!! А серьезные вещи делать можно будит форум допустим???


Бесплатно Скачать ADOBE PHOTOSHOP CS 5

 
вверх
FearДата: Воскресенье, 24.04.2011, 05:13 | Сообщение # 5
Настоящий писец!
Группа: Проверенные
Пользователь №: 326
Сообщений: 597
Награды: 14
Репутация: 24
Статус: оффлайн
Думаю на юкоз PHP не будет пользоваться особым спросом, т.к. много школьников которые html не знают...

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


завязываю с этим всем..
 
вверх
forumzaДата: Воскресенье, 24.04.2011, 08:55 | Сообщение # 6
Спикер
Группа: Пользователи
Пользователь №: 363
Сообщений: 233
Награды: 3
Репутация: 11
Статус: оффлайн
Fear, главное деньги для юказ я уже это понел, а ббезопасность клиентов отошла на 2 план


Бесплатно Скачать ADOBE PHOTOSHOP CS 5

 
вверх
Форум MVCreative » сделаем креативный uCoz » Общение и архив » Флудодром » PHP & API на uCoz
  • Страница 1 из 1
  • 1
Поиск: