diff options
Diffstat (limited to 'controller')
| -rw-r--r-- | controller/apicontroller.php | 32 | ||||
| -rw-r--r-- | controller/guicontroller.php | 4 | ||||
| -rw-r--r-- | controller/oauthcontroller.php | 19 |
3 files changed, 22 insertions, 33 deletions
diff --git a/controller/apicontroller.php b/controller/apicontroller.php index ee16f80..688d0b0 100644 --- a/controller/apicontroller.php +++ b/controller/apicontroller.php @@ -16,6 +16,7 @@ namespace OCA\Grauphel\Controller; use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http\JSONResponse; +use \OCA\Grauphel\Lib\Client; use \OCA\Grauphel\Lib\NoteStorage; use \OCA\Grauphel\Lib\OAuth; use \OCA\Grauphel\Lib\OAuthException; @@ -105,10 +106,10 @@ class ApiController extends Controller 'api-version' => '1.0', ); - $client = $this->getClient(); + $cl = new Client(); + $client = $cl->getClient(); if ($client !== false) { - $data['oauth_authorize_url'] .= '?client=' - . urlencode($this->getNiceClientName($client)); + $data['oauth_authorize_url'] .= '?client=' . urlencode($client); } if ($authenticated) { @@ -333,31 +334,6 @@ 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/guicontroller.php b/controller/guicontroller.php index 947e23e..6d59fd5 100644 --- a/controller/guicontroller.php +++ b/controller/guicontroller.php @@ -15,6 +15,7 @@ namespace OCA\Grauphel\Controller; use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http\TemplateResponse; +use \OCA\Grauphel\Lib\Client; use \OCA\Grauphel\Lib\TokenStorage; /** @@ -108,7 +109,8 @@ class GuiController extends Controller array( 'tokens' => $tokens->loadForUser( $this->user->getUid(), 'access' - ) + ), + 'client' => new Client(), ) ); $this->addNavigation($res, null); diff --git a/controller/oauthcontroller.php b/controller/oauthcontroller.php index 6ab17d2..bc66de4 100644 --- a/controller/oauthcontroller.php +++ b/controller/oauthcontroller.php @@ -18,6 +18,7 @@ use \OCP\AppFramework\Http; use \OCP\AppFramework\Http\RedirectResponse; use \OCP\AppFramework\Http\TemplateResponse; +use \OCA\Grauphel\Lib\Client; use \OCA\Grauphel\Lib\Token; use \OCA\Grauphel\Lib\OAuth; use \OCA\Grauphel\Lib\Dependencies; @@ -87,6 +88,7 @@ class OauthController extends Controller $newToken->tokenKey = 'a' . bin2hex($provider->generateToken(8)); $newToken->secret = 's' . bin2hex($provider->generateToken(8)); $newToken->user = $token->user; + $newToken->client = $token->client; $this->deps->tokens->store($newToken); return new FormResponse( @@ -118,19 +120,22 @@ class OauthController extends Controller return $token; } - $client = 'unknown'; + $clientTitle = 'unknown'; + $clientAgent = ''; if (isset($_GET['client'])) { - $client = $_GET['client']; + $clientAgent = $_GET['client']; + $cl = new Client(); + $clientTitle = $cl->getNiceName($clientAgent); } $res = new TemplateResponse('grauphel', 'oauthAuthorize'); $res->setParams( array( 'oauth_token' => $token->tokenKey, - 'client' => $client, + 'client' => $clientTitle, 'formaction' => $this->deps->urlGen->linkToRoute( 'grauphel.oauth.confirm' - ), + ) . '?client=' . urlencode($clientAgent), ) ); return $res; @@ -172,6 +177,11 @@ class OauthController extends Controller return $res; } + $clientAgent = ''; + if (isset($_GET['client'])) { + $clientAgent = $_GET['client']; + } + //the user is logged in and authorized $provider = OAuth::getProvider(); @@ -180,6 +190,7 @@ class OauthController extends Controller $newToken->secret = $token->secret; $newToken->verifier = 'v' . bin2hex($provider->generateToken(8)); $newToken->user = $this->user->getUID(); + $newToken->client = $clientAgent; $this->deps->tokens->store($newToken); |
