Integration with Easysocial Events

A) If you are using JTIcketing 2.0. Install the package directly

1) Open yoursite.com/administrator

2) Set Up Payment plugins Open Extension=>Plugin Manager=>Select Type as 'Payment'=> Now Enable and configure Payment Gateways

3) Open components=>com_jticketing=>options=>Select integration as Easysocial and save.

4) Creating menus

  • Open Menu Manager=>Your Menu Type=>Click on select=>Click on JTicketing and create following menus.
  • Open Menu Manager=>Your Menu Type=>Click on select=>Click on TJvendor and create Reports menus.

    Vendors Menu

  • ¬† ¬† All Orders
  • ¬† ¬† Attendee List
  • ¬† ¬† Ticket Sales
  • ¬† ¬† Reports(TJVendor Menu)

    Buyers Menu:-

  • ¬† ¬† Calendar
  • ¬† ¬† My Orders
  • ¬† ¬† My Ticket bought

    Create menus in 'easysocial'  for Buyers

  • ¬† ¬† For All events
  • ¬† ¬† Create event

5) Open components=>Easysocial=>Custom Fields

Search for Create Ticket Types and enabled the field

6)¬†Open Backend=>easysocial=>Custom Fields=>Workflows=>Event Workflow=>Click on¬† ‚Äú+‚ÄĚ=>Standard=>Create ticket type.¬† (In case if you face an issue -All mandatory fields are required. Please check and make sure that all mandatory fields has been added to the profile.Click on¬† ‚Äú+‚ÄĚ=> Mandatory => Tasks and save)¬†
 
7) Now create a future event from easysocial in above category you can see create ticket type option

8) Social integrations configuration: Set the configuration to easysocial to enable auto filling of the billing form. 

9) The events created in EasySocial have a JTicketing integration for creating paid events. The ticket types created for that event makes the EasySocial event paid. The Buy module enables the users to buy tickets for the events. The ticket options are displayed on the module from which the users can choose and buy tickets for the event.

  • Open Extensions=>Click on Modules=>Open JTicketing Buy Tickets module=>Assign menu's=>Set position as per your template=>Publish it.
  • This should show a buy module on the easysocial event with a BUY button for the user's to buy tickets.

10) Open components=>Easysocial=>Click on Application

Search for below applications

  • ¬† ¬† User ‚ÄĒ Events
  • ¬† ¬† User ‚ÄĒ My Ticket Purchases

Enable and Configure these APPs.

11) Activity stream configuration: Enable the activity stream integration by setting it to easysocial. This will trigger the activities when an event is created or when a ticket is bought or when check-in to the event is done.

12) Billing information mapping: Enter the mapping elements so as to autofill the billing information. This has to be done to map the fields.

13) Important Note:-Publish JTicketing buy module on EasySocial Event details page. For publishing module on event details pages Please refer this Firstly find module position View Module Positions and publish the module in that position.

14) For EasySocial events if you want to hide RSVP for paid events you need to follow the below steps: 

Note - please use JTicketing v3.3.3 and above for this overrides.

For Events Pin View

  • Need to create a template override for the events. Firstly, create an "event" folder in your site template¬†at the specified path.¬†
    • -¬†/templates/active_template/html/com_easysocial/helpers/listing/event/
    • For Example : /templates/protostar/html/com_easysocial/helpers/listing/event/¬†
  • Copy file card.php from the path "components/com_easysocial/themes/wireframe/helpers/listing/event/" and add it to the folder that you just created above i.e, in folder "event".
  • In the "card.php" override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Session\Session;
    use Joomla\CMS\Uri\Uri;
    use Joomla\CMS\Factory;
    The sequence will be :
    defined('_JEXEC') or die('Unauthorized Access');
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Session\Session;
    use Joomla\CMS\Uri\Uri;
    use Joomla\CMS\Factory;
  • In the "card.php " override file, replace the below code (Approx line number - 115 - 117)
    <li class="pull-right">
       <?php echo $this->html('event.action', $event);
    </li>

    With the below-given code:

    <?php
    $eventobj =  JT::event($event->id);
    $show_rsvp = $eventobj->isTicketingEnabled();
    $jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
    
    if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
    {
    	if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
    	{
    		if(!empty($jtickeketing_component_enabled))
    		{
    			if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
    			{
    				Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
    		    ?>
    				<div class="o-btn-group">
    				<?php
    					echo  $eventobj->getESBuyButtonHTML();
    				?>
    				</div>
    				<?php
    			}
    		}
    	}
    }
    else
    {?>
    	<li class="pull-right">
    	<?php echo $this->html('event.action', $event); ?>
    	</li>
    <?php
    }?>
    

     

For Event Detail View

  • Need to create template override. Firstly, create the "cover"¬†folder in your site template at the specified path:
    • -¬†/templates/active_templates/html/com_easysocial/helpers/cover
    • For Example : /templates/protostar/html/com_easysocial/helpers/cover/
  • Copy the file¬†/components/com_easysocial/themes/wireframe/helpers/cover/event.php¬†into the folder that you just created above.
  • In the "event.php" override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Session\Session;
    use Joomla\CMS\Uri\Uri;
    use Joomla\CMS\Factory;
    The sequence will be :
    defined('_JEXEC') or die('Unauthorized Access');
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Session\Session;
    use Joomla\CMS\Uri\Uri;
    use Joomla\CMS\Factory;
  • In the same¬† "event.php" override file, replace the below code (Approx line no - 230 - 233)
    <div class="o-btn-group">
       <?php echo $this->html('event.action', $event, 'right', true); ?>
    </div>

    With the code given below:

    <?php
    $eventObj = JT::event($event->id);
    $show_rsvp = $eventObj->isTicketingEnabled();
    $jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
    
    if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
    {
    	if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
    	{
    		Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
    	    ?>
    		<div class="o-btn-group">
    		<?php
    			echo $eventObj->getESBuyButtonHTML();
    		?>
    		</div>
    	<?php
    	}
    }
    else
    {?>
    	<div class="o-btn-group">
    	<?php echo $this->html('event.action', $event, 'right', true); ?>
    	</div>
    <?php
    }?
    

For Activity -

  • Need to create template override. Firstly, create the "stream" folder in your site template at the specified path:
    • -¬†/templates/active_template/html/com_easysocial/helpers/stream
    • For Example : /templates/protostar/html/com_easysocial/helpers/stream
  • Copy the file¬†/components/com_easysocial/themes/wireframe/helpers/stream/cluster.php¬†into the folder that you just created above.
  • In the "cluster.php" override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Session\Session;
    use Joomla\CMS\Uri\Uri;
    use Joomla\CMS\Factory;
    The sequence will be :
    defined('_JEXEC') or die('Unauthorized Access');
    use Joomla\CMS\Router\Route;
    use Joomla\CMS\Session\Session;
    use Joomla\CMS\Uri\Uri;
    use Joomla\CMS\Factory;
  • In the "cluster.php" override file,¬†replace the below code (Approx line no - 95)
    <?php echo $this->html($type . '.action', $cluster); ?>

    With code given below

    <?php 
    if ($type == 'event')
    {
    	$eventobj =  JT::event($cluster->id);
    	$show_rsvp = $eventobj->isTicketingEnabled();
    	$jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
    
    	if($jtickeketing_component_enabled && !empty($show_rsvp))
    	{
    		if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
    		{
    			if(!empty($jtickeketing_component_enabled))
    			{
    				if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
    				{
    					Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
    				?>
    				<div class="o-btn-group">
    				<?php
    					echo JT::event($cluster->id)->getESBuyButtonHTML();
    				?>
    				</div>
    				<?php
    				}
    			}
    		}
    	}
    
    	if(empty($show_rsvp))
    	{
    			echo $this->html($type . '.action', $cluster);
    	}
    }
    ?>
    

     

  • ¬†Overrides for mobile view:

    Mobile Overrides remain the same for  "Event detail View" and "Stream" as above. Only the override for the "Event Pin view" needs to be created. Please follow the steps given below:

    For Events Pin View

    • Need to create a template override for the events. Firstly, create an "event" folder in your site template¬†at the specified path. If already present please don't create it.
      • -¬†/templates/active_template/html/com_easysocial/helpers/listing/event/
      • For Example : /templates/protostar/html/com_easysocial/helpers/listing/event/¬†
    • Copy file listing.php from the path "components/com_easysocial/themes/wireframe/helpers/listing/event/" and add it to the folder that you just created above i.e, in folder "event".
    • In the "listing.php" override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
      The sequence will be :
      defined('_JEXEC') or die('Unauthorized Access');
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
    • In the "listing.php " override file, replace the below code (Approx line number - 68- 67)
         <?php echo $this->html('event.action', $event); ?> 
      

      With the below-given code:

      <?php
      $eventobj =  JT::event($event->id);
      $show_rsvp = $eventobj->isTicketingEnabled();
      $jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
      
      if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
      {
      	if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      	{
      		if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
      		{
      			if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      			{
      				Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
      		    ?>
      				<div class="o-btn-group">
      				<?php
      					echo JT::event($event->id)->getESBuyButtonHTML();
      				?>
      				</div>
      				<?php
      			}
      		}
      	}
      }
      else
      {
      	 echo $this->html('event.action', $event);
      }?>
      

    Overrides for Easysocial Events Module:

    You will need to create an override of the module named "mod_easysocial_events".  We will need to override all the 3 files mentioned in the Module Override. The path for these files to be overridden is - /templates/active_templates/html/mod_easysocial_events/. Below are the changes are given to hide the RSVP button on the module.

    Note: To show or hide the RSVP button will be all depend on the config "Display RSVP Buttons"  in the module.

    For the card.php:

    • In the templates/active_templates/html/mod_easysocial_events/card.php override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
      The sequence will be :
      defined('_JEXEC') or die('Unauthorized Access');
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
    • In the same¬† "card.php " override file, replace the below code (Approx line number - 58- 61)
      <li class="t-lg-pull-right">
      <?php if ($params->get('display_rsvp', true)) { ?>
      <?php echo ES::themes()->html('event.action', $event, 'right'); ?>
      <?php } ?>
      </li>

      With the below-given code:

      <li class="t-lg-pull-right">
      <?php
      $eventobj =  JT::event($event->id);
      $show_rsvp = $eventobj->isTicketingEnabled();
      
      if ($params->get('display_rsvp', true) || empty($show_rsvp))
      {
      	echo ES::themes()->html('event.action', $event, 'right');
      }else
      {
      	$jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
      
      	if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
      	{
      		if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      		{
      			if(!empty($jtickeketing_component_enabled))
      			{
      				if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      				{
      					Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
      					echo JT::event($event->id)->getESBuyButtonHTML();
      				}
      			}
      		}
      	}
      }?>
      </li>
      

       

    For the default.php:

    • In the /templates/active_templates/html/mod_easysocial_events/default.php override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
      The sequence will be :
      defined('_JEXEC') or die('Unauthorized Access');
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
    • In the same¬† "default.php " override file, replace the below code (Approx line number - 50- 54)
       <?php if ($params->get('display_rsvp', true)) { ?>
      <div class="mod-es-action">
      <?php echo ES::themes()->html('event.action', $event); ?>
      </div>
      <?php } ?>

      With the below-given code:

      <?php
      $eventobj =  JT::event($event->id);
      $show_rsvp = $eventobj->isTicketingEnabled();
      if ($params->get('display_rsvp', true) || empty($show_rsvp)) {?>
      						<div class="mod-es-action">
      							<?php echo ES::themes()->html('event.action', $event); ?>
      						</div>
      <?php }
      else
      {
      $jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
      
      	if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
      	{
      		if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      		{
      			if(!empty($jtickeketing_component_enabled))
      			{
      				if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      				{
      					Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
      			    ?>
      					<div class="mod-es-action">
      					<?php
      						echo JT::event($event->id)->getESBuyButtonHTML();
      					?>
      					</div>
      					<?php
      				}
      			}
      		}
      	}
      }?>
      

       

    For the horizontal.php:

    • In the /templates/active_templates/html/mod_easysocial_events/horizontal.php override file, you have to add the given code after the code "defined('_JEXEC') or die('Unauthorized Access');"¬†¬†(Approx line no - 12 - 13)
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
      The sequence will be :
      defined('_JEXEC') or die('Unauthorized Access');
      use Joomla\CMS\Router\Route;
      use Joomla\CMS\Session\Session;
      use Joomla\CMS\Uri\Uri;
      use Joomla\CMS\Factory;
    • In the "horizontal.php" override file, replace the below code (Approx line number - 68- 67)
       <li class="t-lg-pull-right">
      <?php echo $lib->html('event.action', $event, 'right'); ?>
      </li>

      With the below-given code:

      <li class="t-lg-pull-right">
       <?php
       $eventobj =  JT::event($event->id);
      $show_rsvp = $eventobj->isTicketingEnabled();
       if ($params->get('display_rsvp', true) || empty($show_rsvp)) { ?>
       <?php echo ES::themes()->html('event.action', $event, 'right'); ?>
       <?php }else {
       	
      $jtickeketing_component_enabled = JComponentHelper::isEnabled('com_jticketing', true);
      
      if(!empty($jtickeketing_component_enabled))
      {
      	if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketing.php'))
      	{
      		if(!empty($jtickeketing_component_enabled) && !empty($show_rsvp))
      		{
      			if (JFile::exists(JPATH_ROOT . '/components/com_jticketing/jticketin
      g.php'))
      			{				Factory::getLanguage()->load('com_jticketing', JPATH_SITE);
      		    ?>
      				<li class="t-lg-pull-right">
      				<?php
      					echo JT::event($event->id)->getESBuyButtonHTML();
      				?>
      				</li>
      				<?php
      			}
      		}
      	}
      }
      }?></li>