ZendGuardEncodeTask

Extends \MatchingTask

Encodes files using Zeng Guard Encoder

This is very closely based on the ANT class of the same name.

author

Petr Rybak petr@rynawe.net

version

$Id: aacbd9ea1b3f9e13178cea0f5ff625f921076a32 $

package

phing.tasks.ext.zendguard

since 2.4.3

Methods

Create instance; set fileset to new FileSet.

__construct() 
inherited

Add a new selector into this container.

appendSelector(\FileSelector $selector) : void
inherited

Arguments

$selector

\FileSelector

the new selector to add

add an "And" selector entry on the selector list

createAnd() : \AndSelector
inherited

Response

\AndSelector

add a contains selector entry on the selector list

createContains() : \ContainsSelector
inherited

add an extended selector entry on the selector list

createCustom() : \ExtendSelector
inherited

Response

\ExtendSelector

add a selector date entry on the selector list

createDate() : \DateSelector
inherited

Response

\DateSelector

add a depends selector entry on the selector list

createDepend() : \DependSelector
inherited

Response

\DependSelector

add a depth selector entry on the selector list

createDepth() : \DepthSelector
inherited

Response

\DepthSelector

add a name entry on the exclude list

createExclude() : \PatternSetNameEntry
inherited

add a name entry on the include files list

createExcludesFile() : \PatternSetNameEntry
inherited

add a selector filename entry on the selector list

createFilename() : \FilenameSelector
inherited

Add a new fileset.

createFileSet() : \FileSet

Response

\FileSet

add a name entry on the include list

createInclude() : \PatternSetNameEntry
inherited

add a name entry on the include files list

createIncludesFile() : \PatternSetNameEntry
inherited

add a majority selector entry on the selector list

createMajority() : \MajoritySelector
inherited

add a "None" selector entry on the selector list

createNone() : \NoneSelector
inherited

Response

\NoneSelector

add a "Not" selector entry on the selector list

createNot() : \NotSelector
inherited

Response

\NotSelector

add an "Or" selector entry on the selector list

createOr() : \OrSelector
inherited

Response

\OrSelector

add a set of patterns

createPatternSet() : \PatternSet
inherited

Response

\PatternSet

add a present selector entry on the selector list

createPresent() : \PresentSelector
inherited

Response

\PresentSelector

add a "Select" selector entry on the selector list

createSelector() : \SelectSelector
inherited

Response

\SelectSelector

add a selector size entry on the selector list

createSize() : \SizeSelector
inherited

Response

\SizeSelector

Encodes a file using currently defined Zend Guard settings

encodeFile(string $filePath) : boolean
throws

Arguments

$filePath

string

Path to the encoded file

Response

boolean

Returns the textual description of the task

getDescription() : string
inherited

Response

string

The text description of the task

Returns the directory scanner needed to access the files to process.

getDirectoryScanner(\PhingFile $baseDir) : \DirectoryScanner
inherited
throws

Arguments

$baseDir

\PhingFile

Response

\DirectoryScanner

Accessor for the implict fileset.

getImplicitFileSet() : \FileSet
inherited final

Response

\FileSet

Returns the location within the buildfile this task occurs. Used by {@link BuildException} to give detailed error messages.

getLocation() : \Location
inherited

Response

\Location

The location object describing the position of this task within the buildfile.

Returns the owning target of this task.

getOwningTarget() : \Target
inherited

Response

\Target

The target object that owns this task

Returns a reference to current project

getProject() : \Project
inherited

Response

\Project

Reference to current porject object

Returns a name

getRegisterSlot(string $slotName) : \RegisterSlot
inherited

Arguments

$slotName

string

Response

\RegisterSlot

Returns the wrapper object for runtime configuration

getRuntimeConfigurableWrapper() : \RuntimeConfigurable
inherited

Response

\RuntimeConfigurable

The wrapper object used by this task

Returns the set of selectors as an array.

getSelectors(\Project $p) : array
inherited

Arguments

Response

array

FileSelector[] An array of selectors in this container

Returns the name of task, used only for log messages

getTaskName() : string
inherited

Response

string

Name of this task

Returns the name of the task under which it was invoked, usually the XML tagname

getTaskType() : string
inherited

Response

string

The type of this task (XML Tag)

Indicates whether there are any selectors here.

hasSelectors() : boolean
inherited

Response

boolean

Whether any selectors are in this container

Called by the parser to let the task initialize properly.

init() 
inherited

Should throw a BuildException if something goes wrong with the build

This is abstract here, but may not be overloaded by subclasses.

throws

Logs a message with the given priority.

log(string $msg, integer $level = \Project::MSG_INFO) : void
inherited

Arguments

$msg

string

The message to be logged.

$level

integer

The message's priority at this message should have

Called by the project to let the task do it's work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running <em>phing target1 target2</em> will run all tasks in target3 twice.

main() 
inherited abstract

Should throw a BuildException if someting goes wrong with the build

This is abstract here. Must be overloaded by real tasks.

Configure this task if it hasn't been done already.

maybeConfigure() 
inherited

Perfrom this task

perform() 
inherited
throws

Prepares the main part of the command that will be used to encode the given file(s).

prepareEncoderCommand() 

Gives the count of the number of selectors in this container

selectorCount() : integer
inherited

Response

integer

The number of selectors in this container

Returns an enumerator for accessing the set of selectors.

selectorElements() : \an
inherited

Response

\an

enumerator that goes through each of the selectors

setAspTags

setAspTags( $value) 

Arguments

$value

Sets case sensitivity of the file system

setCaseSensitive(boolean $isCaseSensitive) : void
inherited

Arguments

$isCaseSensitive

boolean

"true"|"on"|"yes" if file system is case sensitive, "false"|"off"|"no" when not.

Sets whether default exclusions should be used or not.

setDefaultexcludes(boolean $useDefaultExcludes) 
inherited

Arguments

$useDefaultExcludes

boolean

"true"|"on"|"yes" when default exclusions should be used, "false"|"off"|"no" when they shouldn't be used.

setDeleteSource

setDeleteSource( $value) 

Arguments

$value

Sets a textual description of the task

setDescription(string $desc) 
inherited

Arguments

$desc

string

The text describing the task

setEncodedOnly

setEncodedOnly( $value) 

Arguments

$value

Sets the set of exclude patterns. Patterns may be separated by a comma or a space.

setExcludes(string $excludes) 
inherited

Arguments

$excludes

string

the string containing the exclude patterns

Sets the name of the file containing the includes patterns.

setExcludesfile(\PhingFile $excludesfile) : void
inherited

Arguments

$excludesfile

\PhingFile

A string containing the filename to fetch the include patterns from.

setExpires

setExpires( $value) 

Arguments

$value

setForceEncode

setForceEncode( $value) 

Arguments

$value

setIgnoreFileModes

setIgnoreFileModes( $value) 

Arguments

$value

Sets the set of include patterns. Patterns may be separated by a comma or a space.

setIncludes(string $includes) : void
inherited

Arguments

$includes

string

the string containing the include patterns

Sets the name of the file containing the includes patterns.

setIncludesfile(\PhingFile $includesfile) : void
inherited

Arguments

$includesfile

\PhingFile

A string containing the filename to fetch the include patterns from.

setLicenseProduct

setLicenseProduct( $value) 

Arguments

$value

Sets the location within the buildfile this task occurs. Called by the parser to set location information.

setLocation(\Location $location) 
inherited

Arguments

$location

\Location

The location object describing the position of this task within the buildfile.

setNoHeader

setNoHeader( $value) 

Arguments

$value

setObfuscationLevel

setObfuscationLevel( $value) 

Arguments

$value

setOptMask

setOptMask( $value) 

Arguments

$value

Sets the owning target this task belongs to.

setOwningTarget(\Target $target) 
inherited

Arguments

$target

\Target

setPrivateKeyPath

setPrivateKeyPath( $value) 

Arguments

$value

setProductName

setProductName( $value) 

Arguments

$value

References the project to the current component.

setProject(\Project $project) : void
inherited

Arguments

$project

\Project

The reference to the current project

setPrologFile

setPrologFile( $value) 

Arguments

$value

setRenameSourceExt

setRenameSourceExt( $value) 

Arguments

$value

Sets the wrapper object this task should use for runtime configurable elements.

setRuntimeConfigurableWrapper(\RuntimeConfigurable $wrapper) 
inherited

Arguments

$wrapper

\RuntimeConfigurable

The wrapper object this task should use

setShortTags

setShortTags( $value) 

Arguments

$value

setSignProduct

setSignProduct( $value) 

Arguments

$value

Sets the name of this task for log messages

setTaskName(string $name) : string
inherited

Arguments

$name

string

Response

string

A string representing the name of this task for log

Sets the type of the task. Usually this is the name of the XML tag

setTaskType( $name) 
inherited

Arguments

$name

setUseCrypto

setUseCrypto( $value) 

Arguments

$value

TASK PROPERTIES SETTERS

setZendEncoderPath( $value) 

Arguments

$value

Verifies that the configuration is correct

verifyConfiguration() 
throws

Properties

filesets

filesets : 

Type(s)

encodeCommand

encodeCommand : 

Type(s)

Permanently deletes (see warning below) the original source files specified in the SourceInputPath and saves the encoded files in its place.

deleteSource : boolean

This option has no option parameter. When this option is use, do not use the output_file parameter.

Warning: To avoid permanent loss of non-encoded scripts, make a backup. Deleted files cannot be restored or recovered and will be permanently deleted with this option. If you are unsure about deleting the source files, use the ––rename-source option instead

var

Type(s)

boolean

Move the original source file to <input_file>.<renameSourceExt> and save the encoded file in its place.

renameSourceExt : string

If specified deleteSource will be automatically disabled.

var

Type(s)

string

Turns short PHP tag (“<?” ) recognition either on or off.

shortTags : boolean

On or off must be specified as an argument when using this option. The default, when option is not used in the command-line, is - on

var

Type(s)

boolean

Turn ASP tag (“<%” ) recognition on/off. (default: off). On or off must be specified as an argument when using this option.

aspTags : boolean

The default, when this option is not used in the command-line, is - off

var

Type(s)

boolean

Disables the PHP-compatible header that is added to the top of every encoded file by default. Encoded files generated with this option will not display a meaningful error when loaded by PHP that doesn't have the Zend Optimizer properly installed.

noHeader : boolean

Using this option saves approximately 1.5KB for every encoded file. Do not use it unless disk space constraints are critica

var

Type(s)

boolean

If cryptography should be used to encode the source code

useCrypto : boolean
var

Type(s)

boolean

Force cooperation with other encoded files only. This option generates files that work exclusively with associated encoded files. Associated encoded files are those generated by the same company. Files that do not share the same encoded company association cannot call these files

encodedOnly : boolean
var

Type(s)

boolean

Allow encoding previously encoded files. (NOT recommended!)

forceEncode : boolean
var

Type(s)

boolean

Make an encoded file to expire on the given date. Date is in yyyy-mm-dd format.

expires : string
var

Type(s)

string

Level of obfuscation. Defaults to 0 (no obfuscation).

obfuscationLevel : integer
var

Type(s)

integer

Optimization mask. (default value: [+++++++]) opt_mask is an integer representing a bit-mask.

optMask : integer

The default value enables all of the optimization passes. Each optimization pass of the Zend Optimizer can be turned on or off based on the mask entered

var

Type(s)

integer

Path to the zend encoder binary

zendEncoderPath : string
var

Type(s)

string

Path to private key for licensing

privateKeyPath : string
var

Type(s)

string

Enable licensing.

licenseProduct : boolean

If enabled, productName must be defined.

var

Type(s)

boolean

If true the ownership, permissions and timestamps of the encoded files won't be preserved.

ignoreFileModes : boolean
var

Type(s)

boolean

Enable signing If enabled, productName must be defined.

signProduct : boolean
var

Type(s)

boolean

Product name. Must be defined if licenseProduct or signProduct is set to 1

productName : string
var

Type(s)

string

Embed the information in the specified file into the header of the encoded file (overrides noHeader)

prologFile : string
var

Type(s)

string

useDefaultExcludes

useDefaultExcludes : boolean
inherited
var

Type(s)

boolean

fileset

fileset : \FileSet
inherited
var

Type(s)

\FileSet

Owning Target object

target : \Target
inherited
var

Type(s)

\Target

Description of the task

description : string
inherited
var

Type(s)

string

Internal taskname (req)

taskType : string
inherited
var

Type(s)

string

Taskname for logger

taskName : string
inherited
var

Type(s)

string

Stored buildfile location

location : \Location
inherited
var

Type(s)

\Location

Wrapper of the task

wrapper : \RuntimeConfigurable
inherited
var

Type(s)

\RuntimeConfigurable

Holds a reference to the project that a project component (a task, a target, etc.) belongs to

project : \Project
inherited
var

A reference to the current project instance

Type(s)

\Project