Checks Magento Connect for the latest versions of your modules
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
README.md
composer.json
composer.lock
mmv

README.md

Magento Module Version Checker

By Edmonds Commerce

A simple script to check Magento Connect (or other custom sources) for the latest version of a module.

Installation

Install via composer

git clone git@github.com:edmondscommerce/magento-module-version-checker.git
cd magento-module-version-checker
composer install

Configuration

You need to configure the modules you wish to check and the page from which to get the modules version. You do this in a json file with the following format:

{
    "https://www.magentocommerce.com/magento-connect/<module>": "<Module_Name>",
    "https://www.magentocommerce.com/magento-connect/aoe-scheduler.html": "Aoe_Scheduler",

    ...
}

Running

./mmv <path/to/config.json>

Custom Sources

In order to add a custom source you need implement a Module class and add the class to the ModuleFactory.

Implementing Module

I've created a template Module class for you to base yours on here.

You simply need to make the following changes:

<?php

namespace EdmondsCommerce\MagentoModuleVersions;

class <YourSource>Module extends AbstractModule
{
    public function getSelector()
    {
        // Here you need to add a css selector to grab the
        // version data from the page.
        return '';
    }

    public function cleanVersionNumber($versionNumber)
    {
        // Here you need to add some clean up code that takes the
        // selected version and strips out only the version number.
        return $versionNumber;
    }
}

You can see an example of this here.

Adding Module to Module Factory

Once you've implemented a Module class you need to add it to the ModuleFactory.

<?php
...
class ModuleFactory
{
    ...
    public static function create($dom, $page)
    {
        ...
        switch ($host) {
            case 'www.magentocommerce.com':
                return new MagentoConnectModule($dom, $page);
                break;
            case 'www.your-modules-domain.com':
                return new <YourSource>Module($dom, $page);
                break;
            default:
                throw new Exception("Invalid host '$host'");
        }
    }
}

Once that's done you should be able to add your new modules to the config json and run the script.