Changeset 1166
- Timestamp:
- 12/20/07 11:17:29 (8 months ago)
- Files:
-
- trunk/src/main/php/net/stubbles/ipo/request/filters/stubAbstractFilterDecorator.php (added)
- trunk/src/main/php/net/stubbles/ipo/request/filters/stubRegexFilterDecorator.php (added)
- trunk/src/main/php/net/stubbles/ipo/request/filters/stubSimpleStringFilter.php (added)
- trunk/src/main/php/net/stubbles/ipo/request/filters/stubStringFilter.php (modified) (2 diffs)
- trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisProcessor.php (modified) (15 diffs)
- trunk/src/test/php/net/stubbles/ipo/IPOTestSuite.php (modified) (1 diff)
- trunk/src/test/php/net/stubbles/ipo/request/filters/stubRegexFilterDecoratorTestCase.php (added)
- trunk/src/test/php/net/stubbles/ipo/request/filters/stubStringFilterTestCase.php (modified) (2 diffs)
- trunk/src/test/php/net/stubbles/websites/memphis/stubMemphisProcessorTestCase.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/ipo/request/filters/stubStringFilter.php
r1037 r1166 8 8 */ 9 9 stubClassLoader::load('net.stubbles.ipo.request.filters.stubAbstractStringFilter'); 10 stubClassLoader::load('net.stubbles.ipo.request.filters.stubSimpleStringFilter'); 10 11 /** 11 12 * Class for filtering strings (singe line). … … 59 60 { 60 61 if (null != $value) { 61 // remove line feeds, HTML and all added slashes from magic_gpc_quote 62 $value = str_replace(chr(10), '', str_replace(chr(13), '', stripslashes($value))); 63 $value = strip_tags($value); 62 $simpleStringFilter = new stubSimpleStringFilter($this->rveFactory); 63 $value = $simpleStringFilter->execute($value); 64 64 65 65 if ($this->regex->validate($value) == false) { trunk/src/main/php/net/stubbles/websites/memphis/stubMemphisProcessor.php
r1141 r1166 8 8 */ 9 9 stubClassLoader::load('net.stubbles.ipo.request.stubRequestPrefixDecorator', 10 'net.stubbles.ipo.request.stubRequestValueErrorXJConfFactory', 11 'net.stubbles.ipo.request.filters.stubSimpleStringFilter', 12 'net.stubbles.ipo.request.filters.stubRegexFilterDecorator', 10 13 'net.stubbles.lang.stubMode', 11 14 'net.stubbles.util.stubRegistry', … … 91 94 $template->enableCache(); 92 95 } 93 96 94 97 return $template; 95 98 } … … 114 117 } 115 118 } 116 119 117 120 $this->template = $this->createTemplate(); 118 121 $context['template'] = $this->template; … … 124 127 $this->cache->store($this->request, $this->response, $pageName); 125 128 } 126 129 127 130 $contents = str_replace('$SID', $this->session->getName() . '=' . $this->session->getId(), $this->response->getData()); 128 131 $contents = str_replace('$SESSION_NAME', $this->session->getName(), $contents); … … 150 153 $sslMode = 'yes'; 151 154 } 152 155 153 156 $this->cache->addCacheVar('ssl', $sslMode); 154 157 foreach ($this->config->getParts() as $part) { … … 162 165 return false; 163 166 } 164 167 165 168 $this->cache->addCacheVars($defaultElement->getCacheVars()); 166 169 $this->cache->addUsedFiles($defaultElement->getUsedFiles()); 167 170 } 168 171 169 172 foreach ($elements as $name => $element) { 170 173 $prefixRequest->setPrefix($name); … … 175 178 return false; 176 179 } 177 180 178 181 $this->cache->addCacheVars($element->getCacheVars()); 179 182 $this->cache->addUsedFiles($element->getUsedFiles()); 180 183 } 181 184 } 182 185 183 186 return true; 184 187 } … … 202 205 continue; 203 206 } 204 207 205 208 $content .= $defaultElement->process(); 206 209 if ($prefixRequest->isCancelled() === true) { … … 208 211 } 209 212 } 210 213 211 214 foreach ($elements as $name => $element) { 212 215 $prefixRequest->setPrefix($name); … … 215 218 continue; 216 219 } 217 220 218 221 $content .= $element->process(); 219 222 if ($prefixRequest->isCancelled() === true) { … … 221 224 } 222 225 } 223 226 224 227 $this->template->addGlobalVar($part, $content); 225 228 } 226 229 227 230 $this->response->write($this->template->getParsedTemplate('frame')); 228 231 } … … 247 250 $frame = $page->getProperty('frame'); 248 251 } 249 252 250 253 if (null == $frame) { 251 254 return 'default'; 252 255 } 253 256 254 257 return $frame; 255 258 } … … 268 271 $this->template->addGlobalVar('PAGE_NAME', $pageName); 269 272 $this->template->addGlobalVar('VARIANT', $this->session->getValue('net.stubbles.websites.variantmanager.variant', '')); 273 274 $rve = new stubRequestValueErrorXJConfFactory(); 275 $ssFilter = new stubSimpleStringFilter($rve); 276 $uriRegex = '/\/.*(?=\?)|\/.*/'; 277 $regexDecorator = new stubRegexFilterDecorator($ssFilter, $uriRegex, stubRegexFilterDecorator::STRATEGY_AFTER); 278 279 $requestUri = $this->request->getFilteredValue($regexDecorator, 'REQUEST_URI', stubRequest::SOURCE_HEADER); 280 $serviceUrl = $requestUri . '?processor=jsonrpc'; 281 $this->template->addGlobalVar('SERVICE_URL', $serviceUrl); 282 270 283 if (null === $this->cache) { 271 284 $this->template->addGlobalVar('SID', $this->session->getName() . '=' . $this->session->getId()); … … 277 290 $this->template->addGlobalVar('SESSION_ID', '$SESSION_ID'); 278 291 } 279 292 280 293 // check for user data 281 294 if ($this->session->hasValue('_userData') === true) { … … 287 300 $this->template->addVar('frame', 'META_' . $key, htmlentities($value)); 288 301 } 289 302 290 303 $sslMode = 'no'; 291 304 if ($this->request->validateValue(new stubEqualValidator(443), 'SERVER_PORT', stubRequest::SOURCE_HEADER) === true) { 292 305 $sslMode = 'yes'; 293 306 } 294 307 295 308 $this->template->addGlobalVar('SSL_MODE', $sslMode); 296 309 } trunk/src/test/php/net/stubbles/ipo/IPOTestSuite.php
r1037 r1166 46 46 $this->addTestFile($dir . '/request/filters/stubPassThruFilterTestCase.php'); 47 47 $this->addTestFile($dir . '/request/filters/stubPasswordFilterTestCase.php'); 48 $this->addTestFile($dir . '/request/filters/stubRegexFilterDecoratorTestCase.php'); 48 49 $this->addTestFile($dir . '/request/filters/stubStringFilterTestCase.php'); 49 50 $this->addTestFile($dir . '/request/filters/stubTextFilterTestCase.php'); trunk/src/test/php/net/stubbles/ipo/request/filters/stubStringFilterTestCase.php
r968 r1166 2 2 /** 3 3 * Tests for ipo.request.filters.stubStringFilter 4 * & ipo.request.filters.stubSimpleStringFilter 4 5 * 5 6 * @author Frank Kleine <frank@kl-s.com> … … 13 14 /** 14 15 * Tests for ipo.request.filters.stubStringFilter 16 * & ipo.request.filters.stubSimpleStringFilter 15 17 * 16 18 * @package stubbles trunk/src/test/php/net/stubbles/websites/memphis/stubMemphisProcessorTestCase.php
r1141 r1166 747 747 $this->mockMemphisTemplate->expectAt(2, 'addGlobalVar', array('PAGE_NAME', 'baz')); 748 748 $this->mockMemphisTemplate->expectAt(3, 'addGlobalVar', array('VARIANT', null)); 749 $this->mockMemphisTemplate->expectAt(4, 'addGlobalVar', array('SID', 'sessionid=313')); 750 $this->mockMemphisTemplate->expectAt(5, 'addGlobalVar', array('SESSION_NAME', 'sessionid')); 751 $this->mockMemphisTemplate->expectAt(6, 'addGlobalVar', array('SESSION_ID', 313)); 752 $this->mockMemphisTemplate->expectAt(7, 'addGlobalVar', array('SSL_MODE', 'no')); 749 $this->mockMemphisTemplate->expectAt(4, 'addGlobalVar', array('SERVICE_URL', '?processor=jsonrpc')); 750 $this->mockMemphisTemplate->expectAt(5, 'addGlobalVar', array('SID', 'sessionid=313')); 751 $this->mockMemphisTemplate->expectAt(6, 'addGlobalVar', array('SESSION_NAME', 'sessionid')); 752 $this->mockMemphisTemplate->expectAt(7, 'addGlobalVar', array('SESSION_ID', 313)); 753 $this->mockMemphisTemplate->expectAt(8, 'addGlobalVar', array('SSL_MODE', 'no')); 753 754 $this->mockMemphisTemplate->expectAt(0, 'addVar', array('frame', 'META_description', 'This is a description.')); 754 755 $this->mockMemphisTemplate->expectAt(1, 'addVar', array('frame', 'META_keywords', 'keyword1, keyword2')); … … 775 776 $this->mockMemphisTemplate->expectAt(2, 'addGlobalVar', array('PAGE_NAME', 'baz')); 776 777 $this->mockMemphisTemplate->expectAt(3, 'addGlobalVar', array('VARIANT', 'variant')); 777 $this->mockMemphisTemplate->expectAt(4, 'addGlobalVar', array('SID', '$SID')); 778 $this->mockMemphisTemplate->expectAt(5, 'addGlobalVar', array('SESSION_NAME', '$SESSION_NAME')); 779 $this->mockMemphisTemplate->expectAt(6, 'addGlobalVar', array('SESSION_ID', '$SESSION_ID')); 780 $this->mockMemphisTemplate->expectAt(7, 'addGlobalVar', array('SSL_MODE', 'yes')); 778 $this->mockMemphisTemplate->expectAt(4, 'addGlobalVar', array('SERVICE_URL', '?processor=jsonrpc')); 779 $this->mockMemphisTemplate->expectAt(5, 'addGlobalVar', array('SID', '$SID')); 780 $this->mockMemphisTemplate->expectAt(6, 'addGlobalVar', array('SESSION_NAME', '$SESSION_NAME')); 781 $this->mockMemphisTemplate->expectAt(7, 'addGlobalVar', array('SESSION_ID', '$SESSION_ID')); 782 $this->mockMemphisTemplate->expectAt(8, 'addGlobalVar', array('SSL_MODE', 'yes')); 781 783 $this->mockMemphisTemplate->expectNever('addVar'); 782 784 $this->mockMemphisTemplate->expectOnce('addGlobalVars', array(array('name' => 'mikey'), 'USER_'));
