also integrate Pwiki for those endpoints that do not actually output HTML but just...
[authserver.git] / app / authorize.php
index e0640800166c54d0ac009fbf87baeb79fab46e8a..a37bd4a0f63aea6bd028830bffb5a5e0504a0c47 100644 (file)
 // Include the common auth system files (including the OAuth2 Server object).
 require_once(__DIR__.'/authsystem.inc.php');
 
-// 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');
-$title->appendText('Authorization Request | KaiRo.at');
-$h1 = $body->appendElement('h1', 'KaiRo.at Authentication Server');
-
 $errors = $utils->checkForSecureConnection();
 $utils->sendSecurityHeaders();
 
-$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');
+// Initialize the HTML document with our basic elements.
+extract($utils->initHTMLDocument('Authorization Request | KaiRo.at', 'KaiRo.at Authentication Server')); // sets $document, $html, $head, $title, $body
 
 if (!count($errors)) {
   $session = $utils->initSession(); // Read session or create new session and set cookie.
@@ -136,6 +125,13 @@ if (!count($errors)) {
           $session = $utils->getLoginSession($user['id'], $session);
         }
       }
+      if ($settings['piwik_enabled']) {
+        // If we do not send out an HTML file, we need to do the Piwik tracking ourselves.
+        require_once($settings['piwik_tracker_path'].'PiwikTracker.php');
+        PiwikTracker::$URL = ((strpos($settings['piwik_url'], '://') === false) ? 'http://localhost' : '' ).$settings['piwik_url'];
+        $piwikTracker = new PiwikTracker($idSite = $settings['piwik_site_id']);
+        $piwikTracker->doTrackPageView('Handle Authorize Request');
+      }
       // Handle authorize request, forwarding code in GET parameters if the user has authorized your client.
       $server->handleAuthorizeRequest($request, $response, $is_authorized, $user['id']);
       /* For testing only