Adding events from glm-associate.
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 13 Oct 2016 20:02:04 +0000 (16:02 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 13 Oct 2016 20:02:04 +0000 (16:02 -0400)
Adding our own events to link to.

models/block.php
views/admin/metaBoxes.php

index 2fd4649..fa17c5a 100644 (file)
@@ -230,7 +230,14 @@ class glm_models_block
             if (isset($custom['glm_block_url'])) {
                 switch ($custom['glm_block_url'][0]) {
                 case 'event':
-                    $block->url = get_permalink($custom['glm_block_event'][0]);
+                    if ( defined( 'GLM_MEMBERS_EVENTS_PLUGIN_NAME' ) ) {
+                        $event = apply_filters('glm-member-db-events-get-event-data', $custom['glm_block_event'][0]);
+                        if ( $event ) {
+                            $block->url = get_permalink(188) . $event['name_slug'] . '/';
+                        }
+                    } else if ( defined( 'AI1EC_PATH' ) ) {
+                        $block->url = get_permalink($custom['glm_block_event'][0]);
+                    }
                     break;
                 case 'page':
                     $block->url = get_permalink($custom['glm_block_page'][0]);
@@ -420,4 +427,24 @@ class glm_models_block
 
         return $wpdb->get_results( $sql, ARRAY_A );
     }
+
+    /**
+     * get_glm_events
+     *
+     * Grab list of events from glm associate events plugin.
+     *
+     * @access public
+     * @return void
+     */
+    public function get_glm_events()
+    {
+        global $wpdb;
+        $events = array();
+        if ( !defined( 'GLM_MEMBERS_EVENTS_PLUGIN_NAME' ) ) {
+            return $events;
+        }
+
+        $events = apply_filters( 'glm-member-db-events-get-events', '' );
+        return $events;
+    }
 }
index e5f6bd1..21cc9c6 100644 (file)
@@ -57,7 +57,6 @@ foreach ($glmPosts as $post) {
 </select>
 <?php
 $events = $this->get_events();
-//echo '<pre>' . print_r( $events, true ) . '</pre>';
 if ( isset( $events ) && is_array( $events ) && !empty( $events ) ) {
     ?><br>
     <input type="radio" name="glm_block_url" value="event"
@@ -75,4 +74,22 @@ if ( isset( $events ) && is_array( $events ) && !empty( $events ) ) {
     }
     echo '</select>';
 }
+$glmEvents = $this->get_glm_events();
+if ( isset( $glmEvents ) && is_array( $glmEvents ) && !empty( $glmEvents ) ) {
+    ?><br>
+    <input type="radio" name="glm_block_url" value="event"
+    <?php if ($glm_block_url == 'event') { echo 'checked'; }; ?>>
+    <?php
+    echo '<label for="my_meta_box_post_type">Internal Event: </label>';
+    echo '<select id="glm_block_event" name="glm_block_event">';
+    echo '<option value="">None</option>';
+    foreach ( $glmEvents as $event ) {
+        echo '<option value="' . $event['id'] . '"';
+        if ($event['id'] == $glm_block_event) {
+            echo ' selected';
+        }
+        echo '>' . $event['name'] . ' </option>';
+    }
+    echo '</select>';
+}
 ?>