eZ Publish  [trunk]
eZCodeMapper Class Reference

Handles mapping of character codes. More...

List of all members.

Public Member Functions

 decodeCommand ($name, $parameters)
 error ($text, $position=false)
 executeCommandCode (&$text, $command, $charsetName)
 eZCodeMapper ()
 generateCharsetMappingTable ($unicodeTable, $charset)
 generateCommandCode ($command, $charsetName)
 generateMappingCode ($identifier)
 generateSimpleMappingTable ($table, $allowedRanges)
 isTranformationLoaded ($name)
 loadTransformationFiles ($currentCharset, $transformationGroup)
 mapOrdinals ($table, $ordinals)
 mappingTable ($identifier)
 nonCJKCharsets ()
 ordinalValues ($table, $list)
 parseTransformationFile ($filename, $name)
 ruleNames ()
 warning ($text, $position=false)

Public Attributes

 $ISOUnicodeCodec
 $TransformationFiles
 $TransformationTables
const TYPE_DIRECT = 1
const TYPE_RANGE = 2
const TYPE_REPLACE = 3

Protected Member Functions

 mapExistingCodes ($unicodeMap, $fromCode, $toCode)

Private Member Functions

 appendDirectMapping (&$block, $identifier, $sourceValue, $destinationValues)
 appendReplaceMapping (&$block, $identifier, $sourceValue, $sourceEndValue, $destinationValues)
 appendTransposeMapping (&$block, $identifier, $sourceValue, $sourceEndValue, $transposeValue, $addValue, $moduloValue)
 expandInheritance ($table)
 extractUnicodeValue ($data)
 extractUnicodeValues ($data)

Detailed Description

Handles mapping of character codes.

Definition at line 18 of file ezcodemapper.php.


Member Function Documentation

eZCodeMapper::appendDirectMapping ( &$  block,
identifier,
sourceValue,
destinationValues 
) [private]

Appends a mapping from one value to another.

Parameters:
$blockCurrent block it is working on
$identifierThe current identifier it is working on
$sourceValueThe original value
$destinationValuesThe value it should be mapped to

Definition at line 841 of file ezcodemapper.php.

Referenced by parseTransformationFile().

eZCodeMapper::appendReplaceMapping ( &$  block,
identifier,
sourceValue,
sourceEndValue,
destinationValues 
) [private]

Appends a mapping for a range of values into a specific value

Parameters:
$blockCurrent block it is working on
$identifierThe current identifier it is working on
$sourceValueThe start of the original value
$sourceEndValueThe ned of the original value
$destinationValuesThe value it should be mapped to

Definition at line 870 of file ezcodemapper.php.

Referenced by parseTransformationFile().

eZCodeMapper::appendTransposeMapping ( &$  block,
identifier,
sourceValue,
sourceEndValue,
transposeValue,
addValue,
moduloValue 
) [private]

Appends a mapping for characters by transposing them up or down.

Parameters:
$blockCurrent block it is working on
$identifierThe current identifier it is working on
$sourceValueThe start of the original value
$sourceEndValueThe ned of the original value
$transposeValueHow much to transpose the values
$addValueIf true the $transposeValue is added to the range if not it is subtracted.

Definition at line 900 of file ezcodemapper.php.

Referenced by parseTransformationFile().

eZCodeMapper::decodeCommand ( name,
parameters 
)

Decodes a command into transformation rules.

Parameters:
$nameName of the command
$parametersArray of parameters for the command
Returns:
An array with transformation rules.

Definition at line 1436 of file ezcodemapper.php.

eZCodeMapper::error ( text,
position = false 
)

Outputs error $text found in parsed file at position $position.

Definition at line 54 of file ezcodemapper.php.

Referenced by parseTransformationFile().

eZCodeMapper::executeCommandCode ( &$  text,
command,
charsetName 
)

Executes custom PHP code for the command $command.

Parameters:
$charsetNameThe name of the charset the text will be in, this can be used to execute different code for different charsets.
Returns:
true if the command is supported, false otherwise.

Definition at line 1665 of file ezcodemapper.php.

eZCodeMapper::expandInheritance ( table) [private]

Goes trough all entries in $table and if it finds identifier references it will fetch the table for that identifier and merge in the current one.

Returns:
The expanded table.

Definition at line 985 of file ezcodemapper.php.

Referenced by generateMappingCode().

eZCodeMapper::extractUnicodeValue ( data) [private]
Returns:
The first unicod value for the data entry $data.

Definition at line 922 of file ezcodemapper.php.

Referenced by parseTransformationFile().

eZCodeMapper::extractUnicodeValues ( data) [private]
Returns:
The unicode values for the data entry $data.

Definition at line 953 of file ezcodemapper.php.

Referenced by parseTransformationFile().

Constructor

Definition at line 27 of file ezcodemapper.php.

eZCodeMapper::generateCharsetMappingTable ( unicodeTable,
charset 
)

Generates a mapping table for the character set $charset. This will mapping table will only work for that character set but will be much faster and be fed directly to the strtr() PHP function.

Returns:
the table or false if something failed.

Definition at line 1399 of file ezcodemapper.php.

eZCodeMapper::generateCommandCode ( command,
charsetName 
)

Generates PHP code for the command $command.

Parameters:
$charsetNameThe name of the charset the text will be in, this can be used to generate different code for different charsets.
Returns:
A string containing PHP code or false if not supported.

Definition at line 1521 of file ezcodemapper.php.

Generates a unicode mapping table for idenfier $idenfier.

Parameters:
$identifierIs either a single identifier string or a an array with identifiers.
Returns:
The unicode mapping table for all defined identifiers

Definition at line 1380 of file ezcodemapper.php.

eZCodeMapper::generateSimpleMappingTable ( table,
allowedRanges 
)

Goes trough the mapping rules in the table $table and generates a simple mapping table which maps from one Unicode value to another (or array of values).

The generation uses backward and forward propagation of the defined mappings to get the proper end result of a given value.

Note:
This method can take a while if lots of rules are used

Definition at line 1115 of file ezcodemapper.php.

Referenced by generateMappingCode().

Returns:
true if the transformation file is already loaded.

Definition at line 102 of file ezcodemapper.php.

Referenced by loadTransformationFiles().

eZCodeMapper::loadTransformationFiles ( currentCharset,
transformationGroup 
)

Loads all transformation files defined in transform.ini to the current mapper. It will also load any transformations found in extensions.

Parameters:
$currentCharsetThe name of the current charset in use. The caller must make sure this is not an alias by using eZCharsetInfo::realCharsetCode()
$transformationGroupThe transformation group which is currently used or false for none.

Definition at line 115 of file ezcodemapper.php.

eZCodeMapper::mapExistingCodes ( unicodeMap,
fromCode,
toCode 
) [protected]

Goes trough all to codes in the mapping table $unicodeMap and maps those that match $fromCode into $toCode.

Returns:
$unicodeMap

Definition at line 1078 of file ezcodemapper.php.

Referenced by generateSimpleMappingTable().

eZCodeMapper::mapOrdinals ( table,
ordinals 
)

Goes trough each ordinal in $ordinals and sees if there is mapping for it. If it is the mapping is applied and used as the new ordinal, if the mapping refers to an array it will be mapped recursively.

Definition at line 1051 of file ezcodemapper.php.

Referenced by ordinalValues().

eZCodeMapper::mappingTable ( identifier)
Returns:
The mapping table for identifier $identifier or false if it is not found.

Definition at line 36 of file ezcodemapper.php.

Referenced by expandInheritance().

Returns:
An array with charsets that are certain to not contain CJK characters.

Definition at line 1805 of file ezcodemapper.php.

Referenced by executeCommandCode(), and generateCommandCode().

eZCodeMapper::ordinalValues ( table,
list 
)

Turns the character list $list into an array with ordinal values

Parameters:
$listCan be on of these types:
  • String - each character is turned into an ordinal value
  • Numeric - the numeric is used as ordinal value
  • Boolean - means no character
  • Array - each element is turned into an ordinal value by recursion

Definition at line 1020 of file ezcodemapper.php.

Referenced by generateSimpleMappingTable().

eZCodeMapper::parseTransformationFile ( filename,
name 
)

Parses the transformation file $filename and appends any rules it finds to the current rule list.

Parameters:
$nameThe name of transformation file as it was requested, ie. without a path

Definition at line 179 of file ezcodemapper.php.

Referenced by loadTransformationFiles().

Returns:
An array with the names of rules which are currently available.

Definition at line 46 of file ezcodemapper.php.

Referenced by decodeCommand().

eZCodeMapper::warning ( text,
position = false 
)

Outputs warning $text found in parsed file at position $position.

Definition at line 78 of file ezcodemapper.php.

Referenced by parseTransformationFile().


Member Data Documentation

eZCodeMapper::$ISOUnicodeCodec

Definition at line 1824 of file ezcodemapper.php.

eZCodeMapper::$TransformationFiles

Definition at line 1823 of file ezcodemapper.php.

eZCodeMapper::$TransformationTables

Definition at line 1822 of file ezcodemapper.php.

Definition at line 20 of file ezcodemapper.php.

Definition at line 21 of file ezcodemapper.php.

Definition at line 22 of file ezcodemapper.php.


The documentation for this class was generated from the following file: