57 public function render($value = NULL, $keepQuotes = FALSE, $encoding = NULL, $doubleEncode = TRUE) {
58 if ($value === NULL) {
61 if (!is_string($value)) {
64 if ($encoding === NULL) {
67 $flags = $keepQuotes ? ENT_NOQUOTES : ENT_COMPAT;
68 return htmlspecialchars($value, $flags, $encoding, $doubleEncode);
79 public function compile($argumentsVariableName, $renderChildrenClosureVariableName, &$initializationPhpCode, \
TYPO3\CMS\
Fluid\Core\Parser\SyntaxTree\AbstractNode $syntaxTreeNode, \
TYPO3\CMS\
Fluid\Core\Compiler\TemplateCompiler $templateCompiler) {
80 $valueVariableName = $templateCompiler->variableName(
'value');
81 $initializationPhpCode .= sprintf(
'%s = (%s[\'value\'] !== NULL ? %s[\'value\'] : %s());', $valueVariableName, $argumentsVariableName, $argumentsVariableName, $renderChildrenClosureVariableName) . chr(10);
83 return sprintf(
'(!is_string(%s) ? %s : htmlspecialchars(%s, (%s[\'keepQuotes\'] ? ENT_NOQUOTES : ENT_COMPAT), (%s[\'encoding\'] !== NULL ? %s[\'encoding\'] : \\TYPO3\\CMS\\Fluid\\Core\\Compiler\\AbstractCompiledTemplate::resolveDefaultEncoding()), %s[\'doubleEncode\']))',
84 $valueVariableName, $valueVariableName, $valueVariableName, $argumentsVariableName, $argumentsVariableName, $argumentsVariableName, $argumentsVariableName);