/** * Verifies the user submitted data to check it's valid * @param string $page * @param string $site * @return array */ public static function verifyPFData($page, $site) { global $wgServer, $wgAllowGlobalMessaging; $data = array('site' => $site, 'title' => $page); if (trim($site) === '') { $site = MassMessage::getBaseUrl($wgServer); $data['site'] = $site; $data['wiki'] = wfWikiID(); } elseif (filter_var('http://' . $site, FILTER_VALIDATE_URL) === false) { // Try and see if the site provided is not valid // We can just prefix http:// in front since it needs some kind of protocol // return MassMessage::parserError( 'massmessage-parse-badurl', $site ); } if (is_null(Title::newFromText($page))) { // Check if the page provided is not valid return MassMessage::parserError('massmessage-parse-badpage', $page); } if (!isset($data['wiki'])) { $data['wiki'] = MassMessage::getDBName($data['site']); if ($data['wiki'] === null) { //return MassMessage::parserError( 'massmessage-parse-badurl', $site ); } } if (!$wgAllowGlobalMessaging && $data['wiki'] != wfWikiID()) { return MassMessage::parserError('massmessage-global-disallowed'); } return $data; }
/** * @covers MassMessage::getBaseUrl * @dataProvider provideGetBaseUrl * @param string $url raw url to parse * @param string $expected expected value */ public function testGetBaseUrl($url, $expected) { $output = MassMessage::getBaseUrl($url); $this->assertEquals($output, $expected); }