я об этом ранее говорил, но вот решил попробовать. В итоге вот что получилось:
Тип
checkver - получение актуальной версии компонента, модуля, мамбота с сайта разработчика
Пример:
<param name="@checkver" type="checkver" default="http://gd.fipuche.ru/ver.php?ver=mod_archive" label="Сведения о версии" description="" />
где
default - это адрес по которому можно в качестве ответа получить простой вывод версии, например банальным
echo '1.2'; А вот функция-обработчик для файла
parameters.xml.phpВ класс
mosParameters вставляем следующую функцию
function _form_checkver($name,$value) {
DEFINE('_GD_RSITE','Cайт разработчика: ');
DEFINE('_GD_TVER','Текущая версия: ');
DEFINE('_GD_AVER','Актуальная версия: ');
$xmlfile = $this->_path;
$authorUrl = _UNKNOWN;
$version = _UNKNOWN;
if(file_exists($xmlfile)) {
$xmlDoc = new DOMIT_Lite_Document();
$xmlDoc->resolveErrors(true);
if(!$xmlDoc->loadXML($xmlfile,false,true)) {
continue;
}
$root = &$xmlDoc->documentElement;
$element = $root->getElementsByPath('authorUrl',1);
$authorUrl = $element ? '<b>'.substr(strip_tags(trim($element->getText())), 0, 150).'</b>' : _UNKNOWN;
$element = $root->getElementsByPath('version',1);
$version = $element?$element->getText():'';
unset($xmlDoc);
}
if($value){
ob_start();
require($value);
$result = substr(strip_tags(trim(ob_get_contents())), 0, 10);
ob_end_clean();
return _GD_AVER.'<b>'.$result.'</b><br />'._GD_TVER.'<b>'.$version.'</b><br />'._GD_RSITE.'<b>'.$authorUrl.'</b>';
}else{
return '<hr />';
}
}
Языковые переменные можно вынести в языковой файл, ну и оптимизировать функцию если она не оптимальна. Я сделал простые фильтры на полученные данные, как говорится, на всякий случай

в итоге это всё выглядит так:
