17 public $needed = array(
'object',
'param');
34 'allowScriptAccess' =>
'never',
35 'allowNetworking' =>
'internal',
46 'allowFullScreen' =>
true,
54 public function prepare($config, $context)
56 parent::prepare($config, $context);
64 if ($token->name ==
'object') {
65 $this->objectStack[] = $token;
66 $this->paramStack[] = array();
68 foreach ($this->addParam as
$name => $value) {
72 } elseif ($token->name ==
'param') {
73 $nest = count($this->currentNesting) - 1;
74 if ($nest >= 0 && $this->currentNesting[$nest]->name ===
'object') {
75 $i = count($this->objectStack) - 1;
76 if (!isset($token->attr[
'name'])) {
80 $n = $token->attr[
'name'];
84 if (!isset($this->objectStack[$i]->attr[
'data']) &&
85 ($token->attr[
'name'] ==
'movie' || $token->attr[
'name'] ==
'src')
87 $this->objectStack[$i]->attr[
'data'] = $token->attr[
'value'];
91 if (!isset($this->paramStack[$i][
$n]) &&
92 isset($this->addParam[$n]) &&
93 $token->attr[
'name'] === $this->addParam[$n]) {
95 $this->paramStack[$i][
$n] =
true;
96 } elseif (isset($this->allowedParam[$n])) {
114 if ($token->name ==
'object') {
115 array_pop($this->objectStack);
116 array_pop($this->paramStack);
prepare($config, $context)
Adds important param elements to inside of object in order to make things safe.
$addParam
Keep this synchronized with AttrTransform/SafeParam.php.
Concrete empty token class.
Injects tokens into the document while parsing for well-formedness.