summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-01-29 20:15:53 -0500
committerFrederic Guillot <fred@kanboard.net>2016-01-29 20:15:53 -0500
commitdae0c7391ab8308506bddc5fff76414a3bb87ce4 (patch)
tree1b594635ceee536c986b8f4f24a7122858ab7fc3
parent915bf5882293d7041e8e5d0f5c32b8acf0938148 (diff)
Move Google authentication to an external plugin
-rw-r--r--ChangeLog5
-rw-r--r--app/Auth/GoogleAuth.php143
-rw-r--r--app/Controller/Oauth.php24
-rw-r--r--app/Locale/bs_BA/translations.php7
-rw-r--r--app/Locale/cs_CZ/translations.php7
-rw-r--r--app/Locale/da_DK/translations.php7
-rw-r--r--app/Locale/de_DE/translations.php7
-rw-r--r--app/Locale/el_GR/translations.php32
-rw-r--r--app/Locale/es_ES/translations.php7
-rw-r--r--app/Locale/fi_FI/translations.php7
-rw-r--r--app/Locale/fr_FR/translations.php7
-rw-r--r--app/Locale/hu_HU/translations.php7
-rw-r--r--app/Locale/id_ID/translations.php7
-rw-r--r--app/Locale/it_IT/translations.php15
-rw-r--r--app/Locale/ja_JP/translations.php7
-rw-r--r--app/Locale/my_MY/translations.php7
-rw-r--r--app/Locale/nb_NO/translations.php7
-rw-r--r--app/Locale/nl_NL/translations.php7
-rw-r--r--app/Locale/pl_PL/translations.php7
-rw-r--r--app/Locale/pt_BR/translations.php7
-rw-r--r--app/Locale/pt_PT/translations.php7
-rw-r--r--app/Locale/ru_RU/translations.php7
-rw-r--r--app/Locale/sr_Latn_RS/translations.php7
-rw-r--r--app/Locale/sv_SE/translations.php7
-rw-r--r--app/Locale/th_TH/translations.php7
-rw-r--r--app/Locale/tr_TR/translations.php7
-rw-r--r--app/Locale/zh_CN/translations.php7
-rw-r--r--app/Model/User.php15
-rw-r--r--app/ServiceProvider/AuthenticationProvider.php7
-rw-r--r--app/ServiceProvider/RouteProvider.php1
-rw-r--r--app/Template/auth/index.php6
-rw-r--r--app/Template/config/integrations.php8
-rw-r--r--app/Template/user/authentication.php3
-rw-r--r--app/Template/user/external.php20
-rw-r--r--app/User/GoogleUserProvider.php23
-rw-r--r--app/constants.php5
-rw-r--r--doc/google-authentication.markdown64
-rw-r--r--doc/index.markdown1
-rw-r--r--tests/units/Auth/GoogleAuthTest.php89
39 files changed, 41 insertions, 574 deletions
diff --git a/ChangeLog b/ChangeLog
index 5fa09689..2135da95 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
Version 1.0.25 (unreleased)
--------------
+Breaking changes:
+
+* Core functionalities moved to external plugins:
+ - Google Auth: https://github.com/kanboard/plugin-google-auth
+
New features:
* Add project owner (Directly Responsible Individual)
diff --git a/app/Auth/GoogleAuth.php b/app/Auth/GoogleAuth.php
deleted file mode 100644
index 6eacf0b0..00000000
--- a/app/Auth/GoogleAuth.php
+++ /dev/null
@@ -1,143 +0,0 @@
-<?php
-
-namespace Kanboard\Auth;
-
-use Kanboard\Core\Base;
-use Kanboard\Core\Security\OAuthAuthenticationProviderInterface;
-use Kanboard\User\GoogleUserProvider;
-
-/**
- * Google Authentication Provider
- *
- * @package auth
- * @author Frederic Guillot
- */
-class GoogleAuth extends Base implements OAuthAuthenticationProviderInterface
-{
- /**
- * User properties
- *
- * @access protected
- * @var \Kanboard\User\GoogleUserProvider
- */
- protected $userInfo = null;
-
- /**
- * OAuth2 instance
- *
- * @access protected
- * @var \Kanboard\Core\Http\OAuth2
- */
- protected $service;
-
- /**
- * OAuth2 code
- *
- * @access protected
- * @var string
- */
- protected $code = '';
-
- /**
- * Get authentication provider name
- *
- * @access public
- * @return string
- */
- public function getName()
- {
- return 'Google';
- }
-
- /**
- * Authenticate the user
- *
- * @access public
- * @return boolean
- */
- public function authenticate()
- {
- $profile = $this->getProfile();
-
- if (! empty($profile)) {
- $this->userInfo = new GoogleUserProvider($profile);
- return true;
- }
-
- return false;
- }
-
- /**
- * Set Code
- *
- * @access public
- * @param string $code
- * @return GoogleAuth
- */
- public function setCode($code)
- {
- $this->code = $code;
- return $this;
- }
-
- /**
- * Get user object
- *
- * @access public
- * @return GoogleUserProvider
- */
- public function getUser()
- {
- return $this->userInfo;
- }
-
- /**
- * Get configured OAuth2 service
- *
- * @access public
- * @return \Kanboard\Core\Http\OAuth2
- */
- public function getService()
- {
- if (empty($this->service)) {
- $this->service = $this->oauth->createService(
- GOOGLE_CLIENT_ID,
- GOOGLE_CLIENT_SECRET,
- $this->helper->url->to('oauth', 'google', array(), '', true),
- 'https://accounts.google.com/o/oauth2/auth',
- 'https://accounts.google.com/o/oauth2/token',
- array('https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile')
- );
- }
-
- return $this->service;
- }
-
- /**
- * Get Google profile
- *
- * @access public
- * @return array
- */
- public function getProfile()
- {
- $this->getService()->getAccessToken($this->code);
-
- return $this->httpClient->getJson(
- 'https://www.googleapis.com/oauth2/v1/userinfo',
- array($this->getService()->getAuthorizationHeader())
- );
- }
-
- /**
- * Unlink user
- *
- * @access public
- * @param integer $userId
- * @return bool
- */
- public function unlink($userId)
- {
- return $this->user->update(array('id' => $userId, 'google_id' => ''));
- }
-}
diff --git a/app/Controller/Oauth.php b/app/Controller/Oauth.php
index ed901def..62381308 100644
--- a/app/Controller/Oauth.php
+++ b/app/Controller/Oauth.php
@@ -11,16 +11,6 @@ namespace Kanboard\Controller;
class Oauth extends Base
{
/**
- * Link or authenticate a Google account
- *
- * @access public
- */
- public function google()
- {
- $this->step1('Google');
- }
-
- /**
* Link or authenticate a Github account
*
* @access public
@@ -65,7 +55,7 @@ class Oauth extends Base
* @access private
* @param string $provider
*/
- private function step1($provider)
+ protected function step1($provider)
{
$code = $this->request->getStringParam('code');
@@ -79,11 +69,11 @@ class Oauth extends Base
/**
* Link or authenticate the user
*
- * @access private
+ * @access protected
* @param string $provider
* @param string $code
*/
- private function step2($provider, $code)
+ protected function step2($provider, $code)
{
$this->authenticationManager->getProvider($provider)->setCode($code);
@@ -97,10 +87,10 @@ class Oauth extends Base
/**
* Link the account
*
- * @access private
+ * @access protected
* @param string $provider
*/
- private function link($provider)
+ protected function link($provider)
{
$authProvider = $this->authenticationManager->getProvider($provider);
@@ -117,10 +107,10 @@ class Oauth extends Base
/**
* Authenticate the account
*
- * @access private
+ * @access protected
* @param string $provider
*/
- private function authenticate($provider)
+ protected function authenticate($provider)
{
if ($this->authenticationManager->oauthAuthentication($provider)) {
$this->response->redirect($this->helper->url->to('app', 'index'));
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 90ab1296..72bb3128 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Vanjska autentikacija nije uspostavljena',
'Your external account is linked to your profile successfully.' => 'Uspješno uspostavljena vanjska autentikacija',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Poveži sa Google nalogom',
- 'Unlink my Google Account' => 'Ukini vezu sa Google nalogom',
- 'Login with my Google Account' => 'Prijavi se preko Google naloga',
'Project not found.' => 'Projekat nije pronađen.',
'Task removed successfully.' => 'Zadatak uspješno uklonjen.',
'Unable to remove this task.' => 'Nemoguće uklanjanje zadatka.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Promijeni šifru',
'Password modification' => 'Izmjena šifre',
'External authentications' => 'Vanjske autentikacije',
- 'Google Account' => 'Google korisnički račun',
'Github Account' => 'Github korisnički račun',
'Never connected.' => 'Bez konekcija.',
'No account linked.' => 'Bez povezanih korisničkih računa.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Ovaj grafik pokazuje prosjek vremena vođenja i vremenskog ciklusa za posljednjih %d zadataka tokom vremena.',
'Average time into each column' => 'Prosječno vrijeme u svakoj koloni',
'Lead and cycle time' => 'Vrijeme vođenja i vremenski ciklus',
- 'Google Authentication' => 'Google autentifikacija',
- 'Help on Google authentication' => 'Pomoć na Google autentifikacija',
'Github Authentication' => 'Github autentifikacija',
'Help on Github authentication' => 'Pomoć na Github autentifikacija',
'Lead time: ' => 'Vrijeme vođenja: ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Ako zadatak nije zatvoren trenutno vrijeme je iskorišteno umjesto datuma završetka.',
'Set automatically the start date' => 'Automatski postavi početno vrijeme',
'Edit Authentication' => 'Uredi autentifikaciju',
- 'Google Id' => 'Google Id',
'Github Id' => 'Github Id',
'Remote user' => 'Vanjski korisnik',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Vanjski korisnik ne čuva šifru u Kanboard bazi, npr: LDAP, Google i Github korisnički računi.',
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index 83d88f35..b564a7eb 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'E-Mail',
- 'Link my Google Account' => 'Propojit s Google účtem',
- 'Unlink my Google Account' => 'Odpojit Google účet',
- 'Login with my Google Account' => 'Přihlášení pomocí Google účtu',
'Project not found.' => 'Projekt nebyl nalezen.',
'Task removed successfully.' => 'Úkol byl úspěšně odebrán.',
'Unable to remove this task.' => 'Tento úkol nelze odebrat.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Změnit heslo',
'Password modification' => 'Změna hesla',
'External authentications' => 'Vzdálená autorizace',
- 'Google Account' => 'Google účet',
'Github Account' => 'github účet',
'Never connected.' => 'Zatím nikdy nespojen.',
'No account linked.' => 'Žádné propojení účtu.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Graf ukazuje průměrnou dodací lhůtu a dobu cyklu pro posledních %d úkolů v průběhu času',
'Average time into each column' => 'Průměrná doba v každé fázi',
'Lead and cycle time' => 'Dodací lhůta a doba cyklu',
- 'Google Authentication' => 'Ověřování pomocí služby Google',
- 'Help on Google authentication' => 'Nápověda k ověřování pomocí služby Google',
'Github Authentication' => 'Ověřování pomocí služby Github',
'Help on Github authentication' => 'Nápověda k ověřování pomocí služby Github',
'Lead time: ' => 'Dodací lhůta: ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Jestliže není úkol uzavřen, místo termínu dokončení je použit aktuální čas.',
'Set automatically the start date' => 'Nastavit automaticky počáteční datum',
'Edit Authentication' => 'Upravit ověřování',
- 'Google Id' => 'Google ID',
'Github Id' => 'Github ID',
'Remote user' => 'Vzdálený uživatel',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Hesla vzdáleným uživatelům se neukládají do databáze Kanboard. Naříklad: LDAP, Google a Github účty.',
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index 7a82bc1e..2e0cc80b 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'E-Mail',
- 'Link my Google Account' => 'Forbind min Google-konto',
- 'Unlink my Google Account' => 'Fjern forbindelsen til min Google-konto',
- 'Login with my Google Account' => 'Login med min Google-konto',
'Project not found.' => 'Projekt ikke fundet.',
'Task removed successfully.' => 'Opgaven er fjernet.',
'Unable to remove this task.' => 'Opgaven kunne ikke fjernes.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Skift adgangskode',
'Password modification' => 'Adgangskode ændring',
'External authentications' => 'Ekstern autentificering',
- 'Google Account' => 'Google-konto',
'Github Account' => 'Github-konto',
'Never connected.' => 'Aldrig forbundet.',
'No account linked.' => 'Ingen kontoer forfundet.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 80e77f90..21215437 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Externe Authentifizierung fehlgeschlagen',
'Your external account is linked to your profile successfully.' => 'Dein externer Account wurde erfolgreich mit deinem Profil verbunden',
'Email' => 'E-Mail',
- 'Link my Google Account' => 'Verbinde meinen Google-Account',
- 'Unlink my Google Account' => 'Verbindung mit meinem Google-Account trennen',
- 'Login with my Google Account' => 'Anmelden mit meinem Google-Account',
'Project not found.' => 'Das Projekt wurde nicht gefunden.',
'Task removed successfully.' => 'Aufgabe erfolgreich gelöscht.',
'Unable to remove this task.' => 'Löschen der Aufgabe nicht möglich.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Passwort ändern',
'Password modification' => 'Passwortänderung',
'External authentications' => 'Externe Authentisierungsmethoden',
- 'Google Account' => 'Google-Account',
'Github Account' => 'Github-Account',
'Never connected.' => 'Noch nie verbunden.',
'No account linked.' => 'Kein Account verbunden.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Das Diagramm zeigt die durchschnittliche Durchlauf- und Zykluszeit der letzten %d Aufgaben über die Zeit an.',
'Average time into each column' => 'Durchschnittzeit in jeder Spalte',
'Lead and cycle time' => 'Durchlauf- und Zykluszeit',
- 'Google Authentication' => 'Google-Authentifizierung',
- 'Help on Google authentication' => 'Hilfe bei Google-Authentifizierung',
'Github Authentication' => 'Github-Authentifizierung',
'Help on Github authentication' => 'Hilfe bei Github-Authentifizierung',
'Lead time: ' => 'Durchlaufzeit:',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Wenn die Aufgabe nicht geschlossen ist, wird die aktuelle Zeit statt der Fertigstellung verwendet.',
'Set automatically the start date' => 'Setze Startdatum automatisch',
'Edit Authentication' => 'Authentifizierung bearbeiten',
- 'Google Id' => 'Google Id',
'Github Id' => 'Github Id',
'Remote user' => 'Remote-Benutzer',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Remote-Benutzer haben kein Passwort in der Kanboard Datenbank, Beispiel LDAP, Goole und Github Accounts',
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index 52b23dbd..ce7cc465 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -25,7 +25,7 @@ return array(
'Dark Grey' => 'Βαθύ γκρί',
'Pink' => 'Ρόζ',
'Teal' => 'Τουρκουάζ',
- 'Cyan'=> 'Γαλάζιο',
+ 'Cyan' => 'Γαλάζιο',
'Lime' => 'Λεμονί',
'Light Green' => 'Ανοιχτό πράσινο',
'Amber' => 'Κεχριμπαρί',
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Αποτυχία εξωτερικής σύνδεσης',
'Your external account is linked to your profile successfully.' => 'Ο λογαριασμός σας συνδέθηκε με το προφίλ σας με επιτυχία.',
'Email' => 'Email',
- 'Link my Google Account' => 'Σύνδεση του Google Account μου',
- 'Unlink my Google Account' => 'Αποσύνδεση του Google Account μου',
- 'Login with my Google Account' => 'Σύνδεση με Google Account',
'Project not found.' => 'Το έργο δεν βρέθηκε.',
'Task removed successfully.' => 'Η εργασία αφαιρέθηκε με επιτυχία.',
'Unable to remove this task.' => 'Δεν είναι δυνατή η αφαίρεση της εργασίας.',
@@ -329,7 +326,7 @@ return array(
'Display another project' => 'Εμφάνιση άλλου έργου',
'Login with my Github Account' => 'Σύνδεση με το Github Account μου',
'Link my Github Account' => 'Σύνδεση Github Account',
- 'Unlink my Github Account' => 'Αποσύνδεση του Github Account μου',
+ 'Unlink my Github Account' => 'Αποσύνδεση του Github Account μου',
'Created by %s' => 'Δημιουργήθηκε από %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Τελευταία ενημέρωση: %d/%m/%Y à %H:%M',
'Tasks Export' => 'Εξαγωγή εργασιών',
@@ -355,14 +352,12 @@ return array(
'Time tracking:' => 'Παρακολούθηση του χρόνου :',
'New sub-task' => 'Νέα υπο-εργασία',
'New attachment added "%s"' => 'Νέα επικόλληση προστέθηκε « %s »',
- 'Comment updated' => 'Το σχόλιο ενημηρώθηκε',
+ 'Comment updated' => 'Το σχόλιο ενημερώθηκε',
'New comment posted by %s' => 'Νέο σχόλιο από τον χρήστη « %s »',
'New attachment' => 'New attachment',
'New comment' => 'Νέο σχόλιο',
- 'Comment updated' => 'Το σχόλιο ενημερώθηκε',
'New subtask' => 'Νέα υπο-εργασία',
'Subtask updated' => 'Υπο-Εργασία ενημερώθηκε',
- 'New task' => 'Νέα εργασία',
'Task updated' => 'Η εργασία ενημερώθηκε',
'Task closed' => 'Η εργασία έκλεισε',
'Task opened' => 'Η εργασία άνοιξε',
@@ -397,7 +392,6 @@ return array(
'Change password' => 'Αλλαγή password',
'Password modification' => 'Τροποποίηση password ',
'External authentications' => 'Εξωτερικές πιστοποιήσεις',
- 'Google Account' => 'Google Account',
'Github Account' => 'Github Account',
'Never connected.' => 'Ποτέ δεν συνδέθηκε.',
'No account linked.' => 'Δεν υπάρχουν ενεργοί λογαριασμοί',
@@ -688,7 +682,6 @@ return array(
'Take a screenshot and press CTRL+V or ⌘+V to paste here.' => 'Πάρτε ένα screenshot και πατήστε CTRL+V or ⌘+V για να το επικολλήσετε εδώ.',
'Screenshot uploaded successfully.' => 'Το screenshot ανέβηκε με επιτυχία.',
'SEK - Swedish Krona' => 'SEK - Swedish Krona',
- 'The project identifier is an optional alphanumeric code used to identify your project.' => 'Το αναγνωριστικό έργου είναι ένας προαιρετικός αλφαριθμητικός κωδικός που χρησιμοποιείται για την αναγνώριση του έργου σας.',
'Identifier' => 'Αναγνωριστικό',
'Disable two factor authentication' => 'Απενεργοποίηση κωδικού ελέγχου ταυτότητας δύο παραγόντων',
'Do you really want to disable the two factor authentication for this user: "%s"?' => 'Είστε σίγουροι ότι θέλετε να απενεργοποίησετε τον κωδικό ελέγχου ταυτότητας δύο παραγόντων : « %s » ?',
@@ -849,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Αυτό το γράφημα δείχνει το average lead and cycle time για τις τελευταίες %d εργασίες κατά τη διάρκεια του χρόνου.',
'Average time into each column' => 'Μέσος χρόνος σε κάθε στήλη',
'Lead and cycle time' => 'Lead et cycle time',
- 'Google Authentication' => 'Πιστοποίηση Google',
- 'Help on Google authentication' => 'Βοήθεια για την πιστοποίηση της Google',
'Github Authentication' => 'Πιστοποίηση Github',
'Help on Github authentication' => 'Βοήθεια για την πιστοποίηση της Github',
'Lead time: ' => 'Lead time : ',
@@ -861,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Εάν η εργασία δεν έχει κλείσει η τρέχουσα ώρα χρησιμοποιείται αντί της ημερομηνίας ολοκλήρωσης.',
'Set automatically the start date' => 'Ρυθμίστε αυτόματα την ημερομηνία έναρξης',
'Edit Authentication' => 'Επεξεργασία ταυτοποίησης',
- 'Google Id' => 'Id Google',
'Github Id' => 'Id Github',
'Remote user' => 'Απομακρυσμένος χρήστης',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Στους απομακρυσμένους χρήστες δεν αποθηκεύονται οι κωδικοί πρόσβασης εντός της βάσης δεδομένων της τρέχουσας εφαρμογής, Παραδείγματα: LDAP, Google and Github accounts.',
@@ -1014,7 +1004,6 @@ return array(
'Usernames must be lowercase and unique' => 'Οι ονομασίες χρηστών πρέπει να είναι σε μικρά γράμματα (lowercase) και μοναδικά',
'Passwords will be encrypted if present' => 'Οι κωδικοί πρόσβασης κρυπτογραφούνται, αν υπάρχουν',
'%s attached a new file to the task %s' => '%s νέο συνημμένο αρχείο της εργασίας %s',
- 'Link type' => 'Τύπος συνδέσμου',
'Assign automatically a category based on a link' => 'Ανατίθεται αυτόματα κατηγορία, βασισμένη στον σύνδεσμο',
'BAM - Konvertible Mark' => 'BAM - Konvertible Mark',
'Assignee Username' => 'Δικαιοδόχο όνομα χρήστη',
@@ -1107,4 +1096,19 @@ return array(
'No plugin has registered a project notification method. You can still configure individual notifications in your user profile.' => 'Κανένα plugin δεν έχει καταχωρηθεί με τη μέθοδο της κοινοποίησης του έργου. Μπορείτε ακόμα να διαμορφώσετε τις μεμονωμένες κοινοποιήσεις στο προφίλ χρήστη σας.',
'My dashboard' => 'Το κεντρικό ταμπλό μου',
'My profile' => 'Το προφίλ μου',
+ // 'Project owner: ' => '',
+ // 'The project identifier is optional and must be alphanumeric, example: MYPROJECT.' => '',
+ // 'Project owner' => '',
+ // 'Those dates are useful for the project Gantt chart.' => '',
+ // 'Private projects do not have users and groups management.' => '',
+ // 'There is no project member.' => '',
+ // 'Priority' => '',
+ // 'Task priority' => '',
+ // 'General' => '',
+ // 'Dates' => '',
+ // 'Default priority' => '',
+ // 'Lowest priority' => '',
+ // 'Highest priority' => '',
+ // 'If you put zero to the low and high priority, this feature will be disabled.' => '',
+ // 'Priority: %d' => '',
);
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 16c96ec5..2a7aebda 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Falló la autenticación externa',
'Your external account is linked to your profile successfully.' => 'Su cuenta externa se ha vinculado exitosamente con su perfil.',
'Email' => 'Correo',
- 'Link my Google Account' => 'Vincular con mi Cuenta en Google',
- 'Unlink my Google Account' => 'Desvincular de mi Cuenta en Google',
- 'Login with my Google Account' => 'Ingresar con mi Cuenta de Google',
'Project not found.' => 'Proyecto no hallado.',
'Task removed successfully.' => 'Tarea suprimida correctamente.',
'Unable to remove this task.' => 'No pude suprimir esta tarea.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Cambiar contraseña',
'Password modification' => 'Modificacion de contraseña',
'External authentications' => 'Autenticación externa',
- 'Google Account' => 'Cuenta de Google',
'Github Account' => 'Cuenta de Github',
'Never connected.' => 'Nunca se ha conectado.',
'No account linked.' => 'Sin vínculo con cuenta.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Esta gráfica muestra el plazo medio de entrega y de ciclo para las %d últimas tareas transcurridas.',
'Average time into each column' => 'Tiempo medio en cada columna',
'Lead and cycle time' => 'Plazo de entrega y de ciclo',
- 'Google Authentication' => 'Autenticación de Google',
- 'Help on Google authentication' => 'Ayuda con la aAutenticación de Google',
'Github Authentication' => 'Autenticación de Github',
'Help on Github authentication' => 'Ayuda con la autenticación de Github',
'Lead time: ' => 'Plazo de entrega: ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Si la tarea no se cierra, se usa la fecha actual en lugar de la de terminación.',
'Set automatically the start date' => 'Poner la fecha de inicio de forma automática',
'Edit Authentication' => 'Editar autenticación',
- 'Google Id' => 'Id de Google',
'Github Id' => 'Id de Github',
'Remote user' => 'Usuario remoto',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Los usuarios remotos no almacenan sus contraseñas en la base de datos Kanboard, por ejemplo: cuentas de LDAP, Google y Github',
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index cde825e2..8e690e9b 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'Sähköposti',
- 'Link my Google Account' => 'Linkitä Google-tili',
- 'Unlink my Google Account' => 'Poista Google-tilin linkitys',
- 'Login with my Google Account' => 'Kirjaudu Google tunnuksella',
'Project not found.' => 'Projektia ei löytynyt.',
'Task removed successfully.' => 'Tehtävä poistettiin onnistuneesti.',
'Unable to remove this task.' => 'Tehtävän poistaminen epäonnistui.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Vaihda salasana',
'Password modification' => 'Salasanan vaihto',
'External authentications' => 'Muut tunnistautumistavat',
- 'Google Account' => 'Google-tili',
'Github Account' => 'Github-tili',
'Never connected.' => 'Ei koskaan liitetty.',
'No account linked.' => 'Tiliä ei ole liitetty.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 32110e1c..7ce0c030 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'L’authentification externe a échoué',
'Your external account is linked to your profile successfully.' => 'Votre compte externe est désormais lié à votre profil.',
'Email' => 'Email',
- 'Link my Google Account' => 'Lier mon compte Google',
- 'Unlink my Google Account' => 'Ne plus utiliser mon compte Google',
- 'Login with my Google Account' => 'Se connecter avec mon compte Google',
'Project not found.' => 'Projet introuvable.',
'Task removed successfully.' => 'Tâche supprimée avec succès.',
'Unable to remove this task.' => 'Impossible de supprimer cette tâche.',
@@ -397,7 +394,6 @@ return array(
'Change password' => 'Changer le mot de passe',
'Password modification' => 'Changement de mot de passe',
'External authentications' => 'Authentifications externes',
- 'Google Account' => 'Compte Google',
'Github Account' => 'Compte Github',
'Never connected.' => 'Jamais connecté.',
'No account linked.' => 'Aucun compte attaché.',
@@ -848,8 +844,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Ce graphique montre la durée moyenne du lead et cycle time pour les %d dernières tâches.',
'Average time into each column' => 'Temps moyen dans chaque colonne',
'Lead and cycle time' => 'Lead et cycle time',
- 'Google Authentication' => 'Authentification Google',
- 'Help on Google authentication' => 'Aide sur l\'authentification Google',
'Github Authentication' => 'Authentification Github',
'Help on Github authentication' => 'Aide sur l\'authentification Github',
'Lead time: ' => 'Lead time : ',
@@ -860,7 +854,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Si la tâche n\'est pas fermée, l\'heure courante est utilisée à la place de la date de complétion.',
'Set automatically the start date' => 'Définir automatiquement la date de début',
'Edit Authentication' => 'Modifier l\'authentification',
- 'Google Id' => 'Identifiant Google',
'Github Id' => 'Identifiant Github',
'Remote user' => 'Utilisateur distant',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Les utilisateurs distants ne stockent pas leur mot de passe dans la base de données de Kanboard, exemples : comptes LDAP, Github ou Google.',
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 25d55bb2..92968f7f 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Kapcsold össze a Google fiókkal',
- 'Unlink my Google Account' => 'Válaszd le a Google fiókomat',
- 'Login with my Google Account' => 'Jelentkezzen be Google fiókkal',
'Project not found.' => 'A projekt nem található.',
'Task removed successfully.' => 'Feladat sikeresen törölve.',
'Unable to remove this task.' => 'A feladatot nem lehet törölni.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Jelszó módosítása',
'Password modification' => 'Jelszó módosítása',
'External authentications' => 'Külső azonosítás',
- 'Google Account' => 'Google fiók',
'Github Account' => 'Github fiók',
'Never connected.' => 'Sosem csatlakozva.',
'No account linked.' => 'Nincs csatlakoztatott fiók.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index e3316405..85cf9805 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Otentifikasi eksternal gagal',
'Your external account is linked to your profile successfully.' => 'Akun eksternal anda berhasil dihubungkan ke profil anda.',
'Email' => 'Email',
- 'Link my Google Account' => 'Hubungkan akun Google saya',
- 'Unlink my Google Account' => 'Putuskan akun Google saya',
- 'Login with my Google Account' => 'Masuk menggunakan akun Google saya',
'Project not found.' => 'Proyek tidak ditemukan.',
'Task removed successfully.' => 'Tugas berhasil dihapus.',
'Unable to remove this task.' => 'Tidak dapat menghapus tugas ini.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Rubah kata sandri',
'Password modification' => 'Modifikasi kata sandi',
'External authentications' => 'Otentifikasi eksternal',
- 'Google Account' => 'Akun Google',
'Github Account' => 'Akun Github',
'Never connected.' => 'Tidak pernah terhubung.',
'No account linked.' => 'Tidak ada akun terhubung.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Grafik ini menunjukkan memimpin rata-rata dan waktu siklus untuk %d tugas terakhir dari waktu ke waktu.',
'Average time into each column' => 'Rata-rata waktu ke setiap kolom',
'Lead and cycle time' => 'Lead dan siklus waktu',
- 'Google Authentication' => 'Google Otentifikasi',
- 'Help on Google authentication' => 'Bantuan pada otentifikasi Google',
'Github Authentication' => 'Otentifikasi Github',
'Help on Github authentication' => 'Bantuan pada otentifikasi Github',
'Lead time: ' => 'Lead time : ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Jika tugas tidak ditutup waktu saat ini yang digunakan sebagai pengganti tanggal penyelesaian.',
'Set automatically the start date' => 'Secara otomatis mengatur tanggal mulai',
'Edit Authentication' => 'Modifikasi Otentifikasi',
- 'Google Id' => 'Id Google',
'Github Id' => 'Id Github',
'Remote user' => 'Pengguna jauh',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Pengguna jauh tidak menyimpan kata sandi mereka dalam basis data Kanboard, contoh: akun LDAP, Google dan Github.',
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index 30a21bd9..bc7e8c17 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Autenticazione esterna fallita',
'Your external account is linked to your profile successfully.' => 'Il tuo account esterno è stato collegato al tuo profilo con successo.',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Collegare il mio Account di Google',
- 'Unlink my Google Account' => 'Scollegare il mio account di Google',
- 'Login with my Google Account' => 'Entra con il mio Account di Google',
'Project not found.' => 'progetto non trovato.',
'Task removed successfully.' => 'Task cancellato correttamente.',
'Unable to remove this task.' => 'Impossibile cancellare questo task.',
@@ -352,7 +349,7 @@ return array(
'Title:' => 'Titolo',
'Status:' => 'Stato',
'Assignee:' => 'Assegnatario:',
- // 'Time tracking:' => 'Gestione del tempo:',
+ // 'Time tracking:' => '',
'New sub-task' => 'Nuovo sotto-task',
'New attachment added "%s"' => 'Nuovo allegato aggiunto "%s"',
'Comment updated' => 'Commento aggiornato',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Cambia password',
'Password modification' => 'Modifica della password',
'External authentications' => 'Autenticazione esterna',
- 'Google Account' => 'Account Google',
'Github Account' => 'Account Github',
'Never connected.' => 'Mai connesso.',
'No account linked.' => 'Nessun account collegato.',
@@ -568,7 +564,7 @@ return array(
'Select the new status of the subtask: "%s"' => 'Seleziona il nuovo status per il sotto-task: "%s"',
'Subtask timesheet' => 'Timesheet del sotto-task',
'There is nothing to show.' => 'Nulla da mostrare.',
- // 'Time Tracking' => 'Gestione del tempo',
+ // 'Time Tracking' => '',
'You already have one subtask in progress' => 'Hai già un sotto-task in corso',
'Which parts of the project do you want to duplicate?' => 'Quali parti del progetto vuoi duplicare?',
'Disallow login form' => 'Disabilita il form di login',
@@ -686,7 +682,6 @@ return array(
'Take a screenshot and press CTRL+V or ⌘+V to paste here.' => 'Cattura una schermata e premi CTRL+V o ⌘+V per incollarla qui.',
'Screenshot uploaded successfully.' => 'Schermata caricata correttamente.',
'SEK - Swedish Krona' => 'SEK - Corona svedese',
- 'The project identifier is an optional alphanumeric code used to identify your project.' => 'L\'identificatore di progetto è un codice alfanumerico usato per indentificare il tuo progetto. ',
'Identifier' => 'Identificatore',
'Disable two factor authentication' => 'Disabilita l\'autenticazione "two-factor"',
'Do you really want to disable the two factor authentication for this user: "%s"?' => 'Vuoi davvero disabilitare l\'autenticazione "two-factor" per questo utente: "%s"?',
@@ -815,7 +810,7 @@ return array(
'View advanced search syntax' => 'Visualizza la sintassi di ricerca avanzata',
'Overview' => 'Panoramica',
// '%b %e %Y' => '',
- 'Board/Calendar/List view' => '',
+ // 'Board/Calendar/List view' => '',
'Switch to the board view' => 'Passa alla vista "bacheca"',
'Switch to the calendar view' => 'Passa alla vista "calendario"',
'Switch to the list view' => 'Passa alla vista "elenco"',
@@ -847,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Questo grafico mostra i tempi medi di consegna (Lead Time) e lavorazione (Cycle Time) per gli ultimi %d task.',
'Average time into each column' => 'Tempo medio in ogni colonna',
'Lead and cycle time' => 'Tempo di consegna e lavorazione',
- 'Google Authentication' => 'Autenticazione con Google',
- 'Help on Google authentication' => 'Aiuto sull\'autenticazione con Google',
'Github Authentication' => 'Autenticazione con Github',
'Help on Github authentication' => 'Aiuto sull\'autenticazione con Github',
'Lead time: ' => 'Tempo di consegna (Lead Time): ',
@@ -859,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Se il task non è chiuso sarà usata la data attuale invece della data di completamento.',
'Set automatically the start date' => 'Imposta automaticamente la data di inzio',
'Edit Authentication' => 'Modifica Autenticazione',
- 'Google Id' => 'Id Google',
'Github Id' => 'Id Github',
'Remote user' => 'Utente remoto',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'La password degli utenti remoti (ad esempio: LDAP, account Google e Github) non è salvata nel database di Kanboard',
@@ -994,7 +986,6 @@ return array(
'Append/Replace' => 'Aggiungi/Sostituisci',
'Append' => 'Aggiungi',
'Replace' => 'Sostituisci',
- 'There is no notification method registered.' => 'Nessun metodo di notifica definito.',
'Import' => 'Importa',
'change sorting' => 'cambia ordinamento',
'Tasks Importation' => 'Importazione task',
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index b9cde718..50c31d9f 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'Email',
- 'Link my Google Account' => 'Google アカウントをリンクする',
- 'Unlink my Google Account' => 'Google アカウントのリンクを解除する',
- 'Login with my Google Account' => 'Google アカウントでログインする',
'Project not found.' => 'プロジェクトが見つかりません。',
'Task removed successfully.' => 'タスクを削除しました。',
'Unable to remove this task.' => 'タスクの削除に失敗しました。',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'パスワードの変更',
'Password modification' => 'パスワードの変更',
'External authentications' => '外部認証',
- 'Google Account' => 'Google アカウント',
'Github Account' => 'Github アカウント',
'Never connected.' => '未接続。',
'No account linked.' => 'アカウントがリンクしていません。',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 43c288c7..6176cbc3 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Otentifikasi eksternal gagal',
'Your external account is linked to your profile successfully.' => 'Akaun eksternal anda berhasil dihubungkan ke profil anda.',
'Email' => 'Email',
- 'Link my Google Account' => 'Hubungkan Akaun Google saya',
- 'Unlink my Google Account' => 'Putuskan Akaun Google saya',
- 'Login with my Google Account' => 'Masuk menggunakan Akaun Google saya',
'Project not found.' => 'projek tidak ditemukan.',
'Task removed successfully.' => 'Tugas berhasil dihapus.',
'Unable to remove this task.' => 'Tidak dapat menghapus tugas ini.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Rubah kata sandri',
'Password modification' => 'Modifikasi kata laluan',
'External authentications' => 'Otentifikasi eksternal',
- 'Google Account' => 'Akaun Google',
'Github Account' => 'Akaun Github',
'Never connected.' => 'Tidak pernah terhubung.',
'No account linked.' => 'Tidak ada Akaun terhubung.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Grafik ini menunjukkan memimpin rata-rata dan waktu siklus untuk %d tugas terakhir dari waktu ke waktu.',
'Average time into each column' => 'Rata-rata waktu ke setiap kolom',
'Lead and cycle time' => 'Lead dan siklus waktu',
- 'Google Authentication' => 'Google Otentifikasi',
- 'Help on Google authentication' => 'Bantuan pada otentifikasi Google',
'Github Authentication' => 'Otentifikasi Github',
'Help on Github authentication' => 'Bantuan pada otentifikasi Github',
'Lead time: ' => 'Lead time : ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Jika tugas tidak ditutup waktu saat ini yang digunakan sebagai pengganti tanggal penyelesaian.',
'Set automatically the start date' => 'Secara otomatis mengatur tanggal mulai',
'Edit Authentication' => 'Modifikasi Otentifikasi',
- 'Google Id' => 'Id Google',
'Github Id' => 'Id Github',
'Remote user' => 'Pengguna jauh',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Pengguna jauh tidak menyimpan kata laluan mereka dalam basis data Kanboard, contoh: Akaun LDAP, Google dan Github.',
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 682f44a8..a5bcb741 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'Epost',
- 'Link my Google Account' => 'Knytt til min Google-konto',
- 'Unlink my Google Account' => 'Fjern knytningen til min Google-konto',
- 'Login with my Google Account' => 'Login med min Google-konto',
'Project not found.' => 'Prosjekt ikke funnet.',
'Task removed successfully.' => 'Oppgaven er fjernet.',
'Unable to remove this task.' => 'Oppgaven kunne ikke fjernes.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Endre passord',
'Password modification' => 'Passordendring',
'External authentications' => 'Ekstern godkjenning',
- 'Google Account' => 'Google-konto',
'Github Account' => 'GitHub-konto',
'Never connected.' => 'Aldri innlogget.',
'No account linked.' => 'Ingen kontoer knyttet.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 4f38f256..42424254 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'Email',
- 'Link my Google Account' => 'Link mijn Google Account',
- 'Unlink my Google Account' => 'Link met Google Account verwijderen',
- 'Login with my Google Account' => 'Inloggen met mijn Google Account',
'Project not found.' => 'Project niet gevonden.',
'Task removed successfully.' => 'Taak succesvol verwijderd.',
'Unable to remove this task.' => 'Taak verwijderen niet gelukt.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Wachtwoord aanpassen',
'Password modification' => 'Wachtwoord aanpassen',
'External authentications' => 'Externe authenticatie',
- 'Google Account' => 'Google Account',
'Github Account' => 'Github Account',
'Never connected.' => 'Nooit verbonden.',
'No account linked.' => 'Geen account gelinkt.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index ee0ceb47..fad368a9 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'Email',
- 'Link my Google Account' => 'Połącz z kontem Google',
- 'Unlink my Google Account' => 'Rozłącz z kontem Google',
- 'Login with my Google Account' => 'Zaloguj przy pomocy konta Google',
'Project not found.' => 'Projek nieznaleziony.',
'Task removed successfully.' => 'Zadanie usunięto pomyślnie.',
'Unable to remove this task.' => 'Nie można usunąć tego zadania.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Zmień hasło',
'Password modification' => 'Zmiana hasła',
'External authentications' => 'Autentykacja zewnętrzna',
- 'Google Account' => 'Konto Google',
'Github Account' => 'Konto Github',
'Never connected.' => 'Nigdy nie połączone.',
'No account linked.' => 'Brak połączonych kont.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
'Edit Authentication' => 'Edycja autoryzacji',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 09e87048..3a2cec6d 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Autenticação externa falhou',
'Your external account is linked to your profile successfully.' => 'Sua conta externa está agora ligada ao seu perfil.',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Vincular minha Conta do Google',
- 'Unlink my Google Account' => 'Desvincular minha Conta do Google',
- 'Login with my Google Account' => 'Entrar com minha Conta do Google',
'Project not found.' => 'Projeto não encontrado.',
'Task removed successfully.' => 'Tarefa removida com sucesso.',
'Unable to remove this task.' => 'Não foi possível remover esta tarefa.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Alterar senha',
'Password modification' => 'Alteração de senha',
'External authentications' => 'Autenticação externa',
- 'Google Account' => 'Conta do Google',
'Github Account' => 'Conta do Github',
'Never connected.' => 'Nunca conectado.',
'No account linked.' => 'Nenhuma conta associada.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Este gráfico mostra o tempo médio do Lead and cycle time das últimas %d tarefas.',
'Average time into each column' => 'Tempo médio de cada coluna',
'Lead and cycle time' => 'Lead and cycle time',
- 'Google Authentication' => 'Autenticação Google',
- 'Help on Google authentication' => 'Ajuda com a autenticação Google',
'Github Authentication' => 'Autenticação Github',
'Help on Github authentication' => 'Ajuda com a autenticação Github',
'Lead time: ' => 'Lead time: ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Se a tarefa não está fechada, a hora atual é usada no lugar da data de conclusão.',
'Set automatically the start date' => 'Definir automaticamente a data de início',
'Edit Authentication' => 'Modificar a autenticação',
- 'Google Id' => 'Google ID',
'Github Id' => 'Github Id',
'Remote user' => 'Usuário remoto',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Os usuários remotos não conservam as suas senhas no banco de dados Kanboard, exemplos: contas LDAP, Github ou Google.',
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 54ee1a15..63bafa6e 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Autenticação externa falhou',
'Your external account is linked to your profile successfully.' => 'A sua conta externa foi vinculada com sucesso ao seu perfil',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Vincular a minha Conta do Google',
- 'Unlink my Google Account' => 'Desvincular a minha Conta do Google',
- 'Login with my Google Account' => 'Entrar com a minha Conta do Google',
'Project not found.' => 'Projecto não encontrado.',
'Task removed successfully.' => 'Tarefa removida com sucesso.',
'Unable to remove this task.' => 'Não foi possível remover esta tarefa.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Alterar senha',
'Password modification' => 'Alteração de senha',
'External authentications' => 'Autenticação externa',
- 'Google Account' => 'Conta do Google',
'Github Account' => 'Conta do Github',
'Never connected.' => 'Nunca conectado.',
'No account linked.' => 'Nenhuma conta associada.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Este gráfico mostra o tempo médio de espera e ciclo para as últimas %d tarefas realizadas.',
'Average time into each column' => 'Tempo médio em cada coluna',
'Lead and cycle time' => 'Tempo de Espera e Ciclo',
- 'Google Authentication' => 'Autenticação Google',
- 'Help on Google authentication' => 'Ajuda com autenticação Google',
'Github Authentication' => 'Autenticação Github',
'Help on Github authentication' => 'Ajuda com autenticação Github',
'Lead time: ' => 'Tempo de Espera: ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Se a tarefa não estiver fechada o hora actual será usada em vez da hora de conclusão',
'Set automatically the start date' => 'Definir data de inicio automáticamente',
'Edit Authentication' => 'Editar Autenticação',
- 'Google Id' => 'Id Google',
'Github Id' => 'Id Github',
'Remote user' => 'Utilizador remoto',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Utilizadores remotos não guardam a password na base de dados do Kanboard, por exemplo: LDAP, contas do Google e Github.',
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index ed71914c..7d6c42e9 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Внешняя авторизация не удалась',
'Your external account is linked to your profile successfully.' => 'Ваш внешний аккаунт успешно подключен к профилю.',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Привязать мой профиль к Google',
- 'Unlink my Google Account' => 'Отвязать мой профиль от Google',
- 'Login with my Google Account' => 'Аутентификация через Google',
'Project not found.' => 'Проект не найден.',
'Task removed successfully.' => 'Задача удалена.',
'Unable to remove this task.' => 'Не удалось удалить эту задачу.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Сменить пароль',
'Password modification' => 'Изменение пароля',
'External authentications' => 'Внешняя аутентификация',
- 'Google Account' => 'Профиль Google',
'Github Account' => 'Профиль Github',
'Never connected.' => 'Ранее не соединялось.',
'No account linked.' => 'Нет связанных профилей.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Эта диаграма показывает среднее время выполнения и цикла задачь в последние %d.',
'Average time into each column' => 'Среднее время в каждом столбце',
'Lead and cycle time' => 'Время выполнения и цикла',
- 'Google Authentication' => 'Авторизация Google',
- 'Help on Google authentication' => 'Помощь в авторизации Google',
'Github Authentication' => 'Авторизация Github',
'Help on Github authentication' => 'Помощь в авторизации Github',
'Lead time: ' => 'Время выполнения:',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Если задача не закрыта, то текущая дата будет указана в дате завершения задачи.',
'Set automatically the start date' => 'Установить автоматическую дату начала',
'Edit Authentication' => 'Редактировать авторизацию',
- 'Google Id' => 'Google Id',
'Github Id' => 'Github Id',
'Remote user' => 'Удаленный пользователь',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Учетные данные для входа через LDAP, Google и Github не будут сохранены в Kanboard.',
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 2b3553c2..ba864e8f 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'E-mail',
- 'Link my Google Account' => 'Poveži sa Google nalogom',
- 'Unlink my Google Account' => 'Ukini vezu sa Google nalogom',
- 'Login with my Google Account' => 'Prijavi se preko Google naloga',
'Project not found.' => 'Projekat nije pronađen.',
'Task removed successfully.' => 'Zadatak uspešno uklonjen.',
'Unable to remove this task.' => 'Nemoguće uklanjanje zadatka.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Izmeni lozinku',
'Password modification' => 'Izmena lozinke',
'External authentications' => 'Spoljne akcije',
- 'Google Account' => 'Google nalog',
'Github Account' => 'Github nalog',
'Never connected.' => 'Bez konekcija.',
'No account linked.' => 'Bez povezanih naloga.',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index 1c01e94d..0f9e6eda 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Extern autentisering misslyckades',
'Your external account is linked to your profile successfully.' => 'Ditt externa konto länkades till din profil.',
'Email' => 'Epost',
- 'Link my Google Account' => 'Länka till mitt Google-konto',
- 'Unlink my Google Account' => 'Ta bort länken till mitt Google-konto',
- 'Login with my Google Account' => 'Logga in med mitt Google-konto',
'Project not found.' => 'Projektet kunde inte hittas',
'Task removed successfully.' => 'Uppgiften har tagits bort',
'Unable to remove this task.' => 'Kunde inte ta bort denna uppgift',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Byt lösenord',
'Password modification' => 'Ändra lösenord',
'External authentications' => 'Extern autentisering',
- 'Google Account' => 'Googlekonto',
'Github Account' => 'Githubkonto',
'Never connected.' => 'Inte ansluten.',
'No account linked.' => 'Inget konto länkat.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Diagramet visar medel av led och cykeltid för de senaste %d uppgifterna över tiden.',
'Average time into each column' => 'Medeltidsåtgång i varje kolumn',
'Lead and cycle time' => 'Led och cykeltid',
- 'Google Authentication' => 'Google autentisering',
- 'Help on Google authentication' => 'Hjälp för Google autentisering',
'Github Authentication' => 'Github autentisering',
'Help on Github authentication' => 'Hjälp för Github autentisering',
'Lead time: ' => 'Ledtid',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Om uppgiften inte är stängd används nuvarande tid istället för slutförandedatum.',
'Set automatically the start date' => 'Sätt startdatum automatiskt',
'Edit Authentication' => 'Ändra autentisering',
- 'Google Id' => 'Google Id',
'Github Id' => 'Github Id',
'Remote user' => 'Extern användare',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Externa användares lösenord lagras inte i Kanboard-databasen, exempel: LDAP, Google och Github-konton.',
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index e0de5844..e1bb0449 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => 'อีเมล',
- 'Link my Google Account' => 'เชื่อมต่อกับกูเกิลแอคเคาท์',
- 'Unlink my Google Account' => 'ไม่เชื่อมต่อกับกูเกิลแอคเคาท์',
- 'Login with my Google Account' => 'เข้าใช้ด้วยกูเกิลแอคเคาท์',
'Project not found.' => 'หาโปรเจคไม่พบ',
'Task removed successfully.' => 'ลบงานเรียบร้อยแล้ว',
'Unable to remove this task.' => 'ไม่สามารถลบงานนี้',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'เปลี่ยนรหัสผ่าน',
'Password modification' => 'แก้ไขรหัสผ่าน',
'External authentications' => 'การยืนยันภายนอก',
- 'Google Account' => 'กูเกิลแอคเคาท์',
'Github Account' => 'กิทฮับแอคเคาท์',
'Never connected.' => 'ไม่เชื่อมต่อ',
'No account linked.' => 'แอคเคาท์ไม่มีการเชื่อม',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index c4da560d..e49d6ac9 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -260,9 +260,6 @@ return array(
'External authentication failed' => 'Harici hesap doğrulaması başarısız',
'Your external account is linked to your profile successfully.' => 'Harici hesabınız profilinizle başarıyla bağlandı.',
'Email' => 'E-posta',
- 'Link my Google Account' => 'Google hesabımla bağ oluştur',
- 'Unlink my Google Account' => 'Google hesabımla bağı kaldır',
- 'Login with my Google Account' => 'Google hesabımla giriş yap',
'Project not found.' => 'Proje bulunamadı',
'Task removed successfully.' => 'Görev başarıyla silindi.',
'Unable to remove this task.' => 'Görev silinemiyor.',
@@ -395,7 +392,6 @@ return array(
'Change password' => 'Şifre değiştir',
'Password modification' => 'Şifre değişimi',
'External authentications' => 'Dış kimlik doğrulamaları',
- 'Google Account' => 'Google hesabı',
'Github Account' => 'Github hesabı',
'Never connected.' => 'Hiç bağlanmamış.',
'No account linked.' => 'Bağlanmış hesap yok.',
@@ -846,8 +842,6 @@ return array(
'This chart show the average lead and cycle time for the last %d tasks over the time.' => 'Bu grafik son %d görev için zaman içinde gerçekleşen ortalama teslim ve çevrim sürelerini gösterir.',
'Average time into each column' => 'Her bir sütunda ortalama zaman',
'Lead and cycle time' => 'Teslim ve çevrim süresi',
- 'Google Authentication' => 'Google doğrulaması',
- 'Help on Google authentication' => 'Google doğrulaması hakkında yardım',
'Github Authentication' => 'Github doğrulaması',
'Help on Github authentication' => 'Github doğrulaması hakkında yardım',
'Lead time: ' => 'Teslim süresi: ',
@@ -858,7 +852,6 @@ return array(
'If the task is not closed the current time is used instead of the completion date.' => 'Eğer görev henüz kapatılmamışsa, tamamlanma tarihi yerine şu anki tarih kullanılır.',
'Set automatically the start date' => 'Başlangıç tarihini otomatik olarak belirle',
'Edit Authentication' => 'Doğrulamayı düzenle',
- 'Google Id' => 'Google kimliği',
'Github Id' => 'Github Kimliği',
'Remote user' => 'Uzak kullanıcı',
'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => 'Uzak kullanıcıların şifreleri Kanboard veritabanında saklanmaz, örnek: LDAP, Google ve Github hesapları',
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index e0b90b58..00109732 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -260,9 +260,6 @@ return array(
// 'External authentication failed' => '',
// 'Your external account is linked to your profile successfully.' => '',
'Email' => '电子邮件',
- 'Link my Google Account' => '关联我的google帐号',
- 'Unlink my Google Account' => '去除我的google帐号关联',
- 'Login with my Google Account' => '用我的google帐号登录',
'Project not found.' => '未发现项目',
'Task removed successfully.' => '任务成功去除',
'Unable to remove this task.' => '无法移除该任务。',
@@ -395,7 +392,6 @@ return array(
'Change password' => '修改密码',
'Password modification' => '修改密码',
'External authentications' => '外部认证',
- 'Google Account' => '谷歌账号',
'Github Account' => 'Github 账号',
'Never connected.' => '从未连接。',
'No account linked.' => '未链接账号。',
@@ -846,8 +842,6 @@ return array(
// 'This chart show the average lead and cycle time for the last %d tasks over the time.' => '',
// 'Average time into each column' => '',
// 'Lead and cycle time' => '',
- // 'Google Authentication' => '',
- // 'Help on Google authentication' => '',
// 'Github Authentication' => '',
// 'Help on Github authentication' => '',
// 'Lead time: ' => '',
@@ -858,7 +852,6 @@ return array(
// 'If the task is not closed the current time is used instead of the completion date.' => '',
// 'Set automatically the start date' => '',
// 'Edit Authentication' => '',
- // 'Google Id' => '',
// 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
diff --git a/app/Model/User.php b/app/Model/User.php
index ac0e7491..0174a040 100644
--- a/app/Model/User.php
+++ b/app/Model/User.php
@@ -48,20 +48,7 @@ class User extends Base
*/
public function getQuery()
{
- return $this->db
- ->table(self::TABLE)
- ->columns(
- 'id',
- 'username',
- 'name',
- 'email',
- 'role',
- 'is_ldap_user',
- 'notifications_enabled',
- 'google_id',
- 'github_id',
- 'twofactor_activated'
- );
+ return $this->db->table(self::TABLE);
}
/**
diff --git a/app/ServiceProvider/AuthenticationProvider.php b/app/ServiceProvider/AuthenticationProvider.php
index a516cffe..d39cf0df 100644
--- a/app/ServiceProvider/AuthenticationProvider.php
+++ b/app/ServiceProvider/AuthenticationProvider.php
@@ -13,7 +13,6 @@ use Kanboard\Auth\DatabaseAuth;
use Kanboard\Auth\LdapAuth;
use Kanboard\Auth\GitlabAuth;
use Kanboard\Auth\GithubAuth;
-use Kanboard\Auth\GoogleAuth;
use Kanboard\Auth\TotpAuth;
use Kanboard\Auth\ReverseProxyAuth;
@@ -55,10 +54,6 @@ class AuthenticationProvider implements ServiceProviderInterface
$container['authenticationManager']->register(new GithubAuth($container));
}
- if (GOOGLE_AUTH) {
- $container['authenticationManager']->register(new GoogleAuth($container));
- }
-
$container['projectAccessMap'] = $this->getProjectAccessMap();
$container['applicationAccessMap'] = $this->getApplicationAccessMap();
@@ -126,7 +121,7 @@ class AuthenticationProvider implements ServiceProviderInterface
$acl->setRoleHierarchy(Role::APP_MANAGER, array(Role::APP_USER, Role::APP_PUBLIC));
$acl->setRoleHierarchy(Role::APP_USER, array(Role::APP_PUBLIC));
- $acl->add('Oauth', array('google', 'github', 'gitlab'), Role::APP_PUBLIC);
+ $acl->add('Oauth', array('github', 'gitlab'), Role::APP_PUBLIC);
$acl->add('Auth', array('login', 'check'), Role::APP_PUBLIC);
$acl->add('Captcha', '*', Role::APP_PUBLIC);
$acl->add('PasswordReset', '*', Role::APP_PUBLIC);
diff --git a/app/ServiceProvider/RouteProvider.php b/app/ServiceProvider/RouteProvider.php
index 057a1b3c..6d1ec6b0 100644
--- a/app/ServiceProvider/RouteProvider.php
+++ b/app/ServiceProvider/RouteProvider.php
@@ -205,7 +205,6 @@ class RouteProvider implements ServiceProviderInterface
$container['route']->addRoute('documentation', 'doc', 'show');
// Auth routes
- $container['route']->addRoute('oauth/google', 'oauth', 'google');
$container['route']->addRoute('oauth/github', 'oauth', 'github');
$container['route']->addRoute('oauth/gitlab', 'oauth', 'gitlab');
$container['route']->addRoute('login', 'auth', 'login');
diff --git a/app/Template/auth/index.php b/app/Template/auth/index.php
index a1059d6f..99444d37 100644
--- a/app/Template/auth/index.php
+++ b/app/Template/auth/index.php
@@ -40,12 +40,8 @@
<?= $this->hook->render('template:auth:login-form:after') ?>
- <?php if (GOOGLE_AUTH || GITHUB_AUTH || GITLAB_AUTH): ?>
+ <?php if (GITHUB_AUTH || GITLAB_AUTH): ?>
<ul class="no-bullet">
- <?php if (GOOGLE_AUTH): ?>
- <li><?= $this->url->link(t('Login with my Google Account'), 'oauth', 'google') ?></li>
- <?php endif ?>
-
<?php if (GITHUB_AUTH): ?>
<li><?= $this->url->link(t('Login with my Github Account'), 'oauth', 'github') ?></li>
<?php endif ?>
diff --git a/app/Template/config/integrations.php b/app/Template/config/integrations.php
index bba85672..ef490cdf 100644
--- a/app/Template/config/integrations.php
+++ b/app/Template/config/integrations.php
@@ -3,17 +3,9 @@
</div>
<form method="post" action="<?= $this->url->href('config', 'integrations') ?>" autocomplete="off">
-
<?= $this->form->csrf() ?>
-
<?= $this->hook->render('template:config:integrations', array('values' => $values)) ?>
- <h3><i class="fa fa-google"></i> <?= t('Google Authentication') ?></h3>
- <div class="listing">
- <input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('oauth', 'google', array(), false, '', true) ?>"/><br/>
- <p class="form-help"><?= $this->url->doc(t('Help on Google authentication'), 'google-authentication') ?></p>
- </div>
-
<h3><i class="fa fa-github"></i> <?= t('Github Authentication') ?></h3>
<div class="listing">
<input type="text" class="auto-select" readonly="readonly" value="<?= $this->url->href('oauth', 'github', array(), false, '', true) ?>"/><br/>
diff --git a/app/Template/user/authentication.php b/app/Template/user/authentication.php
index 20c3d372..1f2d2a69 100644
--- a/app/Template/user/authentication.php
+++ b/app/Template/user/authentication.php
@@ -8,8 +8,7 @@
<?= $this->form->hidden('id', $values) ?>
<?= $this->form->hidden('username', $values) ?>
- <?= $this->form->label(t('Google Id'), 'google_id') ?>
- <?= $this->form->text('google_id', $values, $errors) ?>
+ <?= $this->hook->render('template:user:authentication:form', array('values' => $values, 'errors' => $errors, 'user' => $user)) ?>
<?= $this->form->label(t('Github Id'), 'github_id') ?>
<?= $this->form->text('github_id', $values, $errors) ?>
diff --git a/app/Template/user/external.php b/app/Template/user/external.php
index 8b1d3c46..8c9a0259 100644
--- a/app/Template/user/external.php
+++ b/app/Template/user/external.php
@@ -2,21 +2,7 @@
<h2><?= t('External authentications') ?></h2>
</div>
-<?php if (GOOGLE_AUTH): ?>
- <h3><i class="fa fa-google"></i> <?= t('Google Account') ?></h3>
-
- <p class="listing">
- <?php if ($this->user->isCurrentUser($user['id'])): ?>
- <?php if (empty($user['google_id'])): ?>
- <?= $this->url->link(t('Link my Google Account'), 'oauth', 'google', array(), true) ?>
- <?php else: ?>
- <?= $this->url->link(t('Unlink my Google Account'), 'oauth', 'unlink', array('backend' => 'Google'), true) ?>
- <?php endif ?>
- <?php else: ?>
- <?= empty($user['google_id']) ? t('No account linked.') : t('Account linked.') ?>
- <?php endif ?>
- </p>
-<?php endif ?>
+<?php $html = $this->hook->render('template:user:external', array('user' => $user)) ?>
<?php if (GITHUB_AUTH): ?>
<h3><i class="fa fa-github"></i> <?= t('Github Account') ?></h3>
@@ -50,6 +36,8 @@
</p>
<?php endif ?>
-<?php if (! GOOGLE_AUTH && ! GITHUB_AUTH && ! GITLAB_AUTH): ?>
+<?php if (empty($html) && ! GITHUB_AUTH && ! GITLAB_AUTH): ?>
<p class="alert"><?= t('No external authentication enabled.') ?></p>
+<?php else: ?>
+ <?= $html ?>
<?php endif ?>
diff --git a/app/User/GoogleUserProvider.php b/app/User/GoogleUserProvider.php
deleted file mode 100644
index baa55e03..00000000
--- a/app/User/GoogleUserProvider.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-namespace Kanboard\User;
-
-/**
- * Google OAuth User Provider
- *
- * @package user
- * @author Frederic Guillot
- */
-class GoogleUserProvider extends OAuthUserProvider
-{
- /**
- * Get external id column name
- *
- * @access public
- * @return string
- */
- public function getExternalIdColumn()
- {
- return 'google_id';
- }
-}
diff --git a/app/constants.php b/app/constants.php
index da3de840..0318c6f1 100644
--- a/app/constants.php
+++ b/app/constants.php
@@ -51,11 +51,6 @@ defined('LDAP_GROUP_BASE_DN') or define('LDAP_GROUP_BASE_DN', '');
defined('LDAP_GROUP_FILTER') or define('LDAP_GROUP_FILTER', '');
defined('LDAP_GROUP_ATTRIBUTE_NAME') or define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
-// Google authentication
-defined('GOOGLE_AUTH') or define('GOOGLE_AUTH', false);
-defined('GOOGLE_CLIENT_ID') or define('GOOGLE_CLIENT_ID', '');
-defined('GOOGLE_CLIENT_SECRET') or define('GOOGLE_CLIENT_SECRET', '');
-
// Github authentication
defined('GITHUB_AUTH') or define('GITHUB_AUTH', false);
defined('GITHUB_CLIENT_ID') or define('GITHUB_CLIENT_ID', '');
diff --git a/doc/google-authentication.markdown b/doc/google-authentication.markdown
deleted file mode 100644
index 0f4f3ec1..00000000
--- a/doc/google-authentication.markdown
+++ /dev/null
@@ -1,64 +0,0 @@
-Google Authentication
-=====================
-
-Requirements
-------------
-
-OAuth Google API credentials (available in the Google Developer Console)
-
-How does this work?
--------------------
-
-- The Google authentication in Kanboard use the OAuth 2.0 protocol
-- Any user account in Kanboard can be linked to a Google Account
-- When a Kanboard user account is linked to Google, you can login with one click
-
-Procedure to link a Google Account
-----------------------------------
-
-1. Go to your user profile
-2. Click on **External accounts**
-3. Click on the link **Link my Google Account**
-4. You are redirected to the **Google Consent screen**
-5. Authorize Kanboard by clicking on the button **Accept**
-6. Your account is now linked
-
-Now, on the login page you can be authenticated in one click with the link **Login with my Google Account**.
-
-Your name and email are automatically updated from your Google Account.
-
-Installation instructions
--------------------------
-
-### Setting up OAuth 2.0 in Google Developer Console
-
-- Follow the [official Google documentation](https://developers.google.com/accounts/docs/OAuth2Login#appsetup) to create a new application
-- In Kanboard, you can get the **redirect url** in **Settings > Integrations > Google Authentication**
-
-### Setting up Kanboad
-
-Create a custom `config.php` file or copy the `config.default.php` file:
-
-```php
-<?php
-
-// Enable/disable Google authentication
-define('GOOGLE_AUTH', true); // Set this value to true
-
-// Google client id (Get this value from the Google developer console)
-define('GOOGLE_CLIENT_ID', 'YOUR_CLIENT_ID');
-
-// Google client secret key (Get this value from the Google developer console)
-define('GOOGLE_CLIENT_SECRET', 'YOUR_CLIENT_SECRET');
-```
-
-Notes
------
-
-Kanboard use these information from your Google profile:
-
-- Full name
-- Email address
-- Google unique id
-
-The Google unique id is used to link together the local user account and the Google account.
diff --git a/doc/index.markdown b/doc/index.markdown
index 7603117b..f1134137 100644
--- a/doc/index.markdown
+++ b/doc/index.markdown
@@ -118,7 +118,6 @@ Technical details
- [LDAP authentication](ldap-authentication.markdown)
- [LDAP group synchronization](ldap-group-sync.markdown)
- [LDAP parameters](ldap-parameters.markdown)
-- [Google authentication](google-authentication.markdown)
- [Github authentication](github-authentication.markdown)
- [Gitlab authentication](gitlab-authentication.markdown)
- [Reverse proxy authentication](reverse-proxy-authentication.markdown)
diff --git a/tests/units/Auth/GoogleAuthTest.php b/tests/units/Auth/GoogleAuthTest.php
deleted file mode 100644
index b9a7d811..00000000
--- a/tests/units/Auth/GoogleAuthTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-require_once __DIR__.'/../Base.php';
-
-use Kanboard\Auth\GoogleAuth;
-use Kanboard\Model\User;
-
-class GoogleAuthTest extends Base
-{
- public function testGetName()
- {
- $provider = new GoogleAuth($this->container);
- $this->assertEquals('Google', $provider->getName());
- }
-
- public function testAuthenticationSuccessful()
- {
- $profile = array(
- 'id' => 1234,
- 'email' => 'test@localhost',
- 'name' => 'Test',
- );
-
- $provider = $this
- ->getMockBuilder('\Kanboard\Auth\GoogleAuth')
- ->setConstructorArgs(array($this->container))
- ->setMethods(array(
- 'getProfile',
- ))
- ->getMock();
-
- $provider->expects($this->once())
- ->method('getProfile')
- ->will($this->returnValue($profile));
-
- $this->assertInstanceOf('Kanboard\Auth\GoogleAuth', $provider->setCode('1234'));
-
- $this->assertTrue($provider->authenticate());
-
- $user = $provider->getUser();
- $this->assertInstanceOf('Kanboard\User\GoogleUserProvider', $user);
- $this->assertEquals('Test', $user->getName());
- $this->assertEquals('', $user->getInternalId());
- $this->assertEquals(1234, $user->getExternalId());
- $this->assertEquals('', $user->getRole());
- $this->assertEquals('', $user->getUsername());
- $this->assertEquals('test@localhost', $user->getEmail());
- $this->assertEquals('google_id', $user->getExternalIdColumn());
- $this->assertEquals(array(), $user->getExternalGroupIds());
- $this->assertEquals(array(), $user->getExtraAttributes());
- $this->assertFalse($user->isUserCreationAllowed());
- }
-
- public function testAuthenticationFailed()
- {
- $provider = $this
- ->getMockBuilder('\Kanboard\Auth\GoogleAuth')
- ->setConstructorArgs(array($this->container))
- ->setMethods(array(
- 'getProfile',
- ))
- ->getMock();
-
- $provider->expects($this->once())
- ->method('getProfile')
- ->will($this->returnValue(array()));
-
- $this->assertFalse($provider->authenticate());
- $this->assertEquals(null, $provider->getUser());
- }
-
- public function testGetService()
- {
- $provider = new GoogleAuth($this->container);
- $this->assertInstanceOf('Kanboard\Core\Http\OAuth2', $provider->getService());
- }
-
- public function testUnlink()
- {
- $userModel = new User($this->container);
- $provider = new GoogleAuth($this->container);
-
- $this->assertEquals(2, $userModel->create(array('username' => 'test', 'google_id' => '1234')));
- $this->assertNotEmpty($userModel->getByExternalId('google_id', 1234));
-
- $this->assertTrue($provider->unlink(2));
- $this->assertEmpty($userModel->getByExternalId('google_id', 1234));
- }
-}