function checkiSchedule() { global $c; $ret = ''; $s = new iSchedule(); $s->domain = $c->scheduling_dkim_domain; if (!$s->getServer()) { $ret .= '<p>SRV record missing for ' . $s->domain . ' or DNS failure, the domain you are going to send events from should have an SRV record</p>'; } if ($s->remote_server != $c->scheduling_dkim_domain) { $ret .= '<p>SRV record for ' . $s->domain . ' points to wrong domain: ' . $s->remote_server . ' instead of ' . $c->scheduling_dkim_domain . '</p>'; } $s->remote_server = $c->scheduling_dkim_domain; $s->remote_selector = $c->scheduling_dkim_selector; if (!$s->getTxt()) { if (isset($c->schedule_private_key)) { $ret .= '<p>TXT record missing for ' . $s->remote_selector . '._domainkey.' . $s->domain . ' or DNS failure, Private RSA key is configured</p>'; } else { $keys = generateKeys(); $config = '<p>please add the following section to your DAViCal configuration file<pre>$c->schedule_private_key = <<<ENDOFKEY' . "\n"; $config .= $keys['private']; //implode ("\n", str_split ( base64_encode ( $keys['private'] ), 64 )); $config .= "ENDOFKEY\n</pre>"; $config .= "<br/> and create a DNS TXT record for <b>" . $c->scheduling_dkim_selector . "._domainkey." . $c->scheduling_dkim_domain; $config .= "</b> that contains:<pre>"; $config .= "k=rsa; t=s; p=" . preg_replace('/-----(BEGIN|END) PUBLIC KEY-----\\n/', '', $keys['public']); $config .= '</pre></p>'; $ret .= $config; } } if (!$s->parseTxt()) { $ret .= '<p>TXT record corrupt for ' . $s->remote_selector . '._domainkey.' . $s->domain . ' or DNS failure</p>'; } else { if ($ret == '') { $ret = '<p>iSchedule OK</p>'; } } return $ret; }