LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 03:00:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Новый тип для инсталяторов (XML)  (Прочитано 2108 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« : 04.02.2011, 16:21:09 »

я об этом ранее говорил, но вот решил попробовать. В итоге вот что получилось:

Тип 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 />';
        }
    }

Языковые переменные можно вынести в языковой файл, ну и оптимизировать функцию если она не оптимальна. Я сделал простые фильтры на полученные данные, как говорится, на всякий случай Azn

в итоге это всё выглядит  так:
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #1 : 04.02.2011, 16:21:57 »

жду вашего мнения. Я лично считаю, проверка наличия новой версии нужна.. Azn и очень иногда требуется.. а то лопатить интернет иногда трудно Azn
« Последнее редактирование: 04.02.2011, 16:25:13 от Gold Dragon » Записан
MuraDweb
Support Team
*****

Репутация: +121/-1
Offline Offline

Пол: Мужской
Сообщений: 666



« Ответ #2 : 04.02.2011, 16:45:17 »

Я думаю не помешала бы такая фича Wink
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #3 : 04.02.2011, 22:25:41 »

Я думаю это нужно, но название надо написать более понятным и полным, например checkVersion или check_version.
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #4 : 05.02.2011, 10:55:52 »

Цитировать
но название надо написать более понятным и полным, например
Так кто же против Azn

А кто такие решения вообще принимает? Azn И ещё, ну если команда Joostina русскоязычная, может всё таки комментарии в коде на русском писать?
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #5 : 05.02.2011, 15:29:40 »

Такие решения принимает Николай. Комментарии пишутся на русском, если увидел английский комментарий, значит он был написан еще разработчиками Joomla.
Записан
boston
Moderator
*****

Репутация: +222/-3
Offline Offline

Пол: Мужской
Сообщений: 2699



« Ответ #6 : 01.03.2011, 00:11:04 »

Сделать не проблема, актуально?
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #7 : 01.03.2011, 09:24:49 »

очень.. мне приходиться по интернету лазить и искать офсайты компонентов и модулей чтобы обновить.. очень не удобно... Да и такие вещи уже давно во всех программах используются.. и у конкурентов движков(!)
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #8 : 01.03.2011, 09:32:14 »

Так еще-же надо чтобы сайт разработчика отдавал нужную информацию, над этим думал?
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #9 : 01.03.2011, 09:38:37 »

ну если я разрабатываю приложение то я то уж должен знать все типы и требования к самим приложениям Azn
Это вообще не должно быть проблемой. Это вопрос больше к профессионализму разработчиков..

ЗЫ
а для формирования альтернативной справочной информации, я у себя на сайте готовлю очередную статью-справочник по типам Azn
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #10 : 01.03.2011, 09:41:03 »

в любом случае если не указать тип то ошибки то никакой не будет .. просто человек не желает поддерживать и продвигать своё творение Azn
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #11 : 01.03.2011, 09:53:23 »

Ты, возможно, неправильно меня понял, должен быть компонент, который отдает версии. С админкой, куда можно вписать наименование продукта и его текущую версию. В идеале это должен быть компонент файлового хранилища.
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #12 : 01.03.2011, 09:59:48 »

если честно то сейчас вообще запутался Azn какой компонент? Структура сайта разработчика ведь может быть другой, не Joostina Azn

вот тут и пишем что запросить, например

default="http://gd.fipuche.ru/ver.php?ver=mod_archive"
Записан
Arkadiy
Moderator
*****

Репутация: +244/-5
Offline Offline

Сообщений: 4895


Былененький он зел.


« Ответ #13 : 01.03.2011, 10:09:21 »

Ну допустим ты можешь для одного компонента вручную поправить файлик ver.php, а если десять компонентов? А если забыл? По моему правильнее и удобнее было-бы при публикации нового дистрибутива вписывать его версию на этой-же странице, а потом обеспечить механизм выдачи новейшей версии по запросу.
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #14 : 01.03.2011, 10:35:15 »

Arkadiy, что-то я тебя не понимаю... Допустим у меня есть сайт, который я написал с нуля сам.. я занимаюсь своими делами на этом сайте + второстепенно и делаю что-то для Joostina.. А уже как у меня формируется строка для обработки версии и файловый архив - это уже третье дело...
я же могу писать как угодно
http://gd.fipuche.ru/ver.php?ver=mod_archive
http://gd.fipuche.ru/mod_archive/
http://gd.fipuche.ru/mod_archive.html
http://gd.fipuche.ru/joostina-1.html
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #15 : 01.03.2011, 10:46:55 »

главное соблюдать требования что на выходе отдавать... то что я написал подразумевает буквы-цифры не более 10... в любом случае лишнее уберётся и обрежется при обработке
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet