* @copyright Catalyst .Net Ltd, Morphoss Ltd $content_sched1
$content_sched2 $translated_err1 $translated_war1 ' . sprintf(translate('SRV record missing for "%s" or DNS failure, the domain you are going to send events from should have an SRV record'), $s->domain) . ' ' . sprintf(translate('SRV record for "%s" points to wrong domain: "%s" instead of "%s"'), $s->domain, $s->remote_server, $c->scheduling_dkim_domain) . ' ' . sprintf(translate('TXT record missing for "%s._domainkey.%s" or DNS failure, Private RSA key is configured'), $s->remote_selector, $s->domain) . ' ' . translate('please add the following section to your DAViCal configuration file') . '
' . translate('Status') . '
';
if (!isset($c->scheduling_dkim_domain)) {
$status .= <<$c->schedule_private_key = <<<ENDOFKEY' . "\n";
$config .= $keys['private']; //implode ("\n", str_split ( base64_encode ( $keys['private'] ), 64 ));
$config .= "ENDOFKEY\n";
$config .= "
" . sprintf(translate('and create a DNS TXT record for %s._domainkey.%s that contains:'), $c->scheduling_dkim_selector, $c->scheduling_dkim_domain);
$config .= "k=rsa; t=s; p=" . preg_replace('/-----(BEGIN|END) PUBLIC KEY-----\n/','',$keys['public']);
$config .= '
' . sprintf(translate('TXT record corrupt for %s._domainkey.%s or DNS failure'), $s->remote_selector, $s->domain) . '
'; else if ( $ret == '' ) $ret = '' . translate('iSchedule OK') . '
'; return $ret; } function generateKeys () { $config = array('private_key_bits' => 512, 'private_key_type' => OPENSSL_KEYTYPE_RSA); $newKey = openssl_pkey_new($config); if ( $newKey !== false ) { openssl_pkey_export($newKey,$privateKey); $publicKey=openssl_pkey_get_details($newKey); $publicKey=$publicKey['key']; return Array('private' => $privateKey, 'public' => $publicKey); } return false; } include("classEditor.php"); include("classBrowser.php"); function SRVOk ( $value, $name, $row ) { global $BrowserCurrentRow; if ( empty($BrowserCurrentRow->domain) ) return ''; // skip empty rows $s = new iSchedule(); $s->domain = $BrowserCurrentRow->domain; return translate( ( $s->getServer()?'OK': SRVFormat ( $s->domain ) ) ); } function SRVFormat ( $domain ) { global $c; switch ( @$_REQUEST['srv_format'] ) { case 'dnsmasq': return 'srv_host=_ischedules._tcp.' . $domain .','. ($c->scheduling_dkim_domain?$c->scheduling_dkim_domain:$_SERVER['SERVER_NAME']) .','. $_SERVER['SERVER_PORT'] ; case 'bind': //_http._tcp.example.com. IN SRV 0 5 80 www.example.com. return '_ischedules._tcp.' . $domain .'. IN SRV 0 5 ' . $_SERVER['SERVER_PORT'] .' '. ($c->scheduling_dkim_domain?$c->scheduling_dkim_domain:$_SERVER['SERVER_NAME']) ; default: return '_ischedules._tcp.' . $domain .' '. ($c->scheduling_dkim_domain?$c->scheduling_dkim_domain:$_SERVER['SERVER_NAME']) .' '. $_SERVER['SERVER_PORT'] ; } } $browser = new Browser(translate('iSchedule Domains')); $browser->AddColumn( "domain", translate('Domain'),'left','' ); // function AddColumn( $field, $header="", $align="", $format="", $sql="", $class="", $datatype="", $hook=null ) { $browser->AddColumn( "srvok", translate('SRV Record'),'right','',"''",'','','SRVOk' ); $browser->SetJoins( "usr " ); $browser->SetWhere( " email is not null and email <> ''" ); $browser->SetDistinct( " split_part(email,'@',2) as " ); $sql = "select distinct split_part(email,'@',2) as domain from usr where email is not null and email <> ''"; $page_elements[] = $browser; $c->stylesheets[] = 'css/edit.css'; include("page-header.php"); /** * Page elements could be an array of viewers, browsers or something else * that supports the Render() method... or a non-object which we assume is * just a string of text that we echo. */ $heading_level = null; foreach( $page_elements AS $k => $page_element ) { if ( is_object($page_element) ) { echo $page_element->Render($heading_level); $heading_level = 'h2'; } else { echo $page_element; } } if (function_exists("post_render_function")) { post_render_function(); } include("page-footer.php");