@@ -30,19 +30,19 @@ |
||
| 30 | 30 | public const VALIDATION_UNCLOSED_COMMAND = 49104; |
| 31 | 31 | public const VALIDATION_CLOSING_NON_OPENING_COMMAND = 49105; |
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * @var Mailcode_Collection |
|
| 35 | - */ |
|
| 33 | + /** |
|
| 34 | + * @var Mailcode_Collection |
|
| 35 | + */ |
|
| 36 | 36 | protected $collection; |
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * @var OperationResult |
|
| 40 | - */ |
|
| 38 | + /** |
|
| 39 | + * @var OperationResult |
|
| 40 | + */ |
|
| 41 | 41 | protected $validationResult; |
| 42 | 42 | |
| 43 | - /** |
|
| 44 | - * @var Mailcode_Commands_Command_Type[] |
|
| 45 | - */ |
|
| 43 | + /** |
|
| 44 | + * @var Mailcode_Commands_Command_Type[] |
|
| 45 | + */ |
|
| 46 | 46 | protected $stack = array(); |
| 47 | 47 | |
| 48 | 48 | public function __construct(Mailcode_Collection $collection) |
@@ -32,29 +32,29 @@ discard block |
||
| 32 | 32 | public const ERROR_TOO_MANY_REPLACERS = 65902; |
| 33 | 33 | public const ERROR_NO_FORMATTERS_ADDED = 65903; |
| 34 | 34 | |
| 35 | - /** |
|
| 36 | - * @var Mailcode_Parser_Safeguard |
|
| 37 | - */ |
|
| 35 | + /** |
|
| 36 | + * @var Mailcode_Parser_Safeguard |
|
| 37 | + */ |
|
| 38 | 38 | private $safeguard; |
| 39 | 39 | |
| 40 | - /** |
|
| 41 | - * @var Mailcode_Parser_Safeguard_Formatter[] |
|
| 42 | - */ |
|
| 40 | + /** |
|
| 41 | + * @var Mailcode_Parser_Safeguard_Formatter[] |
|
| 42 | + */ |
|
| 43 | 43 | private $formatters = array(); |
| 44 | 44 | |
| 45 | - /** |
|
| 46 | - * @var Mailcode_StringContainer |
|
| 47 | - */ |
|
| 45 | + /** |
|
| 46 | + * @var Mailcode_StringContainer |
|
| 47 | + */ |
|
| 48 | 48 | private $subject; |
| 49 | 49 | |
| 50 | - /** |
|
| 51 | - * @var boolean |
|
| 52 | - */ |
|
| 50 | + /** |
|
| 51 | + * @var boolean |
|
| 52 | + */ |
|
| 53 | 53 | private $applied = false; |
| 54 | 54 | |
| 55 | - /** |
|
| 56 | - * @var boolean |
|
| 57 | - */ |
|
| 55 | + /** |
|
| 56 | + * @var boolean |
|
| 57 | + */ |
|
| 58 | 58 | private $partial = false; |
| 59 | 59 | |
| 60 | 60 | public function __construct(Mailcode_Parser_Safeguard $safeguard, Mailcode_StringContainer $subject) |
@@ -96,17 +96,17 @@ discard block |
||
| 96 | 96 | return $formatter; |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | - /** |
|
| 100 | - * Adds a formatter that will surround all variables with |
|
| 101 | - * markup to highlight them independently of command syntax |
|
| 102 | - * highlighting. |
|
| 103 | - * |
|
| 104 | - * This is used to mark variables visually even after commands |
|
| 105 | - * have been replaced by the target system's post processing. |
|
| 106 | - * Can be combined with a replacer and other formats. |
|
| 107 | - * |
|
| 108 | - * @return Mailcode_Parser_Safeguard_Formatter_Type_MarkVariables |
|
| 109 | - */ |
|
| 99 | + /** |
|
| 100 | + * Adds a formatter that will surround all variables with |
|
| 101 | + * markup to highlight them independently of command syntax |
|
| 102 | + * highlighting. |
|
| 103 | + * |
|
| 104 | + * This is used to mark variables visually even after commands |
|
| 105 | + * have been replaced by the target system's post processing. |
|
| 106 | + * Can be combined with a replacer and other formats. |
|
| 107 | + * |
|
| 108 | + * @return Mailcode_Parser_Safeguard_Formatter_Type_MarkVariables |
|
| 109 | + */ |
|
| 110 | 110 | public function formatWithMarkedVariables() : Mailcode_Parser_Safeguard_Formatter_Type_MarkVariables |
| 111 | 111 | { |
| 112 | 112 | $formatter = $this->createMarkVariables(); |
@@ -200,11 +200,11 @@ discard block |
||
| 200 | 200 | } |
| 201 | 201 | } |
| 202 | 202 | |
| 203 | - /** |
|
| 204 | - * Counts the amount of replacer formatters that have been added. |
|
| 205 | - * |
|
| 206 | - * @return int |
|
| 207 | - */ |
|
| 203 | + /** |
|
| 204 | + * Counts the amount of replacer formatters that have been added. |
|
| 205 | + * |
|
| 206 | + * @return int |
|
| 207 | + */ |
|
| 208 | 208 | private function countReplacers() : int |
| 209 | 209 | { |
| 210 | 210 | $count = 0; |
@@ -220,37 +220,37 @@ discard block |
||
| 220 | 220 | return $count; |
| 221 | 221 | } |
| 222 | 222 | |
| 223 | - /** |
|
| 224 | - * Creates a formatter that adds HTML syntax highlighting |
|
| 225 | - * for all commands in the specified string, intelligently |
|
| 226 | - * checking the location of the commands to ensure that they |
|
| 227 | - * can be syntax highlighted. |
|
| 228 | - * |
|
| 229 | - * For example, commands in HTML attributes will not be |
|
| 230 | - * highlighted, as this would break the HTML. |
|
| 231 | - * |
|
| 232 | - * @return Mailcode_Parser_Safeguard_Formatter_Type_HTMLHighlighting |
|
| 233 | - */ |
|
| 223 | + /** |
|
| 224 | + * Creates a formatter that adds HTML syntax highlighting |
|
| 225 | + * for all commands in the specified string, intelligently |
|
| 226 | + * checking the location of the commands to ensure that they |
|
| 227 | + * can be syntax highlighted. |
|
| 228 | + * |
|
| 229 | + * For example, commands in HTML attributes will not be |
|
| 230 | + * highlighted, as this would break the HTML. |
|
| 231 | + * |
|
| 232 | + * @return Mailcode_Parser_Safeguard_Formatter_Type_HTMLHighlighting |
|
| 233 | + */ |
|
| 234 | 234 | public function createHTMLHighlighting() : Mailcode_Parser_Safeguard_Formatter_Type_HTMLHighlighting |
| 235 | 235 | { |
| 236 | 236 | return new Mailcode_Parser_Safeguard_Formatter_Type_HTMLHighlighting($this); |
| 237 | 237 | } |
| 238 | 238 | |
| 239 | - /** |
|
| 240 | - * Creates the formatter that ensures that all commands |
|
| 241 | - * are placed on a separate line in the subject string. |
|
| 242 | - */ |
|
| 239 | + /** |
|
| 240 | + * Creates the formatter that ensures that all commands |
|
| 241 | + * are placed on a separate line in the subject string. |
|
| 242 | + */ |
|
| 243 | 243 | public function createSingleLines() : Mailcode_Parser_Safeguard_Formatter_Type_SingleLines |
| 244 | 244 | { |
| 245 | 245 | return new Mailcode_Parser_Safeguard_Formatter_Type_SingleLines($this); |
| 246 | 246 | } |
| 247 | 247 | |
| 248 | - /** |
|
| 249 | - * Creates the formatter that replaces all commands by |
|
| 250 | - * their normalized variants. |
|
| 251 | - * |
|
| 252 | - * @return Mailcode_Parser_Safeguard_Formatter_Type_Normalized |
|
| 253 | - */ |
|
| 248 | + /** |
|
| 249 | + * Creates the formatter that replaces all commands by |
|
| 250 | + * their normalized variants. |
|
| 251 | + * |
|
| 252 | + * @return Mailcode_Parser_Safeguard_Formatter_Type_Normalized |
|
| 253 | + */ |
|
| 254 | 254 | public function createNormalized() : Mailcode_Parser_Safeguard_Formatter_Type_Normalized |
| 255 | 255 | { |
| 256 | 256 | return new Mailcode_Parser_Safeguard_Formatter_Type_Normalized($this); |
@@ -278,26 +278,26 @@ discard block |
||
| 278 | 278 | return $this->subject->getString(); |
| 279 | 279 | } |
| 280 | 280 | |
| 281 | - /** |
|
| 282 | - * Whether the formatting is done partially: missing placeholders |
|
| 283 | - * will simply be ignored. |
|
| 284 | - * |
|
| 285 | - * @return bool |
|
| 286 | - */ |
|
| 281 | + /** |
|
| 282 | + * Whether the formatting is done partially: missing placeholders |
|
| 283 | + * will simply be ignored. |
|
| 284 | + * |
|
| 285 | + * @return bool |
|
| 286 | + */ |
|
| 287 | 287 | public function isPartial() : bool |
| 288 | 288 | { |
| 289 | 289 | return $this->partial; |
| 290 | 290 | } |
| 291 | 291 | |
| 292 | - /** |
|
| 293 | - * The formatting will ignore missing placeholders. Use this if the |
|
| 294 | - * formatting will be done on a text that may not contain all of the |
|
| 295 | - * initial placeholders anymore. |
|
| 296 | - * |
|
| 297 | - * This is like the safeguard's makeWholePartial() method. |
|
| 298 | - * |
|
| 299 | - * @return Mailcode_Parser_Safeguard_Formatting |
|
| 300 | - */ |
|
| 292 | + /** |
|
| 293 | + * The formatting will ignore missing placeholders. Use this if the |
|
| 294 | + * formatting will be done on a text that may not contain all of the |
|
| 295 | + * initial placeholders anymore. |
|
| 296 | + * |
|
| 297 | + * This is like the safeguard's makeWholePartial() method. |
|
| 298 | + * |
|
| 299 | + * @return Mailcode_Parser_Safeguard_Formatting |
|
| 300 | + */ |
|
| 301 | 301 | public function makePartial() : Mailcode_Parser_Safeguard_Formatting |
| 302 | 302 | { |
| 303 | 303 | $this->partial = true; |
@@ -24,14 +24,14 @@ discard block |
||
| 24 | 24 | { |
| 25 | 25 | public const COMMAND_MARKER = '__MAILCODE_COMMAND__'; |
| 26 | 26 | |
| 27 | - /** |
|
| 28 | - * @var boolean |
|
| 29 | - */ |
|
| 27 | + /** |
|
| 28 | + * @var boolean |
|
| 29 | + */ |
|
| 30 | 30 | private $ancestryChecked = false; |
| 31 | 31 | |
| 32 | - /** |
|
| 33 | - * @var array<int,array<int,string>> |
|
| 34 | - */ |
|
| 32 | + /** |
|
| 33 | + * @var array<int,array<int,string>> |
|
| 34 | + */ |
|
| 35 | 35 | private $tagAncestry = array(); |
| 36 | 36 | |
| 37 | 37 | protected function init() : void |
@@ -43,12 +43,12 @@ discard block |
||
| 43 | 43 | return !$this->isInTagAttributes() && !$this->isInExcludedTag(); |
| 44 | 44 | } |
| 45 | 45 | |
| 46 | - /** |
|
| 47 | - * Retrieves the part of the subject string that comes |
|
| 48 | - * before the command. |
|
| 49 | - * |
|
| 50 | - * @return string |
|
| 51 | - */ |
|
| 46 | + /** |
|
| 47 | + * Retrieves the part of the subject string that comes |
|
| 48 | + * before the command. |
|
| 49 | + * |
|
| 50 | + * @return string |
|
| 51 | + */ |
|
| 52 | 52 | private function getHaystackBefore() : string |
| 53 | 53 | { |
| 54 | 54 | $pos = $this->getStartPosition(); |
@@ -65,12 +65,12 @@ discard block |
||
| 65 | 65 | return $this->subject->getSubstr(0, $pos).self::COMMAND_MARKER.'>'; |
| 66 | 66 | } |
| 67 | 67 | |
| 68 | - /** |
|
| 69 | - * Whether the command is nested in one of the tags |
|
| 70 | - * that have been added to the list of excluded tags. |
|
| 71 | - * |
|
| 72 | - * @return bool |
|
| 73 | - */ |
|
| 68 | + /** |
|
| 69 | + * Whether the command is nested in one of the tags |
|
| 70 | + * that have been added to the list of excluded tags. |
|
| 71 | + * |
|
| 72 | + * @return bool |
|
| 73 | + */ |
|
| 74 | 74 | protected function isInExcludedTag() : bool |
| 75 | 75 | { |
| 76 | 76 | $tagNames = $this->getParentTags(); |
@@ -86,12 +86,12 @@ discard block |
||
| 86 | 86 | return false; |
| 87 | 87 | } |
| 88 | 88 | |
| 89 | - /** |
|
| 90 | - * Retrieves a list of the command's parent HTML tags, from |
|
| 91 | - * highest to lowest. |
|
| 92 | - * |
|
| 93 | - * @return string[] |
|
| 94 | - */ |
|
| 89 | + /** |
|
| 90 | + * Retrieves a list of the command's parent HTML tags, from |
|
| 91 | + * highest to lowest. |
|
| 92 | + * |
|
| 93 | + * @return string[] |
|
| 94 | + */ |
|
| 95 | 95 | private function getParentTags() : array |
| 96 | 96 | { |
| 97 | 97 | $tags = $this->getTagAncestry(); |
@@ -116,12 +116,12 @@ discard block |
||
| 116 | 116 | return $stack; |
| 117 | 117 | } |
| 118 | 118 | |
| 119 | - /** |
|
| 120 | - * Checks whether the command is located within the attributes |
|
| 121 | - * of an HTML tag. |
|
| 122 | - * |
|
| 123 | - * @return bool |
|
| 124 | - */ |
|
| 119 | + /** |
|
| 120 | + * Checks whether the command is located within the attributes |
|
| 121 | + * of an HTML tag. |
|
| 122 | + * |
|
| 123 | + * @return bool |
|
| 124 | + */ |
|
| 125 | 125 | protected function isInTagAttributes() : bool |
| 126 | 126 | { |
| 127 | 127 | $tags = $this->getTagAncestry(); |
@@ -139,12 +139,12 @@ discard block |
||
| 139 | 139 | return false; |
| 140 | 140 | } |
| 141 | 141 | |
| 142 | - /** |
|
| 143 | - * Retrieves a list of tag names that come as parents |
|
| 144 | - * above the command. |
|
| 145 | - * |
|
| 146 | - * @return array<int,array<int,string>> |
|
| 147 | - */ |
|
| 142 | + /** |
|
| 143 | + * Retrieves a list of tag names that come as parents |
|
| 144 | + * above the command. |
|
| 145 | + * |
|
| 146 | + * @return array<int,array<int,string>> |
|
| 147 | + */ |
|
| 148 | 148 | private function getTagAncestry() : array |
| 149 | 149 | { |
| 150 | 150 | if($this->ancestryChecked) |
@@ -25,24 +25,24 @@ discard block |
||
| 25 | 25 | { |
| 26 | 26 | public const ERROR_PLACEHOLDER_TOO_LONG = 47901; |
| 27 | 27 | |
| 28 | - /** |
|
| 29 | - * @var int |
|
| 30 | - */ |
|
| 28 | + /** |
|
| 29 | + * @var int |
|
| 30 | + */ |
|
| 31 | 31 | protected $id; |
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * @var Mailcode_Parser_Safeguard |
|
| 35 | - */ |
|
| 33 | + /** |
|
| 34 | + * @var Mailcode_Parser_Safeguard |
|
| 35 | + */ |
|
| 36 | 36 | protected $safeguard; |
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * @var Mailcode_Commands_Command |
|
| 40 | - */ |
|
| 38 | + /** |
|
| 39 | + * @var Mailcode_Commands_Command |
|
| 40 | + */ |
|
| 41 | 41 | protected $command; |
| 42 | 42 | |
| 43 | - /** |
|
| 44 | - * @var string |
|
| 45 | - */ |
|
| 43 | + /** |
|
| 44 | + * @var string |
|
| 45 | + */ |
|
| 46 | 46 | protected $replacement = ''; |
| 47 | 47 | |
| 48 | 48 | public function __construct(int $id, Mailcode_Commands_Command $command, Mailcode_Parser_Safeguard $safeguard) |
@@ -104,18 +104,18 @@ discard block |
||
| 104 | 104 | return $this->command; |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | - /** |
|
| 108 | - * Serializes the placeholder's information into |
|
| 109 | - * an array with the following keys: |
|
| 110 | - * |
|
| 111 | - * - originalText |
|
| 112 | - * - replacementText |
|
| 113 | - * - normalizedText |
|
| 114 | - * - length |
|
| 115 | - * - id |
|
| 116 | - * |
|
| 117 | - * @return array<string,string|integer> |
|
| 118 | - */ |
|
| 107 | + /** |
|
| 108 | + * Serializes the placeholder's information into |
|
| 109 | + * an array with the following keys: |
|
| 110 | + * |
|
| 111 | + * - originalText |
|
| 112 | + * - replacementText |
|
| 113 | + * - normalizedText |
|
| 114 | + * - length |
|
| 115 | + * - id |
|
| 116 | + * |
|
| 117 | + * @return array<string,string|integer> |
|
| 118 | + */ |
|
| 119 | 119 | public function serialize() : array |
| 120 | 120 | { |
| 121 | 121 | return array( |
@@ -22,53 +22,53 @@ discard block |
||
| 22 | 22 | { |
| 23 | 23 | public const VALIDATION_ERROR_COMMAND_WITHOUT_PARAMETERS = 62401; |
| 24 | 24 | |
| 25 | - /** |
|
| 26 | - * @var integer |
|
| 27 | - */ |
|
| 25 | + /** |
|
| 26 | + * @var integer |
|
| 27 | + */ |
|
| 28 | 28 | protected $searchIndex = -1; |
| 29 | 29 | |
| 30 | - /** |
|
| 31 | - * @var Mailcode_Parser_Statement_Tokenizer_Token|NULL |
|
| 32 | - */ |
|
| 30 | + /** |
|
| 31 | + * @var Mailcode_Parser_Statement_Tokenizer_Token|NULL |
|
| 32 | + */ |
|
| 33 | 33 | protected $token; |
| 34 | 34 | |
| 35 | - /** |
|
| 36 | - * Retrieves the class name of the token type to |
|
| 37 | - * limit the token search to. Only a token of this |
|
| 38 | - * type will be stored. |
|
| 39 | - * |
|
| 40 | - * @return string |
|
| 41 | - */ |
|
| 35 | + /** |
|
| 36 | + * Retrieves the class name of the token type to |
|
| 37 | + * limit the token search to. Only a token of this |
|
| 38 | + * type will be stored. |
|
| 39 | + * |
|
| 40 | + * @return string |
|
| 41 | + */ |
|
| 42 | 42 | abstract protected function getTokenClass() : string; |
| 43 | 43 | |
| 44 | - /** |
|
| 45 | - * Allows the validator to apply custom search |
|
| 46 | - * criteria to the tokens that are searched |
|
| 47 | - * through to find the target token. |
|
| 48 | - * |
|
| 49 | - * NOTE: Should return true if there are no |
|
| 50 | - * custom criteria to apply. |
|
| 51 | - * |
|
| 52 | - * @param Mailcode_Parser_Statement_Tokenizer_Token $token |
|
| 53 | - * @return bool |
|
| 54 | - */ |
|
| 44 | + /** |
|
| 45 | + * Allows the validator to apply custom search |
|
| 46 | + * criteria to the tokens that are searched |
|
| 47 | + * through to find the target token. |
|
| 48 | + * |
|
| 49 | + * NOTE: Should return true if there are no |
|
| 50 | + * custom criteria to apply. |
|
| 51 | + * |
|
| 52 | + * @param Mailcode_Parser_Statement_Tokenizer_Token $token |
|
| 53 | + * @return bool |
|
| 54 | + */ |
|
| 55 | 55 | abstract protected function _isMatch(Mailcode_Parser_Statement_Tokenizer_Token $token) : bool; |
| 56 | 56 | |
| 57 | - /** |
|
| 58 | - * @return Mailcode_Parser_Statement_Tokenizer_Token |
|
| 59 | - */ |
|
| 57 | + /** |
|
| 58 | + * @return Mailcode_Parser_Statement_Tokenizer_Token |
|
| 59 | + */ |
|
| 60 | 60 | abstract public function getToken(); |
| 61 | 61 | |
| 62 | - /** |
|
| 63 | - * Checks if the specified token matches the current |
|
| 64 | - * search criteria (index, type...). If the token is |
|
| 65 | - * a match, the `_isMatch()` method is called to allow |
|
| 66 | - * the validator class to apply some custom criteria. |
|
| 67 | - * |
|
| 68 | - * @param Mailcode_Parser_Statement_Tokenizer_Token $token |
|
| 69 | - * @param int $index |
|
| 70 | - * @return bool |
|
| 71 | - */ |
|
| 62 | + /** |
|
| 63 | + * Checks if the specified token matches the current |
|
| 64 | + * search criteria (index, type...). If the token is |
|
| 65 | + * a match, the `_isMatch()` method is called to allow |
|
| 66 | + * the validator class to apply some custom criteria. |
|
| 67 | + * |
|
| 68 | + * @param Mailcode_Parser_Statement_Tokenizer_Token $token |
|
| 69 | + * @param int $index |
|
| 70 | + * @return bool |
|
| 71 | + */ |
|
| 72 | 72 | protected function isMatch(Mailcode_Parser_Statement_Tokenizer_Token $token, int $index) : bool |
| 73 | 73 | { |
| 74 | 74 | // filter out tokens of other types |
@@ -85,13 +85,13 @@ discard block |
||
| 85 | 85 | return $this->_isMatch($token); |
| 86 | 86 | } |
| 87 | 87 | |
| 88 | - /** |
|
| 89 | - * Attempts to find a token in the statement |
|
| 90 | - * that matches the current criteria, and the |
|
| 91 | - * first one it finds is returned. |
|
| 92 | - * |
|
| 93 | - * @return Mailcode_Parser_Statement_Tokenizer_Token|NULL |
|
| 94 | - */ |
|
| 88 | + /** |
|
| 89 | + * Attempts to find a token in the statement |
|
| 90 | + * that matches the current criteria, and the |
|
| 91 | + * first one it finds is returned. |
|
| 92 | + * |
|
| 93 | + * @return Mailcode_Parser_Statement_Tokenizer_Token|NULL |
|
| 94 | + */ |
|
| 95 | 95 | protected function findToken() : ?Mailcode_Parser_Statement_Tokenizer_Token |
| 96 | 96 | { |
| 97 | 97 | $tokens = $this->params->getTokens(); |
@@ -120,14 +120,14 @@ discard block |
||
| 120 | 120 | return false; |
| 121 | 121 | } |
| 122 | 122 | |
| 123 | - /** |
|
| 124 | - * Searches for a specific token index. |
|
| 125 | - * |
|
| 126 | - * NOTE: only relevant when trying to find a single token. |
|
| 127 | - * |
|
| 128 | - * @param int $index |
|
| 129 | - * @return $this |
|
| 130 | - */ |
|
| 123 | + /** |
|
| 124 | + * Searches for a specific token index. |
|
| 125 | + * |
|
| 126 | + * NOTE: only relevant when trying to find a single token. |
|
| 127 | + * |
|
| 128 | + * @param int $index |
|
| 129 | + * @return $this |
|
| 130 | + */ |
|
| 131 | 131 | public function setIndex(int $index) : Mailcode_Parser_Statement_Validator_TokenType |
| 132 | 132 | { |
| 133 | 133 | $this->searchIndex = $index; |
@@ -22,9 +22,9 @@ |
||
| 22 | 22 | { |
| 23 | 23 | public const ERROR_NO_OPERAND_TOKEN_FOUND = 62901; |
| 24 | 24 | |
| 25 | - /** |
|
| 26 | - * @var string |
|
| 27 | - */ |
|
| 25 | + /** |
|
| 26 | + * @var string |
|
| 27 | + */ |
|
| 28 | 28 | private $sign = ''; |
| 29 | 29 | |
| 30 | 30 | protected function getTokenClass() : string |
@@ -22,10 +22,10 @@ |
||
| 22 | 22 | { |
| 23 | 23 | public const ERROR_NO_KEYWORD_TOKEN_FOUND = 62701; |
| 24 | 24 | |
| 25 | - /** |
|
| 26 | - * The name of the keyword, with ":" appended. |
|
| 27 | - * @var string |
|
| 28 | - */ |
|
| 25 | + /** |
|
| 26 | + * The name of the keyword, with ":" appended. |
|
| 27 | + * @var string |
|
| 28 | + */ |
|
| 29 | 29 | protected $keywordName; |
| 30 | 30 | |
| 31 | 31 | public function __construct(Mailcode_Parser_Statement $statement, string $keywordName) |
@@ -23,19 +23,19 @@ discard block |
||
| 23 | 23 | { |
| 24 | 24 | public const ERROR_UNHANDLED_CHARTYPE = 55601; |
| 25 | 25 | |
| 26 | - /** |
|
| 27 | - * @var string |
|
| 28 | - */ |
|
| 26 | + /** |
|
| 27 | + * @var string |
|
| 28 | + */ |
|
| 29 | 29 | private $type; |
| 30 | 30 | |
| 31 | - /** |
|
| 32 | - * @var string |
|
| 33 | - */ |
|
| 31 | + /** |
|
| 32 | + * @var string |
|
| 33 | + */ |
|
| 34 | 34 | private $char; |
| 35 | 35 | |
| 36 | - /** |
|
| 37 | - * @var string |
|
| 38 | - */ |
|
| 36 | + /** |
|
| 37 | + * @var string |
|
| 38 | + */ |
|
| 39 | 39 | private $description; |
| 40 | 40 | |
| 41 | 41 | public function __construct(string $type, string $char, string $description) |
@@ -45,46 +45,46 @@ discard block |
||
| 45 | 45 | $this->description = $description; |
| 46 | 46 | } |
| 47 | 47 | |
| 48 | - /** |
|
| 49 | - * Retrieves the format character (PHP date format). |
|
| 50 | - * |
|
| 51 | - * @return string |
|
| 52 | - */ |
|
| 48 | + /** |
|
| 49 | + * Retrieves the format character (PHP date format). |
|
| 50 | + * |
|
| 51 | + * @return string |
|
| 52 | + */ |
|
| 53 | 53 | public function getChar() : string |
| 54 | 54 | { |
| 55 | 55 | return $this->char; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | - /** |
|
| 59 | - * Retrieves a human readable description of the character's role. |
|
| 60 | - * |
|
| 61 | - * @return string |
|
| 62 | - */ |
|
| 58 | + /** |
|
| 59 | + * Retrieves a human readable description of the character's role. |
|
| 60 | + * |
|
| 61 | + * @return string |
|
| 62 | + */ |
|
| 63 | 63 | public function getDescription() : string |
| 64 | 64 | { |
| 65 | 65 | return $this->description; |
| 66 | 66 | } |
| 67 | 67 | |
| 68 | - /** |
|
| 69 | - * Retrieves the character type ID. |
|
| 70 | - * |
|
| 71 | - * @return string |
|
| 72 | - * |
|
| 73 | - * @see Mailcode_Date_FormatInfo::CHARTYPE_DATE |
|
| 74 | - * @see Mailcode_Date_FormatInfo::CHARTYPE_TIME |
|
| 75 | - * @see Mailcode_Date_FormatInfo::CHARTYPE_PUNCTUATION |
|
| 76 | - */ |
|
| 68 | + /** |
|
| 69 | + * Retrieves the character type ID. |
|
| 70 | + * |
|
| 71 | + * @return string |
|
| 72 | + * |
|
| 73 | + * @see Mailcode_Date_FormatInfo::CHARTYPE_DATE |
|
| 74 | + * @see Mailcode_Date_FormatInfo::CHARTYPE_TIME |
|
| 75 | + * @see Mailcode_Date_FormatInfo::CHARTYPE_PUNCTUATION |
|
| 76 | + */ |
|
| 77 | 77 | public function getTypeID() : string |
| 78 | 78 | { |
| 79 | 79 | return $this->type; |
| 80 | 80 | } |
| 81 | 81 | |
| 82 | - /** |
|
| 83 | - * Retrieves a human readable label for the character's type, e.g. "Date", "Time", "Punctuation". |
|
| 84 | - * |
|
| 85 | - * @throws Mailcode_Exception If the character type is unknown. |
|
| 86 | - * @return string |
|
| 87 | - */ |
|
| 82 | + /** |
|
| 83 | + * Retrieves a human readable label for the character's type, e.g. "Date", "Time", "Punctuation". |
|
| 84 | + * |
|
| 85 | + * @throws Mailcode_Exception If the character type is unknown. |
|
| 86 | + * @return string |
|
| 87 | + */ |
|
| 88 | 88 | public function getTypeLabel() : string |
| 89 | 89 | { |
| 90 | 90 | switch($this->type) |
@@ -31,27 +31,27 @@ discard block |
||
| 31 | 31 | public const VALIDATION_CANNOT_MIX_LOGIC_KEYWORDS = 60701; |
| 32 | 32 | public const VALIDATION_INVALID_SUB_COMMAND = 60702; |
| 33 | 33 | |
| 34 | - /** |
|
| 35 | - * @var string |
|
| 36 | - */ |
|
| 34 | + /** |
|
| 35 | + * @var string |
|
| 36 | + */ |
|
| 37 | 37 | private $paramsString; |
| 38 | 38 | |
| 39 | - /** |
|
| 40 | - * @var string[] |
|
| 41 | - */ |
|
| 39 | + /** |
|
| 40 | + * @var string[] |
|
| 41 | + */ |
|
| 42 | 42 | private $names = array( |
| 43 | 43 | 'and', |
| 44 | 44 | 'or' |
| 45 | 45 | ); |
| 46 | 46 | |
| 47 | - /** |
|
| 48 | - * @var Mailcode_Commands_LogicKeywords_Keyword[] |
|
| 49 | - */ |
|
| 47 | + /** |
|
| 48 | + * @var Mailcode_Commands_LogicKeywords_Keyword[] |
|
| 49 | + */ |
|
| 50 | 50 | private $keywords = array(); |
| 51 | 51 | |
| 52 | - /** |
|
| 53 | - * @var string |
|
| 54 | - */ |
|
| 52 | + /** |
|
| 53 | + * @var string |
|
| 54 | + */ |
|
| 55 | 55 | private $mainParams = ''; |
| 56 | 56 | |
| 57 | 57 | public function __construct(Mailcode_Commands_Command $command, string $paramsString) |
@@ -137,9 +137,9 @@ discard block |
||
| 137 | 137 | } |
| 138 | 138 | } |
| 139 | 139 | |
| 140 | - /** |
|
| 141 | - * @return string[] |
|
| 142 | - */ |
|
| 140 | + /** |
|
| 141 | + * @return string[] |
|
| 142 | + */ |
|
| 143 | 143 | private function detectParameters() : array |
| 144 | 144 | { |
| 145 | 145 | $params = $this->paramsString; |
@@ -157,13 +157,13 @@ discard block |
||
| 157 | 157 | return $stack; |
| 158 | 158 | } |
| 159 | 159 | |
| 160 | - /** |
|
| 161 | - * @param string $params |
|
| 162 | - * @param Mailcode_Commands_LogicKeywords_Keyword $keyword |
|
| 163 | - * @param string[] $stack |
|
| 164 | - * @throws Mailcode_Exception |
|
| 165 | - * @return string |
|
| 166 | - */ |
|
| 160 | + /** |
|
| 161 | + * @param string $params |
|
| 162 | + * @param Mailcode_Commands_LogicKeywords_Keyword $keyword |
|
| 163 | + * @param string[] $stack |
|
| 164 | + * @throws Mailcode_Exception |
|
| 165 | + * @return string |
|
| 166 | + */ |
|
| 167 | 167 | private function detectParamsKeyword(string $params, Mailcode_Commands_LogicKeywords_Keyword $keyword, array &$stack) : string |
| 168 | 168 | { |
| 169 | 169 | $search = $keyword->getMatchedString(); |
@@ -188,22 +188,22 @@ discard block |
||
| 188 | 188 | return $params; |
| 189 | 189 | } |
| 190 | 190 | |
| 191 | - /** |
|
| 192 | - * Extracts the parameters string to use for the |
|
| 193 | - * original command itself, omitting all the logic |
|
| 194 | - * keywords for the sub-commands. |
|
| 195 | - * |
|
| 196 | - * @return string |
|
| 197 | - */ |
|
| 191 | + /** |
|
| 192 | + * Extracts the parameters string to use for the |
|
| 193 | + * original command itself, omitting all the logic |
|
| 194 | + * keywords for the sub-commands. |
|
| 195 | + * |
|
| 196 | + * @return string |
|
| 197 | + */ |
|
| 198 | 198 | public function getMainParamsString() : string |
| 199 | 199 | { |
| 200 | 200 | return $this->mainParams; |
| 201 | 201 | } |
| 202 | 202 | |
| 203 | - /** |
|
| 204 | - * Retrieves the detected keyword names. |
|
| 205 | - * @return string[] |
|
| 206 | - */ |
|
| 203 | + /** |
|
| 204 | + * Retrieves the detected keyword names. |
|
| 205 | + * @return string[] |
|
| 206 | + */ |
|
| 207 | 207 | public function getDetectedNames() : array |
| 208 | 208 | { |
| 209 | 209 | $names = array(); |
@@ -221,23 +221,23 @@ discard block |
||
| 221 | 221 | return $names; |
| 222 | 222 | } |
| 223 | 223 | |
| 224 | - /** |
|
| 225 | - * Retrieves all keywords that were detected in the |
|
| 226 | - * command's parameters string, if any. |
|
| 227 | - * |
|
| 228 | - * @return Mailcode_Commands_LogicKeywords_Keyword[] |
|
| 229 | - */ |
|
| 224 | + /** |
|
| 225 | + * Retrieves all keywords that were detected in the |
|
| 226 | + * command's parameters string, if any. |
|
| 227 | + * |
|
| 228 | + * @return Mailcode_Commands_LogicKeywords_Keyword[] |
|
| 229 | + */ |
|
| 230 | 230 | public function getKeywords() : array |
| 231 | 231 | { |
| 232 | 232 | return $this->keywords; |
| 233 | 233 | } |
| 234 | 234 | |
| 235 | - /** |
|
| 236 | - * Detects any keyword statements in the parameters by keyword name. |
|
| 237 | - * |
|
| 238 | - * @param string $name |
|
| 239 | - * @return Mailcode_Commands_LogicKeywords_Keyword[] |
|
| 240 | - */ |
|
| 235 | + /** |
|
| 236 | + * Detects any keyword statements in the parameters by keyword name. |
|
| 237 | + * |
|
| 238 | + * @param string $name |
|
| 239 | + * @return Mailcode_Commands_LogicKeywords_Keyword[] |
|
| 240 | + */ |
|
| 241 | 241 | private function detectKeywords(string $name) : array |
| 242 | 242 | { |
| 243 | 243 | $regex = sprintf('/%1$s\s+([a-z\-0-9]+):|%1$s:/x', $name); |