]+)?>(.*?)#s', $xml, $matches1); if ($found) { if ($content_only) { return $matches1[1]; //ignore the enclosing tags } else { return $matches1[0]; //return the full pattern match } } } return false; } preg_match("/\(.*?)\<\/EMailAddress\>/", $data, $matches); $schemaforclient = value_in('AcceptableResponseSchema', $data); if ($schemaforclient == "http://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006") { echo '' . "\n"; echo '' . "\n"; echo ' ' . "\n"; echo ' en:en' . "\n"; echo ' ' . "\n"; echo ' ' . $matches[1] . '' . "\n"; echo ' ' . $matches[1] . '' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' MobileSync' . "\n"; echo ' ' . $ASUrl . '' . "\n"; echo ' ' . $ASUrl . '' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '' . "\n"; } else if ($schemaforclient == "http://schemas.microsoft.com/exchange/autodiscover/mobilesync/responseschema/2006a") { echo '' . "\n"; echo '' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . $matches[1] . '' . "\n"; echo ' ' . "\n"; echo ' email' . "\n"; echo ' settings' . "\n"; echo ' ' . "\n"; echo ' IMAP' . "\n"; echo ' ' . $server . '' . "\n"; echo ' 993' . "\n"; echo ' ' . $matches[1] . '' . "\n"; echo ' off' . "\n"; echo ' off' . "\n"; echo ' on' . "\n"; echo ' on' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' SMTP' . "\n"; echo ' ' . $server . '' . "\n"; echo ' 587' . "\n"; echo ' ' . $matches[1] . '' . "\n"; echo ' off' . "\n"; echo ' off' . "\n"; echo ' on' . "\n"; echo ' on' . "\n"; echo ' off' . "\n"; echo ' off' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '' . "\n"; } else { echo '' . "\n"; echo '' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' 600' . "\n"; echo ' Invalid Request' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '' . "\n"; } if (DEBUG) { $base = '/path/to/autodiscover-debug'; $timestamp = date('Y-m-d_G:i:s.u'); $ip = $_SERVER['REMOTE_ADDR']; file_put_contents($base . '/' . $ip . '_' . $timestamp . '_request.log', $data); file_put_contents($base . '/' . $ip . '_' . $timestamp . '_response.log', ob_get_contents()); }