Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/tasks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--appinfo/app.php50
-rw-r--r--appinfo/application.php108
-rw-r--r--appinfo/routes.php307
-rw-r--r--controller/collectionscontroller.php (renamed from lib/controller/collectionscontroller.php)36
-rw-r--r--controller/helper.php (renamed from lib/helper.php)6
-rw-r--r--controller/listscontroller.php (renamed from lib/controller/listscontroller.php)24
-rw-r--r--controller/pagecontroller.php (renamed from lib/controller/pagecontroller.php)4
-rw-r--r--controller/settingscontroller.php (renamed from lib/controller/settingscontroller.php)23
-rw-r--r--controller/taskscontroller.php (renamed from lib/controller/taskscontroller.php)26
-rw-r--r--lib/controller.php44
-rw-r--r--lib/dispatcher.php57
11 files changed, 236 insertions, 449 deletions
diff --git a/appinfo/app.php b/appinfo/app.php
index 0539059a..9703ed13 100644
--- a/appinfo/app.php
+++ b/appinfo/app.php
@@ -20,48 +20,22 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
-namespace OCA\Tasks;
+namespace OCA\Tasks\AppInfo;
-use \OC\AppFramework\Core\API;
+if(\OCP\App::isEnabled('calendar')) {
+ \OCP\App::addNavigationEntry(array(
+ // the string under which your app will be referenced in owncloud
+ 'id' => 'tasks',
-// dont break owncloud when the appframework is not enabled
-if(\OCP\App::isEnabled('calendar')){
+ 'order' => 100,
- // $api = new API('tasks');
+ 'href' => \OCP\Util::linkToRoute('tasks.page.index'),
-// $api->addNavigationEntry(array(
-
-// // the string under which your app will be referenced in owncloud
-// 'id' => $api->getAppName(),
-
-// // sorting weight for the navigation. The higher the number, the higher
-// // will it be listed in the navigation
-// 'order' => 100,
-
-// // the route that will be shown on startup
-// 'href' => $api->linkToRoute('tasks_index'),
-
-// // the icon that will be shown in the navigation
-// // this file needs to exist in img/example.png
-// 'icon' => $api->imagePath('tasks.svg'),
-
-// // 'icon' => $api->imagePath('core', 'places/music.svg'),
-
-// // the title of your application. This will be used in the
-// // navigation or on the settings page of your app
-// 'name' => $api->getTrans()->t('Tasks')
-
-// ));
- \OC::$server->getNavigationManager()->add(array(
- 'id' => 'tasks',
- 'order' => 100,
- 'href' => \OCP\Util::linkToRoute('tasks_index'),
- 'icon' => \OCP\Util::imagePath( 'tasks', 'tasks.svg' ),
- 'name' => \OCP\Util::getL10N('tasks')->t('Tasks')
- )
- );
+ 'icon' => \OCP\Util::imagePath('tasks', 'tasks.svg'),
+ 'name' => \OC_L10N::get('tasks')->t('Tasks')
+ ));
} else {
- $msg = 'Can not enable the Tasks app because the Calendar App is disabled.';
- \OCP\Util::writeLog('tasks', $msg, \OCP\Util::ERROR);
+ $msg = 'Can not enable the Tasks app because the Calendar App is disabled.';
+ \OCP\Util::writeLog('tasks', $msg, \OCP\Util::ERROR);
} \ No newline at end of file
diff --git a/appinfo/application.php b/appinfo/application.php
new file mode 100644
index 00000000..2ea7cd88
--- /dev/null
+++ b/appinfo/application.php
@@ -0,0 +1,108 @@
+<?php
+/**
+* ownCloud - Tasks
+*
+* @author Raimund Schlüßler
+* @copyright 2014 Raimund Schlüßler raimund.schluessler@googlemail.com
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+* License as published by the Free Software Foundation; either
+* version 3 of the License, or any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+*
+* You should have received a copy of the GNU Affero General Public
+* License along with this library. If not, see <http://www.gnu.org/licenses/>.
+*
+*/
+
+namespace OCA\Tasks\AppInfo;
+
+
+use \OCP\AppFramework\App;
+
+use \OCA\Tasks\Controller\PageController;
+use \OCA\Tasks\Controller\CollectionsController;
+use \OCA\Tasks\Controller\ListsController;
+use \OCA\Tasks\Controller\SettingsController;
+use \OCA\Tasks\Controller\TasksController;
+
+
+class Application extends App {
+
+
+ public function __construct (array $urlParams=array()) {
+ parent::__construct('tasks', $urlParams);
+
+ $container = $this->getContainer();
+
+ /**
+ * Controllers
+ */
+ $container->registerService('PageController', function($c) {
+ return new PageController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserId')
+ );
+ });
+
+ $container->registerService('CollectionsController', function($c) {
+ return new CollectionsController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserId'),
+ $c->query('L10N'),
+ $c->query('Settings')
+ );
+ });
+
+ $container->registerService('ListsController', function($c) {
+ return new ListsController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserId')
+ );
+ });
+
+ $container->registerService('SettingsController', function($c) {
+ return new SettingsController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserId'),
+ $c->query('Settings')
+ );
+ });
+
+ $container->registerService('TasksController', function($c) {
+ return new TasksController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserId')
+ );
+ });
+
+
+ /**
+ * Core
+ */
+ $container->registerService('UserId', function($c) {
+ return \OCP\User::getUser();
+ });
+
+ $container->registerService('L10N', function($c) {
+ return $c->query('ServerContainer')->getL10N($c->query('AppName'));
+ });
+
+ $container->registerService('Settings', function($c) {
+ return $c->query('ServerContainer')->getConfig();
+ });
+
+ }
+
+
+} \ No newline at end of file
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 3bb58214..9e04958c 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -19,269 +19,48 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
-namespace OCA\Tasks;
-
-use OCA\Tasks\Dispatcher;
-
-//define the routes
-$this->create('tasks_index', '/')
- ->get()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('PageController', 'index');
- }
- );
-/*
- * Collections
- */
-$this->create('getCollections', '/collections')
- ->get()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('CollectionsController', 'getCollections');
- }
- );
-
-$this->create('setVisibility', '/collection/{collectionID}/visibility/{visibility}')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('CollectionsController', 'setVisibility');
- }
- );
-
-/*
- * Lists
- */
-$this->create('getLists', '/lists')
- ->get()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('ListsController', 'getLists');
- }
- );
-
-$this->create('list_add', '/lists/add')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('ListsController', 'addList');
- }
- );
-
-$this->create('list_delete', '/lists/{listID}/delete')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('ListsController', 'deleteList');
- }
- );
-
-$this->create('list_name', '/lists/{listID}/name')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('ListsController', 'setListName');
- }
- );
-
-/*
- * Tasks
- */
-$this->create('getTasks', '/tasks')
- ->get()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'getTasks');
- }
- );
-
-
-$this->create('task_star', '/tasks/{taskID}/star')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'starTask');
- }
- );
-
-$this->create('task_unstar', '/tasks/{taskID}/unstar')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'unstarTask');
- }
- );
-
-$this->create('task_complete', '/tasks/{taskID}/complete')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'completeTask');
- }
- );
-$this->create('task_uncomplete', '/tasks/{taskID}/uncomplete')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'uncompleteTask');
- }
- );
-
-$this->create('task_add', '/tasks/add')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'addTask');
- }
- );
-
-$this->create('task_delete', '/tasks/{taskID}/delete')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'deleteTask');
- }
- );
-
-$this->create('task_name', '/tasks/{taskID}/name')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'setTaskName');
- }
- );
-
-$this->create('task_calendar', '/tasks/{taskID}/calendar')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'setTaskCalendar');
- }
- );
-
-$this->create('task_note', '/tasks/{taskID}/note')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'setTaskNote');
- }
- );
-
-$this->create('task_due', '/tasks/{taskID}/due')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'setDueDate');
- }
- );
-
-$this->create('task_start', '/tasks/{taskID}/start')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'setStartDate');
- }
- );
-
-$this->create('task_percentcomplete', '/tasks/{taskID}/percentcomplete')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'percentComplete');
- }
- );
-
-$this->create('task_reminder', '/tasks/{taskID}/reminder')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'setReminderDate');
- }
- );
-
-$this->create('task_comment', '/tasks/{taskID}/comment')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'addComment');
- }
- );
-
-$this->create('task_deletecomment', '/tasks/{taskID}/comment/{commentID}/delete')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('TasksController', 'deleteComment');
- }
- );
-
-/*
- * Settings
- */
-$this->create('getSettings', '/settings')
- ->get()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('SettingsController', 'getSettings');
- }
- );
+namespace OCA\Tasks;
-$this->create('showHidden', '/settings/{type}/{setting}/{value}')
- ->post()
- ->action(
- function($params){
- session_write_close();
- $dispatcher = new Dispatcher($params);
- $dispatcher->dispatch('SettingsController', 'set');
- }
- ); \ No newline at end of file
+// use \OCP\AppFramework\App;
+use \OCA\Tasks\AppInfo\Application;
+
+$application = new Application();
+
+$application->registerRoutes($this, array('routes' => array(
+ // page
+ array('name' => 'page#index', 'url' => '/', 'verb' => 'GET'),
+
+ // collections
+ array('name' => 'collections#getCollections', 'url' => '/collections', 'verb' => 'GET'),
+ array('name' => 'collections#setVisibility', 'url' => '/collection/{collectionID}/visibility/{visibility}', 'verb' => 'POST'),
+
+ // lists
+ array('name' => 'lists#getLists', 'url' => '/lists', 'verb' => 'GET'),
+ array('name' => 'lists#addList', 'url' => '/lists/add', 'verb' => 'POST'),
+ array('name' => 'lists#deleteList', 'url' => '/lists/{listID}/delete', 'verb' => 'POST'),
+ array('name' => 'lists#setListName','url' => '/lists/{listID}/name', 'verb' => 'POST'),
+
+ // tasks
+ array('name' => 'tasks#getTasks', 'url' => '/tasks', 'verb' => 'GET'),
+ array('name' => 'tasks#starTask', 'url' => '/tasks/{taskID}/star', 'verb' => 'POST'),
+ array('name' => 'tasks#unstarTask', 'url' => '/tasks/{taskID}/unstar', 'verb' => 'POST'),
+ array('name' => 'tasks#completeTask', 'url' => '/tasks/{taskID}/complete', 'verb' => 'POST'),
+ array('name' => 'tasks#uncompleteTask', 'url' => '/tasks/{taskID}/uncomplete', 'verb' => 'POST'),
+ array('name' => 'tasks#addTask', 'url' => '/tasks/add', 'verb' => 'POST'),
+ array('name' => 'tasks#deleteTask', 'url' => '/tasks/{taskID}/delete', 'verb' => 'POST'),
+ array('name' => 'tasks#setTaskName', 'url' => '/tasks/{taskID}/name', 'verb' => 'POST'),
+ array('name' => 'tasks#setTaskCalendar','url' => '/tasks/{taskID}/calendar', 'verb' => 'POST'),
+ array('name' => 'tasks#setTaskNote', 'url' => '/tasks/{taskID}/note', 'verb' => 'POST'),
+ array('name' => 'tasks#setDueDate', 'url' => '/tasks/{taskID}/due', 'verb' => 'POST'),
+ array('name' => 'tasks#setStartDate', 'url' => '/tasks/{taskID}/start', 'verb' => 'POST'),
+
+ array('name' => 'tasks#percentComplete','url' => '/tasks/{taskID}/percentcomplete', 'verb' => 'POST'),
+ array('name' => 'tasks#setReminderDate','url' => '/tasks/{taskID}/reminder', 'verb' => 'POST'),
+ array('name' => 'tasks#addComment', 'url' => '/tasks/{taskID}/comment', 'verb' => 'POST'),
+ array('name' => 'tasks#deleteComment', 'url' => '/tasks/{taskID}/comment/{commentID}/delete', 'verb' => 'POST'),
+
+ // settings
+ array('name' => 'settings#get', 'url' => '/settings', 'verb' => 'GET'),
+ array('name' => 'settings#set', 'url' => '/settings/{type}/{setting}/{value}', 'verb' => 'POST'),
+))); \ No newline at end of file
diff --git a/lib/controller/collectionscontroller.php b/controller/collectionscontroller.php
index d1cace93..ef15c930 100644
--- a/lib/controller/collectionscontroller.php
+++ b/controller/collectionscontroller.php
@@ -23,52 +23,62 @@
namespace OCA\Tasks\Controller;
-use OCA\Tasks\Controller;
-use OCP\AppFramework\Http\JSONResponse;
+use \OCP\AppFramework\Controller;
+use \OCP\AppFramework\Http\JSONResponse;
class CollectionsController extends Controller {
+ private $userId;
+ private $l10n;
+ private $settings;
+
+ public function __construct($appName, IRequest $request, $userId, $l10n, IConfig $settings){
+ parent::__construct($appName, $request);
+ $this->l10n = $l10n;
+ $this->userId = $userId;
+ $this->settings = $settings;
+ }
+
/**
* @NoAdminRequired
*/
public function getCollections(){
- $l = \OCP\Util::getL10N('tasks');
$collections = array(
array(
'id' => "starred",
- 'displayname' => (string)$l->t('Important'),
+ 'displayname' => (string)$this->l10n->t('Important'),
'show' => 2),
array(
'id' => "today",
- 'displayname' => (string)$l->t('Today'),
+ 'displayname' => (string)$this->l10n->t('Today'),
'show' => 2),
array(
'id' => "week",
- 'displayname' => (string)$l->t('Week'),
+ 'displayname' => (string)$this->l10n->t('Week'),
'show' => 2),
array(
'id' => "all",
- 'displayname' => (string)$l->t('All'),
+ 'displayname' => (string)$this->l10n->t('All'),
'show' => 2),
array(
'id' => "current",
- 'displayname' => (string)$l->t('Current'),
+ 'displayname' => (string)$this->l10n->t('Current'),
'show' => 2),
array(
'id' => "completed",
- 'displayname' => (string)$l->t('Completed'),
+ 'displayname' => (string)$this->l10n->t('Completed'),
'show' => 2)
);
foreach ($collections as $key => $collection){
try{
- $tmp = \OCP\Config::getUserValue($this->api->getUserId(), 'tasks','show_'.$collection['id']);
+ $tmp = $this->settings->getUserValue($this->userId, $this->appName,'show_'.$collection['id']);
if (!in_array((int)$tmp, array(0,1,2)) || $tmp === null) {
$tmp = 2;
- \OCP\Config::setUserValue($this->api->getUserId(), 'tasks','show_'.$collection['id'],$tmp);
+ $this->settings->setUserValue($this->userId, $this->appName,'show_'.$collection['id'],$tmp);
}
$collections[$key]['show'] = (int)$tmp;
}catch(\Exception $e) {
- \OCP\Util::writeLog('tasks', $e->getMessage(), \OCP\Util::ERROR);
+ \OCP\Util::writeLog($this->appName, $e->getMessage(), \OCP\Util::ERROR);
}
}
$result = array(
@@ -88,7 +98,7 @@ class CollectionsController extends Controller {
$collectionId = (string) $this->params('collectionID');
$vis = (int) $this->params('visibility');
if (in_array($vis, array(0,1,2))){
- \OCP\Config::setUserValue($this->api->getUserId(), 'tasks','show_'.$collectionId,$vis);
+ $this->settings->setUserValue($this->userId, $this->appName,'show_'.$collectionId,$vis);
}
$response = new JSONResponse();
return $response;
diff --git a/lib/helper.php b/controller/helper.php
index c5577829..842b3c1d 100644
--- a/lib/helper.php
+++ b/controller/helper.php
@@ -20,12 +20,12 @@
*
*/
-namespace OCA\Tasks;
+namespace OCA\Tasks\Controller;
use Sabre\VObject;
// use OCA\Tasks\App;
-Class helper {
+Class Helper {
public static function parseVTODO($data) {
$object = \OC_VObject::parse($data);
@@ -179,7 +179,7 @@ Class helper {
$comments_parsed[] = array(
'id' => (int)$com['ID']->value,
'userID' => $com['USERID']->value,
- 'name' => \OCP\USER::getDisplayName($com['USERID']->value),
+ 'name' => \OCP\User::getDisplayName($com['USERID']->value),
'comment' => $com->value,
'time' => $time
);
diff --git a/lib/controller/listscontroller.php b/controller/listscontroller.php
index 35506032..0f4f9442 100644
--- a/lib/controller/listscontroller.php
+++ b/controller/listscontroller.php
@@ -23,18 +23,24 @@
namespace OCA\Tasks\Controller;
-use OCA\Tasks\Controller;
-use OCP\AppFramework\Http\JSONResponse;
+use \OCP\AppFramework\Controller;
+use \OCP\AppFramework\Http\JSONResponse;
class ListsController extends Controller {
+ private $userId;
+
+ public function __construct($appName, IRequest $request, $userId){
+ parent::__construct($appName, $request);
+ $this->userId = $userId;
+ }
+
/**
* @NoAdminRequired
*/
public function getLists(){
- $userId = $this->api->getUserId();
$calendar = new \OC_Calendar_Calendar();
- $lists = $calendar::allCalendars($userId, true);
+ $lists = $calendar::allCalendars($this->userId, true);
$result = array(
'data' => array(
'lists' => $lists
@@ -50,13 +56,12 @@ class ListsController extends Controller {
*/
public function addList(){
$listName = $this->params('name');
- $userId = $this->api->getUserId();
if(trim($listName) == '') {
// OCP\JSON::error(array('message'=>'empty'));
exit;
}
- $calendars = \OC_Calendar_Calendar::allCalendars($userId, true);
+ $calendars = \OC_Calendar_Calendar::allCalendars($this->userId, true);
foreach($calendars as $cal) {
if($cal['displayname'] == $listName) {
// OCP\JSON::error(array('message'=>'namenotavailable'));
@@ -64,7 +69,7 @@ class ListsController extends Controller {
}
}
$color = '#CCCCCC';
- $calendarId = \OC_Calendar_Calendar::addCalendar($userId, strip_tags($listName), 'VEVENT,VTODO,VJOURNAL', null, 0, $color);
+ $calendarId = \OC_Calendar_Calendar::addCalendar($this->userId, strip_tags($listName), 'VEVENT,VTODO,VJOURNAL', null, 0, $color);
\OC_Calendar_Calendar::setCalendarActive($calendarId, 1);
$list = \OC_Calendar_Calendar::find($calendarId);
@@ -107,15 +112,14 @@ class ListsController extends Controller {
public function setListName(){
$listId = (int) $this->params('listID');
$listName = $this->params('name');
- $userId = $this->api->getUserId();
$response = new JSONResponse();
if(trim($listName) == '') {
// OCP\JSON::error(array('message'=>'empty'));
exit;
}
- $calendars = \OC_Calendar_Calendar::allCalendars($userId, true);
+ $calendars = \OC_Calendar_Calendar::allCalendars($this->userId, true);
foreach($calendars as $cal) {
- if($cal['userid'] != $userId){
+ if($cal['userid'] != $this->userId){
continue;
}
if($cal['displayname'] == $listName && $cal['id'] != $listId) {
diff --git a/lib/controller/pagecontroller.php b/controller/pagecontroller.php
index 5d4b49c3..810ea03f 100644
--- a/lib/controller/pagecontroller.php
+++ b/controller/pagecontroller.php
@@ -10,8 +10,8 @@
namespace OCA\Tasks\Controller;
-use OCA\Tasks\Controller;
-use OCP\AppFramework\Http\TemplateResponse;
+use \OCP\AppFramework\Controller;
+use \OCP\AppFramework\Http\TemplateResponse;
/**
diff --git a/lib/controller/settingscontroller.php b/controller/settingscontroller.php
index d7c03667..29df80cb 100644
--- a/lib/controller/settingscontroller.php
+++ b/controller/settingscontroller.php
@@ -23,21 +23,30 @@
namespace OCA\Tasks\Controller;
-use OCA\Tasks\Controller;
-use OCP\AppFramework\Http\JSONResponse;
+use \OCP\AppFramework\Controller;
+use \OCP\AppFramework\Http\JSONResponse;
class SettingsController extends Controller {
+ private $userId;
+ private $settings;
+
+ public function __construct($appName, IRequest $request, $userId, IConfig $settings){
+ parent::__construct($appName, $request);
+ $this->userId = $userId;
+ $this->settings = $settings;
+ }
+
/**
* @NoAdminRequired
*/
- public function getSettings(){
+ public function get(){
$settings = array(
array(
'id' => 'various',
- 'showHidden' => (int)\OCP\Config::getUserValue($this->api->getUserId(), 'tasks','various_showHidden'),
- 'startOfWeek' => (int)\OCP\Config::getUserValue($this->api->getUserId(), 'tasks','various_startOfWeek'),
- 'userID' => $this->api->getUserId()
+ 'showHidden' => (int)$this->settings->getUserValue($this->userId, $this->appName,'various_showHidden'),
+ 'startOfWeek' => (int)$this->settings->getUserValue($this->userId, $this->appName,'various_startOfWeek'),
+ 'userID' => $this->userId
)
);
@@ -55,7 +64,7 @@ class SettingsController extends Controller {
* @NoAdminRequired
*/
public function set(){
- \OCP\Config::setUserValue($this->api->getUserId(), 'tasks',$this->params('type').'_'.$this->params('setting'), $this->params('value'));
+ $this->settings->setUserValue($this->userId, $this->appName, $this->params('type').'_'.$this->params('setting'), $this->params('value'));
$response = new JSONResponse();
$response->setData();
return $response;
diff --git a/lib/controller/taskscontroller.php b/controller/taskscontroller.php
index 89741e31..61af27c5 100644
--- a/lib/controller/taskscontroller.php
+++ b/controller/taskscontroller.php
@@ -23,18 +23,24 @@
namespace OCA\Tasks\Controller;
-use OCA\Tasks\Controller;
-use OCA\Tasks\Helper;
-use OCP\AppFramework\Http\JSONResponse;
+use \OCP\AppFramework\Controller;
+use \OCP\AppFramework\Http\JSONResponse;
+use \OCA\Tasks\Controller\Helper;
class TasksController extends Controller {
+ private $userId;
+
+ public function __construct($appName, IRequest $request, $userId){
+ parent::__construct($appName, $request);
+ $this->userId = $userId;
+ }
+
/**
* @NoAdminRequired
*/
public function getTasks(){
- $userId = $this->api->getUserId();
- $calendars = \OC_Calendar_Calendar::allCalendars($userId, true);
+ $calendars = \OC_Calendar_Calendar::allCalendars($this->userId, true);
$user_timezone = \OC_Calendar_App::getTimezone();
$tasks = array();
@@ -484,7 +490,6 @@ class TasksController extends Controller {
public function addComment(){
$taskId = $this->params('taskID');
$comment = $this->params('comment');
- $userId = $this->api->getUserId();
$response = new JSONResponse();
try {
$vcalendar = \OC_Calendar_App::getVCalendar($taskId);
@@ -501,7 +506,7 @@ class TasksController extends Controller {
$vtodo->addProperty('COMMENT',$comment,
array(
'ID' => $commentId,
- 'USERID' => $userId,
+ 'USERID' => $this->userId,
'DATE-TIME' => $now->format('Ymd\THis\Z')
)
);
@@ -512,8 +517,8 @@ class TasksController extends Controller {
'taskID' => $taskId,
'id' => $commentId,
'tmpID' => $this->params('tmpID'),
- 'name' => \OCP\USER::getDisplayName(),
- 'userID' => $userId,
+ 'name' => \OCP\User::getDisplayName(),
+ 'userID' => $this->userId,
'comment' => $comment,
'time' => $now->format('Ymd\THis')
);
@@ -535,14 +540,13 @@ class TasksController extends Controller {
public function deleteComment(){
$taskId = $this->params('taskID');
$commentId = $this->params('commentID');
- $userId = $this->api->getUserId();
$response = new JSONResponse();
try {
$vcalendar = \OC_Calendar_App::getVCalendar($taskId);
$vtodo = $vcalendar->VTODO;
$commentIndex = $this->getCommentById($vtodo,$commentId);
$comment = $vtodo->children[$commentIndex];
- if($comment['USERID'] == $userId){
+ if($comment['USERID'] == $this->userId){
unset($vtodo->children[$commentIndex]);
\OC_Calendar_Object::edit($taskId, $vcalendar->serialize());
}else{
diff --git a/lib/controller.php b/lib/controller.php
deleted file mode 100644
index 281d485b..00000000
--- a/lib/controller.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/**
- * @author Thomas Tanghus
- * @author Thomas Tanghus
- * @copyright 2013-2014 Thomas Tanghus (thomas@tanghus.net)
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace OCA\Tasks;
-
-use OCP\AppFramework\IAppContainer;
-use OCP\AppFramework\Controller as BaseController;
-use OCP\IRequest;
-
-/**
- * Base Controller class for Issues App
- */
-class Controller extends BaseController {
-
- /**
- * @var Api
- */
- protected $api;
-
- /**
- * @var IRequest
- */
- protected $request;
-
- /**
- * @var OCP\IServerContainer
- */
- protected $server;
-
- public function __construct(IAppContainer $container) {
- $this->api = $container->query('API');
- $this->request = $container->query('Request');
- $this->server = $container->getServer();
- }
-
-}
diff --git a/lib/dispatcher.php b/lib/dispatcher.php
deleted file mode 100644
index ce9fe1f3..00000000
--- a/lib/dispatcher.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/**
- * @author Thomas Tanghus
- * @copyright 2013-2014 Thomas Tanghus (thomas@tanghus.net)
- *
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
-namespace OCA\Tasks;
-
-use OCP\AppFramework\App as MainApp;
-use OCP\AppFramework\IAppContainer;
-use OCA\Tasks\Controller\PageController;
-use OCA\Tasks\Controller\CollectionsController;
-use OCA\Tasks\Controller\ListsController;
-use OCA\Tasks\Controller\TasksController;
-use OCA\Tasks\Controller\SettingsController;
-
-/**
- * This class manages our app actions
- *
- * TODO: Merge with App
- */
-
-class Dispatcher extends MainApp {
- /**
- * @var App
- */
- protected $app;
-
- public function __construct($params) {
- parent::__construct('tasks', $params);
- $this->container = $this->getContainer();
- $this->registerServices();
- }
-
- public function registerServices() {
- $this->container->registerService('PageController', function(IAppContainer $container) {
- return new PageController($container);
- });
- $this->container->registerService('CollectionsController', function(IAppContainer $container) {
- return new CollectionsController($container);
- });
- $this->container->registerService('ListsController', function(IAppContainer $container) {
- return new ListsController($container);
- });
- $this->container->registerService('TasksController', function(IAppContainer $container) {
- return new TasksController($container);
- });
- $this->container->registerService('SettingsController', function(IAppContainer $container) {
- return new SettingsController($container);
- });
- }
-
-}