public static function receive(Application $app, SiteModel $siteModel = null) { $data = file_get_contents('php://input'); $app['monolog']->addError("receivepingback.php got data " . $data); $pingback = ParsePingBack::parseFromData($data); if ($pingback) { $pbil = new \incominglinks\PingBackIncomingLink(); $pbil->setSourceURL($pingback->getSourceUrl()); $pbil->setTargetURL($pingback->getTargetUrl()); $pbil->setReporterIp($_SERVER['REMOTE_ADDR']); $pbil->setReporterUseragent($_SERVER['HTTP_USER_AGENT']); $repo = new \repositories\IncomingLinkRepository(); $repo->create($pbil, $siteModel); print '<?xml version="1.0" encoding="ISO-8859-1"?> <methodResponse> <params> <param> <value><string>Reported</string></value> </param> </params> </methodResponse>'; } else { // TODO } }
function testParse1() { $pingback = ParsePingBack::parseFromData('<?xml version="1.0" encoding="iso-8859-1"?> <methodCall> <methodName>pingback.ping</methodName> <params> <param><value><string>http://www.example.com/index.php?p=71</string></value></param> <param><value><string>http://www.example2.com/index.php?p=72</string></value></param> </params> </methodCall>'); $this->assertEquals("http://www.example.com/index.php?p=71", $pingback->getSourceUrl()); $this->assertEquals("http://www.example2.com/index.php?p=72", $pingback->getTargetUrl()); }