+ function initHTMLDocument($titletext, $headlinetext = null) {
+ global $settings;
+ if (is_null($headlinetext)) { $headlinetext = $titletext; }
+ // Start HTML document as a DOM object.
+ extract(ExtendedDocument::initHTML5()); // sets $document, $html, $head, $title, $body
+ $document->formatOutput = true; // we want a nice output
+
+ $style = $head->appendElement('link');
+ $style->setAttribute('rel', 'stylesheet');
+ $style->setAttribute('href', 'authsystem.css');
+ $head->appendJSFile('authsystem.js');
+ if ($settings['piwik_enabled']) {
+ $head->setAttribute('data-piwiksite', $settings['piwik_site_id']);
+ $head->setAttribute('data-piwikurl', $settings['piwik_url']);
+ $head->appendJSFile('piwik.js', true, true);
+ }
+ $title->appendText($titletext);
+ $h1 = $body->appendElement('h1', $headlinetext);
+
+ if ($settings['piwik_enabled']) {
+ // Piwik noscript element
+ $noscript = $body->appendElement('noscript');
+ $para = $noscript->appendElement('p');
+ $img = $para->appendImage($settings['piwik_url'].'piwik.php?idsite='.$settings['piwik_site_id']);
+ $img->setAttribute('style', 'border:0;');
+ }
+
+ // Make the document not be scaled on mobile devices.
+ $vpmeta = $head->appendElement('meta');
+ $vpmeta->setAttribute('name', 'viewport');
+ $vpmeta->setAttribute('content', 'width=device-width, height=device-height');
+
+ $para = $body->appendElement('p', _('This login system does not work without JavaScript. Please activate JavaScript for this site to log in.'));
+ $para->setAttribute('id', 'jswarning');
+ $para->setAttribute('class', 'warn');
+
+ return array('document' => $document,
+ 'html' => $html,
+ 'head' => $head,
+ 'title' => $title,
+ 'body' => $body);
+ }
+