Add free as flag for events
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 14 Aug 2019 15:15:02 +0000 (11:15 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 14 Aug 2019 15:15:02 +0000 (11:15 -0400)
Adding as shortcode attribute and as allowed request variable.

models/front/events/baseAction.php
models/front/events/list.php
setup/shortcodes.php

index 802e4b6..8080315 100644 (file)
@@ -246,6 +246,7 @@ abstract class GlmMembersFront_events_baseAction extends GlmDataEvents
         $city_id    = $params['city_id'];
         $region_id  = $params['region_id'];
         $limit      = $params['limit'];
+        $free       = $params['free'];
 
         $this->postAddTimes = true;
         $whereParts = array();
@@ -259,6 +260,10 @@ abstract class GlmMembersFront_events_baseAction extends GlmDataEvents
             $whereParts[] = "T.ref_type = ".$this->config['ref_type_numb']['Member']." and T.ref_dest = $member_id ";
         }
 
+        if ( true === $free ) {
+            $whereParts[] = "T.free = true";
+        }
+
         if ( $amenity_id = filter_var( $amenity_id, FILTER_VALIDATE_INT ) ) {
             $whereParts[] = "
             T.id IN (
index ab51095..78a0ace 100644 (file)
@@ -74,6 +74,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
         $customPage      = false;
         $groupByDay      = true;
         $groupMonth      = false;
+        $free            = null;
         $this->notInCat  = array();
         $pdfCategoryList = '';
 
@@ -137,6 +138,12 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
         ORDER BY name";
         $regionData = $this->wpdb->get_results( $regionSql, ARRAY_A );
 
+        if ( isset( $actionData['request']['free'] ) ) {
+            $free = filter_var( $actionData['request']['free'], FILTER_VALIDATE_BOOLEAN );
+        }
+        if ( isset( $_REQUEST['free'] ) ) {
+            $free = filter_var( $_REQUEST['free'], FILTER_VALIDATE_BOOLEAN );
+        }
         // If there's a pageslug as attribute then update the pageSlug
         if ( isset ( $actionData['request']['pageslug'] ) ) {
             $pageSlug   = $actionData['request']['pageslug'];
@@ -499,6 +506,7 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             'city_id'    => $cityId,
             'region_id'  => $regionId,
             'limit'      => $limit,
+            'free'       => (bool)$free,
         );
 
         switch ( $action ) {
index 97181eb..03db7b1 100644 (file)
@@ -112,6 +112,7 @@ $glmMembersEventsShortcodes = array(
             'group_by_day'       => true,
             'group_month'        => false,
             'show_all_in_agenda' => false,
+            'free'               => null,
         )
     ),
     'glm-members-event-detail' => array(