diff options
-rw-r--r-- | appinfo/app.php | 50 | ||||
-rw-r--r-- | appinfo/application.php | 108 | ||||
-rw-r--r-- | appinfo/routes.php | 307 | ||||
-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.php | 44 | ||||
-rw-r--r-- | lib/dispatcher.php | 57 |
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); - }); - } - -} |