Open B4rb3rouss opened 7 years ago
J'ai commencé à y travailler, mais plusieurs limites dans blogotext me gênent. Peut-être cela vient de ma noobitude, dans tous les cas je met ici quelques remarques et questions pour y réfléchir.
Concernant le code, c'est là :
https://github.com/B4rb3rouss/blogotext-addons/tree/addons_installer/addons_installer
https://github.com/B4rb3rouss/blogotext-addons/tree/addons_installer/zips
Un addon qui installe d'autres addons doit nécessiter d'être admin. Or, je n'ai pas trouvé comment appeler le fichier admin/inc/auth.php à partir d'un addon, sachant que le dossier "admin" est certainement renommé. Y a-t-il un dossier admin/addons de prévu pour uniquement les addons côté admin?
En l'état, l'addon se présent comme un page unique. Je me demande si ça ne vaut pas le coup d'ajouter cette fonctionnalité directement dans le fichier addons.php.
Le code sera sans aucun doute amélioré par un meilleur codeur PHP que moi.
Pour fonctionner, l'addon a besoin d'un dépôt contenant les addons à installer. Je pensais à blogotext.org, mais à voir.
J'ai créé un script create_zips
dans le dossier zips
qui crée les archives .zip des addons et génère un fichier addons_list.txt
. Les .zip et addons_list.txt
sont à déposer en ligne. Ensuite, l'installateur d'addon va récupérer le fichier addons_list.txt
puis regarde les informations à l'intérieur, sachant qu'il se présente ainsi :
calendar 1.0.0 http://blogotext.org/addons-repo/calendar.zip
highlight 1.0.0 http://blogotext.org/addons-repo/highlight.zip
hscroll 1.1.0 http://blogotext.org/addons-repo/hscroll.zip
latex 1.0.0 http://blogotext.org/addons-repo/latex.zip
lazyload 1.0.2 http://blogotext.org/addons-repo/lazyload.zip
readmore 1.0.0 http://blogotext.org/addons-repo/readmore.zip
relatedposts 1.0.0 http://blogotext.org/addons-repo/relatedposts.zip
showrss 1.1.0 http://blogotext.org/addons-repo/showrss.zip
smileys 1.0.0 http://blogotext.org/addons-repo/smileys.zip
use_firefox 1.0.0 http://blogotext.org/addons-repo/use_firefox.zip
En gros : <nom de l'addon> <version> <url>
Pour mes tests, j'ai mis sur mon serveur. Je suis en mesure d'installer et supprimer les addons.
Je regarde ça demain (si j'ai le temps), mais je pense que ça peux être intégrable dans le core, après tout, le core va gérer les MAJ, autant gérer les addons pour avoir un truc plus complet...
J'avais mis en place un petit script qui génère du JSON au niveau de blogotext.org, il faut que je peaufine le truc, mais ça permet déjà de récupérer la liste des addons, leurs versions et d'autres infos (...) je l'adapterai pour que tu puisses récupérer les zip de chaque addon au besoin.
oh bien le script JSON, manque plus que l'URL de téléchargement des zip et ça roule :)
Ça ne devrait pas être compliqué à intégrer dans le core de cette façon.
Yep, ça serait pas mal dans le core directement ;) Je vais voir pour ajouter les zip par addons sur blogotext.org, je te tiens au jus.
Au passage, il faudrait que la liste sur blogotext.org ait le bon header Content-Type (application/json)
voilà voilà, je me le note ici pour penser à me pencher dessus.