Run php-cs-fixer on the code base

This commit is contained in:
Frederic Guillot
2015-10-17 10:09:03 -04:00
parent b40190ee9f
commit 8c532efd5f
147 changed files with 465 additions and 772 deletions

View File

@@ -67,7 +67,6 @@ class TaskEmail extends Base
$user = $this->user->getById($this->getParam('user_id')); $user = $this->user->getById($this->getParam('user_id'));
if (! empty($user['email'])) { if (! empty($user['email'])) {
$task = $this->taskFinder->getDetails($data['task_id']); $task = $this->taskFinder->getDetails($data['task_id']);
$this->emailClient->send( $this->emailClient->send(

View File

@@ -35,10 +35,9 @@ class Action extends \Kanboard\Core\Base
$actions = $this->action->getAllByProject($project_id); $actions = $this->action->getAllByProject($project_id);
foreach ($actions as $index => $action) { foreach ($actions as $index => $action) {
$params = array(); $params = array();
foreach($action['params'] as $param) { foreach ($action['params'] as $param) {
$params[$param['name']] = $param['value']; $params[$param['name']] = $param['value'];
} }
@@ -57,7 +56,7 @@ class Action extends \Kanboard\Core\Base
'params' => $params, 'params' => $params,
); );
list($valid,) = $this->action->validateCreation($values); list($valid, ) = $this->action->validateCreation($values);
if (! $valid) { if (! $valid) {
return false; return false;
@@ -80,14 +79,14 @@ class Action extends \Kanboard\Core\Base
$required_params = $action->getActionRequiredParameters(); $required_params = $action->getActionRequiredParameters();
// Check missing parameters // Check missing parameters
foreach($required_params as $param => $value) { foreach ($required_params as $param => $value) {
if (! isset($params[$param])) { if (! isset($params[$param])) {
return false; return false;
} }
} }
// Check extra parameters // Check extra parameters
foreach($params as $param => $value) { foreach ($params as $param => $value) {
if (! isset($required_params[$param])) { if (! isset($required_params[$param])) {
return false; return false;
} }

View File

@@ -29,11 +29,9 @@ class Auth extends Base
if ($username !== 'jsonrpc' && ! $this->authentication->hasCaptcha($username) && $this->authentication->authenticate($username, $password)) { if ($username !== 'jsonrpc' && ! $this->authentication->hasCaptcha($username) && $this->authentication->authenticate($username, $password)) {
$this->checkProcedurePermission(true, $method); $this->checkProcedurePermission(true, $method);
$this->userSession->refresh($this->user->getByUsername($username)); $this->userSession->refresh($this->user->getByUsername($username));
} } elseif ($username === 'jsonrpc' && $password === $this->config->get('api_token')) {
else if ($username === 'jsonrpc' && $password === $this->config->get('api_token')) {
$this->checkProcedurePermission(false, $method); $this->checkProcedurePermission(false, $method);
} } else {
else {
throw new AuthenticationFailure('Wrong credentials'); throw new AuthenticationFailure('Wrong credentials');
} }
} }

View File

@@ -50,8 +50,7 @@ abstract class Base extends \Kanboard\Core\Base
if ($is_user && ! $is_both_procedure && ! $is_user_procedure) { if ($is_user && ! $is_both_procedure && ! $is_user_procedure) {
throw new AccessDeniedException('Permission denied'); throw new AccessDeniedException('Permission denied');
} } elseif (! $is_user && ! $is_both_procedure && $is_user_procedure) {
else if (! $is_user && ! $is_both_procedure && $is_user_procedure) {
throw new AccessDeniedException('Permission denied'); throw new AccessDeniedException('Permission denied');
} }

View File

@@ -32,7 +32,7 @@ class Category extends \Kanboard\Core\Base
'name' => $name, 'name' => $name,
); );
list($valid,) = $this->category->validateCreation($values); list($valid, ) = $this->category->validateCreation($values);
return $valid ? $this->category->create($values) : false; return $valid ? $this->category->create($values) : false;
} }
@@ -43,7 +43,7 @@ class Category extends \Kanboard\Core\Base
'name' => $name, 'name' => $name,
); );
list($valid,) = $this->category->validateModification($values); list($valid, ) = $this->category->validateModification($values);
return $valid && $this->category->update($values); return $valid && $this->category->update($values);
} }
} }

View File

@@ -33,7 +33,7 @@ class Comment extends \Kanboard\Core\Base
'comment' => $content, 'comment' => $content,
); );
list($valid,) = $this->comment->validateCreation($values); list($valid, ) = $this->comment->validateCreation($values);
return $valid ? $this->comment->create($values) : false; return $valid ? $this->comment->create($values) : false;
} }
@@ -45,7 +45,7 @@ class Comment extends \Kanboard\Core\Base
'comment' => $content, 'comment' => $content,
); );
list($valid,) = $this->comment->validateModification($values); list($valid, ) = $this->comment->validateModification($values);
return $valid && $this->comment->update($values); return $valid && $this->comment->update($values);
} }
} }

View File

@@ -25,14 +25,12 @@ class File extends \Kanboard\Core\Base
public function downloadFile($file_id) public function downloadFile($file_id)
{ {
try { try {
$file = $this->file->getById($file_id); $file = $this->file->getById($file_id);
if (! empty($file)) { if (! empty($file)) {
return base64_encode($this->objectStorage->get($file['path'])); return base64_encode($this->objectStorage->get($file['path']));
} }
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
} }

View File

@@ -72,7 +72,7 @@ class Link extends \Kanboard\Core\Base
'opposite_label' => $opposite_label, 'opposite_label' => $opposite_label,
); );
list($valid,) = $this->link->validateCreation($values); list($valid, ) = $this->link->validateCreation($values);
return $valid ? $this->link->create($label, $opposite_label) : false; return $valid ? $this->link->create($label, $opposite_label) : false;
} }
@@ -93,7 +93,7 @@ class Link extends \Kanboard\Core\Base
'label' => $label, 'label' => $label,
); );
list($valid,) = $this->link->validateModification($values); list($valid, ) = $this->link->validateModification($values);
return $valid && $this->link->update($values); return $valid && $this->link->update($values);
} }

View File

@@ -45,7 +45,7 @@ class Me extends Base
'is_private' => 1, 'is_private' => 1,
); );
list($valid,) = $this->project->validateCreation($values); list($valid, ) = $this->project->validateCreation($values);
return $valid ? $this->project->create($values, $this->userSession->getId(), true) : false; return $valid ? $this->project->create($values, $this->userSession->getId(), true) : false;
} }

View File

@@ -69,7 +69,7 @@ class Project extends Base
'description' => $description 'description' => $description
); );
list($valid,) = $this->project->validateCreation($values); list($valid, ) = $this->project->validateCreation($values);
return $valid ? $this->project->create($values) : false; return $valid ? $this->project->create($values) : false;
} }
@@ -81,7 +81,7 @@ class Project extends Base
'description' => $description 'description' => $description
); );
list($valid,) = $this->project->validateModification($values); list($valid, ) = $this->project->validateModification($values);
return $valid && $this->project->update($values); return $valid && $this->project->update($values);
} }
} }

View File

@@ -36,7 +36,7 @@ class Subtask extends \Kanboard\Core\Base
'status' => $status, 'status' => $status,
); );
list($valid,) = $this->subtask->validateCreation($values); list($valid, ) = $this->subtask->validateCreation($values);
return $valid ? $this->subtask->create($values) : false; return $valid ? $this->subtask->create($values) : false;
} }
@@ -58,7 +58,7 @@ class Subtask extends \Kanboard\Core\Base
} }
} }
list($valid,) = $this->subtask->validateApiModification($values); list($valid, ) = $this->subtask->validateApiModification($values);
return $valid && $this->subtask->update($values); return $valid && $this->subtask->update($values);
} }
} }

View File

@@ -91,7 +91,7 @@ class Task extends Base
'reference' => $reference, 'reference' => $reference,
); );
list($valid,) = $this->taskValidator->validateCreation($values); list($valid, ) = $this->taskValidator->validateCreation($values);
return $valid ? $this->taskCreation->create($values) : false; return $valid ? $this->taskCreation->create($values) : false;
} }

View File

@@ -39,7 +39,7 @@ class User extends \Kanboard\Core\Base
'is_project_admin' => $is_project_admin, 'is_project_admin' => $is_project_admin,
); );
list($valid,) = $this->user->validateCreation($values); list($valid, ) = $this->user->validateCreation($values);
return $valid ? $this->user->create($values) : false; return $valid ? $this->user->create($values) : false;
} }
@@ -81,7 +81,7 @@ class User extends \Kanboard\Core\Base
} }
} }
list($valid,) = $this->user->validateApiModification($values); list($valid, ) = $this->user->validateApiModification($values);
return $valid && $this->user->update($values); return $valid && $this->user->update($values);
} }
} }

View File

@@ -217,7 +217,6 @@ class Ldap extends Base
$result = $this->findUser($username, $password); $result = $this->findUser($username, $password);
if (is_array($result)) { if (is_array($result)) {
$user = $this->user->getByUsername($username); $user = $this->user->getByUsername($username);
if (! empty($user)) { if (! empty($user)) {
@@ -226,14 +225,12 @@ class Ldap extends Base
if ($user['is_ldap_user'] == 0) { if ($user['is_ldap_user'] == 0) {
return false; return false;
} }
} } else {
else {
// We create automatically a new user // We create automatically a new user
if ($this->isLdapAccountCreationEnabled() && $this->user->create($result) !== false) { if ($this->isLdapAccountCreationEnabled() && $this->user->create($result) !== false) {
$user = $this->user->getByUsername($username); $user = $this->user->getByUsername($username);
} } else {
else {
return false; return false;
} }
} }
@@ -319,12 +316,10 @@ class Ldap extends Base
if ($this->getLdapBindType() === 'user') { if ($this->getLdapBindType() === 'user') {
$ldap_username = sprintf($this->getLdapUsername(), $username); $ldap_username = sprintf($this->getLdapUsername(), $username);
$ldap_password = $password; $ldap_password = $password;
} } elseif ($this->getLdapBindType() === 'proxy') {
else if ($this->getLdapBindType() === 'proxy') {
$ldap_username = $this->getLdapUsername(); $ldap_username = $this->getLdapUsername();
$ldap_password = $this->getLdapPassword(); $ldap_password = $this->getLdapPassword();
} } else {
else {
$ldap_username = null; $ldap_username = null;
$ldap_password = null; $ldap_password = null;
} }
@@ -486,11 +481,9 @@ class Ldap extends Base
{ {
if (! empty($username) && ! empty($email)) { if (! empty($username) && ! empty($email)) {
return '(&('.$this->getLdapUserPattern($username).')('.$this->getLdapAccountEmail().'='.$email.'))'; return '(&('.$this->getLdapUserPattern($username).')('.$this->getLdapAccountEmail().'='.$email.'))';
} } elseif (! empty($username)) {
else if (! empty($username)) {
return $this->getLdapUserPattern($username); return $this->getLdapUserPattern($username);
} } elseif (! empty($email)) {
else if (! empty($email)) {
return '('.$this->getLdapAccountEmail().'='.$email.')'; return '('.$this->getLdapAccountEmail().'='.$email.')';
} }
@@ -508,7 +501,7 @@ class Ldap extends Base
*/ */
private function getEntry(array $entries, $key, $default = '') private function getEntry(array $entries, $key, $default = '')
{ {
return isset($entries[0][$key][0]) ? $entries[0][$key][0] : $default; return isset($entries[0][$key][0]) ? $entries[0][$key][0] : $default;
} }
/** /**
@@ -522,6 +515,6 @@ class Ldap extends Base
*/ */
private function getEntries(array $entries, $key, $default = array()) private function getEntries(array $entries, $key, $default = array())
{ {
return isset($entries[0][$key]) ? $entries[0][$key] : $default; return isset($entries[0][$key]) ? $entries[0][$key] : $default;
} }
} }

View File

@@ -88,7 +88,6 @@ class RememberMe extends Base
$credentials = $this->readCookie(); $credentials = $this->readCookie();
if ($credentials !== false) { if ($credentials !== false) {
$record = $this->find($credentials['token'], $credentials['sequence']); $record = $this->find($credentials['token'], $credentials['sequence']);
if ($record) { if ($record) {
@@ -144,7 +143,6 @@ class RememberMe extends Base
$credentials = $this->readCookie(); $credentials = $this->readCookie();
if ($credentials !== false) { if ($credentials !== false) {
$this->deleteCookie(); $this->deleteCookie();
$this->db $this->db

View File

@@ -25,7 +25,6 @@ class LocaleComparator extends Base
$it->rewind(); $it->rewind();
while ($it->valid()) { while ($it->valid()) {
if (! $it->isDot() && substr($it->key(), -4) === '.php') { if (! $it->isDot() && substr($it->key(), -4) === '.php') {
$strings = array_merge($strings, $this->search($it->key())); $strings = array_merge($strings, $this->search($it->key()));
} }
@@ -72,7 +71,7 @@ class LocaleComparator extends Base
$strings = array_merge($strings, $matches[1]); $strings = array_merge($strings, $matches[1]);
} }
array_walk($strings, function(&$value) { array_walk($strings, function (&$value) {
$value = trim($value, "'"); $value = trim($value, "'");
$value = str_replace("\'", "'", $value); $value = str_replace("\'", "'", $value);
}); });

View File

@@ -23,9 +23,7 @@ class LocaleSync extends Base
$reference = include $reference_file; $reference = include $reference_file;
foreach (new DirectoryIterator('app/Locale') as $fileInfo) { foreach (new DirectoryIterator('app/Locale') as $fileInfo) {
if (! $fileInfo->isDot() && $fileInfo->isDir() && $fileInfo->getFilename() !== self::REF_LOCALE) { if (! $fileInfo->isDot() && $fileInfo->isDir() && $fileInfo->getFilename() !== self::REF_LOCALE) {
$filename = 'app/Locale/'.$fileInfo->getFilename().'/translations.php'; $filename = 'app/Locale/'.$fileInfo->getFilename().'/translations.php';
echo $fileInfo->getFilename().' ('.$filename.')'.PHP_EOL; echo $fileInfo->getFilename().' ('.$filename.')'.PHP_EOL;
@@ -42,11 +40,9 @@ class LocaleSync extends Base
$output .= 'return array('.PHP_EOL; $output .= 'return array('.PHP_EOL;
foreach ($reference as $key => $value) { foreach ($reference as $key => $value) {
if (! empty($outdated[$key])) { if (! empty($outdated[$key])) {
$output .= " '".str_replace("'", "\'", $key)."' => '".str_replace("'", "\'", $outdated[$key])."',\n"; $output .= " '".str_replace("'", "\'", $key)."' => '".str_replace("'", "\'", $outdated[$key])."',\n";
} } else {
else {
$output .= " // '".str_replace("'", "\'", $key)."' => '',\n"; $output .= " // '".str_replace("'", "\'", $key)."' => '',\n";
} }
} }

View File

@@ -115,14 +115,12 @@ class Action extends Base
*/ */
private function doCreation(array $project, array $values) private function doCreation(array $project, array $values)
{ {
list($valid,) = $this->action->validateCreation($values); list($valid, ) = $this->action->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->action->create($values) !== false) { if ($this->action->create($values) !== false) {
$this->session->flash(t('Your automatic action have been created successfully.')); $this->session->flash(t('Your automatic action have been created successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to create your automatic action.')); $this->session->flashError(t('Unable to create your automatic action.'));
} }
} }

View File

@@ -236,8 +236,7 @@ class App extends Base
// Search by task id or by title // Search by task id or by title
if (ctype_digit($search)) { if (ctype_digit($search)) {
$filter->filterById($search); $filter->filterById($search);
} } else {
else {
$filter->filterByTitle($search); $filter->filterByTitle($search);
} }

View File

@@ -43,7 +43,6 @@ class Auth extends Base
list($valid, $errors) = $this->authentication->validateForm($values); list($valid, $errors) = $this->authentication->validateForm($values);
if ($valid) { if ($valid) {
if (! empty($this->session['login_redirect']) && ! filter_var($this->session['login_redirect'], FILTER_VALIDATE_URL)) { if (! empty($this->session['login_redirect']) && ! filter_var($this->session['login_redirect'], FILTER_VALIDATE_URL)) {
$redirect = $this->session['login_redirect']; $redirect = $this->session['login_redirect'];
unset($this->session['login_redirect']); unset($this->session['login_redirect']);

View File

@@ -60,7 +60,6 @@ abstract class Base extends \Kanboard\Core\Base
public function __destruct() public function __destruct()
{ {
if (DEBUG) { if (DEBUG) {
foreach ($this->container['db']->getLogMessages() as $message) { foreach ($this->container['db']->getLogMessages() as $message) {
$this->container['logger']->debug($message); $this->container['logger']->debug($message);
} }
@@ -123,7 +122,6 @@ abstract class Base extends \Kanboard\Core\Base
public function handleAuthentication() public function handleAuthentication()
{ {
if (! $this->authentication->isAuthenticated()) { if (! $this->authentication->isAuthenticated()) {
if ($this->request->isAjax()) { if ($this->request->isAjax()) {
$this->response->text('Not Authorized', 401); $this->response->text('Not Authorized', 401);
} }
@@ -143,7 +141,6 @@ abstract class Base extends \Kanboard\Core\Base
$ignore = ($controller === 'twofactor' && in_array($action, array('code', 'check'))) || ($controller === 'auth' && $action === 'logout'); $ignore = ($controller === 'twofactor' && in_array($action, array('code', 'check'))) || ($controller === 'auth' && $action === 'logout');
if ($ignore === false && $this->userSession->has2FA() && ! $this->userSession->check2FA()) { if ($ignore === false && $this->userSession->has2FA() && ! $this->userSession->check2FA()) {
if ($this->request->isAjax()) { if ($this->request->isAjax()) {
$this->response->text('Not Authorized', 401); $this->response->text('Not Authorized', 401);
} }

View File

@@ -239,12 +239,11 @@ class Board extends Base
{ {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid,) = $this->taskValidator->validateAssigneeModification($values); list($valid, ) = $this->taskValidator->validateAssigneeModification($values);
if ($valid && $this->taskModification->update($values)) { if ($valid && $this->taskModification->update($values)) {
$this->session->flash(t('Task updated successfully.')); $this->session->flash(t('Task updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your task.')); $this->session->flashError(t('Unable to update your task.'));
} }
@@ -277,12 +276,11 @@ class Board extends Base
{ {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid,) = $this->taskValidator->validateCategoryModification($values); list($valid, ) = $this->taskValidator->validateCategoryModification($values);
if ($valid && $this->taskModification->update($values)) { if ($valid && $this->taskModification->update($values)) {
$this->session->flash(t('Task updated successfully.')); $this->session->flash(t('Task updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your task.')); $this->session->flashError(t('Unable to update your task.'));
} }
@@ -365,8 +363,7 @@ class Board extends Base
if ($this->request->isAjax()) { if ($this->request->isAjax()) {
$this->response->html($this->renderBoard($project_id)); $this->response->html($this->renderBoard($project_id));
} } else {
else {
$this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $project_id))); $this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $project_id)));
} }
} }

View File

@@ -44,8 +44,7 @@ class Calendar extends Base
// Tasks // Tasks
if ($this->config->get('calendar_project_tasks', 'date_started') === 'date_creation') { if ($this->config->get('calendar_project_tasks', 'date_started') === 'date_creation') {
$events = $filter->copy()->filterByCreationDateRange($start, $end)->setColumns('date_creation', 'date_completed')->format(); $events = $filter->copy()->filterByCreationDateRange($start, $end)->setColumns('date_creation', 'date_completed')->format();
} } else {
else {
$events = $filter->copy()->filterByStartDateRange($start, $end)->setColumns('date_started', 'date_completed')->format(); $events = $filter->copy()->filterByStartDateRange($start, $end)->setColumns('date_started', 'date_completed')->format();
} }
@@ -79,8 +78,7 @@ class Calendar extends Base
// Tasks // Tasks
if ($this->config->get('calendar_user_tasks', 'date_started') === 'date_creation') { if ($this->config->get('calendar_user_tasks', 'date_started') === 'date_creation') {
$events = array_merge($events, $filter->copy()->filterByCreationDateRange($start, $end)->setColumns('date_creation', 'date_completed')->format()); $events = array_merge($events, $filter->copy()->filterByCreationDateRange($start, $end)->setColumns('date_creation', 'date_completed')->format());
} } else {
else {
$events = array_merge($events, $filter->copy()->filterByStartDateRange($start, $end)->setColumns('date_started', 'date_completed')->format()); $events = array_merge($events, $filter->copy()->filterByStartDateRange($start, $end)->setColumns('date_started', 'date_completed')->format());
} }
@@ -106,7 +104,6 @@ class Calendar extends Base
public function save() public function save()
{ {
if ($this->request->isAjax() && $this->request->isPost()) { if ($this->request->isAjax() && $this->request->isPost()) {
$values = $this->request->getJson(); $values = $this->request->getJson();
$this->taskModification->update(array( $this->taskModification->update(array(

View File

@@ -60,12 +60,10 @@ class Category extends Base
list($valid, $errors) = $this->category->validateCreation($values); list($valid, $errors) = $this->category->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->category->create($values)) { if ($this->category->create($values)) {
$this->session->flash(t('Your category have been created successfully.')); $this->session->flash(t('Your category have been created successfully.'));
$this->response->redirect($this->helper->url->to('category', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('category', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to create your category.')); $this->session->flashError(t('Unable to create your category.'));
} }
} }
@@ -104,12 +102,10 @@ class Category extends Base
list($valid, $errors) = $this->category->validateModification($values); list($valid, $errors) = $this->category->validateModification($values);
if ($valid) { if ($valid) {
if ($this->category->update($values)) { if ($this->category->update($values)) {
$this->session->flash(t('Your category have been updated successfully.')); $this->session->flash(t('Your category have been updated successfully.'));
$this->response->redirect($this->helper->url->to('category', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('category', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update your category.')); $this->session->flashError(t('Unable to update your category.'));
} }
} }

View File

@@ -54,12 +54,10 @@ class Column extends Base
list($valid, $errors) = $this->board->validateCreation($data); list($valid, $errors) = $this->board->validateCreation($data);
if ($valid) { if ($valid) {
if ($this->board->addColumn($project['id'], $data['title'], $data['task_limit'], $data['description'])) { if ($this->board->addColumn($project['id'], $data['title'], $data['task_limit'], $data['description'])) {
$this->session->flash(t('Board updated successfully.')); $this->session->flash(t('Board updated successfully.'));
$this->response->redirect($this->helper->url->to('column', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('column', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update this board.')); $this->session->flashError(t('Unable to update this board.'));
} }
} }
@@ -99,12 +97,10 @@ class Column extends Base
list($valid, $errors) = $this->board->validateModification($values); list($valid, $errors) = $this->board->validateModification($values);
if ($valid) { if ($valid) {
if ($this->board->updateColumn($values['id'], $values['title'], $values['task_limit'], $values['description'])) { if ($this->board->updateColumn($values['id'], $values['title'], $values['task_limit'], $values['description'])) {
$this->session->flash(t('Board updated successfully.')); $this->session->flash(t('Board updated successfully.'));
$this->response->redirect($this->helper->url->to('column', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('column', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update this board.')); $this->session->flashError(t('Unable to update this board.'));
} }
} }
@@ -160,8 +156,7 @@ class Column extends Base
if (! empty($column) && $this->board->removeColumn($column['id'])) { if (! empty($column) && $this->board->removeColumn($column['id'])) {
$this->session->flash(t('Column removed successfully.')); $this->session->flash(t('Column removed successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to remove this column.')); $this->session->flashError(t('Unable to remove this column.'));
} }

View File

@@ -81,11 +81,9 @@ class Comment extends Base
list($valid, $errors) = $this->comment->validateCreation($values); list($valid, $errors) = $this->comment->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->comment->create($values)) { if ($this->comment->create($values)) {
$this->session->flash(t('Comment added successfully.')); $this->session->flash(t('Comment added successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to create your comment.')); $this->session->flashError(t('Unable to create your comment.'));
} }
@@ -132,11 +130,9 @@ class Comment extends Base
list($valid, $errors) = $this->comment->validateModification($values); list($valid, $errors) = $this->comment->validateModification($values);
if ($valid) { if ($valid) {
if ($this->comment->update($values)) { if ($this->comment->update($values)) {
$this->session->flash(t('Comment updated successfully.')); $this->session->flash(t('Comment updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your comment.')); $this->session->flashError(t('Unable to update your comment.'));
} }
@@ -176,8 +172,7 @@ class Comment extends Base
if ($this->comment->remove($comment['id'])) { if ($this->comment->remove($comment['id'])) {
$this->session->flash(t('Comment removed successfully.')); $this->session->flash(t('Comment removed successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to remove this comment.')); $this->session->flashError(t('Unable to remove this comment.'));
} }

View File

@@ -37,7 +37,6 @@ class Config extends Base
private function common($redirect) private function common($redirect)
{ {
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
switch ($redirect) { switch ($redirect) {
@@ -55,8 +54,7 @@ class Config extends Base
if ($this->config->save($values)) { if ($this->config->save($values)) {
$this->config->reload(); $this->config->reload();
$this->session->flash(t('Settings saved successfully.')); $this->session->flash(t('Settings saved successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to save your settings.')); $this->session->flashError(t('Unable to save your settings.'));
} }

View File

@@ -54,12 +54,10 @@ class Currency extends Base
list($valid, $errors) = $this->currency->validate($values); list($valid, $errors) = $this->currency->validate($values);
if ($valid) { if ($valid) {
if ($this->currency->create($values['currency'], $values['rate'])) { if ($this->currency->create($values['currency'], $values['rate'])) {
$this->session->flash(t('The currency rate have been added successfully.')); $this->session->flash(t('The currency rate have been added successfully.'));
$this->response->redirect($this->helper->url->to('currency', 'index')); $this->response->redirect($this->helper->url->to('currency', 'index'));
} } else {
else {
$this->session->flashError(t('Unable to add this currency rate.')); $this->session->flashError(t('Unable to add this currency rate.'));
} }
} }
@@ -79,8 +77,7 @@ class Currency extends Base
if ($this->config->save($values)) { if ($this->config->save($values)) {
$this->config->reload(); $this->config->reload();
$this->session->flash(t('Settings saved successfully.')); $this->session->flash(t('Settings saved successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to save your settings.')); $this->session->flashError(t('Unable to save your settings.'));
} }

View File

@@ -46,8 +46,7 @@ class Customfilter extends Base
if ($this->customFilter->create($values)) { if ($this->customFilter->create($values)) {
$this->session->flash(t('Your custom filter have been created successfully.')); $this->session->flash(t('Your custom filter have been created successfully.'));
$this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to create your custom filter.')); $this->session->flashError(t('Unable to create your custom filter.'));
} }
} }
@@ -126,8 +125,7 @@ class Customfilter extends Base
if ($this->customFilter->update($values)) { if ($this->customFilter->update($values)) {
$this->session->flash(t('Your custom filter have been updated successfully.')); $this->session->flash(t('Your custom filter have been updated successfully.'));
$this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('customfilter', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update custom filter.')); $this->session->flashError(t('Unable to update custom filter.'));
} }
} }

View File

@@ -16,7 +16,7 @@ class Doc extends Base
{ {
$url = $this->helper->url; $url = $this->helper->url;
$data = file_get_contents($filename); $data = file_get_contents($filename);
list($title,) = explode("\n", $data, 2); list($title, ) = explode("\n", $data, 2);
$replaceUrl = function (array $matches) use ($url) { $replaceUrl = function (array $matches) use ($url) {
return '('.$url->to('doc', 'show', array('file' => str_replace('.markdown', '', $matches[1]))).')'; return '('.$url->to('doc', 'show', array('file' => str_replace('.markdown', '', $matches[1]))).')';

View File

@@ -22,7 +22,6 @@ class File extends Base
$task = $this->getTask(); $task = $this->getTask();
if ($this->request->isPost() && $this->file->uploadScreenshot($task['project_id'], $task['id'], $this->request->getValue('screenshot')) !== false) { if ($this->request->isPost() && $this->file->uploadScreenshot($task['project_id'], $task['id'], $this->request->getValue('screenshot')) !== false) {
$this->session->flash(t('Screenshot uploaded successfully.')); $this->session->flash(t('Screenshot uploaded successfully.'));
if ($this->request->getStringParam('redirect') === 'board') { if ($this->request->getStringParam('redirect') === 'board') {
@@ -77,7 +76,6 @@ class File extends Base
public function download() public function download()
{ {
try { try {
$task = $this->getTask(); $task = $this->getTask();
$file = $this->file->getById($this->request->getIntegerParam('file_id')); $file = $this->file->getById($this->request->getIntegerParam('file_id'));
@@ -87,8 +85,7 @@ class File extends Base
$this->response->forceDownload($file['name']); $this->response->forceDownload($file['name']);
$this->objectStorage->output($file['path']); $this->objectStorage->output($file['path']);
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
} }
} }
@@ -119,7 +116,6 @@ class File extends Base
public function image() public function image()
{ {
try { try {
$task = $this->getTask(); $task = $this->getTask();
$file = $this->file->getById($this->request->getIntegerParam('file_id')); $file = $this->file->getById($this->request->getIntegerParam('file_id'));
@@ -129,8 +125,7 @@ class File extends Base
$this->response->contentType($this->file->getImageMimeType($file['name'])); $this->response->contentType($this->file->getImageMimeType($file['name']));
$this->objectStorage->output($file['path']); $this->objectStorage->output($file['path']);
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
} }
} }
@@ -143,7 +138,6 @@ class File extends Base
public function thumbnail() public function thumbnail()
{ {
try { try {
$task = $this->getTask(); $task = $this->getTask();
$file = $this->file->getById($this->request->getIntegerParam('file_id')); $file = $this->file->getById($this->request->getIntegerParam('file_id'));
@@ -153,8 +147,7 @@ class File extends Base
$this->response->contentType('image/jpeg'); $this->response->contentType('image/jpeg');
$this->objectStorage->output($this->file->getThumbnailPath($file['path'])); $this->objectStorage->output($this->file->getThumbnailPath($file['path']));
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
} }
} }

View File

@@ -19,8 +19,7 @@ class Gantt extends Base
{ {
if ($this->userSession->isAdmin()) { if ($this->userSession->isAdmin()) {
$project_ids = $this->project->getAllIds(); $project_ids = $this->project->getAllIds();
} } else {
else {
$project_ids = $this->projectPermission->getMemberProjectIds($this->userSession->getId()); $project_ids = $this->projectPermission->getMemberProjectIds($this->userSession->getId());
} }
@@ -62,8 +61,7 @@ class Gantt extends Base
if ($sorting === 'date') { if ($sorting === 'date') {
$filter->getQuery()->asc(TaskModel::TABLE.'.date_started')->asc(TaskModel::TABLE.'.date_creation'); $filter->getQuery()->asc(TaskModel::TABLE.'.date_started')->asc(TaskModel::TABLE.'.date_creation');
} } else {
else {
$filter->getQuery()->asc('column_position')->asc(TaskModel::TABLE.'.position'); $filter->getQuery()->asc('column_position')->asc(TaskModel::TABLE.'.position');
} }
@@ -134,14 +132,12 @@ class Gantt extends Base
list($valid, $errors) = $this->taskValidator->validateCreation($values); list($valid, $errors) = $this->taskValidator->validateCreation($values);
if ($valid) { if ($valid) {
$task_id = $this->taskCreation->create($values); $task_id = $this->taskCreation->create($values);
if ($task_id !== false) { if ($task_id !== false) {
$this->session->flash(t('Task created successfully.')); $this->session->flash(t('Task created successfully.'));
$this->response->redirect($this->helper->url->to('gantt', 'project', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('gantt', 'project', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to create your task.')); $this->session->flashError(t('Unable to create your task.'));
} }
} }

View File

@@ -89,8 +89,7 @@ class Ical extends Base
->setColumns('date_creation', 'date_completed') ->setColumns('date_creation', 'date_completed')
->setCalendar($calendar) ->setCalendar($calendar)
->addDateTimeEvents(); ->addDateTimeEvents();
} } else {
else {
$filter $filter
->copy() ->copy()
->filterByStartDateRange($start, $end) ->filterByStartDateRange($start, $end)

View File

@@ -70,12 +70,10 @@ class Link extends Base
list($valid, $errors) = $this->link->validateCreation($values); list($valid, $errors) = $this->link->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->link->create($values['label'], $values['opposite_label']) !== false) { if ($this->link->create($values['label'], $values['opposite_label']) !== false) {
$this->session->flash(t('Link added successfully.')); $this->session->flash(t('Link added successfully.'));
$this->response->redirect($this->helper->url->to('link', 'index')); $this->response->redirect($this->helper->url->to('link', 'index'));
} } else {
else {
$this->session->flashError(t('Unable to create your link.')); $this->session->flashError(t('Unable to create your link.'));
} }
} }
@@ -116,8 +114,7 @@ class Link extends Base
if ($this->link->update($values)) { if ($this->link->update($values)) {
$this->session->flash(t('Link updated successfully.')); $this->session->flash(t('Link updated successfully.'));
$this->response->redirect($this->helper->url->to('link', 'index')); $this->response->redirect($this->helper->url->to('link', 'index'));
} } else {
else {
$this->session->flashError(t('Unable to update your link.')); $this->session->flashError(t('Unable to update your link.'));
} }
} }
@@ -152,8 +149,7 @@ class Link extends Base
if ($this->link->remove($link['id'])) { if ($this->link->remove($link['id'])) {
$this->session->flash(t('Link removed successfully.')); $this->session->flash(t('Link removed successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to remove this link.')); $this->session->flashError(t('Unable to remove this link.'));
} }

View File

@@ -52,8 +52,7 @@ class Oauth extends Base
if ($this->authentication->backend($backend)->unlink($this->userSession->getId())) { if ($this->authentication->backend($backend)->unlink($this->userSession->getId())) {
$this->session->flash(t('Your external account is not linked anymore to your profile.')); $this->session->flash(t('Your external account is not linked anymore to your profile.'));
} } else {
else {
$this->session->flashError(t('Unable to unlink your external account.')); $this->session->flashError(t('Unable to unlink your external account.'));
} }
@@ -71,8 +70,7 @@ class Oauth extends Base
if (! empty($code)) { if (! empty($code)) {
$this->step2($backend, $code); $this->step2($backend, $code);
} } else {
else {
$this->response->redirect($this->authentication->backend($backend)->getService()->getAuthorizationUrl()); $this->response->redirect($this->authentication->backend($backend)->getService()->getAuthorizationUrl());
} }
} }
@@ -102,8 +100,7 @@ class Oauth extends Base
{ {
if (empty($profile)) { if (empty($profile)) {
$this->session->flashError(t('External authentication failed')); $this->session->flashError(t('External authentication failed'));
} } else {
else {
$this->session->flash(t('Your external account is linked to your profile successfully.')); $this->session->flash(t('Your external account is linked to your profile successfully.'));
$this->authentication->backend($backend)->updateUser($this->userSession->getId(), $profile); $this->authentication->backend($backend)->updateUser($this->userSession->getId(), $profile);
} }
@@ -120,8 +117,7 @@ class Oauth extends Base
{ {
if (! empty($profile) && $this->authentication->backend($backend)->authenticate($profile['id'])) { if (! empty($profile) && $this->authentication->backend($backend)->authenticate($profile['id'])) {
$this->response->redirect($this->helper->url->to('app', 'index')); $this->response->redirect($this->helper->url->to('app', 'index'));
} } else {
else {
$this->response->html($this->template->layout('auth/index', array( $this->response->html($this->template->layout('auth/index', array(
'errors' => array('login' => t('External authentication failed')), 'errors' => array('login' => t('External authentication failed')),
'values' => array(), 'values' => array(),

View File

@@ -19,8 +19,7 @@ class Project extends Base
{ {
if ($this->userSession->isAdmin()) { if ($this->userSession->isAdmin()) {
$project_ids = $this->project->getAllIds(); $project_ids = $this->project->getAllIds();
} } else {
else {
$project_ids = $this->projectPermission->getMemberProjectIds($this->userSession->getId()); $project_ids = $this->projectPermission->getMemberProjectIds($this->userSession->getId());
} }
@@ -68,13 +67,11 @@ class Project extends Base
$switch = $this->request->getStringParam('switch'); $switch = $this->request->getStringParam('switch');
if ($switch === 'enable' || $switch === 'disable') { if ($switch === 'enable' || $switch === 'disable') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->project->{$switch.'PublicAccess'}($project['id'])) { if ($this->project->{$switch.'PublicAccess'}($project['id'])) {
$this->session->flash(t('Project updated successfully.')); $this->session->flash(t('Project updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update this project.')); $this->session->flashError(t('Unable to update this project.'));
} }
@@ -145,8 +142,7 @@ class Project extends Base
if (! $this->helper->user->isProjectAdministrationAllowed($project['id'])) { if (! $this->helper->user->isProjectAdministrationAllowed($project['id'])) {
unset($values['is_private']); unset($values['is_private']);
} }
} } elseif ($project['is_private'] == 1 && ! isset($values['is_private'])) {
else if ($project['is_private'] == 1 && ! isset($values['is_private'])) {
if ($this->helper->user->isProjectAdministrationAllowed($project['id'])) { if ($this->helper->user->isProjectAdministrationAllowed($project['id'])) {
$values += array('is_private' => 0); $values += array('is_private' => 0);
} }
@@ -155,12 +151,10 @@ class Project extends Base
list($valid, $errors) = $this->project->validateModification($values); list($valid, $errors) = $this->project->validateModification($values);
if ($valid) { if ($valid) {
if ($this->project->update($values)) { if ($this->project->update($values)) {
$this->session->flash(t('Project updated successfully.')); $this->session->flash(t('Project updated successfully.'));
$this->response->redirect($this->helper->url->to('project', 'edit', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('project', 'edit', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update this project.')); $this->session->flashError(t('Unable to update this project.'));
} }
} }
@@ -193,14 +187,12 @@ class Project extends Base
{ {
$project = $this->getProject(); $project = $this->getProject();
$values = $this->request->getValues() + array('is_everybody_allowed' => 0); $values = $this->request->getValues() + array('is_everybody_allowed' => 0);
list($valid,) = $this->projectPermission->validateProjectModification($values); list($valid, ) = $this->projectPermission->validateProjectModification($values);
if ($valid) { if ($valid) {
if ($this->project->update($values)) { if ($this->project->update($values)) {
$this->session->flash(t('Project updated successfully.')); $this->session->flash(t('Project updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update this project.')); $this->session->flashError(t('Unable to update this project.'));
} }
} }
@@ -216,14 +208,12 @@ class Project extends Base
public function allow() public function allow()
{ {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid,) = $this->projectPermission->validateUserModification($values); list($valid, ) = $this->projectPermission->validateUserModification($values);
if ($valid) { if ($valid) {
if ($this->projectPermission->addMember($values['project_id'], $values['user_id'])) { if ($this->projectPermission->addMember($values['project_id'], $values['user_id'])) {
$this->session->flash(t('Project updated successfully.')); $this->session->flash(t('Project updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update this project.')); $this->session->flashError(t('Unable to update this project.'));
} }
} }
@@ -246,14 +236,12 @@ class Project extends Base
'is_owner' => $this->request->getIntegerParam('is_owner'), 'is_owner' => $this->request->getIntegerParam('is_owner'),
); );
list($valid,) = $this->projectPermission->validateUserModification($values); list($valid, ) = $this->projectPermission->validateUserModification($values);
if ($valid) { if ($valid) {
if ($this->projectPermission->changeRole($values['project_id'], $values['user_id'], $values['is_owner'])) { if ($this->projectPermission->changeRole($values['project_id'], $values['user_id'], $values['is_owner'])) {
$this->session->flash(t('Project updated successfully.')); $this->session->flash(t('Project updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update this project.')); $this->session->flashError(t('Unable to update this project.'));
} }
} }
@@ -275,14 +263,12 @@ class Project extends Base
'user_id' => $this->request->getIntegerParam('user_id'), 'user_id' => $this->request->getIntegerParam('user_id'),
); );
list($valid,) = $this->projectPermission->validateUserModification($values); list($valid, ) = $this->projectPermission->validateUserModification($values);
if ($valid) { if ($valid) {
if ($this->projectPermission->revokeMember($values['project_id'], $values['user_id'])) { if ($this->projectPermission->revokeMember($values['project_id'], $values['user_id'])) {
$this->session->flash(t('Project updated successfully.')); $this->session->flash(t('Project updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update this project.')); $this->session->flashError(t('Unable to update this project.'));
} }
} }
@@ -300,7 +286,6 @@ class Project extends Base
$project = $this->getProject(); $project = $this->getProject();
if ($this->request->getStringParam('remove') === 'yes') { if ($this->request->getStringParam('remove') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->project->remove($project['id'])) { if ($this->project->remove($project['id'])) {
@@ -356,7 +341,6 @@ class Project extends Base
$project = $this->getProject(); $project = $this->getProject();
if ($this->request->getStringParam('disable') === 'yes') { if ($this->request->getStringParam('disable') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->project->disable($project['id'])) { if ($this->project->disable($project['id'])) {
@@ -384,7 +368,6 @@ class Project extends Base
$project = $this->getProject(); $project = $this->getProject();
if ($this->request->getStringParam('enable') === 'yes') { if ($this->request->getStringParam('enable') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->project->enable($project['id'])) { if ($this->project->enable($project['id'])) {
@@ -431,7 +414,6 @@ class Project extends Base
list($valid, $errors) = $this->project->validateCreation($values); list($valid, $errors) = $this->project->validateCreation($values);
if ($valid) { if ($valid) {
$project_id = $this->project->create($values, $this->userSession->getId(), true); $project_id = $this->project->create($values, $this->userSession->getId(), true);
if ($project_id > 0) { if ($project_id > 0) {

View File

@@ -36,8 +36,7 @@ class Projectuser extends Base
if ($this->userSession->isAdmin()) { if ($this->userSession->isAdmin()) {
$project_ids = $this->project->getAllIds(); $project_ids = $this->project->getAllIds();
} } else {
else {
$project_ids = $this->projectPermission->getMemberProjectIds($this->userSession->getId()); $project_ids = $this->projectPermission->getMemberProjectIds($this->userSession->getId());
} }

View File

@@ -23,7 +23,6 @@ class Search extends Base
->setDirection('DESC'); ->setDirection('DESC');
if ($search !== '') { if ($search !== '') {
$query = $this $query = $this
->taskFilter ->taskFilter
->search($search) ->search($search)

View File

@@ -66,11 +66,9 @@ class Subtask extends Base
list($valid, $errors) = $this->subtask->validateCreation($values); list($valid, $errors) = $this->subtask->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->subtask->create($values)) { if ($this->subtask->create($values)) {
$this->session->flash(t('Sub-task added successfully.')); $this->session->flash(t('Sub-task added successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to create your sub-task.')); $this->session->flashError(t('Unable to create your sub-task.'));
} }
@@ -118,11 +116,9 @@ class Subtask extends Base
list($valid, $errors) = $this->subtask->validateModification($values); list($valid, $errors) = $this->subtask->validateModification($values);
if ($valid) { if ($valid) {
if ($this->subtask->update($values)) { if ($this->subtask->update($values)) {
$this->session->flash(t('Sub-task updated successfully.')); $this->session->flash(t('Sub-task updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your sub-task.')); $this->session->flashError(t('Unable to update your sub-task.'));
} }
@@ -161,8 +157,7 @@ class Subtask extends Base
if ($this->subtask->remove($subtask['id'])) { if ($this->subtask->remove($subtask['id'])) {
$this->session->flash(t('Sub-task removed successfully.')); $this->session->flash(t('Sub-task removed successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to remove this sub-task.')); $this->session->flashError(t('Unable to remove this sub-task.'));
} }
@@ -183,7 +178,6 @@ class Subtask extends Base
$this->subtask->toggleStatus($subtask['id']); $this->subtask->toggleStatus($subtask['id']);
if ($redirect === 'board') { if ($redirect === 'board') {
$this->session['has_subtask_inprogress'] = $this->subtask->hasSubtaskInProgress($this->userSession->getId()); $this->session['has_subtask_inprogress'] = $this->subtask->hasSubtaskInProgress($this->userSession->getId());
$this->response->html($this->template->render('board/tooltip_subtasks', array( $this->response->html($this->template->render('board/tooltip_subtasks', array(

View File

@@ -63,12 +63,10 @@ class Swimlane extends Base
list($valid, $errors) = $this->swimlane->validateCreation($values); list($valid, $errors) = $this->swimlane->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->swimlane->create($values)) { if ($this->swimlane->create($values)) {
$this->session->flash(t('Your swimlane have been created successfully.')); $this->session->flash(t('Your swimlane have been created successfully.'));
$this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to create your swimlane.')); $this->session->flashError(t('Unable to create your swimlane.'));
} }
} }
@@ -86,15 +84,13 @@ class Swimlane extends Base
$project = $this->getProject(); $project = $this->getProject();
$values = $this->request->getValues() + array('show_default_swimlane' => 0); $values = $this->request->getValues() + array('show_default_swimlane' => 0);
list($valid,) = $this->swimlane->validateDefaultModification($values); list($valid, ) = $this->swimlane->validateDefaultModification($values);
if ($valid) { if ($valid) {
if ($this->swimlane->updateDefault($values)) { if ($this->swimlane->updateDefault($values)) {
$this->session->flash(t('The default swimlane have been updated successfully.')); $this->session->flash(t('The default swimlane have been updated successfully.'));
$this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update this swimlane.')); $this->session->flashError(t('Unable to update this swimlane.'));
} }
} }
@@ -136,8 +132,7 @@ class Swimlane extends Base
if ($this->swimlane->update($values)) { if ($this->swimlane->update($values)) {
$this->session->flash(t('Swimlane updated successfully.')); $this->session->flash(t('Swimlane updated successfully.'));
$this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('swimlane', 'index', array('project_id' => $project['id'])));
} } else {
else {
$this->session->flashError(t('Unable to update this swimlane.')); $this->session->flashError(t('Unable to update this swimlane.'));
} }
} }

View File

@@ -156,7 +156,6 @@ class Task extends Base
} }
if ($this->request->getStringParam('confirmation') === 'yes') { if ($this->request->getStringParam('confirmation') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->task->remove($task['id'])) { if ($this->task->remove($task['id'])) {

View File

@@ -53,8 +53,7 @@ class TaskImport extends Base
if ($this->taskImport->counter > 0) { if ($this->taskImport->counter > 0) {
$this->session->flash(t('%d task(s) have been imported successfully.', $this->taskImport->counter)); $this->session->flash(t('%d task(s) have been imported successfully.', $this->taskImport->counter));
} } else {
else {
$this->session->flashError(t('Nothing have been imported!')); $this->session->flashError(t('Nothing have been imported!'));
} }

View File

@@ -22,7 +22,6 @@ class Taskcreation extends Base
$swimlanes_list = $this->swimlane->getList($project['id'], false, true); $swimlanes_list = $this->swimlane->getList($project['id'], false, true);
if (empty($values)) { if (empty($values)) {
$values = array( $values = array(
'swimlane_id' => $this->request->getIntegerParam('swimlane_id', key($swimlanes_list)), 'swimlane_id' => $this->request->getIntegerParam('swimlane_id', key($swimlanes_list)),
'column_id' => $this->request->getIntegerParam('column_id'), 'column_id' => $this->request->getIntegerParam('column_id'),
@@ -62,8 +61,7 @@ class Taskcreation extends Base
if ($valid && $this->taskCreation->create($values)) { if ($valid && $this->taskCreation->create($values)) {
$this->session->flash(t('Task created successfully.')); $this->session->flash(t('Task created successfully.'));
$this->afterSave($project, $values); $this->afterSave($project, $values);
} } else {
else {
$this->session->flashError(t('Unable to create your task.')); $this->session->flashError(t('Unable to create your task.'));
} }
@@ -79,8 +77,7 @@ class Taskcreation extends Base
if (! $this->request->isAjax()) { if (! $this->request->isAjax()) {
$this->response->redirect($this->helper->url->to('taskcreation', 'create', $values)); $this->response->redirect($this->helper->url->to('taskcreation', 'create', $values));
} }
} } else {
else {
$this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $project['id']))); $this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $project['id'])));
} }
} }

View File

@@ -20,7 +20,6 @@ class Taskduplication extends Base
$task = $this->getTask(); $task = $this->getTask();
if ($this->request->getStringParam('confirmation') === 'yes') { if ($this->request->getStringParam('confirmation') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
$task_id = $this->taskDuplication->duplicate($task['id']); $task_id = $this->taskDuplication->duplicate($task['id']);
@@ -48,9 +47,8 @@ class Taskduplication extends Base
$task = $this->getTask(); $task = $this->getTask();
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid,) = $this->taskValidator->validateProjectModification($values); list($valid, ) = $this->taskValidator->validateProjectModification($values);
if ($valid && $this->taskDuplication->moveToProject($task['id'], if ($valid && $this->taskDuplication->moveToProject($task['id'],
$values['project_id'], $values['project_id'],
@@ -58,7 +56,6 @@ class Taskduplication extends Base
$values['column_id'], $values['column_id'],
$values['category_id'], $values['category_id'],
$values['owner_id'])) { $values['owner_id'])) {
$this->session->flash(t('Task updated successfully.')); $this->session->flash(t('Task updated successfully.'));
$this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $values['project_id'], 'task_id' => $task['id']))); $this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $values['project_id'], 'task_id' => $task['id'])));
} }
@@ -79,9 +76,8 @@ class Taskduplication extends Base
$task = $this->getTask(); $task = $this->getTask();
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid,) = $this->taskValidator->validateProjectModification($values); list($valid, ) = $this->taskValidator->validateProjectModification($values);
if ($valid) { if ($valid) {
$task_id = $this->taskDuplication->duplicateToProject( $task_id = $this->taskDuplication->duplicateToProject(
@@ -125,8 +121,7 @@ class Taskduplication extends Base
$values = $this->taskDuplication->checkDestinationProjectValues($task); $values = $this->taskDuplication->checkDestinationProjectValues($task);
$values['project_id'] = $dst_project_id; $values['project_id'] = $dst_project_id;
} } else {
else {
$swimlanes_list = array(); $swimlanes_list = array();
$columns_list = array(); $columns_list = array();
$categories_list = array(); $categories_list = array();

View File

@@ -72,7 +72,6 @@ class Tasklink extends Base
list($valid, $errors) = $this->taskLink->validateCreation($values); list($valid, $errors) = $this->taskLink->validateCreation($values);
if ($valid) { if ($valid) {
if ($this->taskLink->create($values['task_id'], $values['opposite_task_id'], $values['link_id'])) { if ($this->taskLink->create($values['task_id'], $values['opposite_task_id'], $values['link_id'])) {
$this->session->flash(t('Link added successfully.')); $this->session->flash(t('Link added successfully.'));
@@ -129,7 +128,6 @@ class Tasklink extends Base
list($valid, $errors) = $this->taskLink->validateModification($values); list($valid, $errors) = $this->taskLink->validateModification($values);
if ($valid) { if ($valid) {
if ($this->taskLink->update($values['id'], $values['task_id'], $values['opposite_task_id'], $values['link_id'])) { if ($this->taskLink->update($values['id'], $values['task_id'], $values['opposite_task_id'], $values['link_id'])) {
$this->session->flash(t('Link updated successfully.')); $this->session->flash(t('Link updated successfully.'));
$this->response->redirect($this->helper->url->to('task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])).'#links'); $this->response->redirect($this->helper->url->to('task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id'])).'#links');
@@ -162,15 +160,14 @@ class Tasklink extends Base
* *
* @access public * @access public
*/ */
public function remove() public function remove()
{ {
$this->checkCSRFParam(); $this->checkCSRFParam();
$task = $this->getTask(); $task = $this->getTask();
if ($this->taskLink->remove($this->request->getIntegerParam('link_id'))) { if ($this->taskLink->remove($this->request->getIntegerParam('link_id'))) {
$this->session->flash(t('Link removed successfully.')); $this->session->flash(t('Link removed successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to remove this link.')); $this->session->flashError(t('Unable to remove this link.'));
} }

View File

@@ -32,12 +32,11 @@ class Taskmodification extends Base
$task = $this->getTask(); $task = $this->getTask();
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid,) = $this->taskValidator->validateTimeModification($values); list($valid, ) = $this->taskValidator->validateTimeModification($values);
if ($valid && $this->taskModification->update($values)) { if ($valid && $this->taskModification->update($values)) {
$this->session->flash(t('Task updated successfully.')); $this->session->flash(t('Task updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your task.')); $this->session->flashError(t('Unable to update your task.'));
} }
@@ -55,29 +54,24 @@ class Taskmodification extends Base
$ajax = $this->request->isAjax() || $this->request->getIntegerParam('ajax'); $ajax = $this->request->isAjax() || $this->request->getIntegerParam('ajax');
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid, $errors) = $this->taskValidator->validateDescriptionCreation($values); list($valid, $errors) = $this->taskValidator->validateDescriptionCreation($values);
if ($valid) { if ($valid) {
if ($this->taskModification->update($values)) { if ($this->taskModification->update($values)) {
$this->session->flash(t('Task updated successfully.')); $this->session->flash(t('Task updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your task.')); $this->session->flashError(t('Unable to update your task.'));
} }
if ($ajax) { if ($ajax) {
$this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $task['project_id']))); $this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $task['project_id'])));
} } else {
else {
$this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id']))); $this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id'])));
} }
} }
} } else {
else {
$values = $task; $values = $task;
$errors = array(); $errors = array();
} }
@@ -91,8 +85,7 @@ class Taskmodification extends Base
if ($ajax) { if ($ajax) {
$this->response->html($this->template->render('task_modification/edit_description', $params)); $this->response->html($this->template->render('task_modification/edit_description', $params));
} } else {
else {
$this->response->html($this->taskLayout('task_modification/edit_description', $params)); $this->response->html($this->taskLayout('task_modification/edit_description', $params));
} }
} }
@@ -127,8 +120,7 @@ class Taskmodification extends Base
if ($ajax) { if ($ajax) {
$html = $this->template->render('task_modification/edit_task', $params); $html = $this->template->render('task_modification/edit_task', $params);
} } else {
else {
$html = $this->taskLayout('task_modification/edit_task', $params); $html = $this->taskLayout('task_modification/edit_task', $params);
} }
@@ -152,12 +144,10 @@ class Taskmodification extends Base
if ($this->request->isAjax()) { if ($this->request->isAjax()) {
$this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $task['project_id']))); $this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $task['project_id'])));
} } else {
else {
$this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id']))); $this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id'])));
} }
} } else {
else {
$this->session->flashError(t('Unable to update your task.')); $this->session->flashError(t('Unable to update your task.'));
$this->edit($values, $errors); $this->edit($values, $errors);
} }
@@ -173,24 +163,20 @@ class Taskmodification extends Base
$task = $this->getTask(); $task = $this->getTask();
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid, $errors) = $this->taskValidator->validateEditRecurrence($values); list($valid, $errors) = $this->taskValidator->validateEditRecurrence($values);
if ($valid) { if ($valid) {
if ($this->taskModification->update($values)) { if ($this->taskModification->update($values)) {
$this->session->flash(t('Task updated successfully.')); $this->session->flash(t('Task updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your task.')); $this->session->flashError(t('Unable to update your task.'));
} }
$this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id']))); $this->response->redirect($this->helper->url->to('task', 'show', array('project_id' => $task['project_id'], 'task_id' => $task['id'])));
} }
} } else {
else {
$values = $task; $values = $task;
$errors = array(); $errors = array();
} }

View File

@@ -37,7 +37,6 @@ class Taskstatus extends Base
private function changeStatus(array $task, $method, $success_message, $failure_message) private function changeStatus(array $task, $method, $success_message, $failure_message)
{ {
if ($this->request->getStringParam('confirmation') === 'yes') { if ($this->request->getStringParam('confirmation') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->taskStatus->$method($task['id'])) { if ($this->taskStatus->$method($task['id'])) {

View File

@@ -24,8 +24,7 @@ class Timer extends Base
if ($timer === 'start') { if ($timer === 'start') {
$this->subtaskTimeTracking->logStartTime($subtask_id, $this->userSession->getId()); $this->subtaskTimeTracking->logStartTime($subtask_id, $this->userSession->getId());
} } elseif ($timer === 'stop') {
else if ($timer === 'stop') {
$this->subtaskTimeTracking->logEndTime($subtask_id, $this->userSession->getId()); $this->subtaskTimeTracking->logEndTime($subtask_id, $this->userSession->getId());
$this->subtaskTimeTracking->updateTaskTimeTracking($task_id); $this->subtaskTimeTracking->updateTaskTimeTracking($task_id);
} }

View File

@@ -63,8 +63,7 @@ class Twofactor extends User
'twofactor_activated' => 1, 'twofactor_activated' => 1,
'twofactor_secret' => GoogleAuthenticator::generateRandom(), 'twofactor_secret' => GoogleAuthenticator::generateRandom(),
)); ));
} } else {
else {
$this->user->update(array( $this->user->update(array(
'id' => $user['id'], 'id' => $user['id'],
'twofactor_activated' => 0, 'twofactor_activated' => 0,
@@ -94,8 +93,7 @@ class Twofactor extends User
if (! empty($values['code']) && $otp->checkTotp(Base32::decode($user['twofactor_secret']), $values['code'])) { if (! empty($values['code']) && $otp->checkTotp(Base32::decode($user['twofactor_secret']), $values['code'])) {
$this->session->flash(t('The two factor authentication code is valid.')); $this->session->flash(t('The two factor authentication code is valid.'));
} } else {
else {
$this->session->flashError(t('The two factor authentication code is not valid.')); $this->session->flashError(t('The two factor authentication code is not valid.'));
} }
@@ -119,8 +117,7 @@ class Twofactor extends User
$this->session['2fa_validated'] = true; $this->session['2fa_validated'] = true;
$this->session->flash(t('The two factor authentication code is valid.')); $this->session->flash(t('The two factor authentication code is valid.'));
$this->response->redirect($this->helper->url->to('app', 'index')); $this->response->redirect($this->helper->url->to('app', 'index'));
} } else {
else {
$this->session->flashError(t('The two factor authentication code is not valid.')); $this->session->flashError(t('The two factor authentication code is not valid.'));
$this->response->redirect($this->helper->url->to('twofactor', 'code')); $this->response->redirect($this->helper->url->to('twofactor', 'code'));
} }
@@ -148,7 +145,6 @@ class Twofactor extends User
$user = $this->getUser(); $user = $this->getUser();
if ($this->request->getStringParam('disable') === 'yes') { if ($this->request->getStringParam('disable') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
$this->user->update(array( $this->user->update(array(

View File

@@ -86,7 +86,6 @@ class User extends Base
list($valid, $errors) = $this->user->validateCreation($values); list($valid, $errors) = $this->user->validateCreation($values);
if ($valid) { if ($valid) {
$project_id = empty($values['project_id']) ? 0 : $values['project_id']; $project_id = empty($values['project_id']) ? 0 : $values['project_id'];
unset($values['project_id']); unset($values['project_id']);
@@ -101,8 +100,7 @@ class User extends Base
$this->session->flash(t('User created successfully.')); $this->session->flash(t('User created successfully.'));
$this->response->redirect($this->helper->url->to('user', 'show', array('user_id' => $user_id))); $this->response->redirect($this->helper->url->to('user', 'show', array('user_id' => $user_id)));
} } else {
else {
$this->session->flashError(t('Unable to create your user.')); $this->session->flashError(t('Unable to create your user.'));
$values['project_id'] = $project_id; $values['project_id'] = $project_id;
} }
@@ -240,7 +238,6 @@ class User extends Base
$switch = $this->request->getStringParam('switch'); $switch = $this->request->getStringParam('switch');
if ($switch === 'enable' || $switch === 'disable') { if ($switch === 'enable' || $switch === 'disable') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->user->{$switch.'PublicAccess'}($user['id'])) { if ($this->user->{$switch.'PublicAccess'}($user['id'])) {
@@ -270,16 +267,13 @@ class User extends Base
$errors = array(); $errors = array();
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
list($valid, $errors) = $this->user->validatePasswordModification($values); list($valid, $errors) = $this->user->validatePasswordModification($values);
if ($valid) { if ($valid) {
if ($this->user->update($values)) { if ($this->user->update($values)) {
$this->session->flash(t('Password modified successfully.')); $this->session->flash(t('Password modified successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to change the password.')); $this->session->flashError(t('Unable to change the password.'));
} }
@@ -308,13 +302,11 @@ class User extends Base
unset($values['password']); unset($values['password']);
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues(); $values = $this->request->getValues();
if ($this->userSession->isAdmin()) { if ($this->userSession->isAdmin()) {
$values += array('is_admin' => 0, 'is_project_admin' => 0); $values += array('is_admin' => 0, 'is_project_admin' => 0);
} } else {
else {
// Regular users can't be admin // Regular users can't be admin
if (isset($values['is_admin'])) { if (isset($values['is_admin'])) {
unset($values['is_admin']); unset($values['is_admin']);
@@ -328,11 +320,9 @@ class User extends Base
list($valid, $errors) = $this->user->validateModification($values); list($valid, $errors) = $this->user->validateModification($values);
if ($valid) { if ($valid) {
if ($this->user->update($values)) { if ($this->user->update($values)) {
$this->session->flash(t('User updated successfully.')); $this->session->flash(t('User updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your user.')); $this->session->flashError(t('Unable to update your user.'));
} }
@@ -363,16 +353,13 @@ class User extends Base
unset($values['password']); unset($values['password']);
if ($this->request->isPost()) { if ($this->request->isPost()) {
$values = $this->request->getValues() + array('disable_login_form' => 0, 'is_ldap_user' => 0); $values = $this->request->getValues() + array('disable_login_form' => 0, 'is_ldap_user' => 0);
list($valid, $errors) = $this->user->validateModification($values); list($valid, $errors) = $this->user->validateModification($values);
if ($valid) { if ($valid) {
if ($this->user->update($values)) { if ($this->user->update($values)) {
$this->session->flash(t('User updated successfully.')); $this->session->flash(t('User updated successfully.'));
} } else {
else {
$this->session->flashError(t('Unable to update your user.')); $this->session->flashError(t('Unable to update your user.'));
} }
@@ -397,7 +384,6 @@ class User extends Base
$user = $this->getUser(); $user = $this->getUser();
if ($this->request->getStringParam('confirmation') === 'yes') { if ($this->request->getStringParam('confirmation') === 'yes') {
$this->checkCSRFParam(); $this->checkCSRFParam();
if ($this->user->remove($user['id'])) { if ($this->user->remove($user['id'])) {

View File

@@ -47,8 +47,7 @@ class UserImport extends Base
if ($this->userImport->counter > 0) { if ($this->userImport->counter > 0) {
$this->session->flash(t('%d user(s) have been imported successfully.', $this->userImport->counter)); $this->session->flash(t('%d user(s) have been imported successfully.', $this->userImport->counter));
} } else {
else {
$this->session->flashError(t('Nothing have been imported!')); $this->session->flashError(t('Nothing have been imported!'));
} }

View File

@@ -31,7 +31,7 @@ class Webhook extends Base
'category_id' => $this->request->getIntegerParam('category_id'), 'category_id' => $this->request->getIntegerParam('category_id'),
); );
list($valid,) = $this->taskValidator->validateCreation($values); list($valid, ) = $this->taskValidator->validateCreation($values);
if ($valid && $this->taskCreation->create($values)) { if ($valid && $this->taskCreation->create($values)) {
$this->response->text('OK'); $this->response->text('OK');

View File

@@ -93,7 +93,8 @@ class Csv
{ {
if (! empty($value)) { if (! empty($value)) {
$value = trim(strtolower($value)); $value = trim(strtolower($value));
return $value === '1' || $value{0} === 't' ? 1 : 0; return $value === '1' || $value{0}
=== 't' ? 1 : 0;
} }
return 0; return 0;
@@ -187,8 +188,7 @@ class Csv
foreach ($this->columns as $sql_name => $csv_name) { foreach ($this->columns as $sql_name => $csv_name) {
if (isset($row[$index])) { if (isset($row[$index])) {
$line[$sql_name] = $row[$index]; $line[$sql_name] = $row[$index];
} } else {
else {
$line[$sql_name] = ''; $line[$sql_name] = '';
} }

View File

@@ -214,8 +214,7 @@ class DateParser extends Base
foreach ($fields as $field) { foreach ($fields as $field) {
if (! empty($values[$field])) { if (! empty($values[$field])) {
$values[$field] = date($format, $values[$field]); $values[$field] = date($format, $values[$field]);
} } else {
else {
$values[$field] = ''; $values[$field] = '';
} }
} }

View File

@@ -131,8 +131,7 @@ class HttpClient extends Base
if (is_resource($stream)) { if (is_resource($stream)) {
$response = stream_get_contents($stream); $response = stream_get_contents($stream);
} } else {
else {
$this->container['logger']->error('HttpClient: request failed'); $this->container['logger']->error('HttpClient: request failed');
} }

View File

@@ -60,7 +60,6 @@ class Lexer
$this->offset = 0; $this->offset = 0;
while (isset($input[$this->offset])) { while (isset($input[$this->offset])) {
$result = $this->match(substr($input, $this->offset)); $result = $this->match(substr($input, $this->offset));
if ($result === false) { if ($result === false) {
@@ -84,7 +83,6 @@ class Lexer
{ {
foreach ($this->tokenMap as $pattern => $name) { foreach ($this->tokenMap as $pattern => $name) {
if (preg_match($pattern, $string, $matches)) { if (preg_match($pattern, $string, $matches)) {
$this->offset += strlen($matches[1]); $this->offset += strlen($matches[1]);
return array( return array(
@@ -113,7 +111,6 @@ class Lexer
); );
while (false !== ($token = current($tokens))) { while (false !== ($token = current($tokens))) {
switch ($token['token']) { switch ($token['token']) {
case 'T_ASSIGNEE': case 'T_ASSIGNEE':
case 'T_COLOR': case 'T_COLOR':

View File

@@ -87,7 +87,7 @@ class Client extends Base
{ {
$container = $this->container; $container = $this->container;
$this->transports[$transport] = function() use ($class, $container) { $this->transports[$transport] = function () use ($class, $container) {
return new $class($container); return new $class($container);
}; };

View File

@@ -30,7 +30,6 @@ class Mail extends Base implements ClientInterface
public function sendEmail($email, $name, $subject, $html, $author) public function sendEmail($email, $name, $subject, $html, $author)
{ {
try { try {
$message = Swift_Message::newInstance() $message = Swift_Message::newInstance()
->setSubject($subject) ->setSubject($subject)
->setFrom(array(MAIL_FROM => $author)) ->setFrom(array(MAIL_FROM => $author))
@@ -38,8 +37,7 @@ class Mail extends Base implements ClientInterface
->setTo(array($email => $name)); ->setTo(array($email => $name));
Swift_Mailer::newInstance($this->getTransport())->send($message); Swift_Mailer::newInstance($this->getTransport())->send($message);
} } catch (Swift_TransportException $e) {
catch (Swift_TransportException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
} }
} }

View File

@@ -29,7 +29,6 @@ class Markdown extends Parsedown
{ {
// Replace task #123 by a link to the task // Replace task #123 by a link to the task
if (! empty($this->link) && preg_match('!#(\d+)!i', $Excerpt['text'], $matches)) { if (! empty($this->link) && preg_match('!#(\d+)!i', $Excerpt['text'], $matches)) {
$url = $this->helper->href( $url = $this->helper->href(
$this->link['controller'], $this->link['controller'],
$this->link['action'], $this->link['action'],

View File

@@ -86,7 +86,6 @@ class OAuth2 extends Base
public function getAccessToken($code) public function getAccessToken($code)
{ {
if (empty($this->accessToken) && ! empty($code)) { if (empty($this->accessToken) && ! empty($code)) {
$params = array( $params = array(
'code' => $code, 'code' => $code,
'client_id' => $this->clientId, 'client_id' => $this->clientId,

View File

@@ -355,8 +355,7 @@ class Paginator
$this->action, $this->action,
$this->getUrlParams($this->page - 1, $this->order, $this->direction) $this->getUrlParams($this->page - 1, $this->order, $this->direction)
); );
} } else {
else {
$html .= '← '.t('Previous'); $html .= '← '.t('Previous');
} }
@@ -382,8 +381,7 @@ class Paginator
$this->action, $this->action,
$this->getUrlParams($this->page + 1, $this->order, $this->direction) $this->getUrlParams($this->page + 1, $this->order, $this->direction)
); );
} } else {
else {
$html .= t('Next').' →'; $html .= t('Next').' →';
} }

View File

@@ -51,7 +51,7 @@ abstract class Base extends \Kanboard\Core\Base
{ {
$container = $this->container; $container = $this->container;
$this->container['dispatcher']->addListener($event, function() use ($container, $callback) { $this->container['dispatcher']->addListener($event, function () use ($container, $callback) {
call_user_func($callback, $container); call_user_func($callback, $container);
}); });
} }

View File

@@ -94,7 +94,6 @@ class Loader extends \Kanboard\Core\Base
$current_version = $this->getSchemaVersion($plugin); $current_version = $this->getSchemaVersion($plugin);
try { try {
$this->db->startTransaction(); $this->db->startTransaction();
$this->db->getDriver()->disableForeignKeys(); $this->db->getDriver()->disableForeignKeys();
@@ -109,8 +108,7 @@ class Loader extends \Kanboard\Core\Base
$this->db->getDriver()->enableForeignKeys(); $this->db->getDriver()->enableForeignKeys();
$this->db->closeTransaction(); $this->db->closeTransaction();
$this->setSchemaVersion($plugin, $i - 1); $this->setSchemaVersion($plugin, $i - 1);
} } catch (PDOException $e) {
catch (PDOException $e) {
$this->db->cancelTransaction(); $this->db->cancelTransaction();
$this->db->getDriver()->enableForeignKeys(); $this->db->getDriver()->enableForeignKeys();
die('Unable to migrate schema for the plugin: '.$plugin.' => '.$e->getMessage()); die('Unable to migrate schema for the plugin: '.$plugin.' => '.$e->getMessage());

View File

@@ -218,11 +218,8 @@ class Request
); );
foreach ($keys as $key) { foreach ($keys as $key) {
if (isset($_SERVER[$key])) { if (isset($_SERVER[$key])) {
foreach (explode(',', $_SERVER[$key]) as $ip_address) { foreach (explode(',', $_SERVER[$key]) as $ip_address) {
$ip_address = trim($ip_address); $ip_address = trim($ip_address);
if ($only_public) { if ($only_public) {
@@ -231,9 +228,7 @@ class Request
if (filter_var($ip_address, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) { if (filter_var($ip_address, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) {
return $ip_address; return $ip_address;
} }
} } else {
else {
return $ip_address; return $ip_address;
} }
} }

View File

@@ -68,8 +68,7 @@ class Response
{ {
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') { if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') {
header('X-Ajax-Redirect: '.$url); header('X-Ajax-Redirect: '.$url);
} } else {
else {
header('Location: '.$url); header('Location: '.$url);
} }

View File

@@ -127,17 +127,13 @@ class Router extends Base
$count = count($parts); $count = count($parts);
foreach ($this->paths as $route) { foreach ($this->paths as $route) {
if ($count === $route['count']) { if ($count === $route['count']) {
$params = array(); $params = array();
for ($i = 0; $i < $count; $i++) { for ($i = 0; $i < $count; $i++) {
if ($route['pattern'][$i]{0} === ':') { if ($route['pattern'][$i]{0} === ':') {
$params[substr($route['pattern'][$i], 1)] = $parts[$i]; $params[substr($route['pattern'][$i], 1)] = $parts[$i];
} } elseif ($route['pattern'][$i] !== $parts[$i]) {
else if ($route['pattern'][$i] !== $parts[$i]) {
break; break;
} }
} }
@@ -168,7 +164,6 @@ class Router extends Base
} }
foreach ($this->urls[$controller][$action] as $pattern) { foreach ($this->urls[$controller][$action] as $pattern) {
if (array_diff_key($params, $pattern['params']) === array()) { if (array_diff_key($params, $pattern['params']) === array()) {
$url = $pattern['path']; $url = $pattern['path'];
$i = 0; $i = 0;
@@ -213,8 +208,7 @@ class Router extends Base
$this->controller = $this->sanitize($_GET['controller'], 'app'); $this->controller = $this->sanitize($_GET['controller'], 'app');
$this->action = $this->sanitize($_GET['action'], 'index'); $this->action = $this->sanitize($_GET['action'], 'index');
$plugin = ! empty($_GET['plugin']) ? $this->sanitize($_GET['plugin'], '') : ''; $plugin = ! empty($_GET['plugin']) ? $this->sanitize($_GET['plugin'], '') : '';
} } else {
else {
list($this->controller, $this->action) = $this->findRoute($this->getPath($uri, $query_string)); // TODO: add plugin for routes list($this->controller, $this->action) = $this->findRoute($this->getPath($uri, $query_string)); // TODO: add plugin for routes
$plugin = ''; $plugin = '';
} }

View File

@@ -10,7 +10,7 @@ namespace Kanboard\Core;
*/ */
class Security class Security
{ {
/** /**
* Generate a random token with different methods: openssl or /dev/urandom or fallback to uniqid() * Generate a random token with different methods: openssl or /dev/urandom or fallback to uniqid()
* *
* @static * @static
@@ -21,8 +21,7 @@ class Security
{ {
if (function_exists('openssl_random_pseudo_bytes')) { if (function_exists('openssl_random_pseudo_bytes')) {
return bin2hex(\openssl_random_pseudo_bytes(30)); return bin2hex(\openssl_random_pseudo_bytes(30));
} } elseif (ini_get('open_basedir') === '' && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
else if (ini_get('open_basedir') === '' && strtoupper(substr(PHP_OS, 0, 3)) !== 'WIN') {
return hash('sha256', file_get_contents('/dev/urandom', false, null, 0, 30)); return hash('sha256', file_get_contents('/dev/urandom', false, null, 0, 30));
} }

View File

@@ -85,8 +85,7 @@ class Template extends Helper
if (strpos($template_name, ':') !== false) { if (strpos($template_name, ':') !== false) {
list($plugin, $template) = explode(':', $template_name); list($plugin, $template) = explode(':', $template_name);
$path = __DIR__.'/../../plugins/'.ucfirst($plugin).'/Template/'.$template.'.php'; $path = __DIR__.'/../../plugins/'.ucfirst($plugin).'/Template/'.$template.'.php';
} } else {
else {
$path = __DIR__.'/../Template/'.$template_name.'.php'; $path = __DIR__.'/../Template/'.$template_name.'.php';
} }

View File

@@ -26,8 +26,8 @@ class Tool
return ''; return '';
} }
list($local_part,) = explode('@', $email); list($local_part, ) = explode('@', $email);
list(,$identifier) = explode('+', $local_part); list(, $identifier) = explode('+', $local_part);
return $identifier; return $identifier;
} }
@@ -83,14 +83,11 @@ class Tool
$dst_width = $resize_width; $dst_width = $resize_width;
$dst_height = floor($src_height * ($resize_width / $src_width)); $dst_height = floor($src_height * ($resize_width / $src_width));
$dst_image = imagecreatetruecolor($dst_width, $dst_height); $dst_image = imagecreatetruecolor($dst_width, $dst_height);
} } elseif ($resize_width == 0 && $resize_height > 0) {
elseif ($resize_width == 0 && $resize_height > 0) {
$dst_width = floor($src_width * ($resize_height / $src_height)); $dst_width = floor($src_width * ($resize_height / $src_height));
$dst_height = $resize_height; $dst_height = $resize_height;
$dst_image = imagecreatetruecolor($dst_width, $dst_height); $dst_image = imagecreatetruecolor($dst_width, $dst_height);
} } else {
else {
$src_ratio = $src_width / $src_height; $src_ratio = $src_width / $src_height;
$resize_ratio = $resize_width / $resize_height; $resize_ratio = $resize_width / $resize_height;
@@ -99,8 +96,7 @@ class Tool
$dst_height = floor($src_height * ($resize_width / $src_width)); $dst_height = floor($src_height * ($resize_width / $src_width));
$dst_y = ($dst_height - $resize_height) / 2 * (-1); $dst_y = ($dst_height - $resize_height) / 2 * (-1);
} } else {
else {
$dst_width = floor($src_width * ($resize_height / $src_height)); $dst_width = floor($src_width * ($resize_height / $src_height));
$dst_height = $resize_height; $dst_height = $resize_height;

View File

@@ -184,8 +184,7 @@ class Translator
{ {
if (isset(self::$locales[$identifier])) { if (isset(self::$locales[$identifier])) {
return self::$locales[$identifier]; return self::$locales[$identifier];
} } else {
else {
return $default; return $default;
} }
} }

View File

@@ -31,9 +31,7 @@ class ProjectGanttFormatter extends Project implements FormatterInterface
{ {
if (empty($project_ids)) { if (empty($project_ids)) {
$this->projects = array(); $this->projects = array();
} } else {
else {
$this->projects = $this->db $this->projects = $this->db
->table(self::TABLE) ->table(self::TABLE)
->asc('start_date') ->asc('start_date')

View File

@@ -56,7 +56,6 @@ class TaskFilterICalendarFormatter extends TaskFilterCalendarEvent implements Fo
public function addDateTimeEvents() public function addDateTimeEvents()
{ {
foreach ($this->query->findAll() as $task) { foreach ($this->query->findAll() as $task) {
$start = new DateTime; $start = new DateTime;
$start->setTimestamp($task[$this->startColumn]); $start->setTimestamp($task[$this->startColumn]);
@@ -82,7 +81,6 @@ class TaskFilterICalendarFormatter extends TaskFilterCalendarEvent implements Fo
public function addFullDayEvents() public function addFullDayEvents()
{ {
foreach ($this->query->findAll() as $task) { foreach ($this->query->findAll() as $task) {
$date = new DateTime; $date = new DateTime;
$date->setTimestamp($task[$this->startColumn]); $date->setTimestamp($task[$this->startColumn]);

View File

@@ -68,8 +68,7 @@ class App extends \Kanboard\Core\Base
$html = '<div class="alert alert-success alert-fade-out">'.$this->helper->e($this->session['flash_message']).'</div>'; $html = '<div class="alert alert-success alert-fade-out">'.$this->helper->e($this->session['flash_message']).'</div>';
unset($this->session['flash_message']); unset($this->session['flash_message']);
unset($this->session['flash_error_message']); unset($this->session['flash_error_message']);
} } elseif (isset($this->session['flash_error_message'])) {
else if (isset($this->session['flash_error_message'])) {
$html = '<div class="alert alert-error">'.$this->helper->e($this->session['flash_error_message']).'</div>'; $html = '<div class="alert alert-error">'.$this->helper->e($this->session['flash_error_message']).'</div>';
unset($this->session['flash_message']); unset($this->session['flash_message']);
unset($this->session['flash_error_message']); unset($this->session['flash_error_message']);

View File

@@ -52,11 +52,9 @@ class Dt extends \Kanboard\Core\Base
} }
if ($diff < 1200) { if ($diff < 1200) {
return t('<30m'); return t('<30m');
} } elseif ($diff < 3600) {
else if ($diff < 3600) {
return t('<1h'); return t('<1h');
} } elseif ($diff < 86400) {
else if ($diff < 86400) {
return '~'.t('%dh', $diff / 3600); return '~'.t('%dh', $diff / 3600);
} }

View File

@@ -17,8 +17,8 @@ class File extends \Kanboard\Core\Base
* @param string $filename Filename * @param string $filename Filename
* @return string Font-Awesome-Icon-Name * @return string Font-Awesome-Icon-Name
*/ */
public function icon($filename){ public function icon($filename)
{
$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); $extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
switch ($extension) { switch ($extension) {

View File

@@ -52,11 +52,14 @@ class Form extends \Kanboard\Core\Base
$html = '<select name="'.$name.'" id="form-'.$name.'" class="'.$class.'" '.implode(' ', $attributes).'>'; $html = '<select name="'.$name.'" id="form-'.$name.'" class="'.$class.'" '.implode(' ', $attributes).'>';
foreach ($options as $id => $value) { foreach ($options as $id => $value) {
$html .= '<option value="'.$this->helper->e($id).'"'; $html .= '<option value="'.$this->helper->e($id).'"';
if (isset($values->$name) && $id == $values->$name) $html .= ' selected="selected"'; if (isset($values->$name) && $id == $values->$name) {
if (isset($values[$name]) && $id == $values[$name]) $html .= ' selected="selected"'; $html .= ' selected="selected"';
}
if (isset($values[$name]) && $id == $values[$name]) {
$html .= ' selected="selected"';
}
$html .= '>'.$this->helper->e($value).'</option>'; $html .= '>'.$this->helper->e($value).'</option>';
} }
@@ -328,7 +331,6 @@ class Form extends \Kanboard\Core\Base
$html = ''; $html = '';
if (isset($errors[$name])) { if (isset($errors[$name])) {
$html .= '<ul class="form-errors">'; $html .= '<ul class="form-errors">';
foreach ($errors[$name] as $error) { foreach ($errors[$name] as $error) {

View File

@@ -21,7 +21,6 @@ class Subtask extends \Kanboard\Core\Base
public function toggleStatus(array $subtask, $redirect) public function toggleStatus(array $subtask, $redirect)
{ {
if ($subtask['status'] == 0 && isset($this->session['has_subtask_inprogress']) && $this->session['has_subtask_inprogress'] === true) { if ($subtask['status'] == 0 && isset($this->session['has_subtask_inprogress']) && $this->session['has_subtask_inprogress'] === true) {
return $this->helper->url->link( return $this->helper->url->link(
trim($this->template->render('subtask/icons', array('subtask' => $subtask))) . $this->helper->e($subtask['title']), trim($this->template->render('subtask/icons', array('subtask' => $subtask))) . $this->helper->e($subtask['title']),
'subtask', 'subtask',

View File

@@ -80,7 +80,6 @@ class BitbucketWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $payload['issue']['id']); $task = $this->taskFinder->getByReference($this->project_id, $payload['issue']['id']);
if (! empty($task)) { if (! empty($task)) {
$user = $this->user->getByUsername($payload['actor']['username']); $user = $this->user->getByUsername($payload['actor']['username']);
if (! empty($user) && ! $this->projectPermission->isMember($this->project_id, $user['id'])) { if (! empty($user) && ! $this->projectPermission->isMember($this->project_id, $user['id'])) {
@@ -147,8 +146,7 @@ class BitbucketWebhook extends \Kanboard\Core\Base
if (isset($payload['changes']['status'])) { if (isset($payload['changes']['status'])) {
return $this->handleStatusChange($task, $payload); return $this->handleStatusChange($task, $payload);
} } elseif (isset($payload['changes']['assignee'])) {
else if (isset($payload['changes']['assignee'])) {
return $this->handleAssigneeChange($task, $payload); return $this->handleAssigneeChange($task, $payload);
} }

View File

@@ -77,7 +77,6 @@ class GithubWebhook extends \Kanboard\Core\Base
public function parsePushEvent(array $payload) public function parsePushEvent(array $payload)
{ {
foreach ($payload['commits'] as $commit) { foreach ($payload['commits'] as $commit) {
$task_id = $this->task->getTaskIdFromText($commit['message']); $task_id = $this->task->getTaskIdFromText($commit['message']);
if (empty($task_id)) { if (empty($task_id)) {
@@ -149,7 +148,6 @@ class GithubWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $payload['issue']['number']); $task = $this->taskFinder->getByReference($this->project_id, $payload['issue']['number']);
if (! empty($task)) { if (! empty($task)) {
$user = $this->user->getByUsername($payload['comment']['user']['login']); $user = $this->user->getByUsername($payload['comment']['user']['login']);
if (! empty($user) && ! $this->projectPermission->isMember($this->project_id, $user['id'])) { if (! empty($user) && ! $this->projectPermission->isMember($this->project_id, $user['id'])) {
@@ -270,7 +268,6 @@ class GithubWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $issue['number']); $task = $this->taskFinder->getByReference($this->project_id, $issue['number']);
if (! empty($user) && ! empty($task) && $this->projectPermission->isMember($this->project_id, $user['id'])) { if (! empty($user) && ! empty($task) && $this->projectPermission->isMember($this->project_id, $user['id'])) {
$event = array( $event = array(
'project_id' => $this->project_id, 'project_id' => $this->project_id,
'task_id' => $task['id'], 'task_id' => $task['id'],
@@ -301,7 +298,6 @@ class GithubWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $issue['number']); $task = $this->taskFinder->getByReference($this->project_id, $issue['number']);
if (! empty($task)) { if (! empty($task)) {
$event = array( $event = array(
'project_id' => $this->project_id, 'project_id' => $this->project_id,
'task_id' => $task['id'], 'task_id' => $task['id'],
@@ -333,7 +329,6 @@ class GithubWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $issue['number']); $task = $this->taskFinder->getByReference($this->project_id, $issue['number']);
if (! empty($task)) { if (! empty($task)) {
$event = array( $event = array(
'project_id' => $this->project_id, 'project_id' => $this->project_id,
'task_id' => $task['id'], 'task_id' => $task['id'],
@@ -365,7 +360,6 @@ class GithubWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $issue['number']); $task = $this->taskFinder->getByReference($this->project_id, $issue['number']);
if (! empty($task)) { if (! empty($task)) {
$event = array( $event = array(
'project_id' => $this->project_id, 'project_id' => $this->project_id,
'task_id' => $task['id'], 'task_id' => $task['id'],

View File

@@ -239,7 +239,6 @@ class GitlabWebhook extends \Kanboard\Core\Base
$task = $this->taskFinder->getByReference($this->project_id, $payload['issue']['id']); $task = $this->taskFinder->getByReference($this->project_id, $payload['issue']['id']);
if (! empty($task)) { if (! empty($task)) {
$user = $this->user->getByUsername($payload['user']['username']); $user = $this->user->getByUsername($payload['user']['username']);
if (! empty($user) && ! $this->projectPermission->isMember($this->project_id, $user['id'])) { if (! empty($user) && ! $this->projectPermission->isMember($this->project_id, $user['id'])) {

View File

@@ -60,7 +60,6 @@ class HipchatWebhook extends \Kanboard\Core\Base
public function notify($project_id, $task_id, $event_name, array $event) public function notify($project_id, $task_id, $event_name, array $event)
{ {
if ($this->isActivated($project_id)) { if ($this->isActivated($project_id)) {
$params = $this->getParameters($project_id); $params = $this->getParameters($project_id);
$project = $this->project->getbyId($project_id); $project = $this->project->getbyId($project_id);

View File

@@ -72,7 +72,6 @@ class Jabber extends \Kanboard\Core\Base
public function notify($project_id, $task_id, $event_name, array $event) public function notify($project_id, $task_id, $event_name, array $event)
{ {
if ($this->isActivated($project_id)) { if ($this->isActivated($project_id)) {
$project = $this->project->getbyId($project_id); $project = $this->project->getbyId($project_id);
$event['event_name'] = $event_name; $event['event_name'] = $event_name;
@@ -98,7 +97,6 @@ class Jabber extends \Kanboard\Core\Base
public function sendMessage($project_id, $payload) public function sendMessage($project_id, $payload)
{ {
try { try {
$params = $this->getParameters($project_id); $params = $this->getParameters($project_id);
$options = new Options($params['server']); $options = new Options($params['server']);
@@ -121,8 +119,7 @@ class Jabber extends \Kanboard\Core\Base
$client->send($message); $client->send($message);
$client->disconnect(); $client->disconnect();
} } catch (Exception $e) {
catch (Exception $e) {
$this->container['logger']->error('Jabber error: '.$e->getMessage()); $this->container['logger']->error('Jabber error: '.$e->getMessage());
} }
} }

View File

@@ -70,7 +70,6 @@ class SlackWebhook extends \Kanboard\Core\Base
public function notify($project_id, $task_id, $event_name, array $event) public function notify($project_id, $task_id, $event_name, array $event)
{ {
if ($this->isActivated($project_id)) { if ($this->isActivated($project_id)) {
$project = $this->project->getbyId($project_id); $project = $this->project->getbyId($project_id);
$event['event_name'] = $event_name; $event['event_name'] = $event_name;

View File

@@ -8,220 +8,219 @@
*/ */
if (!defined('PASSWORD_BCRYPT')) { if (!defined('PASSWORD_BCRYPT')) {
define('PASSWORD_BCRYPT', 1);
define('PASSWORD_DEFAULT', PASSWORD_BCRYPT);
define('PASSWORD_BCRYPT', 1); if (version_compare(PHP_VERSION, '5.3.7', '<')) {
define('PASSWORD_DEFAULT', PASSWORD_BCRYPT); define('PASSWORD_PREFIX', '$2a$');
} else {
define('PASSWORD_PREFIX', '$2y$');
}
if (version_compare(PHP_VERSION, '5.3.7', '<')) { /**
* Hash the password using the specified algorithm
*
* @param string $password The password to hash
* @param int $algo The algorithm to use (Defined by PASSWORD_* constants)
* @param array $options The options for the algorithm to use
*
* @return string|false The hashed password, or false on error.
*/
function password_hash($password, $algo, array $options = array())
{
if (!function_exists('crypt')) {
trigger_error("Crypt must be loaded for password_hash to function", E_USER_WARNING);
return null;
}
if (!is_string($password)) {
trigger_error("password_hash(): Password must be a string", E_USER_WARNING);
return null;
}
if (!is_int($algo)) {
trigger_error("password_hash() expects parameter 2 to be long, " . gettype($algo) . " given", E_USER_WARNING);
return null;
}
switch ($algo) {
case PASSWORD_BCRYPT:
// Note that this is a C constant, but not exposed to PHP, so we don't define it here.
$cost = 10;
if (isset($options['cost'])) {
$cost = $options['cost'];
if ($cost < 4 || $cost > 31) {
trigger_error(sprintf("password_hash(): Invalid bcrypt cost parameter specified: %d", $cost), E_USER_WARNING);
return null;
}
}
$required_salt_len = 22;
$hash_format = sprintf("%s%02d$", PASSWORD_PREFIX, $cost);
break;
default:
trigger_error(sprintf("password_hash(): Unknown password hashing algorithm: %s", $algo), E_USER_WARNING);
return null;
}
if (isset($options['salt'])) {
switch (gettype($options['salt'])) {
case 'NULL':
case 'boolean':
case 'integer':
case 'double':
case 'string':
$salt = (string) $options['salt'];
break;
case 'object':
if (method_exists($options['salt'], '__tostring')) {
$salt = (string) $options['salt'];
break;
}
case 'array':
case 'resource':
default:
trigger_error('password_hash(): Non-string salt parameter supplied', E_USER_WARNING);
return null;
}
if (strlen($salt) < $required_salt_len) {
trigger_error(sprintf("password_hash(): Provided salt is too short: %d expecting %d", strlen($salt), $required_salt_len), E_USER_WARNING);
return null;
} elseif (0 == preg_match('#^[a-zA-Z0-9./]+$#D', $salt)) {
$salt = str_replace('+', '.', base64_encode($salt));
}
} else {
$buffer = '';
$raw_length = (int) ($required_salt_len * 3 / 4 + 1);
$buffer_valid = false;
if (function_exists('mcrypt_create_iv') && !defined('PHALANGER')) {
$buffer = mcrypt_create_iv($raw_length, MCRYPT_DEV_URANDOM);
if ($buffer) {
$buffer_valid = true;
}
}
if (!$buffer_valid && function_exists('openssl_random_pseudo_bytes')) {
$buffer = openssl_random_pseudo_bytes($raw_length);
if ($buffer) {
$buffer_valid = true;
}
}
if (!$buffer_valid && is_readable('/dev/urandom')) {
$f = fopen('/dev/urandom', 'r');
$read = strlen($buffer);
while ($read < $raw_length) {
$buffer .= fread($f, $raw_length - $read);
$read = strlen($buffer);
}
fclose($f);
if ($read >= $raw_length) {
$buffer_valid = true;
}
}
if (!$buffer_valid || strlen($buffer) < $raw_length) {
$bl = strlen($buffer);
for ($i = 0; $i < $raw_length; $i++) {
if ($i < $bl) {
$buffer[$i] = $buffer[$i] ^ chr(mt_rand(0, 255));
} else {
$buffer .= chr(mt_rand(0, 255));
}
}
}
$salt = str_replace('+', '.', base64_encode($buffer));
}
$salt = substr($salt, 0, $required_salt_len);
define('PASSWORD_PREFIX', '$2a$'); $hash = $hash_format . $salt;
}
else {
define('PASSWORD_PREFIX', '$2y$'); $ret = crypt($password, $hash);
}
/** if (!is_string($ret) || strlen($ret) <= 13) {
* Hash the password using the specified algorithm return false;
* }
* @param string $password The password to hash
* @param int $algo The algorithm to use (Defined by PASSWORD_* constants)
* @param array $options The options for the algorithm to use
*
* @return string|false The hashed password, or false on error.
*/
function password_hash($password, $algo, array $options = array()) {
if (!function_exists('crypt')) {
trigger_error("Crypt must be loaded for password_hash to function", E_USER_WARNING);
return null;
}
if (!is_string($password)) {
trigger_error("password_hash(): Password must be a string", E_USER_WARNING);
return null;
}
if (!is_int($algo)) {
trigger_error("password_hash() expects parameter 2 to be long, " . gettype($algo) . " given", E_USER_WARNING);
return null;
}
switch ($algo) {
case PASSWORD_BCRYPT:
// Note that this is a C constant, but not exposed to PHP, so we don't define it here.
$cost = 10;
if (isset($options['cost'])) {
$cost = $options['cost'];
if ($cost < 4 || $cost > 31) {
trigger_error(sprintf("password_hash(): Invalid bcrypt cost parameter specified: %d", $cost), E_USER_WARNING);
return null;
}
}
$required_salt_len = 22;
$hash_format = sprintf("%s%02d$", PASSWORD_PREFIX, $cost);
break;
default:
trigger_error(sprintf("password_hash(): Unknown password hashing algorithm: %s", $algo), E_USER_WARNING);
return null;
}
if (isset($options['salt'])) {
switch (gettype($options['salt'])) {
case 'NULL':
case 'boolean':
case 'integer':
case 'double':
case 'string':
$salt = (string) $options['salt'];
break;
case 'object':
if (method_exists($options['salt'], '__tostring')) {
$salt = (string) $options['salt'];
break;
}
case 'array':
case 'resource':
default:
trigger_error('password_hash(): Non-string salt parameter supplied', E_USER_WARNING);
return null;
}
if (strlen($salt) < $required_salt_len) {
trigger_error(sprintf("password_hash(): Provided salt is too short: %d expecting %d", strlen($salt), $required_salt_len), E_USER_WARNING);
return null;
} elseif (0 == preg_match('#^[a-zA-Z0-9./]+$#D', $salt)) {
$salt = str_replace('+', '.', base64_encode($salt));
}
} else {
$buffer = '';
$raw_length = (int) ($required_salt_len * 3 / 4 + 1);
$buffer_valid = false;
if (function_exists('mcrypt_create_iv') && !defined('PHALANGER')) {
$buffer = mcrypt_create_iv($raw_length, MCRYPT_DEV_URANDOM);
if ($buffer) {
$buffer_valid = true;
}
}
if (!$buffer_valid && function_exists('openssl_random_pseudo_bytes')) {
$buffer = openssl_random_pseudo_bytes($raw_length);
if ($buffer) {
$buffer_valid = true;
}
}
if (!$buffer_valid && is_readable('/dev/urandom')) {
$f = fopen('/dev/urandom', 'r');
$read = strlen($buffer);
while ($read < $raw_length) {
$buffer .= fread($f, $raw_length - $read);
$read = strlen($buffer);
}
fclose($f);
if ($read >= $raw_length) {
$buffer_valid = true;
}
}
if (!$buffer_valid || strlen($buffer) < $raw_length) {
$bl = strlen($buffer);
for ($i = 0; $i < $raw_length; $i++) {
if ($i < $bl) {
$buffer[$i] = $buffer[$i] ^ chr(mt_rand(0, 255));
} else {
$buffer .= chr(mt_rand(0, 255));
}
}
}
$salt = str_replace('+', '.', base64_encode($buffer));
} return $ret;
$salt = substr($salt, 0, $required_salt_len); }
$hash = $hash_format . $salt; /**
* Get information about the password hash. Returns an array of the information
* that was used to generate the password hash.
*
* array(
* 'algo' => 1,
* 'algoName' => 'bcrypt',
* 'options' => array(
* 'cost' => 10,
* ),
* )
*
* @param string $hash The password hash to extract info from
*
* @return array The array of information about the hash.
*/
function password_get_info($hash)
{
$return = array(
'algo' => 0,
'algoName' => 'unknown',
'options' => array(),
);
if (substr($hash, 0, 4) == PASSWORD_PREFIX && strlen($hash) == 60) {
$return['algo'] = PASSWORD_BCRYPT;
$return['algoName'] = 'bcrypt';
list($cost) = sscanf($hash, PASSWORD_PREFIX."%d$");
$return['options']['cost'] = $cost;
}
return $return;
}
$ret = crypt($password, $hash); /**
* Determine if the password hash needs to be rehashed according to the options provided
*
* If the answer is true, after validating the password using password_verify, rehash it.
*
* @param string $hash The hash to test
* @param int $algo The algorithm used for new password hashes
* @param array $options The options array passed to password_hash
*
* @return boolean True if the password needs to be rehashed.
*/
function password_needs_rehash($hash, $algo, array $options = array())
{
$info = password_get_info($hash);
if ($info['algo'] != $algo) {
return true;
}
switch ($algo) {
case PASSWORD_BCRYPT:
$cost = isset($options['cost']) ? $options['cost'] : 10;
if ($cost != $info['options']['cost']) {
return true;
}
break;
}
return false;
}
if (!is_string($ret) || strlen($ret) <= 13) { /**
return false; * Verify a password against a hash using a timing attack resistant approach
} *
* @param string $password The password to verify
* @param string $hash The hash to verify against
*
* @return boolean If the password matches the hash
*/
function password_verify($password, $hash)
{
if (!function_exists('crypt')) {
trigger_error("Crypt must be loaded for password_verify to function", E_USER_WARNING);
return false;
}
$ret = crypt($password, $hash);
if (!is_string($ret) || strlen($ret) != strlen($hash) || strlen($ret) <= 13) {
return false;
}
return $ret; $status = 0;
} for ($i = 0; $i < strlen($ret); $i++) {
$status |= (ord($ret[$i]) ^ ord($hash[$i]));
}
/** return $status === 0;
* Get information about the password hash. Returns an array of the information }
* that was used to generate the password hash.
*
* array(
* 'algo' => 1,
* 'algoName' => 'bcrypt',
* 'options' => array(
* 'cost' => 10,
* ),
* )
*
* @param string $hash The password hash to extract info from
*
* @return array The array of information about the hash.
*/
function password_get_info($hash) {
$return = array(
'algo' => 0,
'algoName' => 'unknown',
'options' => array(),
);
if (substr($hash, 0, 4) == PASSWORD_PREFIX && strlen($hash) == 60) {
$return['algo'] = PASSWORD_BCRYPT;
$return['algoName'] = 'bcrypt';
list($cost) = sscanf($hash, PASSWORD_PREFIX."%d$");
$return['options']['cost'] = $cost;
}
return $return;
}
/**
* Determine if the password hash needs to be rehashed according to the options provided
*
* If the answer is true, after validating the password using password_verify, rehash it.
*
* @param string $hash The hash to test
* @param int $algo The algorithm used for new password hashes
* @param array $options The options array passed to password_hash
*
* @return boolean True if the password needs to be rehashed.
*/
function password_needs_rehash($hash, $algo, array $options = array()) {
$info = password_get_info($hash);
if ($info['algo'] != $algo) {
return true;
}
switch ($algo) {
case PASSWORD_BCRYPT:
$cost = isset($options['cost']) ? $options['cost'] : 10;
if ($cost != $info['options']['cost']) {
return true;
}
break;
}
return false;
}
/**
* Verify a password against a hash using a timing attack resistant approach
*
* @param string $password The password to verify
* @param string $hash The hash to verify against
*
* @return boolean If the password matches the hash
*/
function password_verify($password, $hash) {
if (!function_exists('crypt')) {
trigger_error("Crypt must be loaded for password_verify to function", E_USER_WARNING);
return false;
}
$ret = crypt($password, $hash);
if (!is_string($ret) || strlen($ret) != strlen($hash) || strlen($ret) <= 13) {
return false;
}
$status = 0;
for ($i = 0; $i < strlen($ret); $i++) {
$status |= (ord($ret[$i]) ^ ord($hash[$i]));
}
return $status === 0;
}
} }

View File

@@ -184,7 +184,6 @@ class Action extends Base
$params = $this->db->table(self::TABLE_PARAMS)->findAll(); $params = $this->db->table(self::TABLE_PARAMS)->findAll();
foreach ($actions as &$action) { foreach ($actions as &$action) {
$action['params'] = array(); $action['params'] = array();
foreach ($params as $param) { foreach ($params as $param) {
@@ -270,7 +269,6 @@ class Action extends Base
$action_id = $this->db->getLastId(); $action_id = $this->db->getLastId();
foreach ($values['params'] as $param_name => $param_value) { foreach ($values['params'] as $param_name => $param_value) {
$action_param = array( $action_param = array(
'action_id' => $action_id, 'action_id' => $action_id,
'name' => $param_name, 'name' => $param_name,
@@ -298,7 +296,6 @@ class Action extends Base
$actions = $this->getAll(); $actions = $this->getAll();
foreach ($actions as $action) { foreach ($actions as $action) {
$listener = $this->load($action['action_name'], $action['project_id'], $action['event_name']); $listener = $this->load($action['action_name'], $action['project_id'], $action['event_name']);
foreach ($action['params'] as $param) { foreach ($action['params'] as $param) {
@@ -320,7 +317,8 @@ class Action extends Base
*/ */
public function load($name, $project_id, $event) public function load($name, $project_id, $event)
{ {
$className = $name{0} !== '\\' ? '\Kanboard\Action\\'.$name : $name; $className = $name{0}
!== '\\' ? '\Kanboard\Action\\'.$name : $name;
return new $className($this->container, $project_id, $event); return new $className($this->container, $project_id, $event);
} }
@@ -337,7 +335,6 @@ class Action extends Base
$actions = $this->action->getAllByProject($src_project_id); $actions = $this->action->getAllByProject($src_project_id);
foreach ($actions as $action) { foreach ($actions as $action) {
$this->db->startTransaction(); $this->db->startTransaction();
$values = array( $values = array(
@@ -378,7 +375,6 @@ class Action extends Base
public function duplicateParameters($project_id, $action_id, array $params) public function duplicateParameters($project_id, $action_id, array $params)
{ {
foreach ($params as $param) { foreach ($params as $param) {
$value = $this->resolveParameters($param, $project_id); $value = $this->resolveParameters($param, $project_id);
if ($value === false) { if ($value === false) {

View File

@@ -79,12 +79,10 @@ class Authentication extends Base
if ($this->user->isLocked($username)) { if ($this->user->isLocked($username)) {
$this->container['logger']->error('Account locked: '.$username); $this->container['logger']->error('Account locked: '.$username);
return false; return false;
} } elseif ($this->backend('database')->authenticate($username, $password)) {
else if ($this->backend('database')->authenticate($username, $password)) {
$this->user->resetFailedLogin($username); $this->user->resetFailedLogin($username);
return true; return true;
} } elseif (LDAP_AUTH && $this->backend('ldap')->authenticate($username, $password)) {
else if (LDAP_AUTH && $this->backend('ldap')->authenticate($username, $password)) {
$this->user->resetFailedLogin($username); $this->user->resetFailedLogin($username);
return true; return true;
} }
@@ -133,11 +131,9 @@ class Authentication extends Base
list($result, $errors) = $this->validateFormCredentials($values); list($result, $errors) = $this->validateFormCredentials($values);
if ($result) { if ($result) {
if ($this->validateFormCaptcha($values) && $this->authenticate($values['username'], $values['password'])) { if ($this->validateFormCaptcha($values) && $this->authenticate($values['username'], $values['password'])) {
$this->createRememberMeSession($values); $this->createRememberMeSession($values);
} } else {
else {
$result = false; $result = false;
$errors['login'] = t('Bad username or password'); $errors['login'] = t('Bad username or password');
} }
@@ -194,7 +190,6 @@ class Authentication extends Base
private function createRememberMeSession(array $values) private function createRememberMeSession(array $values)
{ {
if (REMEMBER_ME_AUTH && ! empty($values['remember_me'])) { if (REMEMBER_ME_AUTH && ! empty($values['remember_me'])) {
$credentials = $this->backend('rememberMe') $credentials = $this->backend('rememberMe')
->create($this->userSession->getId(), Request::getIpAddress(), Request::getUserAgent()); ->create($this->userSession->getId(), Request::getIpAddress(), Request::getUserAgent());

View File

@@ -22,7 +22,7 @@ abstract class Base extends \Kanboard\Core\Base
*/ */
public function persist($table, array $values) public function persist($table, array $values)
{ {
return $this->db->transaction(function($db) use ($table, $values) { return $this->db->transaction(function ($db) use ($table, $values) {
if (! $db->table($table)->save($values)) { if (! $db->table($table)->save($values)) {
return false; return false;

View File

@@ -43,7 +43,6 @@ class Board extends Base
$columns = array(); $columns = array();
foreach ($column_names as $column_name) { foreach ($column_names as $column_name) {
$column_name = trim($column_name); $column_name = trim($column_name);
if (! empty($column_name)) { if (! empty($column_name)) {
@@ -67,7 +66,6 @@ class Board extends Base
$position = 0; $position = 0;
foreach ($columns as $column) { foreach ($columns as $column) {
$values = array( $values = array(
'title' => $column['title'], 'title' => $column['title'],
'position' => ++$position, 'position' => ++$position,
@@ -120,7 +118,7 @@ class Board extends Base
'title' => $title, 'title' => $title,
'task_limit' => intval($task_limit), 'task_limit' => intval($task_limit),
'position' => $this->getLastColumnPosition($project_id) + 1, 'position' => $this->getLastColumnPosition($project_id) + 1,
'description' => $description, 'description' => $description,
); );
return $this->persist(self::TABLE, $values); return $this->persist(self::TABLE, $values);
@@ -199,7 +197,6 @@ class Board extends Base
$positions = array_flip($columns); $positions = array_flip($columns);
if (isset($columns[$column_id]) && $columns[$column_id] < count($columns)) { if (isset($columns[$column_id]) && $columns[$column_id] < count($columns)) {
$position = ++$columns[$column_id]; $position = ++$columns[$column_id];
$columns[$positions[$position]]--; $columns[$positions[$position]]--;
@@ -223,7 +220,6 @@ class Board extends Base
$positions = array_flip($columns); $positions = array_flip($columns);
if (isset($columns[$column_id]) && $columns[$column_id] > 1) { if (isset($columns[$column_id]) && $columns[$column_id] > 1) {
$position = --$columns[$column_id]; $position = --$columns[$column_id];
$columns[$positions[$position]]++; $columns[$positions[$position]]++;
@@ -248,14 +244,12 @@ class Board extends Base
$nb_columns = count($columns); $nb_columns = count($columns);
for ($i = 0, $ilen = count($swimlanes); $i < $ilen; $i++) { for ($i = 0, $ilen = count($swimlanes); $i < $ilen; $i++) {
$swimlanes[$i]['columns'] = $columns; $swimlanes[$i]['columns'] = $columns;
$swimlanes[$i]['nb_columns'] = $nb_columns; $swimlanes[$i]['nb_columns'] = $nb_columns;
$swimlanes[$i]['nb_tasks'] = 0; $swimlanes[$i]['nb_tasks'] = 0;
$swimlanes[$i]['nb_swimlanes'] = $ilen; $swimlanes[$i]['nb_swimlanes'] = $ilen;
for ($j = 0; $j < $nb_columns; $j++) { for ($j = 0; $j < $nb_columns; $j++) {
$column_id = $columns[$j]['id']; $column_id = $columns[$j]['id'];
$swimlane_id = $swimlanes[$i]['id']; $swimlane_id = $swimlanes[$i]['id'];

View File

@@ -128,7 +128,6 @@ class Category extends Base
$categories = explode(',', $this->config->get('project_categories')); $categories = explode(',', $this->config->get('project_categories'));
foreach ($categories as $category) { foreach ($categories as $category) {
$category = trim($category); $category = trim($category);
if (! empty($category)) { if (! empty($category)) {
@@ -204,7 +203,6 @@ class Category extends Base
->findAll(); ->findAll();
foreach ($categories as $category) { foreach ($categories as $category) {
$category['project_id'] = $dst_project_id; $category['project_id'] = $dst_project_id;
if (! $this->db->table(self::TABLE)->save($category)) { if (! $this->db->table(self::TABLE)->save($category)) {

View File

@@ -113,8 +113,7 @@ class Color extends Base
foreach ($this->default_colors as $color_id => $params) { foreach ($this->default_colors as $color_id => $params) {
if ($color_id === $color) { if ($color_id === $color) {
return $color_id; return $color_id;
} } elseif ($color === strtolower($params['name'])) {
else if ($color === strtolower($params['name'])) {
return $color_id; return $color_id;
} }
} }

View File

@@ -50,7 +50,6 @@ class File extends Base
public function remove($file_id) public function remove($file_id)
{ {
try { try {
$file = $this->getbyId($file_id); $file = $this->getbyId($file_id);
$this->objectStorage->remove($file['path']); $this->objectStorage->remove($file['path']);
@@ -59,8 +58,7 @@ class File extends Base
} }
return $this->db->table(self::TABLE)->eq('id', $file['id'])->remove(); return $this->db->table(self::TABLE)->eq('id', $file['id'])->remove();
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
return false; return false;
} }
@@ -108,7 +106,6 @@ class File extends Base
)); ));
if ($result) { if ($result) {
$this->container['dispatcher']->dispatch( $this->container['dispatcher']->dispatch(
self::EVENT_CREATE, self::EVENT_CREATE,
new FileEvent(array('task_id' => $task_id, 'name' => $name)) new FileEvent(array('task_id' => $task_id, 'name' => $name))
@@ -266,15 +263,12 @@ class File extends Base
public function uploadFiles($project_id, $task_id, $form_name) public function uploadFiles($project_id, $task_id, $form_name)
{ {
try { try {
if (empty($_FILES[$form_name])) { if (empty($_FILES[$form_name])) {
return false; return false;
} }
foreach ($_FILES[$form_name]['error'] as $key => $error) { foreach ($_FILES[$form_name]['error'] as $key => $error) {
if ($error == UPLOAD_ERR_OK && $_FILES[$form_name]['size'][$key] > 0) { if ($error == UPLOAD_ERR_OK && $_FILES[$form_name]['size'][$key] > 0) {
$original_filename = $_FILES[$form_name]['name'][$key]; $original_filename = $_FILES[$form_name]['name'][$key];
$uploaded_filename = $_FILES[$form_name]['tmp_name'][$key]; $uploaded_filename = $_FILES[$form_name]['tmp_name'][$key];
$destination_filename = $this->generatePath($project_id, $task_id, $original_filename); $destination_filename = $this->generatePath($project_id, $task_id, $original_filename);
@@ -295,8 +289,7 @@ class File extends Base
} }
return true; return true;
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
return false; return false;
} }
@@ -330,7 +323,6 @@ class File extends Base
public function uploadContent($project_id, $task_id, $original_filename, $blob) public function uploadContent($project_id, $task_id, $original_filename, $blob)
{ {
try { try {
$data = base64_decode($blob); $data = base64_decode($blob);
if (empty($data)) { if (empty($data)) {
@@ -350,8 +342,7 @@ class File extends Base
$destination_filename, $destination_filename,
strlen($data) strlen($data)
); );
} } catch (ObjectStorageException $e) {
catch (ObjectStorageException $e) {
$this->logger->error($e->getMessage()); $this->logger->error($e->getMessage());
return false; return false;
} }

View File

@@ -44,7 +44,6 @@ class LastLogin extends Base
->findAllByColumn('id'); ->findAllByColumn('id');
if (count($connections) >= self::NB_LOGINS) { if (count($connections) >= self::NB_LOGINS) {
$this->db->table(self::TABLE) $this->db->table(self::TABLE)
->eq('user_id', $user_id) ->eq('user_id', $user_id)
->notin('id', array_slice($connections, 0, self::NB_LOGINS - 1)) ->notin('id', array_slice($connections, 0, self::NB_LOGINS - 1))

View File

@@ -126,7 +126,6 @@ class Link extends Base
$label_id = $this->db->getLastId(); $label_id = $this->db->getLastId();
if (! empty($opposite_label)) { if (! empty($opposite_label)) {
$this->db $this->db
->table(self::TABLE) ->table(self::TABLE)
->insert(array( ->insert(array(

View File

@@ -53,7 +53,7 @@ abstract class NotificationType extends Base
$container = $this->container; $container = $this->container;
$this->labels[$type] = $label; $this->labels[$type] = $label;
$this->classes[$type] = function() use ($class, $container) { $this->classes[$type] = function () use ($class, $container) {
return new $class($container); return new $class($container);
}; };
} }

View File

@@ -138,18 +138,17 @@ class ProjectActivity extends Base
*/ */
private function getEvents(\PicoDb\Table $query, $start, $end) private function getEvents(\PicoDb\Table $query, $start, $end)
{ {
if (! is_null($start)){ if (! is_null($start)) {
$query->gte('date_creation', $start); $query->gte('date_creation', $start);
} }
if (! is_null($end)){ if (! is_null($end)) {
$query->lte('date_creation', $end); $query->lte('date_creation', $end);
} }
$events = $query->findAll(); $events = $query->findAll();
foreach ($events as &$event) { foreach ($events as &$event) {
$event += $this->decode($event['data']); $event += $this->decode($event['data']);
unset($event['data']); unset($event['data']);
@@ -170,7 +169,6 @@ class ProjectActivity extends Base
public function cleanup($max) public function cleanup($max)
{ {
if ($this->db->table(self::TABLE)->count() > $max) { if ($this->db->table(self::TABLE)->count() > $max) {
$this->db->execute(' $this->db->execute('
DELETE FROM '.self::TABLE.' DELETE FROM '.self::TABLE.'
WHERE id <= ( WHERE id <= (

View File

@@ -24,7 +24,6 @@ class ProjectAnalytic extends Base
$columns = $this->board->getColumns($project_id); $columns = $this->board->getColumns($project_id);
foreach ($columns as $column) { foreach ($columns as $column) {
$nb_tasks = $this->taskFinder->countByColumnId($project_id, $column['id']); $nb_tasks = $this->taskFinder->countByColumnId($project_id, $column['id']);
$total += $nb_tasks; $total += $nb_tasks;
@@ -60,7 +59,6 @@ class ProjectAnalytic extends Base
$users = $this->projectPermission->getMemberList($project_id); $users = $this->projectPermission->getMemberList($project_id);
foreach ($tasks as $task) { foreach ($tasks as $task) {
$user = isset($users[$task['owner_id']]) ? $users[$task['owner_id']] : $users[0]; $user = isset($users[$task['owner_id']]) ? $users[$task['owner_id']] : $users[0];
$total++; $total++;

View File

@@ -32,7 +32,7 @@ class ProjectDailyColumnStats extends Base
{ {
$status = $this->config->get('cfd_include_closed_tasks') == 1 ? array(Task::STATUS_OPEN, Task::STATUS_CLOSED) : array(Task::STATUS_OPEN); $status = $this->config->get('cfd_include_closed_tasks') == 1 ? array(Task::STATUS_OPEN, Task::STATUS_CLOSED) : array(Task::STATUS_OPEN);
return $this->db->transaction(function($db) use ($project_id, $date, $status) { return $this->db->transaction(function ($db) use ($project_id, $date, $status) {
$column_ids = $db->table(Board::TABLE)->eq('project_id', $project_id)->findAllByColumn('id'); $column_ids = $db->table(Board::TABLE)->eq('project_id', $project_id)->findAllByColumn('id');
@@ -171,7 +171,6 @@ class ProjectDailyColumnStats extends Base
// Aggregate by day // Aggregate by day
foreach ($records as $record) { foreach ($records as $record) {
if (! isset($aggregates[$record['day']])) { if (! isset($aggregates[$record['day']])) {
$aggregates[$record['day']] = array($record['day']); $aggregates[$record['day']] = array($record['day']);
} }
@@ -181,7 +180,6 @@ class ProjectDailyColumnStats extends Base
// Aggregate by row // Aggregate by row
foreach ($aggregates as $aggregate) { foreach ($aggregates as $aggregate) {
$row = array($aggregate[0]); $row = array($aggregate[0]);
foreach ($column_ids as $column_id) { foreach ($column_ids as $column_id) {

View File

@@ -29,7 +29,7 @@ class ProjectDailyStats extends Base
{ {
$lead_cycle_time = $this->projectAnalytic->getAverageLeadAndCycleTime($project_id); $lead_cycle_time = $this->projectAnalytic->getAverageLeadAndCycleTime($project_id);
return $this->db->transaction(function($db) use ($project_id, $date, $lead_cycle_time) { return $this->db->transaction(function ($db) use ($project_id, $date, $lead_cycle_time) {
// This call will fail if the record already exists // This call will fail if the record already exists
// (cross database driver hack for INSERT..ON DUPLICATE KEY UPDATE) // (cross database driver hack for INSERT..ON DUPLICATE KEY UPDATE)

View File

@@ -280,9 +280,9 @@ class ProjectPermission extends Base
->eq('project_id', $project_id) ->eq('project_id', $project_id)
->eq('user_id', $user_id) ->eq('user_id', $user_id)
->exists(); ->exists();
} }
/** /**
* Check if a specific user is manager of a given project * Check if a specific user is manager of a given project
* *
* @access public * @access public
@@ -439,7 +439,6 @@ class ProjectPermission extends Base
->findAll(); ->findAll();
foreach ($rows as $row) { foreach ($rows as $row) {
$result = $this->db $result = $this->db
->table(self::TABLE) ->table(self::TABLE)
->save(array( ->save(array(

View File

@@ -148,7 +148,6 @@ class Subtask extends Base
public function getById($subtask_id, $more = false) public function getById($subtask_id, $more = false)
{ {
if ($more) { if ($more) {
return $this->db return $this->db
->table(self::TABLE) ->table(self::TABLE)
->eq(self::TABLE.'.id', $subtask_id) ->eq(self::TABLE.'.id', $subtask_id)
@@ -341,7 +340,6 @@ class Subtask extends Base
$positions = array_flip($subtasks); $positions = array_flip($subtasks);
if (isset($subtasks[$subtask_id]) && $subtasks[$subtask_id] > 1) { if (isset($subtasks[$subtask_id]) && $subtasks[$subtask_id] > 1) {
$position = --$subtasks[$subtask_id]; $position = --$subtasks[$subtask_id];
$subtasks[$positions[$position]]++; $subtasks[$positions[$position]]++;
@@ -446,7 +444,6 @@ class Subtask extends Base
->findAll(); ->findAll();
foreach ($subtasks as &$subtask) { foreach ($subtasks as &$subtask) {
$subtask['task_id'] = $dst_task_id; $subtask['task_id'] = $dst_task_id;
if (! $db->table(Subtask::TABLE)->save($subtask)) { if (! $db->table(Subtask::TABLE)->save($subtask)) {

Some files were not shown because too many files have changed in this diff Show More