From 63a286147685073102270f4974d85b32818641c5 Mon Sep 17 00:00:00 2001
From: jf-guillou
Date: Mon, 25 Jan 2016 10:05:44 +0100
Subject: Added API getUserByName()
Tests and doc included
---
doc/api-user-procedures.markdown | 42 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
(limited to 'doc')
diff --git a/doc/api-user-procedures.markdown b/doc/api-user-procedures.markdown
index 6ecf12c6..9b43e1e1 100644
--- a/doc/api-user-procedures.markdown
+++ b/doc/api-user-procedures.markdown
@@ -113,6 +113,48 @@ Response example:
}
```
+## getUserByName
+
+- Purpose: **Get user information**
+- Parameters:
+ - **username** (string, required)
+- Result on success: **user properties**
+- Result on failure: **null**
+
+Request example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "getUserByName",
+ "id": 1769674782,
+ "params": {
+ "username": "biloute"
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1769674782,
+ "result": {
+ "id": "1",
+ "username": "biloute",
+ "password": "$2y$10$dRs6pPoBu935RpmsrhmbjevJH5MgZ7Kr9QrnVINwwyZ3.MOwqg.0m",
+ "role": "app-user",
+ "is_ldap_user": "0",
+ "name": "",
+ "email": "",
+ "google_id": null,
+ "github_id": null,
+ "notifications_enabled": "0"
+ }
+}
+```
+
## getAllUsers
- Purpose: **Get all available users**
--
cgit v1.2.3
From 85665e1280e8e4fbc688ff539d805946b2f4f672 Mon Sep 17 00:00:00 2001
From: Trapulo
Date: Tue, 26 Jan 2016 11:21:05 +0100
Subject: Update nice-urls.markdown
added url rewrite for IIS
---
doc/nice-urls.markdown | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
(limited to 'doc')
diff --git a/doc/nice-urls.markdown b/doc/nice-urls.markdown
index 7cb8dbac..9fbb3510 100644
--- a/doc/nice-urls.markdown
+++ b/doc/nice-urls.markdown
@@ -86,3 +86,37 @@ define('ENABLE_URL_REWRITE', true);
```
Adapt the example above according to your own configuration.
+
+IIS configuration example
+---------------------------
+
+Create a web.config in you installation folder:
+
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+In your Kanboard `config.php`:
+
+```php
+define('ENABLE_URL_REWRITE', true);
+```
+
+Adapt the example above according to your own configuration.
+
--
cgit v1.2.3
From 32e4a932c801dfa6c52f6e8211a96bdb7849579d Mon Sep 17 00:00:00 2001
From: Frederic Guillot
Date: Wed, 27 Jan 2016 21:45:37 -0500
Subject: Added automatic actions based on a daily event
---
ChangeLog | 7 ++
app/Action/Base.php | 2 +-
app/Action/TaskCloseNoActivity.php | 95 +++++++++++++++++++++++
app/Action/TaskEmailNoActivity.php | 124 +++++++++++++++++++++++++++++++
app/Console/Cronjob.php | 33 ++++++++
app/Console/TaskTrigger.php | 52 +++++++++++++
app/Core/Event/EventManager.php | 1 +
app/Event/GenericEvent.php | 2 +-
app/Event/TaskListEvent.php | 11 +++
app/Model/Task.php | 1 +
app/ServiceProvider/ActionProvider.php | 4 +
app/Template/action/params.php | 15 ++--
doc/analytics.markdown | 7 +-
doc/centos-installation.markdown | 2 +
doc/cli.markdown | 27 ++++---
doc/cronjob.markdown | 32 ++++++++
doc/debian-installation.markdown | 2 +
doc/freebsd-installation.markdown | 7 +-
doc/heroku.markdown | 4 +-
doc/index.markdown | 1 +
doc/installation.markdown | 5 ++
doc/ubuntu-installation.markdown | 2 +
doc/windows-apache-installation.markdown | 5 ++
doc/windows-iis-installation.markdown | 6 ++
kanboard | 4 +
25 files changed, 421 insertions(+), 30 deletions(-)
create mode 100644 app/Action/TaskCloseNoActivity.php
create mode 100644 app/Action/TaskEmailNoActivity.php
create mode 100644 app/Console/Cronjob.php
create mode 100644 app/Console/TaskTrigger.php
create mode 100644 app/Event/TaskListEvent.php
create mode 100644 doc/cronjob.markdown
(limited to 'doc')
diff --git a/ChangeLog b/ChangeLog
index df6a12ed..5fa09689 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,13 @@ New features:
* Add project owner (Directly Responsible Individual)
* Add configurable task priority
* Add Greek translation
+* Add automatic actions to close tasks with no activity
+* Add automatic actions to send an email when there is no activity on a task
+* Regroup all daily background tasks in one command: "cronjob"
+
+Improvements:
+
+* Show progress for task links in board tooltips
Version 1.0.24
--------------
diff --git a/app/Action/Base.php b/app/Action/Base.php
index efc52f04..e8449d0c 100644
--- a/app/Action/Base.php
+++ b/app/Action/Base.php
@@ -125,7 +125,7 @@ abstract class Base extends \Kanboard\Core\Base
$params[] = $key.'='.var_export($value, true);
}
- return $this->getName().'('.implode('|', $params).'])';
+ return $this->getName().'('.implode('|', $params).')';
}
/**
diff --git a/app/Action/TaskCloseNoActivity.php b/app/Action/TaskCloseNoActivity.php
new file mode 100644
index 00000000..59f7f56a
--- /dev/null
+++ b/app/Action/TaskCloseNoActivity.php
@@ -0,0 +1,95 @@
+ t('Duration in days')
+ );
+ }
+
+ /**
+ * Get the required parameter for the event
+ *
+ * @access public
+ * @return string[]
+ */
+ public function getEventRequiredParameters()
+ {
+ return array('tasks');
+ }
+
+ /**
+ * Execute the action (close the task)
+ *
+ * @access public
+ * @param array $data Event data dictionary
+ * @return bool True if the action was executed or false when not executed
+ */
+ public function doAction(array $data)
+ {
+ $results = array();
+ $max = $this->getParam('duration') * 86400;
+
+ foreach ($data['tasks'] as $task) {
+ $duration = time() - $task['date_modification'];
+
+ if ($duration > $max) {
+ $results[] = $this->taskStatus->close($task['id']);
+ }
+ }
+
+ return in_array(true, $results, true);
+ }
+
+ /**
+ * Check if the event data meet the action condition
+ *
+ * @access public
+ * @param array $data Event data dictionary
+ * @return bool
+ */
+ public function hasRequiredCondition(array $data)
+ {
+ return count($data['tasks']) > 0;
+ }
+}
diff --git a/app/Action/TaskEmailNoActivity.php b/app/Action/TaskEmailNoActivity.php
new file mode 100644
index 00000000..c5d7a797
--- /dev/null
+++ b/app/Action/TaskEmailNoActivity.php
@@ -0,0 +1,124 @@
+ t('User that will receive the email'),
+ 'subject' => t('Email subject'),
+ 'duration' => t('Duration in days'),
+ );
+ }
+
+ /**
+ * Get the required parameter for the event
+ *
+ * @access public
+ * @return string[]
+ */
+ public function getEventRequiredParameters()
+ {
+ return array('tasks');
+ }
+
+ /**
+ * Check if the event data meet the action condition
+ *
+ * @access public
+ * @param array $data Event data dictionary
+ * @return bool
+ */
+ public function hasRequiredCondition(array $data)
+ {
+ return count($data['tasks']) > 0;
+ }
+
+ /**
+ * Execute the action (move the task to another column)
+ *
+ * @access public
+ * @param array $data Event data dictionary
+ * @return bool True if the action was executed or false when not executed
+ */
+ public function doAction(array $data)
+ {
+ $results = array();
+ $max = $this->getParam('duration') * 86400;
+ $user = $this->user->getById($this->getParam('user_id'));
+
+ if (! empty($user['email'])) {
+ foreach ($data['tasks'] as $task) {
+ $duration = time() - $task['date_modification'];
+
+ if ($duration > $max) {
+ $results[] = $this->sendEmail($task['id'], $user);
+ }
+ }
+ }
+
+ return in_array(true, $results, true);
+ }
+
+ /**
+ * Send email
+ *
+ * @access private
+ * @param integer $task_id
+ * @param array $user
+ * @return boolean
+ */
+ private function sendEmail($task_id, array $user)
+ {
+ $task = $this->taskFinder->getDetails($task_id);
+
+ $this->emailClient->send(
+ $user['email'],
+ $user['name'] ?: $user['username'],
+ $this->getParam('subject'),
+ $this->template->render('notification/task_create', array('task' => $task, 'application_url' => $this->config->get('application_url')))
+ );
+
+ return true;
+ }
+}
diff --git a/app/Console/Cronjob.php b/app/Console/Cronjob.php
new file mode 100644
index 00000000..2b12d93d
--- /dev/null
+++ b/app/Console/Cronjob.php
@@ -0,0 +1,33 @@
+setName('cronjob')
+ ->setDescription('Execute daily cronjob');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ foreach ($this->commands as $command) {
+ $job = $this->getApplication()->find($command);
+ $job->run(new ArrayInput(array('command' => $command)), new NullOutput());
+ }
+ }
+}
diff --git a/app/Console/TaskTrigger.php b/app/Console/TaskTrigger.php
new file mode 100644
index 00000000..000d215a
--- /dev/null
+++ b/app/Console/TaskTrigger.php
@@ -0,0 +1,52 @@
+setName('trigger:tasks')
+ ->setDescription('Trigger scheduler event for all tasks');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ foreach ($this->getProjectIds() as $project_id) {
+ $tasks = $this->taskFinder->getAll($project_id);
+ $nb_tasks = count($tasks);
+
+ if ($nb_tasks > 0) {
+ $output->writeln('Trigger task event: project_id='.$project_id.', nb_tasks='.$nb_tasks);
+ $this->sendEvent($tasks, $project_id);
+ }
+ }
+ }
+
+ private function getProjectIds()
+ {
+ $listeners = $this->dispatcher->getListeners(Task::EVENT_DAILY_CRONJOB);
+ $project_ids = array();
+
+ foreach ($listeners as $listener) {
+ $project_ids[] = $listener[0]->getProjectId();
+ }
+
+ return array_unique($project_ids);
+ }
+
+ private function sendEvent(array &$tasks, $project_id)
+ {
+ $event = new TaskListEvent(array('project_id' => $project_id));
+ $event->setTasks($tasks);
+
+ $this->dispatcher->dispatch(Task::EVENT_DAILY_CRONJOB, $event);
+ }
+}
diff --git a/app/Core/Event/EventManager.php b/app/Core/Event/EventManager.php
index 8d76bfcb..162d23e8 100644
--- a/app/Core/Event/EventManager.php
+++ b/app/Core/Event/EventManager.php
@@ -52,6 +52,7 @@ class EventManager
Task::EVENT_CLOSE => t('Closing a task'),
Task::EVENT_CREATE_UPDATE => t('Task creation or modification'),
Task::EVENT_ASSIGNEE_CHANGE => t('Task assignee change'),
+ Task::EVENT_DAILY_CRONJOB => t('Daily background job for tasks'),
);
$events = array_merge($events, $this->events);
diff --git a/app/Event/GenericEvent.php b/app/Event/GenericEvent.php
index 1129fd16..94a51479 100644
--- a/app/Event/GenericEvent.php
+++ b/app/Event/GenericEvent.php
@@ -7,7 +7,7 @@ use Symfony\Component\EventDispatcher\Event as BaseEvent;
class GenericEvent extends BaseEvent implements ArrayAccess
{
- private $container = array();
+ protected $container = array();
public function __construct(array $values = array())
{
diff --git a/app/Event/TaskListEvent.php b/app/Event/TaskListEvent.php
new file mode 100644
index 00000000..9be1a7d9
--- /dev/null
+++ b/app/Event/TaskListEvent.php
@@ -0,0 +1,11 @@
+container['tasks'] =& $tasks;
+ }
+}
diff --git a/app/Model/Task.php b/app/Model/Task.php
index 7aa9e312..94b23ec2 100644
--- a/app/Model/Task.php
+++ b/app/Model/Task.php
@@ -42,6 +42,7 @@ class Task extends Base
const EVENT_ASSIGNEE_CHANGE = 'task.assignee_change';
const EVENT_OVERDUE = 'task.overdue';
const EVENT_USER_MENTION = 'task.user.mention';
+ const EVENT_DAILY_CRONJOB = 'task.cronjob.daily';
/**
* Recurrence: status
diff --git a/app/ServiceProvider/ActionProvider.php b/app/ServiceProvider/ActionProvider.php
index 0aba29f1..3692f190 100644
--- a/app/ServiceProvider/ActionProvider.php
+++ b/app/ServiceProvider/ActionProvider.php
@@ -23,12 +23,14 @@ use Kanboard\Action\TaskCloseColumn;
use Kanboard\Action\TaskCreation;
use Kanboard\Action\TaskDuplicateAnotherProject;
use Kanboard\Action\TaskEmail;
+use Kanboard\Action\TaskEmailNoActivity;
use Kanboard\Action\TaskMoveAnotherProject;
use Kanboard\Action\TaskMoveColumnAssigned;
use Kanboard\Action\TaskMoveColumnCategoryChange;
use Kanboard\Action\TaskMoveColumnUnAssigned;
use Kanboard\Action\TaskOpen;
use Kanboard\Action\TaskUpdateStartDate;
+use Kanboard\Action\TaskCloseNoActivity;
/**
* Action Provider
@@ -63,9 +65,11 @@ class ActionProvider implements ServiceProviderInterface
$container['actionManager']->register(new TaskAssignUser($container));
$container['actionManager']->register(new TaskClose($container));
$container['actionManager']->register(new TaskCloseColumn($container));
+ $container['actionManager']->register(new TaskCloseNoActivity($container));
$container['actionManager']->register(new TaskCreation($container));
$container['actionManager']->register(new TaskDuplicateAnotherProject($container));
$container['actionManager']->register(new TaskEmail($container));
+ $container['actionManager']->register(new TaskEmailNoActivity($container));
$container['actionManager']->register(new TaskMoveAnotherProject($container));
$container['actionManager']->register(new TaskMoveColumnAssigned($container));
$container['actionManager']->register(new TaskMoveColumnCategoryChange($container));
diff --git a/app/Template/action/params.php b/app/Template/action/params.php
index dcfaa9cc..a2350dea 100644
--- a/app/Template/action/params.php
+++ b/app/Template/action/params.php
@@ -15,22 +15,25 @@
text->contains($param_name, 'column_id')): ?>
= $this->form->label($param_desc, $param_name) ?>
- = $this->form->select('params['.$param_name.']', $columns_list, $values) ?>
+ = $this->form->select('params['.$param_name.']', $columns_list, $values) ?>
text->contains($param_name, 'user_id')): ?>
= $this->form->label($param_desc, $param_name) ?>
- = $this->form->select('params['.$param_name.']', $users_list, $values) ?>
+ = $this->form->select('params['.$param_name.']', $users_list, $values) ?>
text->contains($param_name, 'project_id')): ?>
= $this->form->label($param_desc, $param_name) ?>
- = $this->form->select('params['.$param_name.']', $projects_list, $values) ?>
+ = $this->form->select('params['.$param_name.']', $projects_list, $values) ?>
text->contains($param_name, 'color_id')): ?>
= $this->form->label($param_desc, $param_name) ?>
- = $this->form->select('params['.$param_name.']', $colors_list, $values) ?>
+ = $this->form->select('params['.$param_name.']', $colors_list, $values) ?>
text->contains($param_name, 'category_id')): ?>
= $this->form->label($param_desc, $param_name) ?>
- = $this->form->select('params['.$param_name.']', $categories_list, $values) ?>
+ = $this->form->select('params['.$param_name.']', $categories_list, $values) ?>
text->contains($param_name, 'link_id')): ?>
= $this->form->label($param_desc, $param_name) ?>
- = $this->form->select('params['.$param_name.']', $links_list, $values) ?>
+ = $this->form->select('params['.$param_name.']', $links_list, $values) ?>
+ text->contains($param_name, 'duration')): ?>
+ = $this->form->label($param_desc, $param_name) ?>
+ = $this->form->number('params['.$param_name.']', $values) ?>
= $this->form->label($param_desc, $param_name) ?>
= $this->form->text('params['.$param_name.']', $values) ?>
diff --git a/doc/analytics.markdown b/doc/analytics.markdown
index 13657b56..d72fc383 100644
--- a/doc/analytics.markdown
+++ b/doc/analytics.markdown
@@ -62,9 +62,4 @@ This chart show the average lead and cycle time for the last 1000 tasks over tim
Those metrics are calculated and recorded every day for the whole project.
-Don't forget to run the daily job for statistics calculation
--------------------------------------------------------
-
-To generate accurate analytic data, you should run the daily cronjob **project daily statistics**.
-
-[Read the documentation of Kanboard CLI](cli.markdown)
+Note: Don't forget to run the [daily cronjob](cronjob.markdown) to have accurate statistics.
diff --git a/doc/centos-installation.markdown b/doc/centos-installation.markdown
index d0fd6a00..576119b4 100644
--- a/doc/centos-installation.markdown
+++ b/doc/centos-installation.markdown
@@ -1,6 +1,8 @@
Centos Installation
===================
+Note: Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
+
Centos 7
--------
diff --git a/doc/cli.markdown b/doc/cli.markdown
index bcb478dd..9334d84b 100644
--- a/doc/cli.markdown
+++ b/doc/cli.markdown
@@ -4,7 +4,7 @@ Command Line Interface
Kanboard provides a simple command line interface that can be used from any Unix terminal.
This tool can be used only on the local machine.
-This feature is useful to run commands outside the web server process by example running a huge report.
+This feature is useful to run commands outside of the web server processes.
Usage
-----
@@ -28,6 +28,7 @@ Options:
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
+ cronjob Execute daily cronjob
help Displays help for a command
list Lists commands
export
@@ -42,6 +43,8 @@ Available commands:
notification:overdue-tasks Send notifications for overdue tasks
projects
projects:daily-stats Calculate daily statistics for all projects
+ trigger
+ trigger:tasks Trigger scheduler event for all tasks
```
Available commands
@@ -116,7 +119,7 @@ Emails will be sent to all users with notifications enabled.
You can also display the overdue tasks with the flag `--show`:
```bash
-$ ./kanboard notification:overdue-tasks --show
+./kanboard notification:overdue-tasks --show
+-----+---------+------------+------------+--------------+----------+
| Id | Title | Due date | Project Id | Project name | Assignee |
+-----+---------+------------+------------+--------------+----------+
@@ -125,20 +128,22 @@ $ ./kanboard notification:overdue-tasks --show
+-----+---------+------------+------------+--------------+----------+
```
-Cronjob example:
-
-```bash
-# Everyday at 8am we check for due tasks
-0 8 * * * cd /path/to/kanboard && ./kanboard notification:overdue-tasks >/dev/null 2>&1
-```
-
### Run daily project stats calculation
-You can add a background task to calculate the project statistics every day:
+This command calculate the statistics of each project:
```bash
-$ ./kanboard projects:daily-stats
+./kanboard projects:daily-stats
Run calculation for Project #0
Run calculation for Project #1
Run calculation for Project #10
```
+
+### Trigger for tasks
+
+This command send a "daily cronjob event" to all open tasks of each project.
+
+```bash
+./kanboard trigger:tasks
+Trigger task event: project_id=2, nb_tasks=1
+```
diff --git a/doc/cronjob.markdown b/doc/cronjob.markdown
new file mode 100644
index 00000000..32f12888
--- /dev/null
+++ b/doc/cronjob.markdown
@@ -0,0 +1,32 @@
+Background Job Scheduling
+=========================
+
+To work properly, Kanboard requires that a background job run on a daily basis.
+Usually on Unix platforms, this process is done by `cron`.
+
+This background job is necessary for these features:
+
+- Reports and analytics (calculate daily stats of each projects)
+- Send overdue task notifications
+- Execute automatic actions connected to the event "Daily background job for tasks"
+
+Configuration on Unix and Linux platforms
+-----------------------------------------
+
+There are multiple ways to define a cronjob on Unix/Linux operating systems, this example is for Ubuntu 14.04.
+The procedure is similar to other systems.
+
+Edit the crontab of your web server user:
+
+```bash
+sudo crontab -u www-data -e
+```
+
+Example to execute the daily cronjob at 8am:
+
+```bash
+0 8 * * * cd /path/to/kanboard && ./kanboard cronjob >/dev/null 2>&1
+```
+
+Note: the cronjob process must have write access to the database in case you are using Sqlite.
+Usually, running the cronjob under the web server user is enough.
diff --git a/doc/debian-installation.markdown b/doc/debian-installation.markdown
index 147fe452..ec956049 100644
--- a/doc/debian-installation.markdown
+++ b/doc/debian-installation.markdown
@@ -1,6 +1,8 @@
How to install Kanboard on Debian?
==================================
+Note: Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
+
Debian 8 (Jessie)
-----------------
diff --git a/doc/freebsd-installation.markdown b/doc/freebsd-installation.markdown
index 84b35ad8..7b36dff1 100644
--- a/doc/freebsd-installation.markdown
+++ b/doc/freebsd-installation.markdown
@@ -55,7 +55,7 @@ Generally 3 elements have to be installed:
Fetch and extract ports...
```bash
-$ portsnap fetch
+$ portsnap fetch
$ portsnap extract
```
@@ -122,6 +122,7 @@ there is no need to install it manually.
Please note
-----------
-Port is being hosted on [bitbucket](https://bitbucket.org/if0/freebsd-kanboard/). Feel free to comment,
+- Port is being hosted on [bitbucket](https://bitbucket.org/if0/freebsd-kanboard/). Feel free to comment,
fork and suggest updates!
-
\ No newline at end of file
+- Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
+
diff --git a/doc/heroku.markdown b/doc/heroku.markdown
index 56d79bc9..f145f70e 100644
--- a/doc/heroku.markdown
+++ b/doc/heroku.markdown
@@ -35,5 +35,5 @@ heroku open
Limitations
-----------
-The storage of Heroku is ephemeral, that means uploaded files through Kanboard are not persistent after a reboot.
-We may want to install a plugin to store your files in a cloud storage provider like [Amazon S3](https://github.com/kanboard/plugin-s3).
+- The storage of Heroku is ephemeral, that means uploaded files through Kanboard are not persistent after a reboot. You may want to install a plugin to store your files in a cloud storage provider like [Amazon S3](https://github.com/kanboard/plugin-s3).
+- Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
diff --git a/doc/index.markdown b/doc/index.markdown
index 1e95fe06..7603117b 100644
--- a/doc/index.markdown
+++ b/doc/index.markdown
@@ -103,6 +103,7 @@ Technical details
### Configuration
- [Config file](config.markdown)
+- [Background tasks](cronjob.markdown)
- [Email configuration](email-configuration.markdown)
- [URL rewriting](nice-urls.markdown)
diff --git a/doc/installation.markdown b/doc/installation.markdown
index b208be8a..dd4283f8 100644
--- a/doc/installation.markdown
+++ b/doc/installation.markdown
@@ -39,3 +39,8 @@ Security
- Don't forget to change the default user/password
- Don't allow everybody to access to the directory `data` from the URL. There is already a `.htaccess` for Apache but nothing for Nginx.
+
+Notes
+-----
+
+- Some features of Kanboard require that you run [a daily background job](cronjob.markdown)
diff --git a/doc/ubuntu-installation.markdown b/doc/ubuntu-installation.markdown
index cec3ebba..ab4dfe7c 100644
--- a/doc/ubuntu-installation.markdown
+++ b/doc/ubuntu-installation.markdown
@@ -26,3 +26,5 @@ sudo unzip kanboard-latest.zip
sudo chown -R www-data:www-data kanboard/data
sudo rm kanboard-latest.zip
```
+
+Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
diff --git a/doc/windows-apache-installation.markdown b/doc/windows-apache-installation.markdown
index 2c8f74e1..27b6812e 100644
--- a/doc/windows-apache-installation.markdown
+++ b/doc/windows-apache-installation.markdown
@@ -123,3 +123,8 @@ Tested configuration
--------------------
- Windows 2008 R2 / Apache 2.4.12 / PHP 5.6.8
+
+Notes
+-----
+
+- Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
diff --git a/doc/windows-iis-installation.markdown b/doc/windows-iis-installation.markdown
index 6206db21..bd4607de 100644
--- a/doc/windows-iis-installation.markdown
+++ b/doc/windows-iis-installation.markdown
@@ -65,3 +65,9 @@ Tested configurations
- Windows 2008 R2 Standard Edition / IIS 7.5 / PHP 5.5.16
- Windows 2012 Standard Edition / IIS 8.5 / PHP 5.3.29
+
+Notes
+-----
+
+- Some features of Kanboard require that you run [a daily background job](cronjob.markdown).
+
diff --git a/kanboard b/kanboard
index 73dab4e9..5046181d 100755
--- a/kanboard
+++ b/kanboard
@@ -13,6 +13,8 @@ use Kanboard\Console\ProjectDailyColumnStatsExport;
use Kanboard\Console\TransitionExport;
use Kanboard\Console\LocaleSync;
use Kanboard\Console\LocaleComparator;
+use Kanboard\Console\TaskTrigger;
+use Kanboard\Console\Cronjob;
$container['dispatcher']->dispatch('app.bootstrap', new Event);
@@ -25,4 +27,6 @@ $application->add(new ProjectDailyColumnStatsExport($container));
$application->add(new TransitionExport($container));
$application->add(new LocaleSync($container));
$application->add(new LocaleComparator($container));
+$application->add(new TaskTrigger($container));
+$application->add(new Cronjob($container));
$application->run();
--
cgit v1.2.3
From dae0c7391ab8308506bddc5fff76414a3bb87ce4 Mon Sep 17 00:00:00 2001
From: Frederic Guillot
Date: Fri, 29 Jan 2016 20:15:53 -0500
Subject: Move Google authentication to an external plugin
---
ChangeLog | 5 +
app/Auth/GoogleAuth.php | 143 -------------------------
app/Controller/Oauth.php | 24 ++---
app/Locale/bs_BA/translations.php | 7 --
app/Locale/cs_CZ/translations.php | 7 --
app/Locale/da_DK/translations.php | 7 --
app/Locale/de_DE/translations.php | 7 --
app/Locale/el_GR/translations.php | 32 +++---
app/Locale/es_ES/translations.php | 7 --
app/Locale/fi_FI/translations.php | 7 --
app/Locale/fr_FR/translations.php | 7 --
app/Locale/hu_HU/translations.php | 7 --
app/Locale/id_ID/translations.php | 7 --
app/Locale/it_IT/translations.php | 15 +--
app/Locale/ja_JP/translations.php | 7 --
app/Locale/my_MY/translations.php | 7 --
app/Locale/nb_NO/translations.php | 7 --
app/Locale/nl_NL/translations.php | 7 --
app/Locale/pl_PL/translations.php | 7 --
app/Locale/pt_BR/translations.php | 7 --
app/Locale/pt_PT/translations.php | 7 --
app/Locale/ru_RU/translations.php | 7 --
app/Locale/sr_Latn_RS/translations.php | 7 --
app/Locale/sv_SE/translations.php | 7 --
app/Locale/th_TH/translations.php | 7 --
app/Locale/tr_TR/translations.php | 7 --
app/Locale/zh_CN/translations.php | 7 --
app/Model/User.php | 15 +--
app/ServiceProvider/AuthenticationProvider.php | 7 +-
app/ServiceProvider/RouteProvider.php | 1 -
app/Template/auth/index.php | 6 +-
app/Template/config/integrations.php | 8 --
app/Template/user/authentication.php | 3 +-
app/Template/user/external.php | 20 +---
app/User/GoogleUserProvider.php | 23 ----
app/constants.php | 5 -
doc/google-authentication.markdown | 64 -----------
doc/index.markdown | 1 -
tests/units/Auth/GoogleAuthTest.php | 89 ---------------
39 files changed, 41 insertions(+), 574 deletions(-)
delete mode 100644 app/Auth/GoogleAuth.php
delete mode 100644 app/User/GoogleUserProvider.php
delete mode 100644 doc/google-authentication.markdown
delete mode 100644 tests/units/Auth/GoogleAuthTest.php
(limited to 'doc')
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 @@
-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
@@ -10,16 +10,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
*
@@ -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') ?>
-
+
-
-
= $this->url->link(t('Login with my Google Account'), 'oauth', 'google') ?>
-
-
= $this->url->link(t('Login with my Github Account'), 'oauth', 'github') ?>
+
+ = $html ?>
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 @@
- Integrations > Google Authentication**
-
-### Setting up Kanboad
-
-Create a custom `config.php` file or copy the `config.default.php` file:
-
-```php
-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));
- }
-}
--
cgit v1.2.3
From 9b9d823f30f7f7744f412df8ca4c52d7be3c9977 Mon Sep 17 00:00:00 2001
From: Frederic Guillot
Date: Fri, 29 Jan 2016 23:59:58 -0500
Subject: Move Gitlab and Github authentication to external plugins
---
ChangeLog | 2 +
app/Auth/GithubAuth.php | 143 -------------------------
app/Auth/GitlabAuth.php | 143 -------------------------
app/Controller/Oauth.php | 20 ----
app/Locale/bs_BA/translations.php | 14 ---
app/Locale/cs_CZ/translations.php | 14 ---
app/Locale/da_DK/translations.php | 14 ---
app/Locale/de_DE/translations.php | 14 ---
app/Locale/el_GR/translations.php | 14 ---
app/Locale/es_ES/translations.php | 14 ---
app/Locale/fi_FI/translations.php | 14 ---
app/Locale/fr_FR/translations.php | 14 ---
app/Locale/hu_HU/translations.php | 14 ---
app/Locale/id_ID/translations.php | 14 ---
app/Locale/it_IT/translations.php | 14 ---
app/Locale/ja_JP/translations.php | 14 ---
app/Locale/my_MY/translations.php | 14 ---
app/Locale/nb_NO/translations.php | 14 ---
app/Locale/nl_NL/translations.php | 14 ---
app/Locale/pl_PL/translations.php | 14 ---
app/Locale/pt_BR/translations.php | 14 ---
app/Locale/pt_PT/translations.php | 14 ---
app/Locale/ru_RU/translations.php | 14 ---
app/Locale/sr_Latn_RS/translations.php | 14 ---
app/Locale/sv_SE/translations.php | 14 ---
app/Locale/th_TH/translations.php | 14 ---
app/Locale/tr_TR/translations.php | 14 ---
app/Locale/zh_CN/translations.php | 14 ---
app/ServiceProvider/AuthenticationProvider.php | 11 --
app/ServiceProvider/RouteProvider.php | 2 -
app/Template/auth/index.php | 13 ---
app/Template/config/integrations.php | 12 ---
app/Template/user/authentication.php | 6 --
app/Template/user/create_remote.php | 9 +-
app/Template/user/external.php | 34 +-----
app/User/GithubUserProvider.php | 23 ----
app/User/GitlabUserProvider.php | 23 ----
app/constants.php | 16 ---
assets/img/gitlab-icon.png | Bin 620 -> 0 bytes
config.default.php | 45 --------
doc/github-authentication.markdown | 80 --------------
doc/gitlab-authentication.markdown | 83 --------------
doc/index.markdown | 2 -
tests/units/Auth/GithubAuthTest.php | 89 ---------------
tests/units/Auth/GitlabAuthTest.php | 89 ---------------
tests/units/Base.php | 2 +
46 files changed, 6 insertions(+), 1177 deletions(-)
delete mode 100644 app/Auth/GithubAuth.php
delete mode 100644 app/Auth/GitlabAuth.php
delete mode 100644 app/User/GithubUserProvider.php
delete mode 100644 app/User/GitlabUserProvider.php
delete mode 100644 assets/img/gitlab-icon.png
delete mode 100644 doc/github-authentication.markdown
delete mode 100644 doc/gitlab-authentication.markdown
delete mode 100644 tests/units/Auth/GithubAuthTest.php
delete mode 100644 tests/units/Auth/GitlabAuthTest.php
(limited to 'doc')
diff --git a/ChangeLog b/ChangeLog
index 2135da95..bc0aad32 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,8 @@ Breaking changes:
* Core functionalities moved to external plugins:
- Google Auth: https://github.com/kanboard/plugin-google-auth
+ - Github Auth: https://github.com/kanboard/plugin-github-auth
+ - Gitlab Auth: https://github.com/kanboard/plugin-gitlab-auth
New features:
diff --git a/app/Auth/GithubAuth.php b/app/Auth/GithubAuth.php
deleted file mode 100644
index 83699581..00000000
--- a/app/Auth/GithubAuth.php
+++ /dev/null
@@ -1,143 +0,0 @@
-getProfile();
-
- if (! empty($profile)) {
- $this->userInfo = new GithubUserProvider($profile);
- return true;
- }
-
- return false;
- }
-
- /**
- * Set Code
- *
- * @access public
- * @param string $code
- * @return GithubAuth
- */
- public function setCode($code)
- {
- $this->code = $code;
- return $this;
- }
-
- /**
- * Get user object
- *
- * @access public
- * @return GithubUserProvider
- */
- 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(
- GITHUB_CLIENT_ID,
- GITHUB_CLIENT_SECRET,
- $this->helper->url->to('oauth', 'github', array(), '', true),
- GITHUB_OAUTH_AUTHORIZE_URL,
- GITHUB_OAUTH_TOKEN_URL,
- array()
- );
- }
-
- return $this->service;
- }
-
- /**
- * Get Github profile
- *
- * @access public
- * @return array
- */
- public function getProfile()
- {
- $this->getService()->getAccessToken($this->code);
-
- return $this->httpClient->getJson(
- GITHUB_API_URL.'user',
- array($this->getService()->getAuthorizationHeader())
- );
- }
-
- /**
- * Unlink user
- *
- * @access public
- * @param integer $userId
- * @return bool
- */
- public function unlink($userId)
- {
- return $this->user->update(array('id' => $userId, 'github_id' => ''));
- }
-}
diff --git a/app/Auth/GitlabAuth.php b/app/Auth/GitlabAuth.php
deleted file mode 100644
index c0a2cf9b..00000000
--- a/app/Auth/GitlabAuth.php
+++ /dev/null
@@ -1,143 +0,0 @@
-getProfile();
-
- if (! empty($profile)) {
- $this->userInfo = new GitlabUserProvider($profile);
- return true;
- }
-
- return false;
- }
-
- /**
- * Set Code
- *
- * @access public
- * @param string $code
- * @return GitlabAuth
- */
- public function setCode($code)
- {
- $this->code = $code;
- return $this;
- }
-
- /**
- * Get user object
- *
- * @access public
- * @return GitlabUserProvider
- */
- 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(
- GITLAB_CLIENT_ID,
- GITLAB_CLIENT_SECRET,
- $this->helper->url->to('oauth', 'gitlab', array(), '', true),
- GITLAB_OAUTH_AUTHORIZE_URL,
- GITLAB_OAUTH_TOKEN_URL,
- array()
- );
- }
-
- return $this->service;
- }
-
- /**
- * Get Gitlab profile
- *
- * @access public
- * @return array
- */
- public function getProfile()
- {
- $this->getService()->getAccessToken($this->code);
-
- return $this->httpClient->getJson(
- GITLAB_API_URL.'user',
- array($this->getService()->getAuthorizationHeader())
- );
- }
-
- /**
- * Unlink user
- *
- * @access public
- * @param integer $userId
- * @return bool
- */
- public function unlink($userId)
- {
- return $this->user->update(array('id' => $userId, 'gitlab_id' => ''));
- }
-}
diff --git a/app/Controller/Oauth.php b/app/Controller/Oauth.php
index 62381308..bc670d1e 100644
--- a/app/Controller/Oauth.php
+++ b/app/Controller/Oauth.php
@@ -10,26 +10,6 @@ namespace Kanboard\Controller;
*/
class Oauth extends Base
{
- /**
- * Link or authenticate a Github account
- *
- * @access public
- */
- public function github()
- {
- $this->step1('Github');
- }
-
- /**
- * Link or authenticate a Gitlab account
- *
- * @access public
- */
- public function gitlab()
- {
- $this->step1('Gitlab');
- }
-
/**
* Unlink external account
*
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 72bb3128..208f7d77 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksimalna veličina: ',
'Unable to upload the file.' => 'Nije moguće snimiti fajl.',
'Display another project' => 'Prikaži drugi projekat',
- 'Login with my Github Account' => 'Prijavi me s mojim Github korisničkim računom',
- 'Link my Github Account' => 'Poveži s mojim Github korisničkim računom',
- 'Unlink my Github Account' => 'Odbavi vez s mojim Github korisničkim računom',
'Created by %s' => 'Kreirao %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Posljednja izmjena %e %B %Y o %k:%M',
'Tasks Export' => 'Izvoz zadataka',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Promijeni šifru',
'Password modification' => 'Izmjena šifre',
'External authentications' => 'Vanjske autentikacije',
- 'Github Account' => 'Github korisnički račun',
'Never connected.' => 'Bez konekcija.',
'No account linked.' => 'Bez povezanih korisničkih računa.',
'Account linked.' => 'Korisnički račun povezan.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Github autentifikacija',
- 'Help on Github authentication' => 'Pomoć na Github autentifikacija',
'Lead time: ' => 'Vrijeme vođenja: ',
'Cycle time: ' => 'Vremenski ciklus: ',
'Time spent into each column' => 'Utrošeno vrijeme u svakoj koloni',
@@ -852,7 +846,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Ako ste označili kvadratić "Zabrani prijavnu formu", unos pristupnih podataka u prijavnoj formi će biti ignorisan.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Tip veze',
'Change task color when using a specific task link' => 'Promijeni boju zadatka kada se koristi određena veza na zadatku',
'Task link creation or modification' => 'Veza na zadatku je napravljena ili izmijenjena',
- 'Login with my Gitlab Account' => 'Prijava s mojim Gitlab korisničkim računom',
'Milestone' => 'Prekretnica',
- 'Gitlab Authentication' => 'Gitlab autentifikacija',
- 'Help on Gitlab authentication' => 'Pomoć na Gitlab autentifikacija',
- 'Gitlab Id' => 'Gitlab Id',
- 'Gitlab Account' => 'Gitlab korisnički račun',
- 'Link my Gitlab Account' => 'Veza s mojim Gitlab korisničkim računom',
- 'Unlink my Gitlab Account' => 'Prekini vezu s mojim Gitlab korisničkim računom',
'Documentation: %s' => 'Dokumentacija: %s',
'Switch to the Gantt chart view' => 'Promijeni u gantogram pregled',
'Reset the search/filter box' => 'Vrati na početno pretragu/filtere',
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index b564a7eb..70d2815b 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maximální velikost: ',
'Unable to upload the file.' => 'Soubor nelze nahrát.',
'Display another project' => 'Zobrazit jiný projekt',
- // 'Login with my Github Account' => '',
- // 'Link my Github Account' => '',
- // 'Unlink my Github Account' => '',
'Created by %s' => 'Vytvořeno uživatelem %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Poslední úprava dne %d.%m.%Y v čase %H:%M',
'Tasks Export' => 'Export úkolů',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Změnit heslo',
'Password modification' => 'Změna hesla',
'External authentications' => 'Vzdálená autorizace',
- 'Github Account' => 'github účet',
'Never connected.' => 'Zatím nikdy nespojen.',
'No account linked.' => 'Žádné propojení účtu.',
'Account linked.' => 'Propojení účtu',
@@ -842,8 +838,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',
- '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: ',
'Cycle time: ' => 'Doba cyklu: ',
'Time spent into each column' => 'Čas strávený v každé fázi',
@@ -852,7 +846,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í',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Pokud zaškrtnete políčko "Zakázat přihlašovací formulář", budou pověření zadané do přihlašovacího formuláře ignorovány.',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index 2e0cc80b..db32e047 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksimum størrelse: ',
'Unable to upload the file.' => 'Filen kunne ikke uploades.',
'Display another project' => 'Vis et andet projekt...',
- 'Login with my Github Account' => 'Login med min Github-konto',
- 'Link my Github Account' => 'Forbind min Github-konto',
- 'Unlink my Github Account' => 'Fjern forbindelsen til min Github-konto',
'Created by %s' => 'Oprettet af %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Sidst redigeret %d.%m.%Y - %H:%M',
'Tasks Export' => 'Opgave eksport',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Skift adgangskode',
'Password modification' => 'Adgangskode ændring',
'External authentications' => 'Ekstern autentificering',
- 'Github Account' => 'Github-konto',
'Never connected.' => 'Aldrig forbundet.',
'No account linked.' => 'Ingen kontoer forfundet.',
'Account linked.' => 'Konto forbundet.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 21215437..55d144d6 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maximalgröße: ',
'Unable to upload the file.' => 'Hochladen der Datei nicht möglich.',
'Display another project' => 'Zu Projekt wechseln',
- 'Login with my Github Account' => 'Anmelden mit meinem Github-Account',
- 'Link my Github Account' => 'Mit meinem Github-Account verbinden',
- 'Unlink my Github Account' => 'Verbindung mit meinem Github-Account trennen',
'Created by %s' => 'Erstellt durch %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Letzte Änderung am %d.%m.%Y um %H:%M',
'Tasks Export' => 'Aufgaben exportieren',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Passwort ändern',
'Password modification' => 'Passwortänderung',
'External authentications' => 'Externe Authentisierungsmethoden',
- 'Github Account' => 'Github-Account',
'Never connected.' => 'Noch nie verbunden.',
'No account linked.' => 'Kein Account verbunden.',
'Account linked.' => 'Account verbunden',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Github-Authentifizierung',
- 'Help on Github authentication' => 'Hilfe bei Github-Authentifizierung',
'Lead time: ' => 'Durchlaufzeit:',
'Cycle time: ' => 'Zykluszeit:',
'Time spent into each column' => 'zeit verbracht in jeder Spalte',
@@ -852,7 +846,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',
- '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',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Wenn die Box "Verbiete Login-Formular" angeschaltet ist, werden Eingaben in das Login Formular ignoriert.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Verbindungstyp',
'Change task color when using a specific task link' => 'Aufgabefarbe ändern bei bestimmter Aufgabenverbindung',
'Task link creation or modification' => 'Aufgabenverbindung erstellen oder bearbeiten',
- 'Login with my Gitlab Account' => 'Mit Gitlab Account einloggen',
'Milestone' => 'Meilenstein',
- 'Gitlab Authentication' => 'Gitlab-Authentifizierung',
- 'Help on Gitlab authentication' => 'Hilfe bei Gitlab-Authentifizierung',
- 'Gitlab Id' => 'Gitlab Id',
- 'Gitlab Account' => 'Gitlab Account',
- 'Link my Gitlab Account' => 'Verknüpfe mein Gitlab Account',
- 'Unlink my Gitlab Account' => 'Trenne meinen Gitlab Account',
'Documentation: %s' => 'Dokumentation: %s',
'Switch to the Gantt chart view' => 'Zur Gantt-Diagramm Ansicht wechseln',
'Reset the search/filter box' => 'Suche/Filter-Box zurücksetzen',
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index ce7cc465..e87d1daa 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Μέγιστο μέγεθος : ',
'Unable to upload the file.' => 'Δεν είναι δυνατή η μεταφόρτωση του αρχείου.',
'Display another project' => 'Εμφάνιση άλλου έργου',
- 'Login with my Github Account' => 'Σύνδεση με το Github Account μου',
- 'Link 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' => 'Εξαγωγή εργασιών',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Αλλαγή password',
'Password modification' => 'Τροποποίηση password ',
'External authentications' => 'Εξωτερικές πιστοποιήσεις',
- 'Github Account' => 'Github Account',
'Never connected.' => 'Ποτέ δεν συνδέθηκε.',
'No account linked.' => 'Δεν υπάρχουν ενεργοί λογαριασμοί',
'Account linked.' => 'Λογαριασμός συνδέθηκε',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Πιστοποίηση Github',
- 'Help on Github authentication' => 'Βοήθεια για την πιστοποίηση της Github',
'Lead time: ' => 'Lead time : ',
'Cycle time: ' => 'Cycle time : ',
'Time spent into each column' => 'Ο χρόνος που δαπανήθηκε σε κάθε στήλη',
@@ -852,7 +846,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' => 'Επεξεργασία ταυτοποίησης',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Αν ενεργοποιήσετε την επιλογή "Απαγόρευση φόρμας σύνδεσης", τα στοιχεία που εισάγονται στη φόρμα σύνδεσης αγνοούνται.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Τύπος συνδέσμου',
'Change task color when using a specific task link' => 'Αλλαγή χρώματος εργασίας χρησιμοποιώντας συγκεκριμένο σύνδεσμο εργασίας',
'Task link creation or modification' => 'Σύνδεσμος δημιουργίας ή τροποποίησης εργασίας',
- 'Login with my Gitlab Account' => 'Login with my Gitlab Account',
'Milestone' => 'Ορόσημο',
- 'Gitlab Authentication' => 'Gitlab Authentication',
- 'Help on Gitlab authentication' => 'Help on Gitlab authentication',
- 'Gitlab Id' => 'Gitlab Id',
- 'Gitlab Account' => 'Gitlab Account',
- 'Link my Gitlab Account' => 'Link my Gitlab Account',
- 'Unlink my Gitlab Account' => 'Unlink my Gitlab Account',
'Documentation: %s' => 'Τεκμηρίωση : %s',
'Switch to the Gantt chart view' => 'Μεταφορά σε προβολή διαγράμματος Gantt',
'Reset the search/filter box' => 'Αρχικοποίηση του πεδίου αναζήτησης/φιλτραρίσματος',
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 2a7aebda..c8bc0d7b 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Tamaño máximo',
'Unable to upload the file.' => 'No pude cargar el fichero.',
'Display another project' => 'Mostrar otro proyecto',
- 'Login with my Github Account' => 'Ingresar con mi cuenta de Github',
- 'Link my Github Account' => 'Vincular mi cuenta de Github',
- 'Unlink my Github Account' => 'Desvincular mi cuenta de Github',
'Created by %s' => 'Creado por %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Última modificación %e de %B de %Y a las %k:%M %p',
'Tasks Export' => 'Exportar tareas',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Cambiar contraseña',
'Password modification' => 'Modificacion de contraseña',
'External authentications' => 'Autenticación externa',
- 'Github Account' => 'Cuenta de Github',
'Never connected.' => 'Nunca se ha conectado.',
'No account linked.' => 'Sin vínculo con cuenta.',
'Account linked.' => 'Vinculada con Cuenta.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Autenticación de Github',
- 'Help on Github authentication' => 'Ayuda con la autenticación de Github',
'Lead time: ' => 'Plazo de entrega: ',
'Cycle time: ' => 'Tiempo de Ciclo: ',
'Time spent into each column' => 'Tiempo empleado en cada columna',
@@ -852,7 +846,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',
- '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',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Si marcas la caja de edición "Desactivar formulario de ingreso", se ignoran las credenciales entradas en el formulario de ingreso.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Tipo de enlace',
'Change task color when using a specific task link' => 'Cambiar colo de la tarea al usar un enlace específico a tarea',
'Task link creation or modification' => 'Creación o modificación de enlace a tarea',
- 'Login with my Gitlab Account' => 'Ingresar usando mi Cuenta en Gitlab',
'Milestone' => 'Hito',
- 'Gitlab Authentication' => 'Autenticación Gitlab',
- 'Help on Gitlab authentication' => 'Ayuda con autenticación Gitlab',
- 'Gitlab Id' => 'Id de Gitlab',
- 'Gitlab Account' => 'Cuenta de Gitlab',
- 'Link my Gitlab Account' => 'Enlazar con mi Cuenta en Gitlab',
- 'Unlink my Gitlab Account' => 'Desenlazar con mi Cuenta en Gitlab',
'Documentation: %s' => 'Documentación: %s',
'Switch to the Gantt chart view' => 'Conmutar a vista de diagrama de Gantt',
'Reset the search/filter box' => 'Limpiar la caja del filtro de búsqueda',
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 8e690e9b..6ae4a373 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksimikoko: ',
'Unable to upload the file.' => 'Tiedoston lataus epäonnistui.',
'Display another project' => 'Näytä toinen projekti',
- 'Login with my Github Account' => 'Kirjaudu sisään Github-tililläni',
- 'Link my Github Account' => 'Liitä Github-tilini',
- 'Unlink my Github Account' => 'Poista liitos Github-tiliini',
'Created by %s' => 'Luonut: %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Viimeksi muokattu %B %e, %Y kello %H:%M',
'Tasks Export' => 'Tehtävien vienti',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Vaihda salasana',
'Password modification' => 'Salasanan vaihto',
'External authentications' => 'Muut tunnistautumistavat',
- 'Github Account' => 'Github-tili',
'Never connected.' => 'Ei koskaan liitetty.',
'No account linked.' => 'Tiliä ei ole liitetty.',
'Account linked.' => 'Tili on liitetty.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 7ce0c030..f04f95ba 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Taille maximum : ',
'Unable to upload the file.' => 'Impossible de transférer le fichier.',
'Display another project' => 'Afficher un autre projet',
- 'Login with my Github Account' => 'Se connecter avec mon compte Github',
- 'Link my Github Account' => 'Lier mon compte Github',
- 'Unlink my Github Account' => 'Ne plus utiliser mon compte Github',
'Created by %s' => 'Créé par %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Modifié le %d/%m/%Y à %H:%M',
'Tasks Export' => 'Exportation des tâches',
@@ -394,7 +391,6 @@ return array(
'Change password' => 'Changer le mot de passe',
'Password modification' => 'Changement de mot de passe',
'External authentications' => 'Authentifications externes',
- 'Github Account' => 'Compte Github',
'Never connected.' => 'Jamais connecté.',
'No account linked.' => 'Aucun compte attaché.',
'Account linked.' => 'Compte attaché.',
@@ -844,8 +840,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',
- 'Github Authentication' => 'Authentification Github',
- 'Help on Github authentication' => 'Aide sur l\'authentification Github',
'Lead time: ' => 'Lead time : ',
'Cycle time: ' => 'Temps de cycle : ',
'Time spent into each column' => 'Temps passé dans chaque colonne',
@@ -854,7 +848,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Si vous cochez la case « Interdire le formulaire d\'authentification », les identifiants entrés dans le formulaire d\'authentification seront ignorés.',
@@ -912,14 +905,7 @@ return array(
'Link type' => 'Type de lien',
'Change task color when using a specific task link' => 'Changer la couleur de la tâche lorsqu\'un lien spécifique est utilisé',
'Task link creation or modification' => 'Création ou modification d\'un lien sur une tâche',
- 'Login with my Gitlab Account' => 'Se connecter avec mon compte Gitlab',
'Milestone' => 'Étape importante',
- 'Gitlab Authentication' => 'Authentification Gitlab',
- 'Help on Gitlab authentication' => 'Aide sur l\'authentification Gitlab',
- 'Gitlab Id' => 'Identifiant Gitlab',
- 'Gitlab Account' => 'Compte Gitlab',
- 'Link my Gitlab Account' => 'Lier mon compte Gitlab',
- 'Unlink my Gitlab Account' => 'Ne plus utiliser mon compte Gitlab',
'Documentation: %s' => 'Documentation : %s',
'Switch to the Gantt chart view' => 'Passer à la vue en diagramme de Gantt',
'Reset the search/filter box' => 'Réinitialiser le champ de recherche',
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 92968f7f..5f34ac56 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maximális méret: ',
'Unable to upload the file.' => 'Fájl feltöltése nem lehetséges.',
'Display another project' => 'Másik projekt megjelenítése',
- 'Login with my Github Account' => 'Jelentkezzen be Github fiókkal',
- 'Link my Github Account' => 'Github fiók csatolása',
- 'Unlink my Github Account' => 'Github fiók leválasztása',
'Created by %s' => 'Készítette: %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Utolsó módosítás: %Y. %m. %d. %H:%M',
'Tasks Export' => 'Feladatok exportálása',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Jelszó módosítása',
'Password modification' => 'Jelszó módosítása',
'External authentications' => 'Külső azonosítás',
- 'Github Account' => 'Github fiók',
'Never connected.' => 'Sosem csatlakozva.',
'No account linked.' => 'Nincs csatlakoztatott fiók.',
'Account linked.' => 'Fiók csatlakoztatva.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 85cf9805..5c9be946 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Ukuran maksimum: ',
'Unable to upload the file.' => 'Tidak dapat mengunggah berkas.',
'Display another project' => 'Lihat proyek lain',
- 'Login with my Github Account' => 'Masuk menggunakan akun Github saya',
- 'Link my Github Account' => 'Hubungkan akun Github saya ',
- 'Unlink my Github Account' => 'Putuskan akun Github saya',
'Created by %s' => 'Dibuat oleh %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Modifikasi terakhir pada tanggal %d/%m/%Y à %H:%M',
'Tasks Export' => 'Ekspor Tugas',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Rubah kata sandri',
'Password modification' => 'Modifikasi kata sandi',
'External authentications' => 'Otentifikasi eksternal',
- 'Github Account' => 'Akun Github',
'Never connected.' => 'Tidak pernah terhubung.',
'No account linked.' => 'Tidak ada akun terhubung.',
'Account linked.' => 'Akun terhubung.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Otentifikasi Github',
- 'Help on Github authentication' => 'Bantuan pada otentifikasi Github',
'Lead time: ' => 'Lead time : ',
'Cycle time: ' => 'Siklus waktu : ',
'Time spent into each column' => 'Waktu yang dihabiskan di setiap kolom',
@@ -852,7 +846,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Jika anda mencentang kotak "Larang formulir login", kredensial masuk ke formulis login akan diabaikan.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Tipe tautan',
'Change task color when using a specific task link' => 'Rubah warna tugas ketika menggunakan tautan tugas yang spesifik',
'Task link creation or modification' => 'Tautan pembuatan atau modifikasi tugas ',
- 'Login with my Gitlab Account' => 'Masuk menggunakan akun Gitlab saya',
'Milestone' => 'Milestone',
- 'Gitlab Authentication' => 'Authentification Gitlab',
- 'Help on Gitlab authentication' => 'Bantuan pada otentifikasi Gitlab',
- 'Gitlab Id' => 'Id Gitlab',
- 'Gitlab Account' => 'Akun Gitlab',
- 'Link my Gitlab Account' => 'Hubungkan akun Gitlab saya',
- 'Unlink my Gitlab Account' => 'Putuskan akun Gitlab saya',
'Documentation: %s' => 'Dokumentasi : %s',
'Switch to the Gantt chart view' => 'Beralih ke tampilan grafik Gantt',
'Reset the search/filter box' => 'Atur ulang pencarian/kotak filter',
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index bc7e8c17..4ff71c7b 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Dimensioni massime: ',
'Unable to upload the file.' => 'Impossibile caricare il file.',
'Display another project' => 'Mostra un altro progetto',
- 'Login with my Github Account' => 'Accedi col tuo account di Github',
- 'Link my Github Account' => 'Collega il mio account Github',
- 'Unlink my Github Account' => 'Scollega il mio account di Github',
'Created by %s' => 'Creato da %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Ultima modifica il %d/%m/%Y alle %H:%M',
'Tasks Export' => 'Export dei task',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Cambia password',
'Password modification' => 'Modifica della password',
'External authentications' => 'Autenticazione esterna',
- 'Github Account' => 'Account Github',
'Never connected.' => 'Mai connesso.',
'No account linked.' => 'Nessun account collegato.',
'Account linked.' => 'Account collegato.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Autenticazione con Github',
- 'Help on Github authentication' => 'Aiuto sull\'autenticazione con Github',
'Lead time: ' => 'Tempo di consegna (Lead Time): ',
'Cycle time: ' => 'Tempo di lavorazione (Cycle Time): ',
'Time spent into each column' => 'Tempo trascorso in ogni colonna',
@@ -852,7 +846,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',
- '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',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Se imposti l\'opzione "Disabilita il form di login", le credenzali inserite nella saranno ignorate.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Tipo di link',
'Change task color when using a specific task link' => 'Cambia colore del task quando si un utilizza una determinata relazione di task',
'Task link creation or modification' => 'Creazione o modifica di relazione di task',
- 'Login with my Gitlab Account' => 'Accedi tramite il mio account Gitlab',
// 'Milestone' => '',
- 'Gitlab Authentication' => 'Autenticazione con Gitlab',
- 'Help on Gitlab authentication' => 'Aiuto sull\'autenticazione con Gitlab',
- 'Gitlab Id' => 'Id Gitlab',
- 'Gitlab Account' => 'Account Gitlab',
- 'Link my Gitlab Account' => 'Collega il mio Account Gitlab',
- 'Unlink my Gitlab Account' => 'Scollega il mio Account Gitlab',
'Documentation: %s' => 'Documentazione: %s',
'Switch to the Gantt chart view' => 'Passa alla vista Grafico Gantt',
'Reset the search/filter box' => 'Resetta la riceca/filtro',
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 50c31d9f..21961f3b 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => '最大: ',
'Unable to upload the file.' => 'ファイルのアップロードに失敗しました。',
'Display another project' => '別のプロジェクトを表示',
- 'Login with my Github Account' => 'Github アカウントでログインする',
- 'Link my Github Account' => 'Github アカウントをリンクする',
- 'Unlink my Github Account' => 'Github アカウントとのリンクを解除する',
'Created by %s' => '%s が作成',
'Last modified on %B %e, %Y at %k:%M %p' => ' %Y/%m/%d %H:%M に変更',
'Tasks Export' => 'タスクの出力',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'パスワードの変更',
'Password modification' => 'パスワードの変更',
'External authentications' => '外部認証',
- 'Github Account' => 'Github アカウント',
'Never connected.' => '未接続。',
'No account linked.' => 'アカウントがリンクしていません。',
'Account linked.' => 'アカウントがリンクしました。',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 6176cbc3..643f5b4a 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Ukuran maksimum: ',
'Unable to upload the file.' => 'Tidak dapat mengunggah berkas.',
'Display another project' => 'Lihat projek lain',
- 'Login with my Github Account' => 'Masuk menggunakan Akaun Github saya',
- 'Link my Github Account' => 'Hubungkan Akaun Github saya ',
- 'Unlink my Github Account' => 'Putuskan Akaun Github saya',
'Created by %s' => 'Dibuat oleh %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Modifikasi terakhir pada tanggal %d/%m/%Y à %H:%M',
'Tasks Export' => 'Ekspor Tugas',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Rubah kata sandri',
'Password modification' => 'Modifikasi kata laluan',
'External authentications' => 'Otentifikasi eksternal',
- 'Github Account' => 'Akaun Github',
'Never connected.' => 'Tidak pernah terhubung.',
'No account linked.' => 'Tidak ada Akaun terhubung.',
'Account linked.' => 'Akaun terhubung.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Otentifikasi Github',
- 'Help on Github authentication' => 'Bantuan pada otentifikasi Github',
'Lead time: ' => 'Lead time : ',
'Cycle time: ' => 'Siklus waktu : ',
'Time spent into each column' => 'Waktu yang dihabiskan di setiap kolom',
@@ -852,7 +846,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Jika anda mencentang kotak "Larang formulir login", kredensial masuk ke formulis login akan diabaikan.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Jenis pautan',
'Change task color when using a specific task link' => 'Rubah warna tugas ketika menggunakan Pautan tugas yang spesifik',
'Task link creation or modification' => 'Pautan tugas pada penciptaan atau penyuntingan',
- 'Login with my Gitlab Account' => 'Masuk menggunakan Akaun Gitlab saya',
'Milestone' => 'Batu Tanda',
- 'Gitlab Authentication' => 'Otentifikasi Gitlab',
- 'Help on Gitlab authentication' => 'Bantuan pada otentifikasi Gitlab',
- 'Gitlab Id' => 'Id Gitlab',
- 'Gitlab Account' => 'Akaun Gitlab',
- 'Link my Gitlab Account' => 'Hubungkan akaun Gitlab saya',
- 'Unlink my Gitlab Account' => 'Putuskan akaun Gitlab saya',
'Documentation: %s' => 'Dokumentasi : %s',
'Switch to the Gantt chart view' => 'Beralih ke tampilan Carta Gantt',
'Reset the search/filter box' => 'Tetap semula pencarian/saringan',
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index a5bcb741..66ccd125 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksimum størrelse: ',
'Unable to upload the file.' => 'Filen kunne ikke lastes opp.',
'Display another project' => 'Vis annet prosjekt...',
- // 'Login with my Github Account' => '',
- // 'Link my Github Account' => '',
- // 'Unlink my Github Account' => '',
'Created by %s' => 'Opprettet av %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Sist endret %d.%m.%Y - %H:%M',
'Tasks Export' => 'Oppgave eksport',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Endre passord',
'Password modification' => 'Passordendring',
'External authentications' => 'Ekstern godkjenning',
- 'Github Account' => 'GitHub-konto',
'Never connected.' => 'Aldri innlogget.',
'No account linked.' => 'Ingen kontoer knyttet.',
'Account linked.' => 'Konto knyttet.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Relasjonstype',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
'Milestone' => 'Milepæl',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
'Documentation: %s' => 'Dokumentasjon: %s',
'Switch to the Gantt chart view' => 'Gantt skjema visning',
'Reset the search/filter box' => 'Nullstill søk/filter',
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 42424254..d7268df3 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maximale grootte : ',
'Unable to upload the file.' => 'Uploaden van bestand niet gelukt.',
'Display another project' => 'Een ander project weergeven',
- 'Login with my Github Account' => 'Login met mijn Github Account',
- 'Link my Github Account' => 'Link met mijn Github',
- 'Unlink my Github Account' => 'Link met mijn Github verwijderen',
'Created by %s' => 'Aangemaakt door %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Laatst gewijzigd op %d/%m/%Y à %H:%M',
'Tasks Export' => 'Taken exporteren',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Wachtwoord aanpassen',
'Password modification' => 'Wachtwoord aanpassen',
'External authentications' => 'Externe authenticatie',
- 'Github Account' => 'Github Account',
'Never connected.' => 'Nooit verbonden.',
'No account linked.' => 'Geen account gelinkt.',
'Account linked.' => 'Account gelinkt.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index fad368a9..222f1fe2 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksymalny rozmiar: ',
'Unable to upload the file.' => 'Nie można wczytać pliku.',
'Display another project' => 'Wyświetl inny projekt',
- 'Login with my Github Account' => 'Zaloguj przy użyciu konta Github',
- 'Link my Github Account' => 'Podłącz konto Github',
- 'Unlink my Github Account' => 'Odłącz konto Github',
'Created by %s' => 'Utworzone przez %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Ostatnio zmienione %e %B %Y o %k:%M',
'Tasks Export' => 'Eksport zadań',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Zmień hasło',
'Password modification' => 'Zmiana hasła',
'External authentications' => 'Autentykacja zewnętrzna',
- 'Github Account' => 'Konto Github',
'Never connected.' => 'Nigdy nie połączone.',
'No account linked.' => 'Brak połączonych kont.',
'Account linked.' => 'Konto połączone.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Typ adresu URL',
'Change task color when using a specific task link' => 'Zmień kolor zadania używając specjalnego adresu URL',
'Task link creation or modification' => 'Adres URL do utworzenia zadania lub modyfikacji',
- // 'Login with my Gitlab Account' => '',
'Milestone' => 'Kamień milowy',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 3a2cec6d..155d4e83 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Tamanho máximo: ',
'Unable to upload the file.' => 'Não foi possível carregar o arquivo.',
'Display another project' => 'Exibir outro projeto',
- 'Login with my Github Account' => 'Entrar com minha Conta do Github',
- 'Link my Github Account' => 'Associar à minha Conta do Github',
- 'Unlink my Github Account' => 'Desassociar a minha Conta do Github',
'Created by %s' => 'Criado por %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Última modificação em %B %e, %Y às %k: %M %p',
'Tasks Export' => 'Exportar Tarefas',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Alterar senha',
'Password modification' => 'Alteração de senha',
'External authentications' => 'Autenticação externa',
- 'Github Account' => 'Conta do Github',
'Never connected.' => 'Nunca conectado.',
'No account linked.' => 'Nenhuma conta associada.',
'Account linked.' => 'Conta associada.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Autenticação Github',
- 'Help on Github authentication' => 'Ajuda com a autenticação Github',
'Lead time: ' => 'Lead time: ',
'Cycle time: ' => 'Cycle time: ',
'Time spent into each column' => 'Tempo gasto em cada coluna',
@@ -852,7 +846,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Se você marcar "Interdir o formulário de autenticação", os identificadores entrados no formulário de login serão ignorado.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Tipo de link',
'Change task color when using a specific task link' => 'Mudar a cor da tarefa quando um link específico é utilizado',
'Task link creation or modification' => 'Criação ou modificação de um link em uma tarefa',
- 'Login with my Gitlab Account' => 'Login com a minha conta Gitlab',
'Milestone' => 'Milestone',
- 'Gitlab Authentication' => 'Autenticação Gitlab',
- 'Help on Gitlab authentication' => 'Ajuda com a autenticação Gitlab',
- 'Gitlab Id' => 'Gitlab Id',
- 'Gitlab Account' => 'Conta Gitlab',
- 'Link my Gitlab Account' => 'Vincular minha conta Gitlab',
- 'Unlink my Gitlab Account' => 'Desvincular minha conta Gitlab',
'Documentation: %s' => 'Documentação: %s',
'Switch to the Gantt chart view' => 'Mudar para a vista gráfico de Gantt',
'Reset the search/filter box' => 'Reiniciar o campo de pesquisa',
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index 63bafa6e..99bb096f 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Tamanho máximo: ',
'Unable to upload the file.' => 'Não foi possível carregar o arquivo.',
'Display another project' => 'Mostrar outro projecto',
- 'Login with my Github Account' => 'Entrar com a minha Conta do Github',
- 'Link my Github Account' => 'Associar à minha Conta do Github',
- 'Unlink my Github Account' => 'Desassociar a minha Conta do Github',
'Created by %s' => 'Criado por %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Última modificação em %B %e, %Y às %k: %M %p',
'Tasks Export' => 'Exportar Tarefas',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Alterar senha',
'Password modification' => 'Alteração de senha',
'External authentications' => 'Autenticação externa',
- 'Github Account' => 'Conta do Github',
'Never connected.' => 'Nunca conectado.',
'No account linked.' => 'Nenhuma conta associada.',
'Account linked.' => 'Conta associada.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Autenticação Github',
- 'Help on Github authentication' => 'Ajuda com autenticação Github',
'Lead time: ' => 'Tempo de Espera: ',
'Cycle time: ' => 'Tempo de Ciclo: ',
'Time spent into each column' => 'Tempo gasto em cada coluna',
@@ -852,7 +846,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Se activar a opção "Desactivar login", as credenciais digitadas no login serão ignoradas.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Tipo de ligação',
'Change task color when using a specific task link' => 'Alterar cor da tarefa quando se usar um tipo especifico de ligação de tarefa',
'Task link creation or modification' => 'Criação ou modificação de ligação de tarefa',
- 'Login with my Gitlab Account' => 'Login com a minha Conta Gitlab',
'Milestone' => 'Objectivo',
- 'Gitlab Authentication' => 'Autenticação Gitlab',
- 'Help on Gitlab authentication' => 'Ajuda com autenticação Gitlab',
- 'Gitlab Id' => 'Id Gitlab',
- 'Gitlab Account' => 'Conta Gitlab',
- 'Link my Gitlab Account' => 'Connectar a minha Conta Gitlab',
- 'Unlink my Gitlab Account' => 'Desconectar a minha Conta Gitlab',
'Documentation: %s' => 'Documentação: %s',
'Switch to the Gantt chart view' => 'Mudar para vista de gráfico de Gantt',
'Reset the search/filter box' => 'Repor caixa de procura/filtro',
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 7d6c42e9..93419c5b 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Максимальный размер: ',
'Unable to upload the file.' => 'Не удалось загрузить файл.',
'Display another project' => 'Показать другой проект',
- 'Login with my Github Account' => 'Аутентификация через Github',
- 'Link my Github Account' => 'Привязать мой профиль к Github',
- 'Unlink my Github Account' => 'Отвязать мой профиль от Github',
'Created by %s' => 'Создано %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Последнее изменение %d/%m/%Y в %H:%M',
'Tasks Export' => 'Экспорт задач',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Сменить пароль',
'Password modification' => 'Изменение пароля',
'External authentications' => 'Внешняя аутентификация',
- 'Github Account' => 'Профиль Github',
'Never connected.' => 'Ранее не соединялось.',
'No account linked.' => 'Нет связанных профилей.',
'Account linked.' => 'Профиль связан.',
@@ -842,8 +838,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' => 'Время выполнения и цикла',
- 'Github Authentication' => 'Авторизация Github',
- 'Help on Github authentication' => 'Помощь в авторизации Github',
'Lead time: ' => 'Время выполнения:',
'Cycle time: ' => 'Время цикла:',
'Time spent into each column' => 'Время, проведенное в каждой колонке',
@@ -852,7 +846,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' => 'Редактировать авторизацию',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Если вы установите флажок "Запретить форму входа", учетные данные, введенные в форму входа будет игнорироваться.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Тип ссылки',
'Change task color when using a specific task link' => 'Изменение цвета задач при использовании ссылки на определенные задачи',
'Task link creation or modification' => 'Ссылка на создание или модификацию задачи',
- 'Login with my Gitlab Account' => 'Авторизоваться через аккаунт Gitlab',
'Milestone' => 'Веха',
- 'Gitlab Authentication' => 'Авторизация через Gitlab',
- 'Help on Gitlab authentication' => 'Помощь а авторизации через Gitlab',
- 'Gitlab Id' => 'Gitlab Id',
- 'Gitlab Account' => 'Аккаунт Gitlab',
- 'Link my Gitlab Account' => 'Привязать аккаунт Gitlab',
- 'Unlink my Gitlab Account' => 'Отвязать аккаунт Gitlab',
'Documentation: %s' => 'Документация: %s',
'Switch to the Gantt chart view' => 'Переключиться в режим диаграммы Гантта',
'Reset the search/filter box' => 'Сбросить поиск/фильтр',
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index ba864e8f..430a299f 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksimalna veličina: ',
'Unable to upload the file.' => 'Nije moguće snimiti fajl.',
'Display another project' => 'Prikaži drugi projekat',
- 'Login with my Github Account' => 'Zaloguj przy użyciu konta Github',
- 'Link my Github Account' => 'Podłącz konto Github',
- 'Unlink my Github Account' => 'Odłącz konto Github',
'Created by %s' => 'Kreirao %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Poslednja izmena %e %B %Y o %k:%M',
'Tasks Export' => 'Izvoz zadataka',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Izmeni lozinku',
'Password modification' => 'Izmena lozinke',
'External authentications' => 'Spoljne akcije',
- 'Github Account' => 'Github nalog',
'Never connected.' => 'Bez konekcija.',
'No account linked.' => 'Bez povezanih naloga.',
'Account linked.' => 'Nalog povezan.',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index 0f9e6eda..a4d61922 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maxstorlek: ',
'Unable to upload the file.' => 'Kunde inte ladda upp filen.',
'Display another project' => 'Visa ett annat projekt',
- 'Login with my Github Account' => 'Logga in med mitt Github-konto',
- 'Link my Github Account' => 'Anslut mitt Github-konto',
- 'Unlink my Github Account' => 'Koppla ifrån mitt Github-konto',
'Created by %s' => 'Skapad av %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'Senaste ändring %Y-%m-%d kl %H:%M',
'Tasks Export' => 'Exportera uppgifter',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Byt lösenord',
'Password modification' => 'Ändra lösenord',
'External authentications' => 'Extern autentisering',
- 'Github Account' => 'Githubkonto',
'Never connected.' => 'Inte ansluten.',
'No account linked.' => 'Inget konto länkat.',
'Account linked.' => 'Konto länkat.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Github autentisering',
- 'Help on Github authentication' => 'Hjälp för Github autentisering',
'Lead time: ' => 'Ledtid',
'Cycle time: ' => 'Cykeltid',
'Time spent into each column' => 'Tidsåtgång per kolumn',
@@ -852,7 +846,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',
- '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.',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Om du aktiverar boxen "Tillåt inte loginformulär" kommer inloggningsuppgifter i formuläret att ignoreras.',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index e1bb0449..e6411efc 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'ขนาดสูงสุด:',
'Unable to upload the file.' => 'ไม่สามารถอัพโหลดไฟล์ได้',
'Display another project' => 'แสดงโปรเจคอื่น',
- 'Login with my Github Account' => 'เข้าใช้ด้วยกิทฮับแอคเคาท์',
- 'Link my Github Account' => 'เชื่อมกับกิทฮับแอคเคาท์',
- 'Unlink my Github Account' => 'ยกเลิกการเชื่อมกับกิทอับแอคเคาท์',
'Created by %s' => 'สร้างโดย %s',
'Last modified on %B %e, %Y at %k:%M %p' => 'แก้ไขล่าสุดวันที่ %B %e, %Y เวลา %k:%M %p',
'Tasks Export' => 'ส่งออกงาน',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'เปลี่ยนรหัสผ่าน',
'Password modification' => 'แก้ไขรหัสผ่าน',
'External authentications' => 'การยืนยันภายนอก',
- 'Github Account' => 'กิทฮับแอคเคาท์',
'Never connected.' => 'ไม่เชื่อมต่อ',
'No account linked.' => 'แอคเคาท์ไม่มีการเชื่อม',
'Account linked.' => 'แอคเคาท์เชื่อมต่อแล้ว',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index e49d6ac9..a628d6f8 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => 'Maksimum boyutu',
'Unable to upload the file.' => 'Dosya yüklenemiyor.',
'Display another project' => 'Başka bir proje göster',
- 'Login with my Github Account' => 'Github hesabımla giriş yap',
- 'Link my Github Account' => 'Github hesabını ilişkilendir',
- 'Unlink my Github Account' => 'Github hesabıyla bağlantıyı kopar',
'Created by %s' => '%s tarafından oluşturuldu',
'Last modified on %B %e, %Y at %k:%M %p' => 'Son değişiklik tarihi %d.%m.%Y, saati %H:%M',
'Tasks Export' => 'Görevleri dışa aktar',
@@ -392,7 +389,6 @@ return array(
'Change password' => 'Şifre değiştir',
'Password modification' => 'Şifre değişimi',
'External authentications' => 'Dış kimlik doğrulamaları',
- 'Github Account' => 'Github hesabı',
'Never connected.' => 'Hiç bağlanmamış.',
'No account linked.' => 'Bağlanmış hesap yok.',
'Account linked.' => 'Hesap bağlandı.',
@@ -842,8 +838,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',
- 'Github Authentication' => 'Github doğrulaması',
- 'Help on Github authentication' => 'Github doğrulaması hakkında yardım',
'Lead time: ' => 'Teslim süresi: ',
'Cycle time: ' => 'Çevrim süresi: ',
'Time spent into each column' => 'Her sütunda harcanan zaman',
@@ -852,7 +846,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',
- '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ı',
'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => 'Eğer giriş formuna erişimi engelleyi seçerseniz, giriş formuna girilen bilgiler gözardı edilir.',
@@ -910,14 +903,7 @@ return array(
'Link type' => 'Bağlantı türü',
'Change task color when using a specific task link' => 'Belirli bir görev bağlantısı kullanıldığında görevin rengini değiştir',
'Task link creation or modification' => 'Görev bağlantısı oluşturulması veya değiştirilmesi',
- 'Login with my Gitlab Account' => 'Gitlab hesabımla giriş yap',
'Milestone' => 'Kilometre taşı',
- 'Gitlab Authentication' => 'Gitlab doğrulaması',
- 'Help on Gitlab authentication' => 'Gitlab doğrulaması hakkında yardım',
- 'Gitlab Id' => 'Gitlab kimliği',
- 'Gitlab Account' => 'Gitlab hesabı',
- 'Link my Gitlab Account' => 'Gitlab hesabını ilişkilendir',
- 'Unlink my Gitlab Account' => 'Gitlab hesabımla bağlantıyı kopar',
'Documentation: %s' => 'Dokümantasyon: %s',
'Switch to the Gantt chart view' => 'Gantt diyagramı görünümüne geç',
'Reset the search/filter box' => 'Arama/Filtre kutusunu sıfırla',
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index 00109732..8df2c01b 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -324,9 +324,6 @@ return array(
'Maximum size: ' => '大小上限:',
'Unable to upload the file.' => '无法上传文件',
'Display another project' => '显示其它项目',
- 'Login with my Github Account' => '用Github账号登录',
- 'Link my Github Account' => '链接Github账号',
- 'Unlink my Github Account' => '取消Github账号链接',
'Created by %s' => '创建者:%s',
'Last modified on %B %e, %Y at %k:%M %p' => '最后修改:%Y/%m/%d/ %H:%M',
'Tasks Export' => '任务导出',
@@ -392,7 +389,6 @@ return array(
'Change password' => '修改密码',
'Password modification' => '修改密码',
'External authentications' => '外部认证',
- 'Github Account' => 'Github 账号',
'Never connected.' => '从未连接。',
'No account linked.' => '未链接账号。',
'Account linked.' => '已经链接账号。',
@@ -842,8 +838,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' => '',
- // 'Github Authentication' => '',
- // 'Help on Github authentication' => '',
// 'Lead time: ' => '',
// 'Cycle time: ' => '',
// 'Time spent into each column' => '',
@@ -852,7 +846,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' => '',
- // 'Github Id' => '',
// 'Remote user' => '',
// 'Remote users do not store their password in Kanboard database, examples: LDAP, Google and Github accounts.' => '',
// 'If you check the box "Disallow login form", credentials entered in the login form will be ignored.' => '',
@@ -910,14 +903,7 @@ return array(
// 'Link type' => '',
// 'Change task color when using a specific task link' => '',
// 'Task link creation or modification' => '',
- // 'Login with my Gitlab Account' => '',
// 'Milestone' => '',
- // 'Gitlab Authentication' => '',
- // 'Help on Gitlab authentication' => '',
- // 'Gitlab Id' => '',
- // 'Gitlab Account' => '',
- // 'Link my Gitlab Account' => '',
- // 'Unlink my Gitlab Account' => '',
// 'Documentation: %s' => '',
// 'Switch to the Gantt chart view' => '',
// 'Reset the search/filter box' => '',
diff --git a/app/ServiceProvider/AuthenticationProvider.php b/app/ServiceProvider/AuthenticationProvider.php
index d39cf0df..ed0962b6 100644
--- a/app/ServiceProvider/AuthenticationProvider.php
+++ b/app/ServiceProvider/AuthenticationProvider.php
@@ -11,8 +11,6 @@ use Kanboard\Core\Security\Role;
use Kanboard\Auth\RememberMeAuth;
use Kanboard\Auth\DatabaseAuth;
use Kanboard\Auth\LdapAuth;
-use Kanboard\Auth\GitlabAuth;
-use Kanboard\Auth\GithubAuth;
use Kanboard\Auth\TotpAuth;
use Kanboard\Auth\ReverseProxyAuth;
@@ -46,14 +44,6 @@ class AuthenticationProvider implements ServiceProviderInterface
$container['authenticationManager']->register(new LdapAuth($container));
}
- if (GITLAB_AUTH) {
- $container['authenticationManager']->register(new GitlabAuth($container));
- }
-
- if (GITHUB_AUTH) {
- $container['authenticationManager']->register(new GithubAuth($container));
- }
-
$container['projectAccessMap'] = $this->getProjectAccessMap();
$container['applicationAccessMap'] = $this->getApplicationAccessMap();
@@ -121,7 +111,6 @@ 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('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 6d1ec6b0..dd9ee23b 100644
--- a/app/ServiceProvider/RouteProvider.php
+++ b/app/ServiceProvider/RouteProvider.php
@@ -205,8 +205,6 @@ class RouteProvider implements ServiceProviderInterface
$container['route']->addRoute('documentation', 'doc', 'show');
// Auth routes
- $container['route']->addRoute('oauth/github', 'oauth', 'github');
- $container['route']->addRoute('oauth/gitlab', 'oauth', 'gitlab');
$container['route']->addRoute('login', 'auth', 'login');
$container['route']->addRoute('logout', 'auth', 'logout');
diff --git a/app/Template/auth/index.php b/app/Template/auth/index.php
index 99444d37..41441e69 100644
--- a/app/Template/auth/index.php
+++ b/app/Template/auth/index.php
@@ -39,17 +39,4 @@
= $this->hook->render('template:auth:login-form:after') ?>
-
-
-
-
-
= $this->url->link(t('Login with my Github Account'), 'oauth', 'github') ?>
-
-
-
-
= $this->url->link(t('Login with my Gitlab Account'), 'oauth', 'gitlab') ?>
-
-
-
-
\ No newline at end of file
diff --git a/app/Template/config/integrations.php b/app/Template/config/integrations.php
index ef490cdf..ced051f7 100644
--- a/app/Template/config/integrations.php
+++ b/app/Template/config/integrations.php
@@ -6,18 +6,6 @@
= $this->form->csrf() ?>
= $this->hook->render('template:config:integrations', array('values' => $values)) ?>
-
= t('Github Authentication') ?>
-
-
-
= $this->url->doc(t('Help on Github authentication'), 'github-authentication') ?>
-
-
-
= t('Gitlab Authentication') ?>
-
-
-
= $this->url->doc(t('Help on Gitlab authentication'), 'gitlab-authentication') ?>
= $html ?>
diff --git a/app/User/GithubUserProvider.php b/app/User/GithubUserProvider.php
deleted file mode 100644
index ae3d7477..00000000
--- a/app/User/GithubUserProvider.php
+++ /dev/null
@@ -1,23 +0,0 @@
- Applications -> Developer applications)
-define('GITHUB_CLIENT_ID', '');
-
-// GitHub client secret key (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_SECRET', '');
-
-// Github oauth2 authorize url
-define('GITHUB_OAUTH_AUTHORIZE_URL', 'https://github.com/login/oauth/authorize');
-
-// Github oauth2 token url
-define('GITHUB_OAUTH_TOKEN_URL', 'https://github.com/login/oauth/access_token');
-
-// Github API url (don't forget the trailing slash)
-define('GITHUB_API_URL', 'https://api.github.com/');
-
-// Enable/disable Gitlab authentication
-define('GITLAB_AUTH', false);
-
-// Gitlab application id
-define('GITLAB_CLIENT_ID', '');
-
-// Gitlab application secret
-define('GITLAB_CLIENT_SECRET', '');
-
-// Gitlab oauth2 authorize url
-define('GITLAB_OAUTH_AUTHORIZE_URL', 'https://gitlab.com/oauth/authorize');
-
-// Gitlab oauth2 token url
-define('GITLAB_OAUTH_TOKEN_URL', 'https://gitlab.com/oauth/token');
-
-// Gitlab API url endpoint (don't forget the trailing slash)
-define('GITLAB_API_URL', 'https://gitlab.com/api/v3/');
-
// Enable/disable the reverse proxy authentication
define('REVERSE_PROXY_AUTH', false);
diff --git a/doc/github-authentication.markdown b/doc/github-authentication.markdown
deleted file mode 100644
index ba0f371f..00000000
--- a/doc/github-authentication.markdown
+++ /dev/null
@@ -1,80 +0,0 @@
-Github Authentication
-=====================
-
-Requirements
-------------
-
-OAuth Github API credentials (available in your [Settings > Applications > Developer applications](https://github.com/settings/applications))
-
-How does this work?
--------------------
-
-The Github authentication in Kanboard uses the [OAuth 2.0](http://oauth.net/2/) protocol, so any user of Kanboard can be linked to a Github account.
-
-That means you can use your Github account to login on Kanboard.
-
-How to link a Github account
-----------------------------
-
-1. Go to your user profile
-2. Click on **External accounts**
-3. Click on the link **Link my Github Account**
-4. You are redirected to the **Github Authorize application form**
-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 Github Account**.
-
-Your name and email are automatically updated from your Github Account if defined.
-
-Installation instructions
--------------------------
-
-### Setting up OAuth 2.0
-
-- On Github, go to the page [Register a new OAuth application](https://github.com/settings/applications/new)
-- Just follow the [official Github documentation](https://developer.github.com/guides/basics-of-authentication/#registering-your-app)
-- In Kanboard, you can get the **callback url** in **Settings > Integrations > Github Authentication**
-
-### Setting up Kanboard
-
-Either create a new `config.php` file or rename the `config.default.php` file and set the following values:
-
-```php
-// Enable/disable Github authentication
-define('GITHUB_AUTH', true);
-
-// Github client id (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_ID', 'YOUR_GITHUB_CLIENT_ID');
-
-// Github client secret key (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_SECRET', 'YOUR_GITHUB_CLIENT_SECRET');
-```
-
-### Github Entreprise
-
-To use this authentication method with Github Enterprise you have to change the default urls.
-
-Replace these values by your self-hosted instance of Github:
-
-```php
-// Github oauth2 authorize url
-define('GITHUB_OAUTH_AUTHORIZE_URL', 'https://github.com/login/oauth/authorize');
-
-// Github oauth2 token url
-define('GITHUB_OAUTH_TOKEN_URL', 'https://github.com/login/oauth/access_token');
-
-// Github API url (don't forget the slash at the end)
-define('GITHUB_API_URL', 'https://api.github.com/');
-```
-
-Notes
------
-
-Kanboard uses these information from your public Github profile:
-
-- Full name
-- Public email address
-- Github unique id
-
-The Github unique id is used to link the local user account and the Github account.
diff --git a/doc/gitlab-authentication.markdown b/doc/gitlab-authentication.markdown
deleted file mode 100644
index 8d2f0000..00000000
--- a/doc/gitlab-authentication.markdown
+++ /dev/null
@@ -1,83 +0,0 @@
-Gitlab Authentication
-=====================
-
-Requirements
-------------
-
-- Account on [Gitlab.com](https://gitlab.com) or you own self-hosted Gitlab instance
-- Have Kanboard registered as application in Gitlab
-
-How does this work?
--------------------
-
-The Gitlab authentication in Kanboard uses the [OAuth 2.0](http://oauth.net/2/) protocol, so any user of Kanboard can be linked to a Gitlab account.
-
-That means you can use your Gitlab account to login on Kanboard.
-
-How to link a Gitlab account
-----------------------------
-
-1. Go to your user profile
-2. Click on **External accounts**
-3. Click on the link **Link my Gitlab Account**
-4. You are redirected to the **Gitlab authorization form**
-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 Gitlab Account**.
-
-Your name and email are automatically updated from your Gitlab Account if defined.
-
-Installation instructions
--------------------------
-
-### Setting up OAuth 2.0
-
-- On Gitlab, register a new application by following the [official documentation](http://doc.gitlab.com/ce/integration/oauth_provider.html)
-- In Kanboard, you can get the **callback url** in **Settings > Integrations > Gitlab Authentication**, just copy and paste the url
-
-### Setting up Kanboard
-
-Either create a new `config.php` file or rename the `config.default.php` file and set the following values:
-
-```php
-// Enable/disable Gitlab authentication
-define('GITLAB_AUTH', true);
-
-// Gitlab application id
-define('GITLAB_CLIENT_ID', 'YOUR_APPLICATION_ID');
-
-// Gitlab application secret
-define('GITLAB_CLIENT_SECRET', 'YOUR_APPLICATION_SECRET');
-```
-
-### Custom endpoints for self-hosted Gitlab
-
-Change these default values if you use a self-hosted instance of Gitlab:
-
-```php
-// Gitlab oauth2 authorize url
-define('GITLAB_OAUTH_AUTHORIZE_URL', 'https://gitlab.com/oauth/authorize');
-
-// Gitlab oauth2 token url
-define('GITLAB_OAUTH_TOKEN_URL', 'https://gitlab.com/oauth/token');
-
-// Gitlab API url endpoint (don't forget the slash at the end)
-define('GITLAB_API_URL', 'https://gitlab.com/api/v3/');
-```
-
-Notes
------
-
-Kanboard uses these information from your Gitlab profile:
-
-- Full name
-- Email address
-- Gitlab unique id
-
-The Gitlab unique id is used to link the local user account and the Gitlab account.
-
-Known issues
-------------
-
-Gitlab OAuth will work only with url rewrite enabled. At the moment, Gitlab doesn't support callback url with query string parameters. See [Gitlab issue](https://gitlab.com/gitlab-org/gitlab-ce/issues/2443)
diff --git a/doc/index.markdown b/doc/index.markdown
index f1134137..be1baa16 100644
--- a/doc/index.markdown
+++ b/doc/index.markdown
@@ -118,8 +118,6 @@ Technical details
- [LDAP authentication](ldap-authentication.markdown)
- [LDAP group synchronization](ldap-group-sync.markdown)
- [LDAP parameters](ldap-parameters.markdown)
-- [Github authentication](github-authentication.markdown)
-- [Gitlab authentication](gitlab-authentication.markdown)
- [Reverse proxy authentication](reverse-proxy-authentication.markdown)
### Contributors
diff --git a/tests/units/Auth/GithubAuthTest.php b/tests/units/Auth/GithubAuthTest.php
deleted file mode 100644
index e9ab066f..00000000
--- a/tests/units/Auth/GithubAuthTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-container);
- $this->assertEquals('Github', $provider->getName());
- }
-
- public function testAuthenticationSuccessful()
- {
- $profile = array(
- 'id' => 1234,
- 'email' => 'test@localhost',
- 'name' => 'Test',
- );
-
- $provider = $this
- ->getMockBuilder('\Kanboard\Auth\GithubAuth')
- ->setConstructorArgs(array($this->container))
- ->setMethods(array(
- 'getProfile',
- ))
- ->getMock();
-
- $provider->expects($this->once())
- ->method('getProfile')
- ->will($this->returnValue($profile));
-
- $this->assertInstanceOf('Kanboard\Auth\GithubAuth', $provider->setCode('1234'));
-
- $this->assertTrue($provider->authenticate());
-
- $user = $provider->getUser();
- $this->assertInstanceOf('Kanboard\User\GithubUserProvider', $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('github_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\GithubAuth')
- ->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 GithubAuth($this->container);
- $this->assertInstanceOf('Kanboard\Core\Http\OAuth2', $provider->getService());
- }
-
- public function testUnlink()
- {
- $userModel = new User($this->container);
- $provider = new GithubAuth($this->container);
-
- $this->assertEquals(2, $userModel->create(array('username' => 'test', 'github_id' => '1234')));
- $this->assertNotEmpty($userModel->getByExternalId('github_id', 1234));
-
- $this->assertTrue($provider->unlink(2));
- $this->assertEmpty($userModel->getByExternalId('github_id', 1234));
- }
-}
diff --git a/tests/units/Auth/GitlabAuthTest.php b/tests/units/Auth/GitlabAuthTest.php
deleted file mode 100644
index e3ae0bdd..00000000
--- a/tests/units/Auth/GitlabAuthTest.php
+++ /dev/null
@@ -1,89 +0,0 @@
-container);
- $this->assertEquals('Gitlab', $provider->getName());
- }
-
- public function testAuthenticationSuccessful()
- {
- $profile = array(
- 'id' => 1234,
- 'email' => 'test@localhost',
- 'name' => 'Test',
- );
-
- $provider = $this
- ->getMockBuilder('\Kanboard\Auth\GitlabAuth')
- ->setConstructorArgs(array($this->container))
- ->setMethods(array(
- 'getProfile',
- ))
- ->getMock();
-
- $provider->expects($this->once())
- ->method('getProfile')
- ->will($this->returnValue($profile));
-
- $this->assertInstanceOf('Kanboard\Auth\GitlabAuth', $provider->setCode('1234'));
-
- $this->assertTrue($provider->authenticate());
-
- $user = $provider->getUser();
- $this->assertInstanceOf('Kanboard\User\GitlabUserProvider', $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('gitlab_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\GitlabAuth')
- ->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 GitlabAuth($this->container);
- $this->assertInstanceOf('Kanboard\Core\Http\OAuth2', $provider->getService());
- }
-
- public function testUnlink()
- {
- $userModel = new User($this->container);
- $provider = new GitlabAuth($this->container);
-
- $this->assertEquals(2, $userModel->create(array('username' => 'test', 'gitlab_id' => '1234')));
- $this->assertNotEmpty($userModel->getByExternalId('gitlab_id', 1234));
-
- $this->assertTrue($provider->unlink(2));
- $this->assertEmpty($userModel->getByExternalId('gitlab_id', 1234));
- }
-}
diff --git a/tests/units/Base.php b/tests/units/Base.php
index 7ac83289..1eb9a9df 100644
--- a/tests/units/Base.php
+++ b/tests/units/Base.php
@@ -10,6 +10,7 @@ use SimpleLogger\Logger;
use SimpleLogger\File;
use Kanboard\Core\Session\FlashMessage;
use Kanboard\Core\Session\SessionStorage;
+use Kanboard\Core\Action\ActionManager;
class FakeHttpClient
{
@@ -104,6 +105,7 @@ abstract class Base extends PHPUnit_Framework_TestCase
->getMock();
$this->container['sessionStorage'] = new SessionStorage;
+ $this->container['actionManager'] = new ActionManager($this->container);
$this->container['flash'] = function($c) {
return new FlashMessage($c);
--
cgit v1.2.3
From e31dbe18ce4f156c7a0fcb286c60c9b2617c2f47 Mon Sep 17 00:00:00 2001
From: Frederic Guillot
Date: Sat, 30 Jan 2016 07:47:16 -0500
Subject: Load ActionProvider in unit tests
---
doc/config.markdown | 28 ----------------------
.../AverageTimeSpentColumnAnalyticTest.php | 3 ++-
tests/units/Base.php | 6 ++---
3 files changed, 5 insertions(+), 32 deletions(-)
(limited to 'doc')
diff --git a/doc/config.markdown b/doc/config.markdown
index 393efbae..92ff2217 100644
--- a/doc/config.markdown
+++ b/doc/config.markdown
@@ -174,34 +174,6 @@ define('LDAP_GROUP_FILTER', '');
define('LDAP_GROUP_ATTRIBUTE_NAME', 'cn');
```
-Google Authentication settings
-------------------------------
-
-```php
-// Enable/disable Google authentication
-define('GOOGLE_AUTH', false);
-
-// Google client id (Get this value from the Google developer console)
-define('GOOGLE_CLIENT_ID', '');
-
-// Google client secret key (Get this value from the Google developer console)
-define('GOOGLE_CLIENT_SECRET', '');
-```
-
-Github Authentication settings
-------------------------------
-
-```php
-// Enable/disable GitHub authentication
-define('GITHUB_AUTH', false);
-
-// GitHub client id (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_ID', '');
-
-// GitHub client secret key (Copy it from your settings -> Applications -> Developer applications)
-define('GITHUB_CLIENT_SECRET', '');
-```
-
Reverse-Proxy Authentication settings
-------------------------------------
diff --git a/tests/units/Analytic/AverageTimeSpentColumnAnalyticTest.php b/tests/units/Analytic/AverageTimeSpentColumnAnalyticTest.php
index 75cb181d..8eb370a2 100644
--- a/tests/units/Analytic/AverageTimeSpentColumnAnalyticTest.php
+++ b/tests/units/Analytic/AverageTimeSpentColumnAnalyticTest.php
@@ -16,13 +16,14 @@ class AverageTimeSpentColumnAnalyticTest extends Base
$taskCreationModel = new TaskCreation($this->container);
$projectModel = new Project($this->container);
$averageLeadCycleTimeAnalytic = new AverageTimeSpentColumnAnalytic($this->container);
- $now = time();
$this->assertEquals(1, $projectModel->create(array('name' => 'test1')));
$this->assertEquals(1, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test')));
$this->assertEquals(2, $taskCreationModel->create(array('project_id' => 1, 'title' => 'test')));
+ $now = time();
+
$this->container['db']->table(Task::TABLE)->eq('id', 1)->update(array('date_completed' => $now + 3600));
$this->container['db']->table(Task::TABLE)->eq('id', 2)->update(array('date_completed' => $now + 1800));
diff --git a/tests/units/Base.php b/tests/units/Base.php
index 1eb9a9df..bfcef418 100644
--- a/tests/units/Base.php
+++ b/tests/units/Base.php
@@ -10,7 +10,7 @@ use SimpleLogger\Logger;
use SimpleLogger\File;
use Kanboard\Core\Session\FlashMessage;
use Kanboard\Core\Session\SessionStorage;
-use Kanboard\Core\Action\ActionManager;
+use Kanboard\ServiceProvider\ActionProvider;
class FakeHttpClient
{
@@ -105,9 +105,9 @@ abstract class Base extends PHPUnit_Framework_TestCase
->getMock();
$this->container['sessionStorage'] = new SessionStorage;
- $this->container['actionManager'] = new ActionManager($this->container);
+ $this->container->register(new ActionProvider);
- $this->container['flash'] = function($c) {
+ $this->container['flash'] = function ($c) {
return new FlashMessage($c);
};
}
--
cgit v1.2.3
From eaf2b0949be390dea6ec8b035773c7061eac4531 Mon Sep 17 00:00:00 2001
From: Frederic Guillot
Date: Mon, 1 Feb 2016 19:27:28 -0500
Subject: Add new merge hook to override default form values
---
app/Controller/Gantt.php | 14 +++++++++-----
app/Controller/Taskcreation.php | 2 ++
app/Controller/Taskmodification.php | 1 +
doc/plugin-hooks.markdown | 20 ++++++++++++++++++++
4 files changed, 32 insertions(+), 5 deletions(-)
(limited to 'doc')
diff --git a/app/Controller/Gantt.php b/app/Controller/Gantt.php
index b1dc2b7e..2d1edc08 100644
--- a/app/Controller/Gantt.php
+++ b/app/Controller/Gantt.php
@@ -101,14 +101,18 @@ class Gantt extends Base
{
$project = $this->getProject();
+ $values = $values + array(
+ 'project_id' => $project['id'],
+ 'column_id' => $this->board->getFirstColumn($project['id']),
+ 'position' => 1
+ );
+
+ $values = $this->hook->merge('controller:task:form:default', $values, array('default_values' => $values));
+
$this->response->html($this->template->render('gantt/task_creation', array(
'project' => $project,
'errors' => $errors,
- 'values' => $values + array(
- 'project_id' => $project['id'],
- 'column_id' => $this->board->getFirstColumn($project['id']),
- 'position' => 1
- ),
+ 'values' => $values,
'users_list' => $this->projectUserRole->getAssignableUsersList($project['id'], true, false, true),
'colors_list' => $this->color->getList(),
'categories_list' => $this->category->getList($project['id']),
diff --git a/app/Controller/Taskcreation.php b/app/Controller/Taskcreation.php
index 396d5f6f..6f5253eb 100644
--- a/app/Controller/Taskcreation.php
+++ b/app/Controller/Taskcreation.php
@@ -27,6 +27,8 @@ class Taskcreation extends Base
'color_id' => $this->color->getDefaultColor(),
'owner_id' => $this->userSession->getId(),
);
+
+ $values = $this->hook->merge('controller:task:form:default', $values, array('default_values' => $values));
}
$this->response->html($this->template->render('task_creation/form', array(
diff --git a/app/Controller/Taskmodification.php b/app/Controller/Taskmodification.php
index dc368390..cae1d8ee 100644
--- a/app/Controller/Taskmodification.php
+++ b/app/Controller/Taskmodification.php
@@ -100,6 +100,7 @@ class Taskmodification extends Base
if (empty($values)) {
$values = $task;
+ $values = $this->hook->merge('controller:task:form:default', $values, array('default_values' => $values));
}
$this->dateParser->format($values, array('date_due'));
diff --git a/doc/plugin-hooks.markdown b/doc/plugin-hooks.markdown
index 6e9718d9..eac027c2 100644
--- a/doc/plugin-hooks.markdown
+++ b/doc/plugin-hooks.markdown
@@ -58,8 +58,28 @@ class Plugin extends Base
}
```
+Example to override default values for task forms:
+
+```php
+class Plugin extends Base
+{
+ public function initialize()
+ {
+ $this->hook->on('controller:task:form:default', function (array $default_values) {
+ return empty($default_values['score']) ? array('score' => 4) : array();
+ });
+ }
+}
+```
+
List of merging hooks:
+#### controller:task:form:default
+
+- Override default values for task forms
+- Arguments:
+ - `$default_values`: actual default values (array)
+
#### controller:calendar:project:events
- Add more events to the project calendar
--
cgit v1.2.3
From d76b7e16f70b7f1337f0636516c687dc02d7b77b Mon Sep 17 00:00:00 2001
From: Frederic Guillot
Date: Mon, 1 Feb 2016 20:51:52 -0500
Subject: Add documentation for external links plugin API
---
doc/plugin-external-link.markdown | 78 +++++++++++++++++++++++++++++++++++++++
doc/plugins.markdown | 1 +
2 files changed, 79 insertions(+)
create mode 100644 doc/plugin-external-link.markdown
(limited to 'doc')
diff --git a/doc/plugin-external-link.markdown b/doc/plugin-external-link.markdown
new file mode 100644
index 00000000..36252aff
--- /dev/null
+++ b/doc/plugin-external-link.markdown
@@ -0,0 +1,78 @@
+External Link Providers
+=======================
+
+This functionality allows you to link a task to additional items stored on another system.
+
+For example, you can link a task to:
+
+- Traditional web page
+- Attachment (PDF documents stored on the web, archive...)
+- Any ticketing system (bug tracker, customer support ticket...)
+
+Each item has a type, a URL, a dependency type and a title.
+
+By default, Kanboard includes two kinds of providers:
+
+- Web Link: You copy and paste a link and Kanboard will fetch the page title automatically
+- Attachment: Link to anything that is not a web page
+
+Workflow
+--------
+
+1. The end-user copy and paste the URL to the form and submit
+2. If the link type is "auto", Kanboard will loop through all providers registered until there is a match
+3. Then, the link provider returns a object that implements the interface `ExternalLinkInterface`
+4. A form is shown to the user with all pre-filled data before to save the link
+
+Interfaces
+----------
+
+To implement a new link provider from a plugin, you need to create 2 classes that implement those interfaces:
+
+- `Kanboard\Core\ExternalLink\ExternalLinkProviderInterface`
+- `Kanboard\Core\ExternalLink\ExternalLinkInterface`
+
+### ExternalLinkProviderInterface
+
+| Method | Usage |
+|----------------------------|-----------------------------------------------------------------|
+| `getName()` | Get provider name (label) |
+| `getType()` | Get link type (will be saved in the database) |
+| `getDependencies()` | Get a dictionary of supported dependency types by the provider |
+| `setUserTextInput($input)` | Set text entered by the user |
+| `match()` | Return true if the provider can parse correctly the user input |
+| `getLink()` | Get the link found with the properties |
+
+### ExternalLinkInterface
+
+| Method | Usage |
+|-------------------|------------------|
+| `getTitle()` | Get link title |
+| `getUrl()` | Get link URL |
+| `setUrl($url)` | Set link URL |
+
+Register a new link provider
+----------------------------
+
+In your `Plugin.php`, just call the method `register()` from the object `ExternalLinkManager`:
+
+```php
+externalLinkManager->register(new MyLinkProvider());
+ }
+}
+```
+
+Examples
+--------
+
+- Kanboard includes the default providers "WebLink" and "Attachment"
diff --git a/doc/plugins.markdown b/doc/plugins.markdown
index f3f922f3..55575612 100644
--- a/doc/plugins.markdown
+++ b/doc/plugins.markdown
@@ -21,6 +21,7 @@ Plugin creators should specify explicitly the compatible versions of Kanboard. I
- [Authentication plugin registration](plugin-authentication.markdown)
- [Authorization Architecture](plugin-authorization-architecture.markdown)
- [Custom Group Providers](plugin-group-provider.markdown)
+- [External Link Providers](plugin-external-link.markdown)
- [LDAP client](plugin-ldap-client.markdown)
Examples of plugins
--
cgit v1.2.3