Modules Manager alpha for ProcessWire2.+
Module Manager enables you to browse the modules directory on modules.processwire.com, download, install or update them.
What it does
When installed you'll have a new admin page under "Setup", feel free to move it to wherever you like. On first load it will download and cache a json file from where it will look for modules already installed, new versions, or modules not yet installed or not downloaded and provide actions according to its state.
There's a refresh button to look for new modules already put in modules directory and refresh the cache file with the remote list of modules.
If you download a module it will create a temp zip file in the assets folder, extracts it, creates a new folder in /site/modules/ using the class name, and move the files in there. After it's done it deletes the temp files. It will show a message and show an install button, which you can use to install it, but don't have to.
If you update a module it will do the same process as above, and just replace the current files with the new ones.
This version is still alpha and in testing. Feel free to try it out own your own risk. Current version uses filegetcontents" and "copy" php methods to retrieve the json feed from external domain. This requires the php to allow it in php (allowurlfopen). Download of the module zip is done using copy(). Also on my local install I had to adjust the /site/modules/ and /site/assets/ directory to have write permission by php.
Future & Contributions
This module is planned to be added to core distribution. So any help developing this further and replace the core modules page is greatly appreciated.
- replace "page-edit" permission for module with "modules-manager"
- added version output on modules screen footer
- added max_redirects config option used by download stream context. Increase this value if download of zip failes. default 3.
- some maintenance
- added back support for PW 2.2
- some maintenance
- Language Packs and Site Profiles now show up but will have a "more" link to the repository page.
- Added check if no download github url found to give a "more" link to the modules url
- requires ProcessWire v2.3
- add support for admin themes install