При создании секции сайта GetSimple Extend был разработан интерфейс (API) , позволяющий разработчикам получать данные из профиля в этой секции и интегрировать их в сайт или плагин. Например, разработчик теперь имеет возможность добавлять в плагины функционал автоматической проверки наличия обновления для своего плагина в Extend.
Запрос к репозиторию по ID плагина:
http://get-simple.info/api/extend/?id=##
Замените ##
на ID плагина, присвоенного ему в репозитории Extend. Определить ID можно, залогинившись в Extend и посмотрев ID соответствующего файла. Например, http://get-simple.info/api/extend/?id=160
даст ответ по плагину I18N Gallery.Такой способ дает 100% гарантию верного результата, так как ID плагина никогда не меняется вплоть до удаления плагина из репозитория. Еще один пример.
Запрос по имени основного файла плагина: (только для плагинов)
http://get-simple.info/api/extend/?file=#####.php
Замените #####.php
наименованием файла вашего плагина. Для того, чтобы данный метод работал корректно, перед загрузкой в Extend ваш плагин должен быть корректно упакован и структура его соответствующим образом организована. Кроме того, данный способ требует, чтобы имя файла вашего плагина было уникальным для Extend, учитывайте этот аспект, когда будете присваивать наименование своему плагину. Процедура проверки обновления плагинов, применяемая в GS v3.1+ также требует, чтобы имя главного файла плагина было уникальным. Пример ответа можно посмотреть здесь.
Результат запросов к Extend API отдается в формате json и выглядит следующим образом:
{"status":"successful","id":"112","filename_id":"translate.php","name":"Translate","version":"0.3","category":"Plugin","tags":"translation, languages, internationalization, i18n","tested_with":"2.03","updated_date":"March 25, 2011","support_url":"http:\/\/get-simple.info\/forum\/topic\/1610\/translation-plugin\/","author_url":"http:\/\/mvlcek.bplaced.net","owner":"mvlcek","path":"http:\/\/get-simple.info\/extend\/plugin\/translate\/112\/","file":"http:\/\/get-simple.info\/extend\/export\/2902\/112\/translate.zip","downloads":"80","rating":""}
Так как мы получаем ответ в формате json, мы можем превратить его в PHP-объект с помощью json_decode($response)
. В результате мы получим следующий массив:
stdClass Object ( [author_url] => http=>//mvlcek.bplaced.net [category] => Plugin [downloads] => 80 [file] => http=>//get-simple.info/extend/export/2902/112/translate.zip [filename_id] => translate.php [id] => 112 [name] => Translate [owner] => mvlcek [path] => http=>//get-simple.info/extend/plugin/translate/112/ [rating] => 4.8 [status] => successful [support_url] => http=>//get-simple.info/forum/topic/1610/translation-plugin/ [tags] => translation, languages, internationalization, i18n [tested_with] => 2.03 [updated_date] => March 25, 2011 [version] => 0.3 )
Этот фрагмент выведет номер последней версии нашего примера для плагина с ID = 30.
$my_plugin_id = 30; // замените своим ID $apiback = file_get_contents('http://get-simple.info/api/extend/?id='.$my_plugin_id); $response = json_decode($apiback); if ($response->status == 'successful') { // Successful api response sent back. $current_ver = $response->version; } echo $current_ver;
Кэш Extend API обновляется один раз в четыре часа. Это сделано для уменьшения нагрузки на сервер, посему проверку обновления стоит осуществлять, принимая во внимание этот временной интервал. Разработчики советуют ответственно подходить к работе с Extend API дабы не создавать излишнюю нагрузку.
На главную Содержание