diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2014-09-29 21:42:55 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2014-09-29 21:42:55 +0200 |
| commit | 35be0ae011c70e766417b1e640a8dac03644a3b6 (patch) | |
| tree | a1a19eaa48fc1f1b60bee373ffb4c54dfb173c31 | |
| parent | 01aae57048be789c8102106833f734b382aafc2e (diff) | |
| download | grauphel-35be0ae011c70e766417b1e640a8dac03644a3b6.tar.gz grauphel-35be0ae011c70e766417b1e640a8dac03644a3b6.zip | |
Show client name in oauth authorization (works for tomdroid only)
| -rw-r--r-- | controller/apicontroller.php | 31 | ||||
| -rw-r--r-- | controller/oauthcontroller.php | 6 | ||||
| -rw-r--r-- | grauphel.css | 12 | ||||
| -rw-r--r-- | templates/oauthAuthorize.php | 15 |
4 files changed, 59 insertions, 5 deletions
diff --git a/controller/apicontroller.php b/controller/apicontroller.php index 691d8ab..ee16f80 100644 --- a/controller/apicontroller.php +++ b/controller/apicontroller.php @@ -105,6 +105,12 @@ class ApiController extends Controller 'api-version' => '1.0', ); + $client = $this->getClient(); + if ($client !== false) { + $data['oauth_authorize_url'] .= '?client=' + . urlencode($this->getNiceClientName($client)); + } + if ($authenticated) { $data['user-ref'] = array( 'api-ref' => $urlGen->getAbsoluteURL( @@ -327,6 +333,31 @@ class ApiController extends Controller return new JSONResponse($note); } + protected function getClient() + { + if (isset($_SERVER['HTTP_X_TOMBOY_CLIENT'])) { + $client = $_SERVER['HTTP_X_TOMBOY_CLIENT']; + $doublepos = strpos($client, ', org.tomdroid'); + if ($doublepos !== false) { + //https://bugs.launchpad.net/tomdroid/+bug/1375436 + //X-Tomboy-Client header is sent twice + $client = substr($client, 0, $doublepos); + } + return $client; + } + + return false; + } + + protected function getNiceClientName($client) + { + if (substr($client, 0, 12) == 'org.tomdroid') { + //org.tomdroid v0.7.5, build 14, Android v4.4.2, innotek GmbH/VirtualBox + return 'Tomdroid'; + } + return $client; + } + /** * Checks if the given user is authorized (by oauth token or normal login) * diff --git a/controller/oauthcontroller.php b/controller/oauthcontroller.php index 8672927..6ab17d2 100644 --- a/controller/oauthcontroller.php +++ b/controller/oauthcontroller.php @@ -118,10 +118,16 @@ class OauthController extends Controller return $token; } + $client = 'unknown'; + if (isset($_GET['client'])) { + $client = $_GET['client']; + } + $res = new TemplateResponse('grauphel', 'oauthAuthorize'); $res->setParams( array( 'oauth_token' => $token->tokenKey, + 'client' => $client, 'formaction' => $this->deps->urlGen->linkToRoute( 'grauphel.oauth.confirm' ), diff --git a/grauphel.css b/grauphel.css index 37360db..e31ed6d 100644 --- a/grauphel.css +++ b/grauphel.css @@ -37,3 +37,15 @@ .app-grauphel #app-content a.lined { text-decoration: underline; } + +.app-grauphel .oauth-authorize { + margin: 2ex; + text-align: center; +} +.app-grauphel .msg { + padding: 2ex; +} +.app-grauphel .buttons { + margin-top: 2ex; + text-align: center; +}
\ No newline at end of file diff --git a/templates/oauthAuthorize.php b/templates/oauthAuthorize.php index 5d4023b..cab58ab 100644 --- a/templates/oauthAuthorize.php +++ b/templates/oauthAuthorize.php @@ -1,9 +1,14 @@ -<form method="post" action="<?php p($_['formaction']); ?>"> +<link rel="stylesheet" href="<?php p(OCP\Util::linkTo('grauphel','grauphel.css')); ?>" type="text/css"/> +<form method="post" action="<?php p($_['formaction']); ?>" class="oauth-authorize"> <input type="hidden" value="<?php p($_['requesttoken']); ?>" name="requesttoken" /> <input type="hidden" value="<?php p($_['oauth_token']); ?>" name="oauth_token" /> - <p> - Shall application FIXME get full access to the notes? + <p class="msg"> + Shall application + <strong><?php p($_['client']); ?></strong> + get full access to the notes? </p> - <button type="submit" name="auth" value="ok">Yes, authorize</button> - <button type="submit" name="auth" value="cancel">No, decline</button> + <div class="buttons"> + <button type="submit" name="auth" value="ok">Yes, authorize</button> + <button type="submit" name="auth" value="cancel">No, decline</button> + </div> </form> |
