public function __construct(array $urlParams = []) { // Static saved the application name $appName = Helper::setAppName('owncollab_contacts'); parent::__construct($appName, $urlParams); $container = $this->getContainer(); /** * Core for application registers service */ $container->registerService('UserId', function (IContainer $c) { /** @var \OC\Server $server */ /** @var \OCP\IUser $user */ $server = $c->query('ServerContainer'); $user = $server->getUserSession()->getUser(); return $user ? $user->getUID() : ''; }); $container->registerService('isAdmin', function (DIContainer $c) { /** @var \OC\Server $server */ /** @var \OCP\IUser $user */ $server = $c->query('ServerContainer'); $user = $server->getUserSession()->getUser(); if ($user) { return $c->getServer()->getGroupManager()->isAdmin($user->getUID()); } else { return false; } }); $container->registerService('L10N', function (IAppContainer $c) use($appName) { return $c->getServer()->getL10N($appName); }); /** * Database Layer */ $container->registerService('Connect', function (DIContainer $c) { return new Connect(\OC::$server->getDatabaseConnection()); }); $container->registerService('CardDavBackend', function ($c) { /** @var IAppContainer $c */ $db = $c->getServer()->getDatabaseConnection(); $dispatcher = $c->getServer()->getEventDispatcher(); $principal = new Principal($c->getServer()->getUserManager(), $c->getServer()->getGroupManager()); return new CardDavBackend($db, $principal, $dispatcher); }); /** * Controllers */ $container->registerService('ApiController', function (DIContainer $c) { return new ApiController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('isAdmin'), $c->query('L10N'), $c->query('Connect')); }); $container->registerService('MainController', function (DIContainer $c) { return new MainController($c->query('AppName'), $c->query('Request'), $c->query('UserId'), $c->query('isAdmin'), $c->query('L10N'), $c->query('Connect'), $c->query('CardDavBackend')); }); }
/** * @NoAdminRequired * @NoCSRFRequired */ public function index() { $key = Helper::post('key'); $data = Helper::post('data', false); $pid = Helper::post('pid'); $uid = Helper::post('uid'); if (method_exists($this, $key)) { return $this->{$key}($data); } else { return new DataResponse(['error' => 'Api key not exist']); } }
* A listen the events "create new users" and "create new group" function initTriggers(){ static $abh = null; if($abh === null) { Helper::appLoger('initTriggers'); $connect = new Connect(Helper::getConnection()); } } if( Helper::isAppSettingsUsers()) { initTriggers(); } */ if (Helper::isApp('contacts')) { $user = \OC::$server->getUserSession()->getUser(); $uid = $user ? $user->getUID() : false; if ($uid) { $projectBook = new ProjectBook(); $projectBookInfo = $projectBook->getProjectBook(); if (!$projectBookInfo) { $projectBook->createProjectBook(); } $isShared = $projectBook->shareProjectBookWith($uid); if ($projectBookInfo && !$isShared) { $projectBook->updateProjectBook(); } } } }