Link to packages fixed on package detail, custom term available
authorlaury <laury@gaslightmedia.com>
Mon, 22 Aug 2016 13:29:04 +0000 (09:29 -0400)
committerlaury <laury@gaslightmedia.com>
Mon, 22 Aug 2016 13:29:04 +0000 (09:29 -0400)
Package detail page now has the link to packages on member detail
working. Same with package list. Can now also change the text
used for member detail link on left-hand side. (also used for
package detail link)

12 files changed:
classes/data/dataManagement.php
classes/data/dataPackages.php
index.php
models/front/packaging/list.php
setup/databaseScripts/create_database_V1.1.3.sql [deleted file]
setup/databaseScripts/create_database_V1.1.4.sql [new file with mode: 0644]
setup/databaseScripts/dbVersions.php
setup/databaseScripts/update_database_V1.1.4.sql [new file with mode: 0644]
setup/frontHooks.php
views/admin/management/packaging.html
views/front/packaging/detail.html
views/front/packaging/packagesLinkForPackageDetail.html [new file with mode: 0644]

index b68151a..d060bf7 100644 (file)
@@ -123,7 +123,7 @@ class GlmDataPackagingManagement extends GlmDataAbstract
                 'use' => 'a'
             ),
             
-            // Canonical Page Slug
+            // Member List Link to Packages on Member Detail
             'package_link_text_member_list' => array (
                 'field' => 'package_link_text_member_list',
                 'type' => 'text',
@@ -131,6 +131,14 @@ class GlmDataPackagingManagement extends GlmDataAbstract
                 'use' => 'a'
             ),
             
+            // Member Detail Link to Packages on Member Detail
+            'package_link_text_member_detail' => array (
+                'field' => 'package_link_text_member_detail',
+                'type' => 'text',
+                'required' => false,
+                'use' => 'a'
+            ),
+            
             // 
             'package_list_show_member_image' => array(
                     'field' => 'package_list_show_member_image',
index 47f829c..1f728d8 100644 (file)
@@ -247,6 +247,18 @@ class GlmDataPackages extends GlmDataAbstract
                 'required' => true,
                 'use' => 'lged'
             ),
+            
+            // Reference Destination Slug
+            'ref_dest_slug' => array (
+                'field' => 'ref_dest',
+                'as' => 'ref_dest_slug',
+                'type' => 'pointer',
+                    'p_table' => GLM_MEMBERS_PLUGIN_DB_PREFIX . 'members',
+                    'p_field' => 'member_slug',
+                    'p_blank' => true,
+                'required' => true,
+                'use' => 'lged'
+            ),
 
             // Title
             'offsite_url' => array (
index de9ed6e..6d691d6 100644 (file)
--- a/index.php
+++ b/index.php
@@ -38,7 +38,7 @@
  *  version from this plugin.
  */
 define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.1.13');
-define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.3');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.4');
 
 // This is the minimum version of the GLM Members DB plugin require for this plugin.
 define('GLM_MEMBERS_PACKAGING_PLUGIN_MIN_MEMBERS_REQUIRED_VERSION', '2.0.0');
index d227958..f89c91c 100644 (file)
@@ -239,6 +239,9 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
             case 'detail-packages-link':
                 $view = 'packagesLinkForMemberDetail.html';
                 break;
+            case 'package-detail-packages-link':
+                $view = 'packagesLinkForPackageDetail.html';
+                break;
             case 'detail-sidemenu';
                 $view = 'packagesSidemenuForMemberDetail.html';
                 break;
@@ -249,7 +252,7 @@ class GlmMembersFront_packaging_list extends GlmDataPackages
                 $view = 'list.html';
                 break;
         }
-
+        
         // Compile template data
         $templateData = array(
             'siteBaseUrl' => GLM_MEMBERS_SITE_BASE_URL,
diff --git a/setup/databaseScripts/create_database_V1.1.3.sql b/setup/databaseScripts/create_database_V1.1.3.sql
deleted file mode 100644 (file)
index 5f3d5cb..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
--- Gaslight Media Members Database - Packaging 
--- File Created: 12/02/15 15:27:15
--- Database Version: 1.1.3
--- Database Creation Script
--- 
--- To permit each query below to be executed separately,
--- all queries must be separated by a line with four dashes
-
--- Packages 
-CREATE TABLE {prefix}packages (
-  id INT NOT NULL AUTO_INCREMENT,
-  active BOOLEAN NULL,                      -- Package is active
-  title TINYTEXT NULL,                      -- Title of package
-  package_slug TINYTEXT NULL,               -- Package name slug for canonical URLs (lowercase, "-" for spaces, no punctuation)
-  offsite_url TINYTEXT NULL,                -- Url for the package list on the member's site
-  descr TEXT NULL,                          -- Description of package
-  short_descr TINYTEXT NULL,                -- Short description of package
-  image TINYTEXT NULL,                      -- Package image
-  start_date TIMESTAMP NULL,                -- Date display of this package starts
-  end_date TIMESTAMP NULL,                  -- Date display of this package ends (last date of display)
-  expire_date TIMESTAMP NULL,               -- Date package expires (first date it's expired)
-  position INT NULL,                        -- Display order position
-  pricing TINYTEXT NULL,                    -- Pricing, descriptive
-  ref_type INT NULL,                        -- Type of entity this package is associated with
-  ref_dest INT NULL,                        -- Pointer to the specific entity
-  PRIMARY KEY (id),                         
-  INDEX(ref_type),
-  INDEX(ref_dest),
-  INDEX(start_date),
-  INDEX(end_date),
-  INDEX(expire_date)
-);
-
-----
-
--- Package Elements - Items in a package
-CREATE TABLE {prefix}package_elements (
-  id INT NOT NULL AUTO_INCREMENT,
-  package INT NULL,                         -- Pointer to the package
-  active BOOLEAN NULL,                      -- Package is active
-  title TINYTEXT NULL,                      -- Title of element
-  descr TEXT NULL,                          -- Description for this entity's participation in the package
-  short_descr TEXT NULL,                    -- Short description for this entity's participation in the package
-  image TINYTEXT NULL,                      -- Element image
-  position INT NULL,                        -- Display order position
-  ref_type INT NULL,                        -- Type of entity this element is association with
-  ref_dest INT NULL,                        -- Pointer to the specific entity
-  PRIMARY KEY (id),
-  INDEX(package),
-  INDEX(ref_type),
-  INDEX(ref_dest)
-);
-
-----
-
--- Package Management Settings
-CREATE TABLE {prefix}management (
-  id INT NOT NULL AUTO_INCREMENT,
-  canonical_package_page TINYTEXT NULL,          -- Canonical page slug for package detail
-  package_link_text_member_list TINYTEXT NULL,          -- Canonical page slug for package detail
-  package_list_show_image BOOLEAN DEFAULT '1',  
-  package_list_show_short_descr BOOLEAN DEFAULT '1',        
-  package_list_show_expire_date BOOLEAN DEFAULT '1',        
-  package_list_show_pricing BOOLEAN DEFAULT '1',        
-  package_list_show_offsite_url BOOLEAN DEFAULT '1',               
-  package_list_show_offsite_url_newtarget BOOLEAN DEFAULT '1',               
-  package_list_show_member_image BOOLEAN DEFAULT '1',  
-  package_list_show_member_short_descr BOOLEAN DEFAULT '1',  
-  package_list_show_member_link BOOLEAN DEFAULT '1',               
-  package_list_show_member_link_newtarget BOOLEAN DEFAULT '1',               
-  package_list_show_member_address BOOLEAN DEFAULT '1', 
-  package_list_show_member_second_address BOOLEAN DEFAULT '1',
-  package_list_show_member_street BOOLEAN DEFAULT '1',               
-  package_list_show_member_citystatezip BOOLEAN DEFAULT '1',               
-  package_list_show_member_country BOOLEAN DEFAULT '1',               
-  package_list_show_member_region BOOLEAN DEFAULT '1',               
-  package_list_show_member_phone BOOLEAN DEFAULT '1',               
-  package_list_show_member_tollfree BOOLEAN DEFAULT '1',               
-  package_list_show_member_email BOOLEAN DEFAULT '1',   
-  package_list_show_member_website_url BOOLEAN DEFAULT '1',
-  package_list_show_member_website_url_newtarget BOOLEAN DEFAULT '1',   
-  package_detail_show_image BOOLEAN DEFAULT '1',                            
-  package_detail_show_offsite_url BOOLEAN DEFAULT '1',               
-  package_detail_show_offsite_url_newtarget BOOLEAN DEFAULT '1',               
-  package_detail_show_member_link BOOLEAN DEFAULT '1',               
-  package_detail_show_member_link_newtarget BOOLEAN DEFAULT '1',               
-  package_detail_show_member_address BOOLEAN DEFAULT '1',               
-  package_detail_show_member_street BOOLEAN DEFAULT '1',               
-  package_detail_show_member_citystatezip BOOLEAN DEFAULT '1',               
-  package_detail_show_member_country BOOLEAN DEFAULT '1',               
-  package_detail_show_member_region BOOLEAN DEFAULT '1',               
-  package_detail_show_member_phone BOOLEAN DEFAULT '1',               
-  package_detail_show_member_tollfree BOOLEAN DEFAULT '1',               
-  package_detail_show_member_email BOOLEAN DEFAULT '1',              
-  PRIMARY KEY (id)
-);
-
-----
-
--- Set default package management entry
-INSERT INTO {prefix}management
-    ( id, canonical_package_page )
-   VALUES
-    ( 1, 'package-detail' )
-;
-
diff --git a/setup/databaseScripts/create_database_V1.1.4.sql b/setup/databaseScripts/create_database_V1.1.4.sql
new file mode 100644 (file)
index 0000000..0ebe833
--- /dev/null
@@ -0,0 +1,107 @@
+-- Gaslight Media Members Database - Packaging 
+-- File Created: 12/02/15 15:27:15
+-- Database Version: 1.1.4
+-- Database Creation Script
+-- 
+-- To permit each query below to be executed separately,
+-- all queries must be separated by a line with four dashes
+
+-- Packages 
+CREATE TABLE {prefix}packages (
+  id INT NOT NULL AUTO_INCREMENT,
+  active BOOLEAN NULL,                      -- Package is active
+  title TINYTEXT NULL,                      -- Title of package
+  package_slug TINYTEXT NULL,               -- Package name slug for canonical URLs (lowercase, "-" for spaces, no punctuation)
+  offsite_url TINYTEXT NULL,                -- Url for the package list on the member's site
+  descr TEXT NULL,                          -- Description of package
+  short_descr TINYTEXT NULL,                -- Short description of package
+  image TINYTEXT NULL,                      -- Package image
+  start_date TIMESTAMP NULL,                -- Date display of this package starts
+  end_date TIMESTAMP NULL,                  -- Date display of this package ends (last date of display)
+  expire_date TIMESTAMP NULL,               -- Date package expires (first date it's expired)
+  position INT NULL,                        -- Display order position
+  pricing TINYTEXT NULL,                    -- Pricing, descriptive
+  ref_type INT NULL,                        -- Type of entity this package is associated with
+  ref_dest INT NULL,                        -- Pointer to the specific entity
+  PRIMARY KEY (id),                         
+  INDEX(ref_type),
+  INDEX(ref_dest),
+  INDEX(start_date),
+  INDEX(end_date),
+  INDEX(expire_date)
+);
+
+----
+
+-- Package Elements - Items in a package
+CREATE TABLE {prefix}package_elements (
+  id INT NOT NULL AUTO_INCREMENT,
+  package INT NULL,                         -- Pointer to the package
+  active BOOLEAN NULL,                      -- Package is active
+  title TINYTEXT NULL,                      -- Title of element
+  descr TEXT NULL,                          -- Description for this entity's participation in the package
+  short_descr TEXT NULL,                    -- Short description for this entity's participation in the package
+  image TINYTEXT NULL,                      -- Element image
+  position INT NULL,                        -- Display order position
+  ref_type INT NULL,                        -- Type of entity this element is association with
+  ref_dest INT NULL,                        -- Pointer to the specific entity
+  PRIMARY KEY (id),
+  INDEX(package),
+  INDEX(ref_type),
+  INDEX(ref_dest)
+);
+
+----
+
+-- Package Management Settings
+CREATE TABLE {prefix}management (
+  id INT NOT NULL AUTO_INCREMENT,
+  canonical_package_page TINYTEXT NULL,          -- Canonical page slug for package detail
+  package_link_text_member_list TINYTEXT NULL,
+  package_link_text_member_detail TINYTEXT NULL,
+  package_list_show_image BOOLEAN DEFAULT '1',  
+  package_list_show_short_descr BOOLEAN DEFAULT '1',        
+  package_list_show_expire_date BOOLEAN DEFAULT '1',        
+  package_list_show_pricing BOOLEAN DEFAULT '1',        
+  package_list_show_offsite_url BOOLEAN DEFAULT '1',               
+  package_list_show_offsite_url_newtarget BOOLEAN DEFAULT '1',               
+  package_list_show_member_image BOOLEAN DEFAULT '1',  
+  package_list_show_member_short_descr BOOLEAN DEFAULT '1',  
+  package_list_show_member_link BOOLEAN DEFAULT '1',               
+  package_list_show_member_link_newtarget BOOLEAN DEFAULT '1',               
+  package_list_show_member_address BOOLEAN DEFAULT '1', 
+  package_list_show_member_second_address BOOLEAN DEFAULT '1',
+  package_list_show_member_street BOOLEAN DEFAULT '1',               
+  package_list_show_member_citystatezip BOOLEAN DEFAULT '1',               
+  package_list_show_member_country BOOLEAN DEFAULT '1',               
+  package_list_show_member_region BOOLEAN DEFAULT '1',               
+  package_list_show_member_phone BOOLEAN DEFAULT '1',               
+  package_list_show_member_tollfree BOOLEAN DEFAULT '1',               
+  package_list_show_member_email BOOLEAN DEFAULT '1',   
+  package_list_show_member_website_url BOOLEAN DEFAULT '1',
+  package_list_show_member_website_url_newtarget BOOLEAN DEFAULT '1',   
+  package_detail_show_image BOOLEAN DEFAULT '1',                            
+  package_detail_show_offsite_url BOOLEAN DEFAULT '1',               
+  package_detail_show_offsite_url_newtarget BOOLEAN DEFAULT '1',               
+  package_detail_show_member_link BOOLEAN DEFAULT '1',               
+  package_detail_show_member_link_newtarget BOOLEAN DEFAULT '1',               
+  package_detail_show_member_address BOOLEAN DEFAULT '1',               
+  package_detail_show_member_street BOOLEAN DEFAULT '1',               
+  package_detail_show_member_citystatezip BOOLEAN DEFAULT '1',               
+  package_detail_show_member_country BOOLEAN DEFAULT '1',               
+  package_detail_show_member_region BOOLEAN DEFAULT '1',               
+  package_detail_show_member_phone BOOLEAN DEFAULT '1',               
+  package_detail_show_member_tollfree BOOLEAN DEFAULT '1',               
+  package_detail_show_member_email BOOLEAN DEFAULT '1',              
+  PRIMARY KEY (id)
+);
+
+----
+
+-- Set default package management entry
+INSERT INTO {prefix}management
+    ( id, canonical_package_page )
+   VALUES
+    ( 1, 'package-detail' )
+;
+
index f0fd85e..60292a0 100644 (file)
@@ -18,6 +18,7 @@ $glmMembersPackagingDbVersions = array(
             '1.1.0' => array('version' => '1.1.0', 'tables' => 3),
             '1.1.1' => array('version' => '1.1.1', 'tables' => 3),
             '1.1.2' => array('version' => '1.1.2', 'tables' => 3),
-            '1.1.3' => array('version' => '1.1.3', 'tables' => 3)
+            '1.1.3' => array('version' => '1.1.3', 'tables' => 3),
+            '1.1.4' => array('version' => '1.1.4', 'tables' => 3)
 );
 
diff --git a/setup/databaseScripts/update_database_V1.1.4.sql b/setup/databaseScripts/update_database_V1.1.4.sql
new file mode 100644 (file)
index 0000000..4c579c3
--- /dev/null
@@ -0,0 +1,10 @@
+-- Gaslight Media Members Database 
+-- File Created: 7/06/16 09:08:33
+-- Database Version: 1.1.4
+-- Database Update From Previous Version Script
+-- 
+-- To permit each query below to be executed separately,
+-- all queries must be separated by a line with four dashses
+
+-- Package Management Settings
+ALTER TABLE {prefix}management ADD COLUMN package_link_text_member_detail TINYTEXT DEFAULT NULL;
\ No newline at end of file
index d454006..94fda5d 100644 (file)
@@ -123,6 +123,16 @@ if (isset($this->config['addOns']['glm-member-db'])) {
         2
     );
 
+    // Add internal page content links to package detail page
+    add_filter('glm-member-db-front-package-detail-linksBottom', function($content, $id) {
+            $packageData = do_shortcode('[glm-members-packaging-list member='.$id.', template="package-detail-packages-link" order="title"]');
+            $content .= $packageData;
+            return $content;
+        },
+        10,
+        2
+    );
+
     // Add content to member detail page - Get it from the existing package listing shortcode
     add_filter('glm-member-db-front-members-detail-descriptionAfter', function($content, $id) {
             $packageData = do_shortcode('[glm-members-packaging-list member='.$id.', template="member-detail" order="title"]');
index 44f5804..0c127c9 100644 (file)
                   <input type="text" name="canonical_package_page" value="{$packagingSettings.fieldData.canonical_package_page}" class="glm-form-text-input-medium">
                   {if $packagingSettings.fieldFail.canonical_package_page}<p>{$packagingSettings.fieldFail.canonical_package_page}</p>{/if}
               </td>
-          </tr>
+            </tr>
             <tr>
               <th {if $packagingSettings.fieldRequired.package_link_text_member_list}class="glm-required"{/if}>Package Link Text for Member List:</th>
               <td {if $packagingSettings.fieldFail.package_link_text_member_list}class="glm-form-bad-input glm-form-bad-input-misc"{/if}>
                   <input type="text" name="package_link_text_member_list" value="{$packagingSettings.fieldData.package_link_text_member_list}" class="glm-form-text-input-medium" placeholder="Packages">
                   {if $packagingSettings.fieldFail.package_link_text_member_list}<p>{$packagingSettings.fieldFail.package_link_text_member_list}</p>{/if}
               </td>
-          </tr>
+            </tr>
+            <tr>
+              <th {if $packagingSettings.fieldRequired.package_link_text_member_detail}class="glm-required"{/if}>Package Link Text for Member Detail:</th>
+              <td {if $packagingSettings.fieldFail.package_link_text_member_detail}class="glm-form-bad-input glm-form-bad-input-misc"{/if}>
+                  <input type="text" name="package_link_text_member_detail" value="{$packagingSettings.fieldData.package_link_text_member_detail}" class="glm-form-text-input-medium" placeholder="Packages & Deals">
+                  {if $packagingSettings.fieldFail.package_link_text_member_detail}<p>{$packagingSettings.fieldFail.package_link_text_member_detail}</p>{/if}
+              </td>
+            </tr>
             <tr><td><input class="updateSettings button" type="submit" value="Update Settings" /></td></tr>
         </table>
 
index b2def21..81088d2 100644 (file)
@@ -97,7 +97,7 @@
                         {apply_filters('glm-member-db-front-members-detail-linksTop', '', $package.member.id)}
                         {if $package.member.email && $settings.package_detail_show_member_email}<a href="mailto:{$package.member.email}">Email</a>{/if}
 <!--                        {if $settings.package_detail_show_member_coupons && $coupons}<a href="#glm-member-detail-coupons">Coupons</a>{/if}-->
-                        {apply_filters('glm-member-db-front-members-detail-linksBottom', '', $package.member.id)}
+                        {apply_filters('glm-member-db-front-package-detail-linksBottom', '', $package.member.id)}
                     </div>
     
                 </div>
diff --git a/views/front/packaging/packagesLinkForPackageDetail.html b/views/front/packaging/packagesLinkForPackageDetail.html
new file mode 100644 (file)
index 0000000..8954aee
--- /dev/null
@@ -0,0 +1,13 @@
+{if $havePackages && $packages && $settings.detail_show_packages}
+    {foreach $packages as $p}
+        {if $p@iteration == 1}
+            <a id="glm-member-detail-packages-link" class="link-open-detail-content-data" href="{$siteBaseUrl}{$settings.canonical_member_page}/{$p.ref_dest_slug}/?expanded=packages">
+                {if $settings.package_link_text_member_detail}
+                    {$settings.package_link_text_member_detail}
+                {else}
+                    Packages & Deals
+                {/if}
+            </a>
+        {/if}
+    {/foreach}
+{/if}
\ No newline at end of file