tasks/ext/zendguard/ZendGuardLicenseTask.php
Produce license files using Zeng Guard.
The task can produce a license file from the given license properties or it can use a template.
- Author
- Petr Rybak
- Package
- phing.tasks.ext.zendguard
- Since
- 2.4.3
- Version
- $Id: 96af59b9cbecaf7f146dffab1d0b5a806a56b47f $
\ZendGuardLicenseTask
Produce license files using Zeng Guard.
The task can produce a license file from the given license properties or it can use a template.
- Parent(s)
- \Task < \ProjectComponent
- Author
- Petr Rybak
- Copyright
- 2001,2002 THYRELL. All rights reserved
- Since
- 2.4.3
- Version
- $Id: 96af59b9cbecaf7f146dffab1d0b5a806a56b47f $
Properties

string
$expires= ''
Expiration date of the license. Used if the license is issued with a date restriction.
Possible values: - 'Never', '0' or false: the license won't expire - A Date in format DD-MM-YYYY to set expiration for that date - Relative date supported by the PHP strtotime function (e.g. +1 month)
REQUIRED
- Type
- string

bool
$hardwareLocked= ''
Option that indicates if the license will be locked to a specific machine using the Zend Host ID code(s). If set to YES, the Host-ID is required.
OPTIONAL
- Type
- bool

string
$hostID= ''
Coded string (Zend Host ID) used to lock the license to a specific hardware. The Zend Host ID obtained from the machine where the encoded files and license are to be installed. The Zend Host ID code can be obtained by using the zendid utility.
For more details, see Getting the Zend Host ID.
REQUIRED if Hardware-Locked is set equal to YES. Meaningless if Hardware-Locked is set equal to NO.
User semicolon to enter more than one Host-ID
Example: Host-ID = H:MFM43-Q9CXC-B9EDX-GWYSU;H:MFM43-Q9CXC-B9EDX-GWYTY
- Type
- string

string
$ipRange= ''
Limits the use of the license to IP addresses that fall within specification. Supports wildcards for any of the IP place holders, as well as the two types of net masks (filters).
Netmask pair An IP a.b.c.d, and a netmask w.x.y.z. (That is., 10.1.0.0/255.255.0.0), where the binary of mask is applied to filter IP addresses. ip/nnn (similar to a CIDR specification) This mask consists of nnn high-order 1 bits. (That is, 10.1.0.0/16 is the same as 10.1.0.0/255.255.0.0). Instead of spelling out the bits of the subnet mask, this mask notation is simply listed as the number of 1s bits that start the mask. Rather than writing the address and subnet mask as 192.60.128.0/255.255.252.0 the network address would be written simply as: 192.60.128.0/22 which indicates starting address of the network and number of 1s bits (22) in the network portion of the address. The mask in binary is (11111111.11111111.11111100.00000000).
OPTIONAL
Example (Wildcard): IP-Range = 10.1.. Example (Net Mask): IP-Range = 10.1.0.0/255.255.0.0 Example (Net Mask): IP-Range = 10.1.0.0/16
- Type
- string

string
$licenseTemplate= ''
Path to license template. If specified all license properties will be ignored and the template will be used to generate the file.
- Type
- string

string
$privateKeyPath= ''
Path to private key that will be used to sign the license
- Type
- string

string
$productName= ''
The name assigned to Product. This must be the same name used when encoding the PHP files.
REQUIRED
- Type
- string

\Project
$project= 'null'
Holds a reference to the project that a project component (a task, a target, etc.) belongs to
A reference to the current project instanceInherited from: \ProjectComponent::$$project\Task::$$projectnullDetails- Type
- \Project
- Inherited_from
- \ProjectComponent::$$project
- Inherited_from
- \Task::$$project

string
$registeredTo= ''
The Name of the Registered owner of the license.
REQUIRED
- Type
- string

string
$userDefinedValues= ''
Semi-colon separated user defined values that will be part of the license. These values CANNOT be modified after the license is produced. Modification would invalidate the license.
OPTIONAL Example: Tea=Mint Flavor;Coffee=Arabica
- Type
- string

string
$xUserDefinedValues= ''
Semi-colon separated user defined x-values that will be part of the license. These values CAN be modified after the license is produced. Modification won't invalidate the license.
OPTIONAL Example: Tea=Mint Flavor;Coffee=Arabica
- Type
- string
Methods

cleanupTmpFiles(
)
:
voidIf temporary license file was created during the process this will remove it

generateLicenseTemplate(
)
:
stringIt will generate a temporary license template based on the properties defined.
| Type | Description |
|---|---|
| string | Path of the temporary license template file |

generateLicenseTemplateContent(
)
:
stringGenerates license template content based on the defined parameters
| Type | Description |
|---|---|
| string |

getLicenseTemplatePath(
)
:
stringChecks if the license template path is defined and returns it.
If it the license template path is not defined it will generate a temporary template file and provide it as a template.
| Type | Description |
|---|---|
| string |

getLocation(
)
:
\LocationReturns the location within the buildfile this task occurs. Used by {@link BuildException} to give detailed error messages.
Inherited from: \Task::getLocation()| Type | Description |
|---|---|
| \Location | The location object describing the position of this task within the buildfile. |

getProject(
)
:
\ProjectReturns a reference to current project
Inherited from: \ProjectComponent::getProject()\Task::getProject()| Type | Description |
|---|---|
| \Project | Reference to current porject object |

getRuntimeConfigurableWrapper(
)
:
\RuntimeConfigurableReturns the wrapper object for runtime configuration
Inherited from: \Task::getRuntimeConfigurableWrapper()| Type | Description |
|---|---|
| \RuntimeConfigurable | The wrapper object used by this task |

getTaskType(
)
:
stringReturns the name of the task under which it was invoked, usually the XML tagname
Inherited from: \Task::getTaskType()| Type | Description |
|---|---|
| string | The type of this task (XML Tag) |

init(
)
:
void
Should throw a BuildException if something goes wrong with the build
This is abstract here, but may not be overloaded by subclasses.
| Exception | Description |
|---|---|
| \BuildException |

log(
string $msg, integer $level
=
Project::MSG_INFO
)
:
void
| Name | Type | Description |
|---|---|---|
| $msg | string | The message to log |
| $level | integer | The priority of the message |
- See
- \BuildEvent
- See
- \BuildListener

main(
)
:
voidDo the work
Should throw a BuildException if someting goes wrong with the build
This is abstract here. Must be overloaded by real tasks.
| Exception | Description |
|---|---|
| \BuildException |

maybeConfigure(
)
:
voidConfigure this task if it hasn't been done already.
Inherited from: \Task::maybeConfigure()
parseAndAddUserDefinedValues(
\stirng $valueString, array $valueArray, string $keyPrefix
=
'', $pairSeparator
=
';'
)
:
voidParse the given string in format like key1=value1;key2=value2;... and converts it to array (key1=>value1, key2=value2, ...)
| Name | Type | Description |
|---|---|---|
| $valueString | \stirng | Semi-colon separated value pairs |
| $valueArray | array | Array to which the values will be added |
| $keyPrefix | string | Prefix to use when adding the key |
| $pairSeparator |

prepareSignCommand(
)
:
stringPrepares and returns the command that will be used to create the license.
| Type | Description |
|---|---|
| string |

setDescription(
string $desc
)
:
void
| Name | Type | Description |
|---|---|---|
| $desc | string | The text describing the task |

setExpires(
mixed $expires
)
:
stringProcess the expires property. If the value is empty (false, '', ...) it will set the value to 'Never' Otherwise it will run the value through strtotime so relative date and time notation can be used (e.g. +1 month)
| Name | Type | Description |
|---|---|---|
| $expires | mixed |
| Type | Description |
|---|---|
| string |

setLocation(
\Location $location
)
:
voidSets the location within the buildfile this task occurs. Called by the parser to set location information.
Inherited from: \Task::setLocation()| Name | Type | Description |
|---|---|---|
| $location | \Location | The location object describing the position of this task within the buildfile. |

setOwningTarget(
\Target $target
)
:
void
| Name | Type | Description |
|---|---|---|
| $target | \Target | Reference to owning target |

setProject(
\Project $project
)
:
voidReferences the project to the current component.
Inherited from: \ProjectComponent::setProject()\Task::setProject()| Name | Type | Description |
|---|---|---|
| $project | \Project | The reference to the current project |

setRuntimeConfigurableWrapper(
\RuntimeConfigurable $wrapper
)
:
voidSets the wrapper object this task should use for runtime configurable elements.
Inherited from: \Task::setRuntimeConfigurableWrapper()| Name | Type | Description |
|---|---|---|
| $wrapper | \RuntimeConfigurable | The wrapper object this task should use |

setTaskName(
string $name
)
:
string
| Name | Type | Description |
|---|---|---|
| $name | string |
| Type | Description |
|---|---|
| string | A string representing the name of this task for log |

setTaskType(
string $name
)
:
voidSets the type of the task. Usually this is the name of the XML tag
Inherited from: \Task::setTaskType()| Name | Type | Description |
|---|---|---|
| $name | string | The type of this task (XML Tag) |

setUserDefinedValues(
$userDefinedValues
)
:
void| Name | Type | Description |
|---|---|---|
| $userDefinedValues |

setXUserDefinedValues(
$xUserDefinedValues
)
:
void| Name | Type | Description |
|---|---|---|
| $xUserDefinedValues |

verifyConfiguration(
)
:
voidVerifies that the configuration is correct
| Exception | Description |
|---|---|
| \BuildException |