/** * Retrieves GET/HEAD or POST/PUT parameters of an inbound request. * * @return array * An array containing either GET/HEAD query string parameters or POST/PUT * post body parameters. Parameter parsing accounts for multiple request * parameters in non-PHP format; e.g., 'foo=one&foo=bar'. */ public static function getServerParameters() { $data = parent::getServerParameters(); if ($_SERVER['REQUEST_METHOD'] == 'GET' || $_SERVER['REQUEST_METHOD'] == 'HEAD') { // Remove $_GET['q']. unset($data['q']); } return $data; }
/** * Tests Mollom::parseXML(). */ function testParseXML() { $header = '<?xml version="1.0"?>'; $input = $header . <<<EOF <response> <code>0</code> <message>Foo.</message> <content> <contentId>321</contentId> <languages> <language> <languageCode>en</languageCode> <languageScore>1.0</languageScore> </language> <language> <languageCode>de</languageCode> <languageScore>0.5</languageScore> </language> </languages> </content> </response> EOF; $expected = array('code' => 0, 'message' => 'Foo.', 'content' => array('contentId' => 321, 'languages' => array(array('languageCode' => 'en', 'languageScore' => 1.0), array('languageCode' => 'de', 'languageScore' => 0.5)))); $this->assertEquals($expected, Mollom::parseXML(new SimpleXmlIterator($input))); $input = $header . <<<EOF <response> <code>0</code> <message></message> <site> <publicKey>321</publicKey> <servers> <server>http://foo</server> <server>http://bar</server> </servers> </site> </response> EOF; $expected = array('code' => 0, 'message' => '', 'site' => array('publicKey' => 321, 'servers' => array('http://foo', 'http://bar'))); $this->assertEquals($expected, Mollom::parseXML(new SimpleXmlIterator($input))); }