Hotfix for short-code category selection in member lists and other assorted problems.
authorChuck Scott <cscott@gaslightmedia.com>
Sun, 27 Sep 2015 21:04:19 +0000 (17:04 -0400)
committerChuck Scott <cscott@gaslightmedia.com>
Sun, 27 Sep 2015 21:04:19 +0000 (17:04 -0400)
classes/data/dataMemberInfo.php
classes/glmPluginSupport.php
config/plugin.ini
controllers/admin.php
controllers/front.php
lib/GlmDataAbstract/DataAbstract.php
models/front/members/detail.php
models/front/members/list.php
views/admin/shortcodes/index.html
views/front/members/detail.html
views/front/members/list.html

index a679a53..ed4e18d 100644 (file)
@@ -155,7 +155,7 @@ class GlmDataMemberInfo extends GlmDataAbstract
                                        'list' => $this->config['status'],
                                        'required' => true,
                                        'default' => $this->config['status_numb']['Pending'],
-                                       'force_list' => true,
+//                                     'force_list' => true,
                                        'use' => 'a'
                                ),
 
@@ -209,7 +209,7 @@ class GlmDataMemberInfo extends GlmDataAbstract
                             'p_field' => 'name',
                             'p_orderby' => 'name',
                                    'p_blank' => true,
-                               'force_list' => true,
+//                             'force_list' => true,
                                'use' => 'a'
                        ),
 
@@ -219,7 +219,7 @@ class GlmDataMemberInfo extends GlmDataAbstract
                                        'type' => 'list',
                                        'list' => $this->config['states'],
                                        'default' => 'MI',
-                                       'force_list' => true,
+//                                     'force_list' => true,
                                        'use' => 'a'
                                ),
 
@@ -236,7 +236,7 @@ class GlmDataMemberInfo extends GlmDataAbstract
                                'type' => 'list',
                                'list' => $this->config['countries'],
                                'default' => 'US',
-                               'force_list' => true,
+//                             'force_list' => true,
                                'use' => 'a'
                        ),
 
@@ -264,7 +264,7 @@ class GlmDataMemberInfo extends GlmDataAbstract
                                'p_field' => 'name',
                                'p_orderby' => 'name',
                                'p_blank' => true,
-                               'force_list' => true,
+//                             'force_list' => true,
                                'use' => 'a'
                        ),
 
index a22755c..fc7260d 100644 (file)
@@ -60,6 +60,7 @@ class GlmPluginSupport
                 $dataBlocks = get_option('glmMembersAdminNoticeDataBlocks');
                 $dataBlocks[] = array('data' => $message, 'title' => $title);
                 update_option('glmMembersAdminNoticeDataBlocks', $dataBlocks);
+
                 break;
 
             case 'AdminNotice':
@@ -89,7 +90,6 @@ class GlmPluginSupport
             default;
                 $notices = get_option('glmMembersAdminNotices');
                 $notices[] = $message;
-//$notices = array();
                 update_option('glmMembersAdminNotices', $notices);
                 break;
 
@@ -97,6 +97,22 @@ class GlmPluginSupport
 
     }
 
+    /*
+     * Clear all notices
+     *
+     * @return void
+     * @access public
+     */
+    public static function clearNotices ()
+    {
+
+        delete_option('glmMembersAdminNoticeAlerts');
+        delete_option('glmMembersAdminNoticeProcess');
+        delete_option('glmMembersAdminNoticeDataBlocks');
+        delete_option('glmMembersAdminNotices');
+
+    }
+
     /*
      * Check if this is a second call to the activation hook by WordPress to activate this plugin.
      *
index 66648c9..8e1fa97 100644 (file)
@@ -345,9 +345,9 @@ phrase['phrase_test'] = 'test'
 
 [chuck:common]
 admin_debug = true
-admin_debug_verbose = true
-front_debug = true
-front_debug_verbose = true
+admin_debug_verbose = false
+front_debug = false
+front_debug_verbose = false
 googleMapsApiKey = ''
 
 
index 38366f1..d75018e 100644 (file)
@@ -613,6 +613,8 @@ class glmMembersAdmin extends GlmPluginSupport
             if (isset($_FILES)) {
                 $this->addNotice("<pre>".print_r($_FILES,1)."</pre>", 'DataBlock', "Request Files Data");
             }
+        } else {
+            $this->clearNotices();
         }
 
         /*
index 2e06a82..3fecfe0 100644 (file)
@@ -240,6 +240,8 @@ class glmMembersFront extends GlmPluginSupport
 
             $this->addNotice("<pre>".print_r($consts,1)."</pre>", 'DataBlock', "Defined Parameters");
             $this->addNotice("<pre>".print_r($_REQUEST,1)."</pre>", 'DataBlock', "Request Data");
+        } else {
+            $this->clearNotices();
         }
 
         /*
index c6fe2e0..56802f2 100755 (executable)
@@ -113,7 +113,7 @@ abstract class GlmDataAbstract
      *\r
      * @access public\r
      */\r
-    public $optionIncludeSelectListData = true;
+    public $optionIncludeSelectListData = false;
     /**
      * Delete Restrictions - Not fully sorted out yet
      *
@@ -1573,7 +1573,7 @@ abstract class GlmDataAbstract
     {
         return false;
     }
-    function dateOutput($f, $d)
+    function dateOutput($f, $d, $forEdit)
     {
 
         // Check for min/max date values
@@ -1611,10 +1611,11 @@ abstract class GlmDataAbstract
         );
 
         // Build picklists for date input\r
-        $date_list = false;\r
-        if ($this->optionIncludeSelectListData) {\r
+        $date_list = false;
 \r
-               $date_list = $this->buildDateFieldLists($min, $max);\r
+        if ($this->optionIncludeSelectListData || $forEdit ) {\r
+
+            $date_list = $this->buildDateFieldLists($min, $max);\r
 \r
                // Get default values for list selection and set in date_list array\r
                $def_month = date('n', $t);\r
@@ -1857,7 +1858,7 @@ abstract class GlmDataAbstract
 
         }
 
-        if (!$this->optionIncludeSelectListData) {
+        if (!$this->optionIncludeSelectListData && !$forEdit) {
                $time_list = false;
         }
 
@@ -1977,7 +1978,7 @@ abstract class GlmDataAbstract
     {
         return false;
     }
-    function datetimeOutput($f, $d)
+    function datetimeOutput($f, $d, $forEdit)
     {
 
         // Check for min/max date values
@@ -2029,7 +2030,7 @@ abstract class GlmDataAbstract
 
         // Build picklists for date input
         $date_list = false;
-        if ($this->optionIncludeSelectListData) {
+        if ($this->optionIncludeSelectListData || $forEdit) {
 
             $date_list = $this->buildDateFieldLists($min, $max, true);
 
index 3d865d1..ffcba9e 100644 (file)
@@ -162,7 +162,10 @@ class GlmMembersFront_members_detail extends GlmDataMemberInfo
             'haveMember' => $haveMember,
             'member' => $memberData,
             'haveImageGallery' => $haveImageGallery,
-            'imageGallery' => $imageGallery
+            'imageGallery' => $imageGallery,
+            'havePackages' => false,
+            'packages' => false
+
         );
 
         // Return status, suggested view, and data to controller
index 89155c9..2db9b53 100644 (file)
@@ -143,25 +143,27 @@ class GlmMembersFront_members_list extends GlmDataMemberInfo
             // Check if a category has been submitted
             if (isset($_REQUEST['categorySearch'])) {
                 $catSelected = $_REQUEST['categorySearch'] - 0;
+            } elseif ($actionData['request']['category']) {
+                $catSelected = $actionData['request']['category'];
+            }
 
-                // If we have a category ID
-                if ($catSelected > 0) {
+            // If we have a category ID
+            if ($catSelected > 0) {
 
-                    $where .= $whereSep." T.id in (
-                       SELECT DISTINCT(member_info)
-                         FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info M,
-                              ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories C
-                        WHERE M.category = $catSelected
-                           OR (C.parent = $catSelected AND M.category = C.id)
-                    )";
-                    $whereSep = ' AND ';
+                $where .= $whereSep." T.id in (
+                       SELECT DISTINCT(member_info)
+                         FROM ".GLM_MEMBERS_PLUGIN_DB_PREFIX."category_member_info M,
+                              ".GLM_MEMBERS_PLUGIN_DB_PREFIX."categories C
+                        WHERE M.category in($catSelected)
+                           OR (C.parent in($catSelected) AND M.category = C.id)
+                )";
+                $whereSep = ' AND ';
 
-                    // Set default to true for the selected category
-                    $categoryData[$catSelected]['default'] = true;
-                    
-                }
-            }
+                // Set default to true for the selected category
+                $c = explode(',', $catSelected);
+                $categoryData[$c[0]]['default'] = true;
 
+            }
         }
 
         // Get amenity filter data
index 5dd8a00..096820b 100644 (file)
         inserted into the shortcode. When including multiple attributes in a Shortcode,
         be sure to leave a space between the attributes. An example is shown below.   
     </p>
-    <p><pre>[glm-members action="list" category="Accommodations"]</pre></p>
+    <p><pre>[glm-members-list category="11"]</pre></p>
     
     <table class="glm-admin-table">
-        <tr><th>Shortcode</th><th>Attribute</th><th>Attribute Value</th><th>Description</th></tr>
+        <tr><th>Shortcode</th><th>Attribute</th><th>Description</th></tr>
         <tr>
-            <th colspan="3">[glm-members-list]</th>
+            <th colspan="2">[glm-members-list]</th>
             <td>
                 Displays a list of members and a map with markers for each member. Optionally, 
                 the attributes below may used to modify the display of this page.
@@ -29,7 +29,7 @@
         </tr>
         <tr>
             <td>&nbsp;</td>
-            <th colspan="2">
+            <th>
                 category="{ category ID(s) }"
             </th>
             <td>
@@ -40,7 +40,7 @@
             </td>
         </tr>
         <tr>
-            <th colspan="3">[glm-member-detail]</th>
+            <th colspan="2">[glm-member-detail]</th>
             <td>
                 Displays details for a speicif member along with a map showing their location. The 
                 "id" attribute below is required to specify which member to display. 
@@ -48,7 +48,7 @@
         </tr>
          <tr>
             <td>&nbsp;</td>
-            <th colspan="2">
+            <th>
                 id="{ member ID }"
             </th>
             <td>
index e7068f4..4957a74 100644 (file)
@@ -53,8 +53,7 @@
             {if $member.logo && $detail_show_logo}
                 <div class="glm-member-list-image-wrapper small-12 medium-5 columns">
                     <div class="glm-member-list-image-border">
-<!--                    <img CLASS="glm-member-list-image-left" src="{$glmPluginMediaURL}/images/{$detail_logo_size}/{$member.logo}">-->
-                    <img class="glm-member-list-image-left" src="http://placehold.it/500x300"></div>
+                    <img CLASS="glm-member-list-image-left" src="{$glmPluginMediaURL}/images/{$detail_logo_size}/{$member.logo}">
                 </div>
                 <div class="small-12 medium-7 glm-member-info columns">
             {else}
                           {if $member.addr2}<div>{$member.addr2}</div>{/if}
                           {/if}
                           {if $list_show_citystatezip}
-                          {if $member.city.name}<span>{$member.city.name}</span>{if $member.state.name}, {/if}{/if}<span>{if $member.state.name}{$member.state.name}</span>{/if}{if $member.zip} {$member.zip}{/if}
+                          {if $member.city}<span>{$member.city}</span>{if $member.state.name}, {/if}{/if}<span>{if $member.state.name}{$member.state.name}</span>{/if}{if $member.zip} {$member.zip}{/if}
                           {/if} 
                                 {if $member.country.name && $list_show_country}<div>{$member.country.name}</div>{/if}
                       {/if}        
                         {if $member.phone && $list_show_phone}<div>Phone: {$member.phone}</div>{/if}
                         {if $member.toll_free && $list_show_tollfree}<div><b>Toll Free:</b> {$member.toll_free}</div>{/if}
-                        {if $member.region.value && $list_show_region}<div><p><b>Region:</b> {$member.region.name}</div>{/if}
+                        {if $member.region && $list_show_region}<div><p><b>Region:</b> {$member.region}</div>{/if}
                    
                         <div class="glm-member-list-links"><br>
                                 {if $member.url && $list_show_url}<a href="{$member.url}"{if $list_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
                                 {if $member.email && $list_show_email}<a href="mailto:{$member.email}">Email</a>{/if}
-                                {if $detail_show_imagegallery}<a href="#glm-member-detail-photo-gallery">Photo Gallery</a>{/if}
+                                {if $detail_show_imagegallery && $haveImageGallery}<a href="#glm-member-detail-photo-gallery">Photo Gallery</a>{/if}
                                 {if $detail_show_coupons}<a href="#glm-member-detail-coupons">Coupons</a>{/if}
                                 {if $detail_show_packages}<a href="#glm-member-detail-packages">Packages</a>{/if}
                         </div>
 <!-- Image Gallery -->
 
 
-    {if $detail_show_imagegallery && $imagegallery}
+    {if $detail_show_imagegallery && $haveImageGallery}
     <div id="glm-member-detail-photos" class="row">
         <a name="glm-member-detail-photo-gallery"></a>
         <div class="small-12 columns">
         <a name="glm-member-detail-coupons"></a>
     </div>
     {/if}
-    {if $detail_show_packages && $packages}
+    {if $detail_show_packages && $havePackages && $packages}
     <div id="glm-member-detail-photos" class="row">
         <a name="glm-member-detail-packages"></a>
     </div>
index 4a8c980..a97b9da 100644 (file)
                   {if $m.addr2 && $list_show_addr2}<div>{$m.addr2}</div>{/if}
                   {/if}
                   {if $list_show_citystatezip}
-                  {if $m.city.name}<span>{$m.city.name}</span>{if $m.state.name}, {/if}{/if}<span>{if $m.state.name}{$m.state.name}</span>{/if}{if $m.zip} {$m.zip}{/if}
+                  {if $m.city}<span>{$m.city}</span>{if $m.state.name}, {/if}{/if}<span>{if $m.state.name}{$m.state.name}</span>{/if}{if $m.zip} {$m.zip}{/if}
                   {/if} 
                         {if $m.country.name && $list_show_country}<div>{$m.country.name}</div>{/if}
               {/if}        
                         {if $m.phone && $list_show_phone}<div>Phone: {$m.phone}</div>{/if}
                         {if $m.toll_free && $list_show_tollfree}<div><b>Toll Free:</b> {$m.toll_free}</div>{/if}
-                        {if $m.region.value && $list_show_region}<div><p><b>Region:</b> {$m.region.name}</div>{/if}
+                        {if $m.region && $list_show_region}<div><p><b>Region:</b> {$m.region}</div>{/if}
                     
                         <div class="glm-member-list-links"><br>
                                 {if $m.url && $list_show_url}<a href="{$m.url}"{if $list_show_url_newtarget} target="_blank"{/if}>Website</a>{/if}
                 {if $m.addr2}{$m.addr2}<br>{/if}
               {/if}
               {if $list_map_show_citystatezip}
-                {if $m.city.name}{$m.city.name}{if $m.state.name}, {/if}{/if}{if $m.state.name}{$m.state.name}{/if}{if $m.zip} {$m.zip}{/if}
+                {if $m.city}{$m.city}{if $m.state.name}, {/if}{/if}{if $m.state.name}{$m.state.name}{/if}{if $m.zip} {$m.zip}{/if}
               {/if} 
                 {if $m.country.name && $list_map_show_country}<br>{$m.country.name}{/if}
             </p>        
                     {if $m.toll_free && $list_map_show_tollfree}<b>Toll Free:</b> {$m.toll_free}<br>{/if}
                     {if $m.url && $list_map_show_url}<b>Web site:</b> <a href="{$m.url}"{if $list_map_show_url_newtarget} target="_blank"{/if}>{$m.url}</a><br>{/if}
                     {if $m.email && $list_map_show_email}<b>E-Mail Address:</b> <a href="mailto:{$m.email}">{$m.email}</a><br>{/if}
-                    {if $m.region.value && $list_map_show_region}<b>Region:</b> {$m.region.name}{/if}
+                    {if $m.region && $list_map_show_region}<b>Region:</b> {$m.region}{/if}
                 </p>
                 {if $m.descr && $list_map_show_description}{$m.descr}<br>{/if}
                 {if $m.short_descr && $list_map_show_short_descr}{$m.short_descr}<br>{/if}