mirror of
https://github.com/owncloudarchive/contacts.git
synced 2025-01-30 19:52:17 +01:00
Now loads with OCP\AppFramework
This commit is contained in:
parent
5a32805dc1
commit
cfd8cd02b3
@ -8,8 +8,8 @@
|
||||
*/
|
||||
namespace OCA\Contacts;
|
||||
|
||||
use OCA\AppFramework\App as Main;
|
||||
use OCA\Contacts\DIContainer;
|
||||
//use OCA\AppFramework\App as Main;
|
||||
use OCA\Contacts\Dispatcher;
|
||||
|
||||
//define the routes
|
||||
//for the index
|
||||
@ -32,7 +32,8 @@ $this->create('contacts_address_books_for_user', 'addressbooks/')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'userAddressBooks', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'userAddressBooks', $params);
|
||||
}
|
||||
);
|
||||
|
||||
@ -41,7 +42,8 @@ $this->create('contacts_address_book_add', 'addressbook/{backend}/add')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'addAddressBook', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'addAddressBook', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -51,7 +53,8 @@ $this->create('contacts_address_book', 'addressbook/{backend}/{addressbookid}')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'getAddressBook', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'getAddressBook', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -61,7 +64,8 @@ $this->create('contacts_address_book_export', 'addressbook/{backend}/{addressboo
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'exportAddressBook', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'exportAddressBook', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -71,7 +75,8 @@ $this->create('contacts_address_book_update', 'addressbook/{backend}/{addressboo
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'updateAddressBook', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'updateAddressBook', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -80,8 +85,9 @@ $this->create('contacts_address_book_delete', 'addressbook/{backend}/{addressboo
|
||||
->delete()
|
||||
->action(
|
||||
function($params) {
|
||||
$dispatcher = new Dispatcher($params);
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'deleteAddressBook', $params, new DIContainer());
|
||||
$dispatcher->dispatch('AddressBookController', 'deleteAddressBook', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -91,7 +97,8 @@ $this->create('contacts_address_book_activate', 'addressbook/{backend}/{addressb
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'activateAddressBook', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'activateAddressBook', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -101,7 +108,8 @@ $this->create('contacts_address_book_add_contact', 'addressbook/{backend}/{addre
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'addChild', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'addChild', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -111,7 +119,8 @@ $this->create('contacts_address_book_delete_contact', 'addressbook/{backend}/{ad
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'deleteChild', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'deleteChild', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid', 'contactid'));
|
||||
@ -121,7 +130,8 @@ $this->create('contacts_address_book_delete_contacts', 'addressbook/{backend}/{a
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'deleteChildren', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'deleteChildren', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid', 'contactid'));
|
||||
@ -131,7 +141,8 @@ $this->create('contacts_address_book_move_contact', 'addressbook/{backend}/{addr
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('AddressBookController', 'moveChild', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('AddressBookController', 'moveChild', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid', 'contactid'));
|
||||
@ -141,7 +152,8 @@ $this->create('contacts_import_upload', 'addressbook/{backend}/{addressbookid}/i
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ImportController', 'upload', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ImportController', 'upload', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -151,7 +163,8 @@ $this->create('contacts_import_prepare', 'addressbook/{backend}/{addressbookid}/
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ImportController', 'prepare', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ImportController', 'prepare', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -161,7 +174,8 @@ $this->create('contacts_import_start', 'addressbook/{backend}/{addressbookid}/im
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ImportController', 'start', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ImportController', 'start', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -171,7 +185,8 @@ $this->create('contacts_import_status', 'addressbook/{backend}/{addressbookid}/i
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ImportController', 'status', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ImportController', 'status', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbookid'));
|
||||
@ -181,7 +196,8 @@ $this->create('contacts_contact_photo', 'addressbook/{backend}/{addressbookid}/c
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactPhotoController', 'getPhoto', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactPhotoController', 'getPhoto', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -191,7 +207,8 @@ $this->create('contacts_upload_contact_photo', 'addressbook/{backend}/{addressbo
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactPhotoController', 'uploadPhoto', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactPhotoController', 'uploadPhoto', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -201,7 +218,8 @@ $this->create('contacts_cache_contact_photo', 'addressbook/{backend}/{addressboo
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactPhotoController', 'cacheCurrentPhoto', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactPhotoController', 'cacheCurrentPhoto', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -211,7 +229,8 @@ $this->create('contacts_cache_fs_photo', 'addressbook/{backend}/{addressbookid}/
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactPhotoController', 'cacheFileSystemPhoto', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactPhotoController', 'cacheFileSystemPhoto', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -221,7 +240,8 @@ $this->create('contacts_tmp_contact_photo', 'addressbook/{backend}/{addressbooki
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactPhotoController', 'getTempPhoto', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactPhotoController', 'getTempPhoto', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid', 'key'));
|
||||
@ -231,7 +251,8 @@ $this->create('contacts_crop_contact_photo', 'addressbook/{backend}/{addressbook
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactPhotoController', 'cropPhoto', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactPhotoController', 'cropPhoto', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid', 'key'));
|
||||
@ -241,7 +262,8 @@ $this->create('contacts_contact_export', 'addressbook/{backend}/{addressbookid}/
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactController', 'exportContact', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactController', 'exportContact', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -251,7 +273,8 @@ $this->create('contacts_contact_delete_property', 'addressbook/{backend}/{addres
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactController', 'deleteProperty', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactController', 'deleteProperty', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -262,7 +285,8 @@ $this->create('contacts_contact_save_property', 'addressbook/{backend}/{addressb
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactController', 'saveProperty', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactController', 'saveProperty', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -272,7 +296,8 @@ $this->create('contacts_contact_get', 'addressbook/{backend}/{addressbookid}/con
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactController', 'getContact', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactController', 'getContact', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -283,7 +308,8 @@ $this->create('contacts_contact_save_all', 'addressbook/{backend}/{addressbookid
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('ContactController', 'saveContact', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('ContactController', 'saveContact', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('backend', 'addressbook', 'contactid'));
|
||||
@ -293,7 +319,8 @@ $this->create('contacts_categories_list', 'groups/')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('GroupController', 'getGroups', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('GroupController', 'getGroups', $params);
|
||||
}
|
||||
);
|
||||
|
||||
@ -302,7 +329,8 @@ $this->create('contacts_categories_add', 'groups/add')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('GroupController', 'addGroup', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('GroupController', 'addGroup', $params);
|
||||
}
|
||||
);
|
||||
|
||||
@ -311,7 +339,8 @@ $this->create('contacts_categories_delete', 'groups/delete')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('GroupController', 'deleteGroup', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('GroupController', 'deleteGroup', $params);
|
||||
}
|
||||
);
|
||||
|
||||
@ -320,7 +349,8 @@ $this->create('contacts_categories_rename', 'groups/rename')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('GroupController', 'renameGroup', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('GroupController', 'renameGroup', $params);
|
||||
}
|
||||
);
|
||||
|
||||
@ -329,7 +359,8 @@ $this->create('contacts_categories_addto', 'groups/addto/{categoryid}')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('GroupController', 'addToGroup', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('GroupController', 'addToGroup', $params);
|
||||
}
|
||||
);
|
||||
|
||||
@ -338,7 +369,8 @@ $this->create('contacts_categories_removefrom', 'groups/removefrom/{categoryid}'
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('GroupController', 'removeFromGroup', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('GroupController', 'removeFromGroup', $params);
|
||||
}
|
||||
)
|
||||
->requirements(array('categoryid'));
|
||||
@ -348,7 +380,8 @@ $this->create('contacts_setpreference', 'preference/set')
|
||||
->action(
|
||||
function($params) {
|
||||
session_write_close();
|
||||
Main::main('SettingsController', 'set', $params, new DIContainer());
|
||||
$dispatcher = new Dispatcher($params);
|
||||
$dispatcher->dispatch('SettingsController', 'set', $params);
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -619,12 +619,11 @@ OC.Contacts = OC.Contacts || {};
|
||||
$(document).trigger('status.contacts.error', response);
|
||||
}
|
||||
})
|
||||
.fail(function(jqxhr, textStatus, error) {
|
||||
var err = textStatus + ', ' + error;
|
||||
console.warn( "Request Failed: " + err);
|
||||
.fail(function(response) {
|
||||
console.warn( "Request Failed:", response);
|
||||
defer.reject({
|
||||
error: true,
|
||||
message: t('contacts', 'Failed loading address books: {error}', {error:err})
|
||||
message: t('contacts', 'Failed loading address books: {error}', {error:response.message})
|
||||
});
|
||||
});
|
||||
return defer.promise();
|
||||
|
@ -772,7 +772,7 @@ OC.Contacts = OC.Contacts || {};
|
||||
}
|
||||
})
|
||||
.fail(function(response) {
|
||||
console.log( "Request Failed: " + response);
|
||||
console.log( "Request Failed:", response);
|
||||
response.message = t('contacts', 'Failed loading groups: {error}', {error:response.message});
|
||||
$(document).trigger('status.contacts.error', response);
|
||||
});
|
||||
|
@ -130,6 +130,11 @@ OC.ContactsImporter = OC.ContactsImporter || {
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
// If the app is already active there's no need for the FileActions
|
||||
if(OC.Contacts) {
|
||||
return;
|
||||
}
|
||||
|
||||
$(document).bind('status.contacts.error', function(e, data) {
|
||||
console.warn(data.message);
|
||||
//console.trace();
|
||||
|
@ -8,6 +8,7 @@ OC.Contacts = OC.Contacts || {};
|
||||
this.getResponseHeader = jqXHR.getResponseHeader;
|
||||
this.statusCode = jqXHR.status;
|
||||
// 204 == No content
|
||||
// 304 == Not modified
|
||||
if(!response) {
|
||||
if([204, 304].indexOf(this.statusCode) === -1) {
|
||||
console.log('jqXHR', jqXHR);
|
||||
@ -598,7 +599,7 @@ OC.Contacts = OC.Contacts || {};
|
||||
})
|
||||
.fail(function(jqXHR, textStatus, error) {
|
||||
console.log(jqXHR);
|
||||
var response = $.parseJSON(jqXHR.responseText);
|
||||
var response = jqXHR.responseText ? $.parseJSON(jqXHR.responseText) : null;
|
||||
console.log('response', response);
|
||||
defer.reject(new JSONResponse(response, jqXHR));
|
||||
});
|
||||
|
@ -8,7 +8,14 @@
|
||||
|
||||
namespace OCA\Contacts;
|
||||
|
||||
use Sabre\VObject;
|
||||
use Sabre\VObject,
|
||||
OCP\AppFramework,
|
||||
OCA\Contacts\Controller\AddressBookController,
|
||||
OCA\Contacts\Controller\GroupController,
|
||||
OCA\Contacts\Controller\ContactController,
|
||||
OCA\Contacts\Controller\ContactPhotoController,
|
||||
OCA\Contacts\Controller\SettingsController,
|
||||
OCA\Contacts\Controller\ImportController;
|
||||
|
||||
/**
|
||||
* This class manages our app actions
|
||||
|
43
lib/controller.php
Normal file
43
lib/controller.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
/**
|
||||
* @author Thomas Tanghus
|
||||
* Copyright (c) 2013 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\Contacts;
|
||||
|
||||
use OCP\AppFramework\IApi,
|
||||
OC\AppFramework\Controller\Controller as BaseController,
|
||||
OCP\IRequest,
|
||||
OCA\Contacts\App;
|
||||
|
||||
/**
|
||||
* Base Controller class for Contacts App
|
||||
*/
|
||||
class Controller extends BaseController {
|
||||
|
||||
/**
|
||||
* @var Api
|
||||
*/
|
||||
protected $api;
|
||||
|
||||
/**
|
||||
* @var IRequest
|
||||
*/
|
||||
protected $request;
|
||||
|
||||
/**
|
||||
* @var App
|
||||
*/
|
||||
protected $app;
|
||||
|
||||
public function __construct(IApi $api, IRequest $request, App $app) {
|
||||
$this->api = $api;
|
||||
$this->request = $request;
|
||||
$this->app = $app;
|
||||
}
|
||||
|
||||
}
|
@ -12,23 +12,19 @@ namespace OCA\Contacts\Controller;
|
||||
use OCA\Contacts\App,
|
||||
OCA\Contacts\JSONResponse,
|
||||
OCA\Contacts\Utils\JSONSerializer,
|
||||
OCA\AppFramework\Controller\Controller as BaseController,
|
||||
OCA\Contacts\Controller,
|
||||
OCA\AppFramework\Http\TextDownloadResponse;
|
||||
|
||||
|
||||
/**
|
||||
* Controller class For Address Books
|
||||
*/
|
||||
class AddressBookController extends BaseController {
|
||||
class AddressBookController extends Controller {
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function userAddressBooks() {
|
||||
$app = new App($this->api->getUserId());
|
||||
$addressBooks = $app->getAddressBooksForUser();
|
||||
$addressBooks = $this->app->getAddressBooksForUser();
|
||||
$response = array();
|
||||
$lastModified = 0;
|
||||
foreach($addressBooks as $addressBook) {
|
||||
@ -52,16 +48,13 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function getAddressBook() {
|
||||
\OCP\Util::writeLog('contacts', __METHOD__, \OCP\Util::DEBUG);
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$lastModified = $addressBook->lastModified();
|
||||
$response = new JSONResponse();
|
||||
|
||||
@ -86,16 +79,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @CSRFExemption
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function exportAddressBook() {
|
||||
\OCP\Util::writeLog('contacts', __METHOD__, \OCP\Util::DEBUG);
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$lastModified = $addressBook->lastModified();
|
||||
$response = new JSONResponse();
|
||||
|
||||
@ -114,17 +105,15 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function addAddressBook() {
|
||||
$app = new App($this->api->getUserId());
|
||||
$params = $this->request->urlParams;
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$backend = $app->getBackend($params['backend']);
|
||||
$backend = $this->app->getBackend($params['backend']);
|
||||
if(!$backend->hasAddressBookMethodFor(\OCP\PERMISSION_CREATE)) {
|
||||
throw new \Exception('Not implemented');
|
||||
}
|
||||
@ -145,17 +134,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function updateAddressBook() {
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
try {
|
||||
if(!$addressBook->update($this->request['properties'])) {
|
||||
$response->bailOut(App::$l10n->t('Error updating address book'));
|
||||
@ -170,17 +156,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function deleteAddressBook() {
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$backend = $app->getBackend($params['backend']);
|
||||
$backend = $this->app->getBackend($params['backend']);
|
||||
|
||||
if(!$backend->hasAddressBookMethodFor(\OCP\PERMISSION_DELETE)) {
|
||||
throw new \Exception(
|
||||
@ -206,17 +189,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function activateAddressBook() {
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
|
||||
$addressBook->setActive($this->request->post['state']);
|
||||
|
||||
@ -224,17 +204,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function addChild() {
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
|
||||
try {
|
||||
$id = $addressBook->addChild();
|
||||
@ -266,17 +243,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function deleteChild() {
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
|
||||
try {
|
||||
$result = $addressBook->deleteChild($params['contactid']);
|
||||
@ -293,17 +267,14 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function deleteChildren() {
|
||||
$params = $this->request->urlParams;
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
$addressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$addressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$contacts = $this->request->post['contacts'];
|
||||
|
||||
try {
|
||||
@ -318,21 +289,18 @@ class AddressBookController extends BaseController {
|
||||
}
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
* @IsSubAdminExemption
|
||||
* @Ajax
|
||||
* @NoAdminRequired
|
||||
*/
|
||||
public function moveChild() {
|
||||
$params = $this->request->urlParams;
|
||||
$targetInfo = $this->request->post['target'];
|
||||
$app = new App($this->api->getUserId());
|
||||
|
||||
$response = new JSONResponse();
|
||||
|
||||
// TODO: Check if the backend supports move (is 'local' or 'shared') and use that operation instead.
|
||||
// If so, set status 204 and don't return the serialized contact.
|
||||
$fromAddressBook = $app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$targetAddressBook = $app->getAddressBook($targetInfo['backend'], $targetInfo['id']);
|
||||
$fromAddressBook = $this->app->getAddressBook($params['backend'], $params['addressbookid']);
|
||||
$targetAddressBook = $this->app->getAddressBook($targetInfo['backend'], $targetInfo['id']);
|
||||
$contact = $fromAddressBook->getChild($params['contactid']);
|
||||
if(!$contact) {
|
||||
$response->bailOut(App::$l10n->t('Error retrieving contact.'));
|
||||
|
@ -14,15 +14,15 @@ use OCA\Contacts\App,
|
||||
OCA\Contacts\ImageResponse,
|
||||
OCA\Contacts\Utils\JSONSerializer,
|
||||
OCA\Contacts\Utils\Properties,
|
||||
OCA\AppFramework\Controller\Controller as BaseController,
|
||||
OCA\AppFramework\Core\API,
|
||||
OCA\AppFramework\Http\TextDownloadResponse;
|
||||
OCA\Contacts\Controller;
|
||||
//OCA\AppFramework\Core\API,
|
||||
//OCA\AppFramework\Http\TextDownloadResponse;
|
||||
|
||||
|
||||
/**
|
||||
* Controller class For Contacts
|
||||
*/
|
||||
class ContactController extends BaseController {
|
||||
class ContactController extends Controller {
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
|
@ -13,12 +13,12 @@ use OCA\Contacts\App,
|
||||
OCA\Contacts\JSONResponse,
|
||||
OCA\Contacts\ImageResponse,
|
||||
OCA\Contacts\Utils\Properties,
|
||||
OCA\AppFramework\Controller\Controller as BaseController;
|
||||
OCA\Contacts\Controller;
|
||||
|
||||
/**
|
||||
* Controller class For Contacts
|
||||
*/
|
||||
class ContactPhotoController extends BaseController {
|
||||
class ContactPhotoController extends Controller {
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
|
@ -9,16 +9,14 @@
|
||||
|
||||
namespace OCA\Contacts\Controller;
|
||||
|
||||
use OCA\Contacts\App;
|
||||
use OCA\Contacts\JSONResponse;
|
||||
use OCA\AppFramework\Controller\Controller as BaseController;
|
||||
use OCA\AppFramework\Core\API;
|
||||
|
||||
use OCA\Contacts\App,
|
||||
OCA\Contacts\JSONResponse,
|
||||
OCA\Contacts\Controller;
|
||||
|
||||
/**
|
||||
* Controller class for groups/categories
|
||||
*/
|
||||
class GroupController extends BaseController {
|
||||
class GroupController extends Controller {
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
|
@ -10,15 +10,14 @@
|
||||
namespace OCA\Contacts\Controller;
|
||||
|
||||
use OCA\Contacts\App;
|
||||
use OCA\Contacts\JSONResponse;
|
||||
use OCA\AppFramework\Controller\Controller as BaseController;
|
||||
use OCA\AppFramework\Core\API;
|
||||
use Sabre\VObject;
|
||||
OCA\Contacts\JSONResponse,
|
||||
OCA\Contacts\Controller,
|
||||
Sabre\VObject;
|
||||
|
||||
/**
|
||||
* Controller importing contacts
|
||||
*/
|
||||
class ImportController extends BaseController {
|
||||
class ImportController extends Controller {
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
namespace OCA\Contacts\Controller;
|
||||
|
||||
use OCA\Contacts\App;
|
||||
use OCA\Contacts\JSONResponse;
|
||||
use OCA\AppFramework\Controller\Controller as BaseController;
|
||||
use OCA\AppFramework\Core\API;
|
||||
use OCA\Contacts\App,
|
||||
OCA\Contacts\JSONResponse,
|
||||
OCA\Contacts\Controller,
|
||||
OCA\AppFramework\Core\API;
|
||||
|
||||
|
||||
/**
|
||||
* Controller class for groups/categories
|
||||
*/
|
||||
class SettingsController extends BaseController {
|
||||
class SettingsController extends Controller {
|
||||
|
||||
/**
|
||||
* @IsAdminExemption
|
||||
|
68
lib/dispatcher.php
Normal file
68
lib/dispatcher.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2013 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\Contacts;
|
||||
|
||||
use OCP\AppFramework\App as MainApp,
|
||||
OCP\AppFramework\IAppContainer,
|
||||
OCA\Contacts\App,
|
||||
OCA\Contacts\Middleware\Http as HttpMiddleware,
|
||||
OCA\Contacts\Controller\AddressBookController,
|
||||
OCA\Contacts\Controller\GroupController,
|
||||
OCA\Contacts\Controller\ContactController,
|
||||
OCA\Contacts\Controller\ContactPhotoController,
|
||||
OCA\Contacts\Controller\SettingsController,
|
||||
OCA\Contacts\Controller\ImportController;
|
||||
|
||||
/**
|
||||
* This class manages our app actions
|
||||
*/
|
||||
|
||||
class Dispatcher extends MainApp {
|
||||
/**
|
||||
* @var App
|
||||
*/
|
||||
protected $app;
|
||||
|
||||
public function __construct(array $params) {
|
||||
parent::__construct('contacts');
|
||||
$this->container = $this->getContainer();
|
||||
// TODO: Remove this once sorted out.
|
||||
// When querying the middleware dispatcher Request gets instantiated
|
||||
// but urlParams isn't set yet
|
||||
$this->container['urlParams'] = $params;
|
||||
$this->middleware = $this->container->query('MiddlewareDispatcher');
|
||||
$this->middleware->registerMiddleware(new HttpMiddleware($this->container->query('API')));
|
||||
$this->api = $this->container->query('API');
|
||||
$this->request = $this->container->query('Request');
|
||||
$this->app = new App($this->api->getUserId());
|
||||
$this->registerServices();
|
||||
}
|
||||
|
||||
public function registerServices() {
|
||||
$this->container->registerService('AddressBookController', function(IAppContainer $container) {
|
||||
return new AddressBookController($this->api, $this->request, $this->app);
|
||||
});
|
||||
$this->container->registerService('GroupController', function(IAppContainer $container) {
|
||||
return new GroupController($this->api, $this->request, $this->app);
|
||||
});
|
||||
$this->container->registerService('ContactController', function(IAppContainer $container) {
|
||||
return new ContactController($this->api, $this->request, $this->app);
|
||||
});
|
||||
$this->container->registerService('ContactPhotoController', function(IAppContainer $container) {
|
||||
return new ContactPhotoController($this->api, $this->request, $this->app);
|
||||
});
|
||||
$this->container->registerService('SettingsController', function(IAppContainer $container) {
|
||||
return new SettingsController($this->api, $this->request, $this->app);
|
||||
});
|
||||
$this->container->registerService('ImportController', function(IAppContainer $container) {
|
||||
return new ImportController($this->api, $this->request, $this->app);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -8,8 +8,8 @@
|
||||
*/
|
||||
|
||||
namespace OCA\Contacts;
|
||||
use OCA\AppFramework\Http\JSONResponse as OriginalResponse,
|
||||
OCA\AppFramework\Http\Http;
|
||||
use OCP\AppFramework\Http\JSONResponse as OriginalResponse,
|
||||
OCP\AppFramework\Http\Http;
|
||||
|
||||
|
||||
/**
|
||||
@ -19,11 +19,20 @@ class JSONResponse extends OriginalResponse {
|
||||
|
||||
public function __construct($params = array(), $statusCode=Http::STATUS_OK) {
|
||||
parent::__construct(array(), $statusCode);
|
||||
//\OCP\Util::writeLog('contacts', __METHOD__.' request: '.print_r($request, true), \OCP\Util::DEBUG);
|
||||
parent::__construct();
|
||||
$this->data['data'] = $params;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets values in the data json array
|
||||
* @param array|object $params an array or object which will be transformed
|
||||
* to JSON
|
||||
*/
|
||||
public function setParams(array $params){
|
||||
$this->data['data'] = $params;
|
||||
$this->data['status'] = 'success';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* in case we want to render an error message, also logs into the owncloud log
|
||||
* @param string $message the error message
|
||||
|
@ -24,16 +24,16 @@
|
||||
|
||||
namespace OCA\Contacts\Middleware;
|
||||
|
||||
use OCA\AppFramework\Controller\Controller;
|
||||
use OCA\AppFramework\Middleware\Middleware;
|
||||
use OCA\AppFramework\Core\API;
|
||||
use OCA\Contacts\Controller;
|
||||
use OC\AppFramework\Middleware\Middleware;
|
||||
use OC\AppFramework\Core\API;
|
||||
use OCA\Contacts\JSONResponse;
|
||||
|
||||
/**
|
||||
* Used to intercept exceptions thrown in controllers and backends
|
||||
* and transform them into valid HTTP responses.
|
||||
*/
|
||||
class HTTP extends Middleware {
|
||||
class Http extends Middleware {
|
||||
|
||||
private $api;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user