PHPackages                             thondermonst/padl - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. thondermonst/padl

ActiveLibrary

thondermonst/padl
=================

licensing for php

v2.0.3(9y ago)063LGPL-2.1PowerShellPHP &gt;=5.3.0

Since Dec 17Pushed 9y ago2 watchersCompare

[ Source](https://github.com/thondermonst/padl)[ Packagist](https://packagist.org/packages/thondermonst/padl)[ RSS](/packages/thondermonst-padl/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (6)Used By (0)

PHP Aplication Distribution Licensing
=====================================

[](#php-aplication-distribution-licensing)

What is PADL?
-------------

[](#what-is-padl)

A class to generate and validate licenses for a domain, restricting an expire date.

Demo
----

[](#demo)

See the [PADL Site](http://padl.rgou.net).

History
-------

[](#history)

PADL is a originaly written in 2005 by Oliver Lillie under older PHP4, parked on PHPCLASSES site. You can find the original code as part as this distribution or directelly in  .

It was updated to PHP 5.2,5.3 by Raphael Goulart ()

And later modified to use composer by me

You can find more about the original author in:

- [PHP CLASSES: Classes of Oliver Lillie](http://www.phpclasses.org/browse/author/122732.html)
- [PHP CLASSES: Professional profile of Oliver Lillie](http://www.phpclasses.org/professionals/profile/9072/)
- Otherwise a lot of modifications has been made, all core methods and examples are or just a copy or strongly based on the original project.

### Generate:

[](#generate)

```
/*
Instance of License
parameters:
- useMcrypt
- useTime
- useServer
- allowLocal
*/
$padl = new Padl\License(true, true, true, true);

//For better security injecting a copy of $_SERVER global var
$server_array = $_SERVER;
$padl->setServerVars($server_array);

$date_expire = '12/31/2011';
list($month, $day, $year) = explode($date_expire);
// Calculating the time offset (expire_in)
$now       = mktime(date('H'), date('i'), date('s'), date('m'), date('d') , date('Y'));
$dateLimit = mktime(23, 59, 59, $month, $day, $year);
$expireIn  = $dateLimit - $now;

// Generating a key with your server details
$license = $padl->generate('localhost', 0, $expire_in);

// Save the license anywhere, database, filesystem, even remotely

```

### Validate

[](#validate)

```
/*
Instance of License
parameters used in this sample:
- useMcrypt  = false
- useTime    = true
- useServer  = false
- allowLocal = true
*/
$padl = new PadlLicense(true, true, true, true);

// For better security injecting a copy of $_SERVER global var
$server_array = $_SERVER;
$padl->setServerVars($server_array);

// get the license from a form, or load from database, filesystem
$license = (... load the license ...);

// the set key is the key validated
$results = $padl->validate($license);

```

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~137 days

Total

4

Last Release

3389d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/879d04afe2df532dd06e3078d6d2bb3e527cdec9f8f1c80c8081c195541cf8c6?d=identicon)[thondermonst](/maintainers/thondermonst)

---

Top Contributors

[![diesonne](https://avatars.githubusercontent.com/u/2689543?v=4)](https://github.com/diesonne "diesonne (8 commits)")[![rafaelgou](https://avatars.githubusercontent.com/u/196133?v=4)](https://github.com/rafaelgou "rafaelgou (7 commits)")[![thondermonst](https://avatars.githubusercontent.com/u/2099324?v=4)](https://github.com/thondermonst "thondermonst (1 commits)")

### Embed Badge

![Health badge](/badges/thondermonst-padl/health.svg)

```
[![Health](https://phpackages.com/badges/thondermonst-padl/health.svg)](https://phpackages.com/packages/thondermonst-padl)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
