ElevenPaths/latch-plugin-joomla — pull request #9 by phproberto (2014-04-11 15:57:25+00:00)
Title: [imp] change Joomla components license to GPL + global cleanup

This is a global cleanup + license change.

![latch-change](https://cloud.githubusercontent.com/assets/1119272/2681824/e7fa0a6c-c191-11e3-87c0-01fd4334a0bc.png)

## New Latch library

Previously the module and the plugin had different copies of the Latch SDK. That could cause some unexpected errors. The SDK of the plugin was not really used. I moved everything to a common Joomla library.

To use the library you just have to do:

```php
JLoader::import('latch.library');

// Here use Latch, LatchHeper, LatchResponse
```

That will make SDK classes accessible and also a new helper called `LatchHelper` which is mainly a copy of the previous `ModLatchHelper`. I did a small cleanup and commented the methods using the [Joomla! coding standards](https://github.com/joomla/coding-standards).

Ideally the Latch folder would use autoloading but I didn't change its structure to ensure that all the SDK remains in the same original structure just in case you want to update it. Now SDK is at folder:

`libraries/latch/sdk`

## Overridable module

The previous module wasn't able to be overriden because:
* Layout was forced to `modules/mod_latch/tmpl/default`
* CSS styles was forced to `modules/mod_latch/latch.css`

Now the module html can be overriden copying the original layout:

`modules/mod_latch/tmpl/default.php`

to your template at:

`templates/MY_TEMPLATE/html/mod_latch/default.php`

You can also apply different layouts for different module instances thanks to the new `layout` param on module options:

![custom_layouts](https://cloud.githubusercontent.com/assets/1119272/2681699/4b07c3ee-c190-11e3-896c-ecacbfd05352.jpg)

The CSS is now on installed on the media folder so it can also be overriden at template level. To override CSS on your template copy:

`media/mod_latch/css/latch.css`

to your template at:

`templates/MY_TEMPLATE/css/mod_latch/latch.css`

## Change Joomla! components' license to GPL and version to v2.0.0

The change from **LGPL** to **GPL** cannot be considered backward compatible (even knowing that it's not going to break any site). That's why I decided to create a new major version `v2.0.0` to easily identify also the first **GPL** release.

I included a `LICENSE` file with a copy of GPL v2.0 license on all the extensions. I copied the old **LGPL** LICENSE file inside the SDK because it remains **LGPL**

I also changed the headers of all files to include the new license and to make them Joomla! coding standards compliant. This will also allow the use of tools like PHPDocumentor to create a fast developer documentation.