summaryrefslogtreecommitdiff
path: root/app/Helper
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-04-01 15:43:36 -0400
committerFrederic Guillot <fred@kanboard.net>2017-04-01 15:43:36 -0400
commit253d5a9331e4b4775066ec8cb9664da9a2aa6ac9 (patch)
tree0d089bcbe3b7ea964e8b0ec651a0694dee86c9d1 /app/Helper
parent99015d08fa194c5b8145f5d1315d61ebc20bd7a3 (diff)
Move calendar to external plugin
Diffstat (limited to 'app/Helper')
-rw-r--r--app/Helper/CalendarHelper.php126
-rw-r--r--app/Helper/ProjectHeaderHelper.php4
2 files changed, 3 insertions, 127 deletions
diff --git a/app/Helper/CalendarHelper.php b/app/Helper/CalendarHelper.php
deleted file mode 100644
index 0942177d..00000000
--- a/app/Helper/CalendarHelper.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-namespace Kanboard\Helper;
-
-use Kanboard\Core\Base;
-use Kanboard\Core\Filter\QueryBuilder;
-use Kanboard\Filter\TaskDueDateRangeFilter;
-
-/**
- * Calendar Helper
- *
- * @package helper
- * @author Frederic Guillot
- */
-class CalendarHelper extends Base
-{
- /**
- * Render calendar component
- *
- * @param string $checkUrl
- * @param string $saveUrl
- * @return string
- */
- public function render($checkUrl, $saveUrl)
- {
- $params = array(
- 'checkUrl' => $checkUrl,
- 'saveUrl' => $saveUrl,
- );
-
- return '<div class="js-calendar" data-params=\''.json_encode($params, JSON_HEX_APOS).'\'></div>';
- }
-
- /**
- * Get formatted calendar task due events
- *
- * @access public
- * @param QueryBuilder $queryBuilder
- * @param string $start
- * @param string $end
- * @return array
- */
- public function getTaskDateDueEvents(QueryBuilder $queryBuilder, $start, $end)
- {
- $formatter = $this->taskCalendarFormatter;
- $formatter->setFullDay();
- $formatter->setColumns('date_due');
-
- return $queryBuilder
- ->withFilter(new TaskDueDateRangeFilter(array($start, $end)))
- ->format($formatter);
- }
-
- /**
- * Get formatted calendar task events
- *
- * @access public
- * @param QueryBuilder $queryBuilder
- * @param string $start
- * @param string $end
- * @return array
- */
- public function getTaskEvents(QueryBuilder $queryBuilder, $start, $end)
- {
- $startColumn = $this->configModel->get('calendar_project_tasks', 'date_started');
-
- $queryBuilder->getQuery()->addCondition($this->getCalendarCondition(
- $this->dateParser->getTimestampFromIsoFormat($start),
- $this->dateParser->getTimestampFromIsoFormat($end),
- $startColumn,
- 'date_due'
- ));
-
- $formatter = $this->taskCalendarFormatter;
- $formatter->setColumns($startColumn, 'date_due');
-
- return $queryBuilder->format($formatter);
- }
-
- /**
- * Get formatted calendar subtask time tracking events
- *
- * @access public
- * @param integer $user_id
- * @param string $start
- * @param string $end
- * @return array
- */
- public function getSubtaskTimeTrackingEvents($user_id, $start, $end)
- {
- return $this->subtaskTimeTrackingCalendarFormatter
- ->withQuery($this->subtaskTimeTrackingModel->getUserQuery($user_id)
- ->addCondition($this->getCalendarCondition(
- $this->dateParser->getTimestampFromIsoFormat($start),
- $this->dateParser->getTimestampFromIsoFormat($end),
- 'start',
- 'end'
- ))
- )
- ->format();
- }
-
- /**
- * Build SQL condition for a given time range
- *
- * @access public
- * @param string $start_time Start timestamp
- * @param string $end_time End timestamp
- * @param string $start_column Start column name
- * @param string $end_column End column name
- * @return string
- */
- public function getCalendarCondition($start_time, $end_time, $start_column, $end_column)
- {
- $start_column = $this->db->escapeIdentifier($start_column);
- $end_column = $this->db->escapeIdentifier($end_column);
-
- $conditions = array(
- "($start_column >= '$start_time' AND $start_column <= '$end_time')",
- "($start_column <= '$start_time' AND $end_column >= '$start_time')",
- "($start_column <= '$start_time' AND ($end_column = '0' OR $end_column IS NULL))",
- );
-
- return $start_column.' IS NOT NULL AND '.$start_column.' > 0 AND ('.implode(' OR ', $conditions).')';
- }
-}
diff --git a/app/Helper/ProjectHeaderHelper.php b/app/Helper/ProjectHeaderHelper.php
index 9514f4f2..e4f96107 100644
--- a/app/Helper/ProjectHeaderHelper.php
+++ b/app/Helper/ProjectHeaderHelper.php
@@ -34,15 +34,17 @@ class ProjectHeaderHelper extends Base
* @param string $controller
* @param string $action
* @param bool $boardView
+ * @param string $plugin
* @return string
*/
- public function render(array $project, $controller, $action, $boardView = false)
+ public function render(array $project, $controller, $action, $boardView = false, $plugin = '')
{
$filters = array(
'controller' => $controller,
'action' => $action,
'project_id' => $project['id'],
'search' => $this->getSearchQuery($project),
+ 'plugin' => $plugin,
);
return $this->template->render('project_header/header', array(