New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[9.2] CalDAV calendar public sharing #25351

Merged
merged 37 commits into from Aug 29, 2016

Conversation

Projects
None yet
5 participants
@tcitworld
Member

tcitworld commented Jul 4, 2016

WIP for public-sharing.

  • Before merging : revert caldavtester changes

See #22735

List of clients that support adding a published URL :

  • Thunderbird/Lightning
  • Evolution
  • Korganiser
  • CalDAV Sync Adapter on Android (asks for credentials however, dummy ones work)
  • DAVdroid (asks also for credentials, dummy ones work. Also, uncheck pre-emptive authentication). Needs to be up-to-date too.
@mention-bot

This comment has been minimized.

Show comment
Hide comment
@mention-bot

mention-bot Jul 4, 2016

@tcitworld, thanks for your PR! By analyzing the annotation information on this pull request, we identified @DeepDiver1975, @LukasReschke and @nickvergessen to be potential reviewers

@tcitworld, thanks for your PR! By analyzing the annotation information on this pull request, we identified @DeepDiver1975, @LukasReschke and @nickvergessen to be potential reviewers

@tcitworld tcitworld changed the title from CalDAV calendar public sharing to WIP : CalDAV calendar public sharing Jul 4, 2016

@tcitworld tcitworld referenced this pull request Jul 4, 2016

Closed

Calendar public sharing #605

5 of 5 tasks complete

@DeepDiver1975 DeepDiver1975 added this to the 9.2 milestone Jul 4, 2016

Show outdated Hide outdated apps/dav/lib/DAV/Sharing/Plugin.php
@@ -172,6 +172,63 @@ function httpPost(RequestInterface $request, ResponseInterface $response) {
// Breaking the event chain
return false;
case '{' . self::NS_OWNCLOUD . '}publish-calendar' :

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 4, 2016

Member

This is implemented in \Sabre\CalDAV\SharingPlugin - no need to put it in here - right?

@DeepDiver1975

DeepDiver1975 Jul 4, 2016

Member

This is implemented in \Sabre\CalDAV\SharingPlugin - no need to put it in here - right?

This comment has been minimized.

@tcitworld

tcitworld Jul 4, 2016

Member

It was to return the token within the same response with setBody. How should it be send otherwise ?

@tcitworld

tcitworld Jul 4, 2016

Member

It was to return the token within the same response with setBody. How should it be send otherwise ?

This comment has been minimized.

@tcitworld

tcitworld Jul 4, 2016

Member

OK, we have the pre-publish-url. Right.

@tcitworld

tcitworld Jul 4, 2016

Member

OK, we have the pre-publish-url. Right.

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 5, 2016

Member

@tcitworld I had a chat with @evert about publishing. Thanks a lot @evert - once more

Basically publishing is totally unrelated to sharing - so there is no need in bringing in the caldav sharing plugin right away.

It should be enough to add the POST handler into an plugin of its own and call the setPublishState method.

Member

DeepDiver1975 commented Jul 5, 2016

@tcitworld I had a chat with @evert about publishing. Thanks a lot @evert - once more

Basically publishing is totally unrelated to sharing - so there is no need in bringing in the caldav sharing plugin right away.

It should be enough to add the POST handler into an plugin of its own and call the setPublishState method.

@tcitworld

This comment has been minimized.

Show comment
Hide comment
@tcitworld

tcitworld Jul 6, 2016

Member

Thanks a lot. I was beginning to wonder about this. Are we keeping the pre-publish-url and publish-url properties to handle the transmission of the shared url ? Any idea how the eventual new specifications will handle this @evert ?

Member

tcitworld commented Jul 6, 2016

Thanks a lot. I was beginning to wonder about this. Are we keeping the pre-publish-url and publish-url properties to handle the transmission of the shared url ? Any idea how the eventual new specifications will handle this @evert ?

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

Are we keeping the pre-publish-url and publish-url properties to handle the transmission of the shared url ?

Oh yes - we are keeping this! FYI publishing is a propitiatory spec only used by apple.
I suggest to use it and try to be compatible with them.

I can help testing with my wife's macbook 😉

Member

DeepDiver1975 commented Jul 6, 2016

Are we keeping the pre-publish-url and publish-url properties to handle the transmission of the shared url ?

Oh yes - we are keeping this! FYI publishing is a propitiatory spec only used by apple.
I suggest to use it and try to be compatible with them.

I can help testing with my wife's macbook 😉

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

Any idea how the eventual new specifications will handle this

sorry for any confusion caused by my message late night - there is no new spec. We go forward with the publishing mechanism as you already started - the only change is that we don't yet need to implement the sharing spec.

Member

DeepDiver1975 commented Jul 6, 2016

Any idea how the eventual new specifications will handle this

sorry for any confusion caused by my message late night - there is no new spec. We go forward with the publishing mechanism as you already started - the only change is that we don't yet need to implement the sharing spec.

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/appinfo/v1/caldav.php
@@ -68,6 +68,7 @@
$server->addPlugin(new MaintenancePlugin());
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud'));
$server->addPlugin(new \Sabre\CalDAV\Plugin());
$server->addPlugin(new \OCA\DAV\CalDAV\Sharing\SharingPlugin());

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

this can go - we will add publishing only to the v2 endpoint

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

this can go - we will add publishing only to the v2 endpoint

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/CalDavBackend.php
@@ -50,7 +51,7 @@
*
* @package OCA\DAV\CalDAV
*/
class CalDavBackend extends AbstractBackend implements SyncSupport, SubscriptionSupport, SchedulingSupport {
class CalDavBackend extends AbstractBackend implements SyncSupport, SubscriptionSupport, SchedulingSupport, SharingSupport {

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

I think this can go as well - just add the setPublishStatus method

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

I think this can go as well - just add the setPublishStatus method

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/Sharing/SharingPlugin.php
use Sabre\DAV\Server;
use Sabre\CalDAV\SharingPlugin as SabreSharingPlugin;
class SharingPlugin extends SabreSharingPlugin

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

ah - nice a plugin on it's own - let's name it PublishingPlugin 😉

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

ah - nice a plugin on it's own - let's name it PublishingPlugin 😉

@tcitworld

This comment has been minimized.

Show comment
Hide comment
@tcitworld

tcitworld Jul 6, 2016

Member

I can help testing with my wife's macbook 😉

Thanks, I had no macbooks around me right now. :-)

Currently cleaning things up, don't look at current code.

Member

tcitworld commented Jul 6, 2016

I can help testing with my wife's macbook 😉

Thanks, I had no macbooks around me right now. :-)

Currently cleaning things up, don't look at current code.

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/Sharing/SharingPlugin.php
case '{'.self::NS_CALENDARSERVER.'}publish-calendar' :
// We can only deal with IShareableCalendar objects
if (!$node instanceof IShareableCalendar) {

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

I'd check against our own implementation of calendar - not need for any generalisation

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

I'd check against our own implementation of calendar - not need for any generalisation

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/Sharing/SharingPlugin.php
*/
public function getFeatures()
{
return ['oc-calendar-sharing'];

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

we need to double check with the specs - this is exposed via the OPTIONS request and tells the client if publishing is allowed

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

we need to double check with the specs - this is exposed via the OPTIONS request and tells the client if publishing is allowed

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/Sharing/SharingPlugin.php
public function initialize(Server $server)
{
$this->server = $server;
$this->server->xml->elementMap['{'.NS_OWNCLOUD.'}share'] = 'OCA\\DAV\\DAV\\Sharing\\Xml\\ShareRequest';

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

those are not needed in here - right?

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

those are not needed in here - right?

This comment has been minimized.

@tcitworld

tcitworld Jul 6, 2016

Member

Yup, got rid of them.

@tcitworld

tcitworld Jul 6, 2016

Member

Yup, got rid of them.

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/Sharing/SharingPlugin.php
$this->server->xml->elementMap['{'.NS_OWNCLOUD.'}invite'] = 'OCA\\DAV\\DAV\\Sharing\\Xml\\Invite';
$this->server->on('method:POST', [$this, 'httpPost']);
$this->server->on('propFind', [$this, 'propFind']);

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

propFind implementation is missing - this is where we add the publish url property

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

propFind implementation is missing - this is where we add the publish url property

@tcitworld

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/CalDavBackend.php
->andWhere($query->expr()->eq('type', $query->createNamedParameter(self::CLASSIFICATION_PUBLIC)))
->execute();
return count($result->fetch()) > 0;

This comment has been minimized.

@tcitworld

tcitworld Jul 6, 2016

Member

Quite dirty. Maybe directly though Doctrine ?

@tcitworld

tcitworld Jul 6, 2016

Member

Quite dirty. Maybe directly though Doctrine ?

@DeepDiver1975

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/CalDavBackend.php
->values([
'principaluri' => $query->createNamedParameter($calendar->getPrincipalURI()),
'type' => $query->createNamedParameter('calendar'),
'access' => $query->createNamedParameter(self::CLASSIFICATION_PUBLIC),

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

hmmm .... CLASSIFICATION_PUBLIC should be ACCESS_PUBLIC ?

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

hmmm .... CLASSIFICATION_PUBLIC should be ACCESS_PUBLIC ?

@tcitworld

View changes

Show outdated Hide outdated apps/dav/lib/CalDAV/CalDavBackend.php
* @param boolean $value
* @param \OCA\DAV\CalDAV\Calendar $calendar
*/
public function setPublishStatus($value, $calendar) {

This comment has been minimized.

@tcitworld

tcitworld Jul 6, 2016

Member

I went for this kind of Backend but it's quite dirty (and the publication is detected as a share on front-end for now).

@tcitworld

tcitworld Jul 6, 2016

Member

I went for this kind of Backend but it's quite dirty (and the publication is detected as a share on front-end for now).

Show outdated Hide outdated apps/dav/lib/CalDAV/Publishing/PublishPlugin.php
public function propFind(PropFind $propFind, INode $node)
{
if ($node instanceof Calendar) {
$token = md5(\OC::$server->getConfig()->getSystemValue('secret', '').$node->getName());

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

$node->getName() is not enough from what I can tell - multiple calendars with the same name can exist.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

$node->getName() is not enough from what I can tell - multiple calendars with the same name can exist.

Show outdated Hide outdated apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php
protected $isPublished;
/**
* @param str $publishUrl

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

string

Show outdated Hide outdated apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php
protected $publishUrl;
/**
* @var $isPublished

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

boolean

Show outdated Hide outdated apps/dav/lib/CalDAV/Publishing/Xml/Publisher.php
class Publisher implements XmlSerializable {
/**
* @var $publishUrl

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 6, 2016

Member

string

Show outdated Hide outdated apps/dav/lib/CalDAV/Publishing/PublishPlugin.php
{
if ($node instanceof Calendar) {
$token = md5(\OC::$server->getConfig()->getSystemValue('secret', '').$node->getResourceId());
$publishUrl = $this->server->getBaseUri() . 'public-calendars/' . $token;

This comment has been minimized.

@tcitworld

tcitworld Jul 7, 2016

Member

Is there a special method to get the base url of the server ? I need an absolute url here.

@tcitworld

tcitworld Jul 7, 2016

Member

Is there a special method to get the base url of the server ? I need an absolute url here.

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 7, 2016

Member

we need to get the UrlGenerator in here:

  1. Pass the url generator instance into the ctor of this class. You get the instance by calling \OC::$server->getUrlGenerator()
  2. in here call
$this->urlGenerator->getAbsoluteURL('/public-calendars/')
@DeepDiver1975

DeepDiver1975 Jul 7, 2016

Member

we need to get the UrlGenerator in here:

  1. Pass the url generator instance into the ctor of this class. You get the instance by calling \OC::$server->getUrlGenerator()
  2. in here call
$this->urlGenerator->getAbsoluteURL('/public-calendars/')
Show outdated Hide outdated apps/dav/lib/CalDAV/Publishing/PublishPlugin.php
* @param Sabre\HTTP\RequestInterface $request
* @param Sabre\HTTP\ResponseInterface $response
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 7, 2016

Member

please don't do it this way.

Please add a new collection into the root collection class

@DeepDiver1975

DeepDiver1975 Jul 7, 2016

Member

please don't do it this way.

Please add a new collection into the root collection class

This comment has been minimized.

@tcitworld

tcitworld Jul 8, 2016

Member

OK. Can a new CalendarRoot collection do the trick with a special backend ?

@tcitworld

tcitworld Jul 8, 2016

Member

OK. Can a new CalendarRoot collection do the trick with a special backend ?

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

OK. Can a new CalendarRoot collection do the trick with a special backend ?

allow me to code a bit in here ...

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

OK. Can a new CalendarRoot collection do the trick with a special backend ?

allow me to code a bit in here ...

This comment has been minimized.

@tcitworld

tcitworld Jul 8, 2016

Member

Thanks. I think I understood most things but I don't manage to set the correct path public-calendars/<token>.

@tcitworld

tcitworld Jul 8, 2016

Member

Thanks. I think I understood most things but I don't manage to set the correct path public-calendars/<token>.

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

see 64fb8d8

TODO:

  • allow access without authentication
@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

see 64fb8d8

TODO:

  • allow access without authentication

This comment has been minimized.

@tcitworld

tcitworld Jul 8, 2016

Member

Server still asks for authentification and assets for the Dav Browser Plugin get 401.

@tcitworld

tcitworld Jul 8, 2016

Member

Server still asks for authentification and assets for the Dav Browser Plugin get 401.

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

I haven't tested the browser Plugin. Some additional adoptions might be necessary

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

I haven't tested the browser Plugin. Some additional adoptions might be necessary

This comment has been minimized.

@tcitworld

tcitworld Jul 8, 2016

Member

Well, Evolution for instance also asks for auth. Will look into it.

@tcitworld

tcitworld Jul 8, 2016

Member

Well, Evolution for instance also asks for auth. Will look into it.

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

Maybe my approach is not yet final. But I guess you can drive this forward now.
Keep it up! Awesome progress so far!

@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

Maybe my approach is not yet final. But I guess you can drive this forward now.
Keep it up! Awesome progress so far!

This comment has been minimized.

@tcitworld

tcitworld Jul 11, 2016

Member

Also, Thunderbird wants to make an OPTION request on remote.php/dav/public-calendars/, which results on 401 too.

@tcitworld

tcitworld Jul 11, 2016

Member

Also, Thunderbird wants to make an OPTION request on remote.php/dav/public-calendars/, which results on 401 too.

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 8, 2016

Member

@tcitworld please take over now again 😉

Member

DeepDiver1975 commented Jul 8, 2016

@tcitworld please take over now again 😉

@DeepDiver1975 DeepDiver1975 self-assigned this Jul 11, 2016

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 11, 2016

Member

@tcitworld please have a look again for the public calendar access

Member

DeepDiver1975 commented Jul 11, 2016

@tcitworld please have a look again for the public calendar access

@tcitworld

This comment has been minimized.

Show comment
Hide comment
@tcitworld

tcitworld Jul 11, 2016

Member
  • It works correctly on Evolution.
  • Thunderbird/Lightning tries to PROPFIND remote.php/dav/principals/system/public/ and gets a 401 (Bad response to in/outbox query).
  • KOrganizer also asks for credentials, but I can't find any relevant debug informations.
    EDIT : It tries to reach /remote.php/dav/principals/system/public/ too.
Member

tcitworld commented Jul 11, 2016

  • It works correctly on Evolution.
  • Thunderbird/Lightning tries to PROPFIND remote.php/dav/principals/system/public/ and gets a 401 (Bad response to in/outbox query).
  • KOrganizer also asks for credentials, but I can't find any relevant debug informations.
    EDIT : It tries to reach /remote.php/dav/principals/system/public/ too.
@tcitworld

This comment has been minimized.

Show comment
Hide comment
@tcitworld

tcitworld Jul 11, 2016

Member

Worked around this by showing nearly nothing in the OPTION header.

Member

tcitworld commented Jul 11, 2016

Worked around this by showing nearly nothing in the OPTION header.

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 11, 2016

Member

That special options handling should not be necessary. I'll have a look tomorrow.

Member

DeepDiver1975 commented Jul 11, 2016

That special options handling should not be necessary. I'll have a look tomorrow.

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
@DeepDiver1975

DeepDiver1975 Jul 19, 2016

Member

I'll have a look at this today.

Member

DeepDiver1975 commented Jul 19, 2016

I'll have a look at this today.

@tcitworld

This comment has been minimized.

Show comment
Hide comment
@tcitworld

tcitworld Jul 29, 2016

Member

@DeepDiver1975 What more tests need to be brought in ?

Also, does the {http://owncloud.org/ns}public has a specific function ? We know if the calendar is public as soon as there's a {http://calendarserver.org/ns/}publish-url.

Member

tcitworld commented Jul 29, 2016

@DeepDiver1975 What more tests need to be brought in ?

Also, does the {http://owncloud.org/ns}public has a specific function ? We know if the calendar is public as soon as there's a {http://calendarserver.org/ns/}publish-url.

Show outdated Hide outdated apps/dav/lib/CalDAV/CalDavBackend.php
@@ -117,6 +121,8 @@ public function __construct(IDBConnection $db, Principal $principalBackend) {
$this->db = $db;
$this->principalBackend = $principalBackend;
$this->sharingBackend = new Backend($this->db, $principalBackend, 'calendar');
// TODO: inject

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 29, 2016

Member

please do so

@DeepDiver1975

DeepDiver1975 Jul 29, 2016

Member

please do so

Show outdated Hide outdated apps/dav/lib/CalDAV/CalDavBackend.php
$query = $this->db->getQueryBuilder();
if ($value) {
$query->insert('dav_shares')
->values([

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 29, 2016

Member

indent looks odd

@DeepDiver1975

DeepDiver1975 Jul 29, 2016

Member

indent looks odd

Show outdated Hide outdated apps/dav/lib/CalDAV/PublicCalendarRoot.php
}
function getChild($name) {
// TODO: for performance reason this needs to have a custom implementation

This comment has been minimized.

@DeepDiver1975

DeepDiver1975 Jul 29, 2016

Member

@tcitworld feel free to take care of this - THX

@DeepDiver1975

DeepDiver1975 Jul 29, 2016

Member

@tcitworld feel free to take care of this - THX

@georgehrke

This comment has been minimized.

Show comment
Hide comment
@georgehrke

georgehrke Aug 19, 2016

Contributor

@DeepDiver1975 Why did you delete your CalDAVTester Repo? 😕

Contributor

georgehrke commented Aug 19, 2016

@DeepDiver1975 Why did you delete your CalDAVTester Repo? 😕

@tcitworld

This comment has been minimized.

Show comment
Hide comment
Member

tcitworld commented Aug 19, 2016

@georgehrke

This comment has been minimized.

Show comment
Hide comment
@georgehrke

georgehrke Aug 19, 2016

Contributor

Ah, ok :)
thx

Contributor

georgehrke commented Aug 19, 2016

Ah, ok :)
thx

@georgehrke

This comment has been minimized.

Show comment
Hide comment
@georgehrke

georgehrke Aug 19, 2016

Contributor

this looks good to me 👍

Contributor

georgehrke commented Aug 19, 2016

this looks good to me 👍

@georgehrke

This comment has been minimized.

Show comment
Hide comment
@georgehrke

georgehrke Aug 19, 2016

Contributor

Second reviewer?

@DeepDiver1975 @PVince81 :)

Contributor

georgehrke commented Aug 19, 2016

Second reviewer?

@DeepDiver1975 @PVince81 :)

@DeepDiver1975 DeepDiver1975 changed the title from WIP : CalDAV calendar public sharing to CalDAV calendar public sharing Aug 29, 2016

@DeepDiver1975 DeepDiver1975 changed the title from CalDAV calendar public sharing to [9.2] CalDAV calendar public sharing Aug 29, 2016

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
Member

DeepDiver1975 commented Aug 29, 2016

👍

@DeepDiver1975 DeepDiver1975 merged commit 8308348 into master Aug 29, 2016

4 checks passed

Scrutinizer 12 new issues, 31 updated code elements
Details
continuous-integration/jenkins/pr This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
licence/cla Contributor License Agreement is signed.
Details

@DeepDiver1975 DeepDiver1975 deleted the public-sharing branch Aug 29, 2016

@georgehrke

This comment has been minimized.

Show comment
Hide comment
@georgehrke

georgehrke Aug 29, 2016

Contributor

@tcitworld Thx a lot for your work! :)

Contributor

georgehrke commented Aug 29, 2016

@tcitworld Thx a lot for your work! :)

@DeepDiver1975

This comment has been minimized.

Show comment
Hide comment
Member

DeepDiver1975 commented Aug 29, 2016

Nice job @tcitworld

*/
function check(RequestInterface $request, ResponseInterface $response) {
if ($this->isRequestPublic($request)) {

This comment has been minimized.

@evert

evert Aug 29, 2016

nice to see the new authentication system successfully used!

@evert

evert Aug 29, 2016

nice to see the new authentication system successfully used!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment