Changeset 1239
- Timestamp:
- 04/20/06 08:59:36 (3 years ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/lib/config/sfValidatorConfigHandler.class.php
r1216 r1239 81 81 $this->loadAttributes($configFiles, $methods, $names, $validators, $config, $list); 82 82 83 // fill-in filter configuration 84 $fillin = var_export(isset($config['fillin']) ? $config['fillin'] : array(), true); 85 83 86 // generate GET file/parameter data 84 87 $data[] = "if (\$_SERVER['REQUEST_METHOD'] == 'GET')"; 85 88 $data[] = "{"; 86 89 87 $this->generateRegistration('GET', $data, $methods, $names, $validators); 90 $ret = $this->generateRegistration('GET', $data, $methods, $names, $validators); 91 92 if ($ret) 93 { 94 $data[] = sprintf(" \$context->getRequest()->setAttribute('fillin', %s, 'symfony/filter');", $fillin); 95 } 88 96 89 97 // generate POST file/parameter data … … 93 101 $data[] = "{"; 94 102 95 $this->generateRegistration('POST', $data, $methods, $names, $validators); 103 $ret = $this->generateRegistration('POST', $data, $methods, $names, $validators); 104 105 if ($ret) 106 { 107 $data[] = sprintf(" \$context->getRequest()->setAttribute('fillin', %s, 'symfony/filter');", $fillin); 108 } 96 109 97 110 $data[] = "}"; 98 99 $fillin = isset($config['fillin']) ? $config['fillin'] : array();100 111 101 112 // compile data 102 113 $retval = sprintf("<?php\n". 103 114 "// auto-generated by sfValidatorConfigHandler\n". 104 "// date: %s\n%s\n%s\n \$context->getRequest()->setAttribute('fillin', %s, 'symfony/filter');\n?>", date('Y/m/d H:i:s'),105 implode("\n", $includes), implode("\n", $data) , var_export($fillin, true));115 "// date: %s\n%s\n%s\n?>", date('Y/m/d H:i:s'), 116 implode("\n", $includes), implode("\n", $data)); 106 117 107 118 return $retval; … … 116 127 * @param array An associative array of file/parameter data. 117 128 * @param array A validators array. 129 * 130 * @return boolean Returns true if there is some validators for this file/parameter 118 131 */ 119 132 private function generateRegistration($method, &$data, &$methods, &$names, &$validators) 120 133 { 121 134 // setup validator array 122 $data[] = " \t\$validators = array();";135 $data[] = " \$validators = array();"; 123 136 124 137 if (!isset($methods[$method])) … … 157 170 $validator =& $validators[$valName]; 158 171 159 $data[] = sprintf(" \t\$validators['%s'] = new %s();\n".160 " \t\$validators['%s']->initialize(%s, %s);",172 $data[] = sprintf(" \$validators['%s'] = new %s();\n". 173 " \$validators['%s']->initialize(%s, %s);", 161 174 $valName, $validator['class'], $valName, '$context', $validator['parameters']); 162 175 … … 185 198 186 199 // register file/parameter 187 $data[] = sprintf(" \t\$validatorManager->registerName('%s', %s, %s, %s, %s, %s);",200 $data[] = sprintf(" \$validatorManager->registerName('%s', %s, %s, %s, %s, %s);", 188 201 $name, $attributes['required'], 189 202 $attributes['required_msg'], … … 194 207 foreach ($attributes['validators'] as &$validator) 195 208 { 196 $data[] = sprintf(" \t\$validatorManager->registerValidator('%s', %s, %s);", $name,209 $data[] = sprintf(" \$validatorManager->registerValidator('%s', %s, %s);", $name, 197 210 "\$validators['$validator']", 198 211 $attributes['parent']); 199 212 } 200 213 } 214 215 return count($methods[$method]) ? true : false; 201 216 } 202 217