Sign in

Зарегистрируйтесь, чтобы стать полноправным участником сообщества Masterpro.ws.

Возвращаясь к VEL API by Phil Taylor

 Fantasy php

Following a community member suggestion obtaining a VEL website API, Phil Taylor from Blue Flame IT donated his API/JSON script for the community use. It is available at vel.myjoomla.io however the docs have yet to be written.

 

На страницах блога уже рассказывалось о VEL API Фила Тейлора, умеющем отдавать в формате JSON подробный перечень уязвимых расширений Joomla - штуке весьма важной и, несомненно, крайне нужной; при написании же обработки JSON - не было, что называется, убито ни одного дикого животного, т.е. скрипт не содержал ни грана php... что хотя и было весьма познавательно, но, вероятно, содержало в себе как плюсы, так и минусы.

 

 

 

Tweets

 

Сегодня, в качестве продолжения рассказа о VEL API by Phil Taylor, - новая иллюстрация, в противоположность первой, написанная уже на php. Демка - в левом сайдбаре, обсуждение - на форуме. Рекомендую.

 

Интересно, что этот код, опубликованный на форуме joomla.org, спустя всего несколько часов после публикации был удален модератором... странно это все. По прошествии года официальной документации VEL API Фила Тейлора по-прежнему не существует.

 

<?php
//Получаем и декодируем JSON:
$json = file_get_contents('http://vel.myjoomla.io');
$arr = json_decode($json, true);
// Преобразуем даты в метку времени Unix:
function vel_date_parse($str_date){
return strtotime(str_replace('/', '-', $str_date));
}
//Сортируем по [published_date] и реверсируем элементы массива:
function date_compare($a, $b){
$a = vel_date_parse($a);
$b = vel_date_parse($b);
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
uasort($arr['data'], function($a, $b){ return -date_compare($a['published_date'], $b['published_date']);} );
//Выводим в HTML:
foreach ($arr['data'] as $arr) {
$html .= $arr['published_date'] . "<br />";
$html .= "<strong>" .$arr['title'] . "</strong>" . "<br />";
$html .= $arr['version_effected'] . "<br />";
$html .= $arr['type'] . "<br />";
$html .= "<br />";
}
echo $html;

 

Оставить комментарий

Добавьте ваш комментарий