By Andy on Sunday, 28 February 2016
Posted in Technical Issues
Likes 0
Views 655
Votes 0
Am I right in saying a user can only post to an event timeline if they have responded to the 'Are you Going?' question.... Is there anyway just to allow everyone to contribute?

After an event has finished, the 'Are you Going?' doesn't show (makes sense!) BUT this means no one else can join the timeline 'conversation'.... In my example I have an event photographer who, after the event, wants to post to tell people there are new photos available... but he can't get access to post on that timeline (unless I've missed a setting somewhere)
Try open this file -> JoomlaFolder/components/com_easysocial/controllers/events.php and apply this code at this line 1391.



if ($guest->isGuest()) {
$story = FD::get('Story', $event->cluster_type);
$story->setCluster($event->id, $event->cluster_type);
$story->showPrivacy(false);
$stream->story = $story;
}
// Replace with
if ($guest->isGuest() || $this->my->id) {
$story = FD::get('Story', $event->cluster_type);
$story->setCluster($event->id, $event->cluster_type);
$story->showPrivacy(false);
$stream->story = $story;
}
·
Sunday, 06 March 2016 14:36
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi Andy,

Hm, currently it is not possible for other user to attend an event that has already ended and it is not possible for other user to contribute something on the event page when they are not attending the event in EasySocial.

Perhaps you can voice this out in the voices page so that our developers are able to see the request and hopefully come up with the solution in the next future release of EasySocial.
·
Monday, 29 February 2016 11:12
·
0 Likes
·
0 Votes
·
0 Comments
·
Thanks Ezrul... I've elaborated on why this is a BIG user issue in the Voices post here.. http://stackideas.com/voices/easysocial/item/1069

Hope this is seen as an important usability improvement and doesn't need to gather xxxx votes before it gets considered! Not everyone uses events and they may be voting for more 'sexier' things!

Please take a read and vote! Ezrul... in the mean time, is there a simple hack possible to allow any registered user to have access to posting on the timeline?
·
Monday, 29 February 2016 20:28
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi Andy,

I am really sorry for the delay of this reply.

You could try to go to your /components/com_easysocial/views/events/view.html.php at line 1588~1591 and modifiy the following line of code:
// Only allow users with access to post into this event
if ($guest->isGuest() || $this->my->isSiteAdmin()) {
$stream->story = $story;
}

//Replace it with

// Only allow users with access to post into this event
if ($guest->isGuest() || $this->my->isSiteAdmin() || $event->isOpen()) {
$stream->story = $story;
}


Please give it a try and let me know how it goes.
·
Tuesday, 01 March 2016 11:45
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi Ezrul,

Thanks for the suggested code hack... It's almost perfect!

The problem I have is my event pages are set so the default view is the event description... the page loads and you click 'timeline' to switch to the timeline... then it needs a page REFRESH at that point in order for the story 'posting' box to show for the user. Any way to avoid this that you know of?!

(I need the event description as the default view because as I've raised separately in Voices, people just miss that info completely if the timeline is used as the default view... we need a single page view of event description and timeline together!)

Thanks.
·
Wednesday, 02 March 2016 08:59
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi Andy,

I am really sorry for the delay of this reply.

Hm, you are right. Can you go to your /components/com_easysocial/controllers/events.php and edit the following line of code at line 1391?
if ($guest->isGuest()) {
$story = FD::get('Story', $event->cluster_type);
$story->setCluster($event->id, $event->cluster_type);
$story->showPrivacy(false);
$stream->story = $story;
}

// replace it with

if ($guest->isGuest() || $event->isOpen()) {
$story = FD::get('Story', $event->cluster_type);
$story->setCluster($event->id, $event->cluster_type);
$story->showPrivacy(false);
$stream->story = $story;
}


By the way bear in mind that this feature might not be included in the next release of EasySocial so please do a necessary backup before updating your EasySocial to the newer version in the future.
·
Wednesday, 02 March 2016 11:59
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi Ezrul... Thanks for the extra code. Almost PERFECT. Right now with the codes above I get the ability to post to timelines of ended events and without having to say if I'm going or not... that's AWESOME...

..but the whole 'post story' box is showing for non-logged in users as well... is it possible to have it just for logged in users?

(otherwise people type a contribution but then lose it... something else I might suggest for Voices is to have a non-logged in message where the contribution box appears so people know what they are missing by not being logged in)

Thanks so much for sticking with me on this one.
·
Wednesday, 02 March 2016 21:23
·
0 Likes
·
0 Votes
·
0 Comments
·
Hey Andy,

Try edit back this file again -> JoomlaFolder/components/com_easysocial/views/events/view.html.php at line 1588~1591 and modifiy the following line of code:


// Only allow users with access to post into this event
if ($guest->isGuest() || $this->my->isSiteAdmin() || $event->isOpen()) {
$stream->story = $story;
}

// Replace with

// Only allow users with access to post into this event
if ($guest->isGuest() || $this->my->isSiteAdmin() || ($event->isOpen() && $this->my->id)) {
$stream->story = $story;
}

and see how it goes.
·
Wednesday, 02 March 2016 23:44
·
0 Likes
·
0 Votes
·
0 Comments
·
Thanks Arlex.. I think we're almost there!

There's a scenario similar to before now causing the issue:

1) Non-Logged in user loads an event where DETAILS is the default view...
2) Switches to the TIMELINE view....
3) Can now see POST STORY box!... but if the page is refreshed at that point, the code 'corrects itself' and the post story box disappears...

So almost perfect but just this scenario above I think now. Any ideas on that... maybe it's a similar needed && $this->my->id in the other spot?
·
Friday, 04 March 2016 21:05
·
0 Likes
·
0 Votes
·
0 Comments
·
Try open this file -> JoomlaFolder/components/com_easysocial/controllers/events.php and revert back the original code at this line 1391.

if ($guest->isGuest() || $event->isOpen()) {
$story = FD::get('Story', $event->cluster_type);
$story->setCluster($event->id, $event->cluster_type);
$story->showPrivacy(false);
$stream->story = $story;
}

// replace it with
if ($guest->isGuest()) {
$story = FD::get('Story', $event->cluster_type);
$story->setCluster($event->id, $event->cluster_type);
$story->showPrivacy(false);
$stream->story = $story;
}
·
Friday, 04 March 2016 23:22
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi Arlex.. Thanks for sticking with me here!...

That now works for the non-logged in user (ie No access to Story posting)... but this issue is back...

1) User is logged in and visits an event. Default view is the Event Details
2) They click 'TIMELINE' and the story posting box doesn't show UNTIL they hit 'refresh' on their browser! Then it appears.. perfect if it didn't need that page refresh

How do we avoid the page refresh need?!?!?
Thanks
·
Sunday, 06 March 2016 03:22
·
0 Likes
·
0 Votes
·
0 Comments
·
ABSOLUTELY PERFECT!

Thanks Arlex... These now works great... logged in users can contribute to event story-lines, including PAST EVENTS, without needing to tell everyone first if they are going to that event or not.

LOVELY. I'll keep this code to hand for future updates, but I'd hope it can make it into the core build... It's on Voices here http://stackideas.com/voices/easysocial/item/1069 and I'll update that now to show the code fix is already here.
·
Monday, 07 March 2016 00:20
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi there,

You are most welcome. Glad to hear that your issue has been resolved now.
·
Monday, 07 March 2016 10:05
·
0 Likes
·
0 Votes
·
0 Comments
·
View Full Post