Battle Forum

Battle Forum (http://battlefox.rooty.ru/index.php)
-   Mozilla Firefox (http://battlefox.rooty.ru/forumdisplay.php?f=74)
-   -   PHP-скрипт для обновления тем и расширений (http://battlefox.rooty.ru/showthread.php?t=1576)

VictorS 11.12.2006 16:54

PHP-скрипт для обновления тем и расширений
 
Вот пост дал толчек заняться написанием скрипта, который бы скачивал все новые версии для расширений из указанной папки. Идея эта у меня уже давно сидела, но было как-то лень. Теперь просто мое самолюбие заставляет попытаться сделать что-то лучше чем сделано у других. :)

Итак, начинаю с конфига... Что нужно настраивать?
1) Папку в которой лежат расширения, которые следует обновить.
2) Качать обновления всегда или только если оно подходит для такого-то приложения такой-то версии.
3) Формат имени расширений. (Переименовывать скачаные версии?)
4) Папка куда перемещать старые версии расширений (чтобы не мешали:))
5) Формат лога и файл куда его писать. (Или писать в стандартный поток?)

Там использует не совсем рабочий модуль сравнения версий. Пока можно просто смотреть что если версия отличается, то качать, а нет - оставлять. С версиями браузеров (если реализовывать эту фичу) будет сложнее.

В общем, сегодня приступлю. Но хотелось бы заранее знать нужно ли это еще кому-нибудь? Если да, то какие пожелания?

P.S.: Так как я собрался покидать этот форум (причины не обсуждаются), то новая версия [Battle]Navigator видимо не увидит света. Если кого заинтересуют идеи что там предполагалось сделать стучите в л/с, пишите в той теме. Передам все права на расширение и его название. :)

Frosty 11.12.2006 17:37

1)Что тут сказать? указать папку с расширеними :)
2)имхо всегда
3)за чем? :)
4)создать папку типо old и скидывать туда обновляемое рашсирение
5)тут по своему усмотрению...

П.С. как предвидется использовать расширение? В идеале бы создать на фтп папочку, куда все сольют нужные им расширения(естественно ввести определенныеправила заливки), а потом производить поиск обнов, на пример раз в сутки, расширения вешь не грузная, думаю много денег не сьест :)

a2z 11.12.2006 17:44

Цитата:

Сообщение от Frosty
на пример раз в сутки

А не часто? Это тебе не базы антивирусные. Кто так часто будет расширения обновлять? :) Насчет расположения надо подумать...

Цитата:

Сообщение от VictorS
хотелось бы заранее знать нужно ли это еще кому-нибудь?

Особо это не требуется, но потестировать не отказался бы.

Frosty 11.12.2006 18:28

Цитата:

Сообщение от arhipet2z
А не часто? Это тебе не базы антивирусные. Кто так часто будет расширения обновлять? :)

Добавь себе RSS закладочку вот эту и увидишь как часто они обновляются :) Обновляться ведь будут не 10-15 расширений одного юзера а в перспективе штук 50-100, хоть одно за день да обновиться, тем более чем тебе оно мешает? нету обнов-ничего не качается-никто не в убытке :)

a2z 11.12.2006 18:43

Frosty, родил колесо? :D Спс за полезный линк. Я там уже бывал и не раз ;) Но думаю такое количество это перебор. Необходимых из них максимум 15-20.

VictorS 11.12.2006 18:47

Цитата:

Сообщение от Frosty
нету обнов-ничего не качается-никто не в убытке

Frosty, не скажи. Качаются 50-100 rdf-файлов с информацией об обновлениях. Да, они по 2-3Кб. Но в итоге до 9Мб в месяц только на проверки. Допустим расширений еще на 10Мб и обновляются они раза 3 в месяц. 40Мб/месяц... Получается да, мелочи это.

Frosty 11.12.2006 21:58

Цитата:

Сообщение от arhipet2z
Необходимых из них максимум 15-20.

5-6 у всех совпадут, остальные у каждого свои
Цитата:

Frosty, не скажи. Качаются 50-100 rdf-файлов с информацией об обновлениях. Да, они по 2-3Кб. Но в итоге до 9Мб в месяц только на проверки. Допустим расширений еще на 10Мб и обновляются они раза 3 в месяц. 40Мб/месяц... Получается да, мелочи это.
Ладно-ладно раз в неделю :)

Добавлено через 2 часа 29 минут
Викторс, ну как там работа над скриптом? Если чем нить смогу помочь(ну там потестить и тд) буду рад :D

VictorS 11.12.2006 23:04

Идет, идет. Разобрался поглубже с имеющимся. Оказалось что лишнего там почти и нет. Я просто очень мало занимался обработкой XML-файлов и вот сказывается... Но кое что я все же меняю. А точнее дополняю.

VictorS 12.12.2006 02:05

Уже кое-что даже протестил через инет. :) Только есть проблемы с некоторыми расширеними, у которых в install.rdf используется левая кодировка (например Get File или MR Tech Local Install).
Осталось дописать одну функцию: для вытаскивания из скачанного update.rdf версии обновления и URL откуда качать. Затем пойдем по пути улучшений.

VictorS 12.12.2006 19:16

Сделано.
Требования:
- PHP5
- Включение опции "fopen wrappers" для функции file_get_contents
- Доступность Интернета во время запуска скрипта
Перед запуском сконфигурируйте скрипт отредактировав файл config.inc.php.
Если у вас в папке лежат какие-то неофициальные версии, то может произойти "обновление" до более старой версии.

MDM, может наконец-то сейчас пригодится папка __SOFT/FireFox давным-давно залитая мною на сервер?

Что предполагается далее:
- "черный список" файлов, которые не будут проверяться
- нормальное сравнение версий чтобы происходило только обновление
- попытка разобраться с кодировками чтобы "get_file-1.2.2-fx.xpi" нормально читался

Frosty 12.12.2006 19:25

Теперь надо вокруг этого скрипта создать общую копилку расширений и обновлять их, идеальным был бы вариант размещения на фтп баттла...
П.С. Викторс зайди в джаббер или асю, пара вопросов есть :)

MDM 12.12.2006 19:36

Парни, потерпите. Проработаем этот вопрос.

VictorS 12.12.2006 19:46

MDM, а ни кто и не торопит. Мне такая обновлялка просто из принципа была интересна. А все расширения что мне нужно я обновляю из Лиса автоматом. :)

Frosty, если организовать совсем уж открытую копилку, то она может очень сильно вырасти, так что думаю что если кто-то и сделает такое, то размещать будет туда там файлы по своему усмотрению. А вопросы через л/с. Если сочту нужным, то отвечу. Честно говоря нет большого желания с кем-то общаться по этому все выключено, а запросы на авторизацию отклоняются.

Frosty 12.12.2006 20:02

Дык организовать систему: заливка в "аплоад" хозяин копилки переносит в папку с расширениями которые обновляются, если надо могу дать скриптик готовый :)

VictorS 12.12.2006 21:04

Обновил скрипт.
Теперь он умеет сравнивать версии вида '/\d+(\.\d+)*/'. Кажется у расширений они только такого вида. Это совместимость может быть описана как 2.0+ или 2.0.0.*, но тут я и человеческим языком не могу объяснить что значит этот '+'. :)

VictorS 12.12.2006 21:57

Обновление №2.
Ну вот и черный список готов.
А с кодировкой ни чего хорошего так и не придумывается, так что с некоторыми расширениями будут проблемы. Неужели так сложно всем использовать UTF-8?.. Или это только у меня проблемы с mr_tech_local_install версии 5.3.2.1ru? Кто-нибудь, киньте это расширение себе в папку и протестите, плиз. Лучше если у вас php под линухом.

Frosty 12.12.2006 22:03

Цитата:

Сообщение от VictorS
Кто-нибудь, киньте это расширение себе в папку и протестите, плиз. Лучше если у вас php под линухом.

1)Дай линк на расширение(в локале)
2) как хоть юзать скрипт, тот что я качал запускается с бат файла...

Frosty 16.12.2006 21:58

Идея с копилкой умерла? :(


Текущее время: 11:52. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot