Packaging detail restyle, packaging settings added
authorLaury GvR <laury@gaslightmedia.com>
Tue, 5 Jul 2016 21:11:44 +0000 (17:11 -0400)
committerLaury GvR <laury@gaslightmedia.com>
Tue, 5 Jul 2016 21:11:44 +0000 (17:11 -0400)
Management options now have packaging display settings for setting
whether you want certain information to be displayed or not on the
package detail pages. Also added an offsite url to be used for
packages. The view file uses markup similar to the existing member
detail view file. A new database script was made to add the new db
entries and update as necessary.

13 files changed:
classes/data/dataManagement.php
classes/data/dataPackages.php
css/front.css
index.php
models/admin/management/packaging.php
setup/databaseScripts/create_database_V1.1.0.sql [deleted file]
setup/databaseScripts/create_database_V1.1.1.sql [new file with mode: 0644]
setup/databaseScripts/dbVersions.php
setup/databaseScripts/update_database_V1.1.1.sql [new file with mode: 0644]
views/admin/management/packaging.html
views/admin/member/packaging.html
views/front/packaging/detail.html
views/front/packaging/listForMemberListing.html

index bcfc301..9e75473 100644 (file)
@@ -121,6 +121,110 @@ class GlmDataPackagingManagement extends GlmDataAbstract
                 'type' => 'text',
                 'required' => true,
                 'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_link' => array(
+                    'field' => 'package_detail_show_member_link',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_link_newtarget' => array(
+                    'field' => 'package_detail_show_member_link_newtarget',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_offsite_url' => array(
+                    'field' => 'package_detail_show_offsite_url',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_offsite_url_newtarget' => array(
+                    'field' => 'package_detail_show_offsite_url_newtarget',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_image' => array(
+                    'field' => 'package_detail_show_image',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_address' => array(
+                    'field' => 'package_detail_show_member_address',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_street' => array(
+                    'field' => 'package_detail_show_member_street',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_citystatezip' => array(
+                    'field' => 'package_detail_show_member_citystatezip',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_country' => array(
+                    'field' => 'package_detail_show_member_country',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_region' => array(
+                    'field' => 'package_detail_show_member_region',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_phone' => array(
+                    'field' => 'package_detail_show_member_phone',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_tollfree' => array(
+                    'field' => 'package_detail_show_member_tollfree',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
+            ),
+            
+            // 
+            'package_detail_show_member_email' => array(
+                    'field' => 'package_detail_show_member_email',
+                    'type' => 'checkbox',
+                    'default' => true,
+                    'use' => 'a'
             )
 
         );
index 38f64ba..9eb0238 100644 (file)
@@ -246,6 +246,13 @@ class GlmDataPackages extends GlmDataAbstract
                     'p_blank' => true,
                 'required' => true,
                 'use' => 'lged'
+            ),
+            
+            // Title
+            'offsite_url' => array (
+                'field' => 'offsite_url',
+                'type' => 'text',
+                'use' => 'a'
             )
 
          );
index b2b65da..fcb5b7a 100644 (file)
@@ -55,6 +55,14 @@ div.member div.address {
     padding: 10px;
     width: 66%;
 }
+#glm-package-detail-member-name h3 {
+    color: white;
+}
+#glm-member-packaging-front-container .glm-member-detail-logo-wrapper {
+  max-height: 200px;
+  overflow: hidden;
+  text-align: center;
+}
 .glm-member-package-container .glm-member-db-package {
     overflow: hidden;
     clear: both;
index 8052a07..f891616 100644 (file)
--- a/index.php
+++ b/index.php
@@ -3,7 +3,7 @@
  * Plugin Name: GLM Members Database Packaging
  * Plugin URI: http://www.gaslightmedia.com/
  * Description: Gaslight Media Members Database.
- * Version: 1.1.5
+ * Version: 1.1.6
  * Author: Chuck Scott
  * Author URI: http://www.gaslightmedia.com/
  * License: GPL2
@@ -37,8 +37,8 @@
  *  so that we're sure the other add-ons see an up to date
  *  version from this plugin.
  */
-define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.1.5');
-define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.0');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.1.6');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.1');
 
 // 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 351b3ce..941fb24 100644 (file)
@@ -80,7 +80,7 @@ class GlmMembersAdmin_management_packaging extends GlmDataPackagingManagement
 
     public function modelAction($actionData = false)
     {
-        $packagingSettigns = false;
+        $packageSettings = false;
         $settingsUpdated = false;
         $settingsUpdateError = false;
 
diff --git a/setup/databaseScripts/create_database_V1.1.0.sql b/setup/databaseScripts/create_database_V1.1.0.sql
deleted file mode 100644 (file)
index cf097c3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
--- Gaslight Media Members Database - Packaging 
--- File Created: 12/02/15 15:27:15
--- Database Version: 0.0.2
--- 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)
-  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
-  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.1.sql b/setup/databaseScripts/create_database_V1.1.1.sql
new file mode 100644 (file)
index 0000000..8dd31aa
--- /dev/null
@@ -0,0 +1,84 @@
+-- Gaslight Media Members Database - Packaging 
+-- File Created: 12/02/15 15:27:15
+-- Database Version: 1.1.1
+-- 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_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 6a74c96..0a419aa 100644 (file)
@@ -15,6 +15,7 @@
 
 $glmMembersPackagingDbVersions = array(
             '0.0.2' => array('version' => '0.0.2', 'tables' => 2),
-            '1.1.0' => array('version' => '1.1.0', 'tables' => 3)
+            '1.1.0' => array('version' => '1.1.0', 'tables' => 3),
+            '1.1.1' => array('version' => '1.1.1', 'tables' => 3)
 );
 
diff --git a/setup/databaseScripts/update_database_V1.1.1.sql b/setup/databaseScripts/update_database_V1.1.1.sql
new file mode 100644 (file)
index 0000000..60736b2
--- /dev/null
@@ -0,0 +1,62 @@
+-- Gaslight Media Members Database 
+-- File Created: 7/05/16 13:37:15
+-- Database Version: 1.1.1
+-- 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}packages ADD COLUMN offsite_url TINYTEXT NULL;
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_image BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_offsite_url BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_offsite_url_newtarget BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_link BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_link_newtarget BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_address BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_street BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_citystatezip BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_country BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_region BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_phone BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_tollfree BOOLEAN DEFAULT '1';
+
+----
+
+ALTER TABLE {prefix}management ADD COLUMN package_detail_show_member_email BOOLEAN DEFAULT '1';
\ No newline at end of file
index 8296a83..f017962 100644 (file)
 {include file='admin/management/header.html'}
     
+
     <form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
         <input type="hidden" name="glm_action" value="packaging">
         <input type="hidden" name="option" value="submit">
         
-        <table class="glm-admin-table">
-        
-            <!-- General Packaging Settings -->
+        <h2 class="nav-tab-wrapper" style="margin-bottom: 1em;">
+            <a id="glm-settings-general" data-show-table="glm-table-packaging-general" class="glm-settings-tab nav-tab nav-tab-active">Packaging General</a>
+            <a id="glm-settings-detail" data-show-table="glm-table-packaging-detail" class="glm-settings-tab nav-tab">Package Detail</a>
+            {if $settingsUpdated}<span class="glm-notice glm-flash-updated glm-right">Settings Updated</span>{/if}
+            {if $settingsUpdateError}<span class="glm-error glm-flash-updated glm-right">Settings Update Error</span>{/if}
+        </h2>
         
+        <!-- General Packaging Settings -->
+        <table id="glm-table-packaging-general" class="glm-admin-table glm-settings-table">
             <tr>
-                <td colspan="2">
-                    {if $settingsUpdated}<h2 class="glm-notice glm-flash-updated glm-right">Settings Updated</h2>{/if}
-                    {if $settingsUpdateError}<span class="glm-error glm-flash-updated glm-right">Settings Update Error</span>{/if}
-                    <h2>General Packaging Settings</h2>
-                </td>
-            </tr>
+              <th {if $packagingSettings.fieldRequired.canonical_package_page}class="glm-required"{/if}>Package Detail Page Permalink Name:</th>
+              <td {if $packagingSettings.fieldFail.canonical_package_page}class="glm-form-bad-input glm-form-bad-input-misc"{/if}>
+                  <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>
+        </table>
+        
+        <!-- Package Detail Settings -->
+        <table id="glm-table-packaging-detail" class="glm-admin-table glm-settings-table glm-hidden">
             <tr>
-                <th {if $packagingSettings.fieldRequired.canonical_package_page}class="glm-required"{/if}>Package Detail Page Permalink Name:</th>
-                <td {if $packagingSettings.fieldFail.canonical_package_page}class="glm-form-bad-input glm-form-bad-input-misc"{/if}>
-                    <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>
+                <td>
+                    <table class="glm-admin-table">
+                        <tr><td colspan="2"><h2>Package Detail Display Options</h2></td></tr>
+                        <tr><th>Show Package Image:</th><td><input type="checkbox" name="package_detail_show_image"{if $packagingSettings.fieldData.package_detail_show_image.value} checked="checked"{/if}></td></tr>
+                        <tr><th>Show Member Address:</th><td><input type="checkbox" name="package_detail_show_member_address"{if $packagingSettings.fieldData.package_detail_show_member_address.value} checked="checked"{/if}></td></tr>
+                        <tr>
+                            <th>Address Options:</th>
+                            <td>  
+                                <table class="glm-admin-table">
+                                    <tr><th>Show Member Street:</th><td><input type="checkbox" name="package_detail_show_member_street"{if $packagingSettings.fieldData.package_detail_show_member_street.value} checked="checked"{/if}></td></tr>
+                                    <tr><th>Show Member City, State and Zip</th><td><input type="checkbox" name="package_detail_show_member_citystatezip"{if $packagingSettings.fieldData.package_detail_show_member_citystatezip.value} checked="checked"{/if}></td></tr>                      
+                                    <tr><th>Show Member Country:</th><td><input type="checkbox" name="package_detail_show_member_country"{if $packagingSettings.fieldData.package_detail_show_member_country.value} checked="checked"{/if}></td></tr>                      
+                                    <tr><th>Show Member Region</th><td><input type="checkbox" name="package_detail_show_member_region"{if $packagingSettings.fieldData.package_detail_show_member_region.value} checked="checked"{/if}></td></tr>                                         
+                                </table>
+                            </td>
+                        </tr> 
+                        <tr><th>Show Member Phone Number:</th><td><input type="checkbox" name="package_detail_show_member_phone"{if $packagingSettings.fieldData.package_detail_show_member_phone.value} checked="checked"{/if}></td></tr>
+                        <tr><th>Show Member Toll Free Number:</th><td><input type="checkbox" name="package_detail_show_member_tollfree"{if $packagingSettings.fieldData.package_detail_show_member_tollfree.value} checked="checked"{/if}></td></tr>
+                        <tr>
+                            <th>Show Member Link:</th>
+                            <td>
+                                <input type="checkbox" name="package_detail_show_member_link"{if $packagingSettings.fieldData.package_detail_show_member_link.value} checked="checked"{/if}>
+                                Display URL as a link: <input type="checkbox" name="package_detail_show_member_link_newtarget"{if $packagingSettings.fieldData.package_detail_show_member_link_newtarget.value} checked="checked"{/if}>
+                            </td>
+                        </tr>
+                        <tr>
+                            <th>Show Offsite Packages Link</th>
+                            <td>
+                                <input type="checkbox" name="package_detail_show_offsite_url"{if $packagingSettings.fieldData.package_detail_show_offsite_url.value} checked="checked"{/if}>
+                                Display URL as a link: <input type="checkbox" name="package_detail_show_offsite_url_newtarget"{if $packagingSettings.fieldData.package_detail_show_offsite_url_newtarget.value} checked="checked"{/if}>
+                            </td>
+                        </tr>
+                        <tr><th>Show Member E-mail:</th><td><input type="checkbox" name="package_detail_show_member_email"{if $packagingSettings.fieldData.package_detail_show_member_email.value} checked="checked"{/if}></td></tr>
+                    </table>
+                </td>   
             </tr>
         </table>
-        <input type="submit" value="Update Settings" class="button-primary">
+        <input id="updateSettings" type="submit" value="Update Settings" class="">
     </form>
     
     <script type="text/javascript">
         
         jQuery(document).ready(function($) {
+            
+            /*
+             * Edit area tabs
+             */
+            $('.glm-settings-tab').click( function() {
 
+                // Clear tabl highlights and hide all tables
+                $('.glm-settings-tab').removeClass('nav-tab-active');
+                $('.glm-settings-table').addClass('glm-hidden');
+                
+                // Highlight selected tab
+                $(this).addClass('nav-tab-active');
+                
+                // Show selected table
+                var table = $(this).attr('data-show-table');
+                $('#' + table).removeClass('glm-hidden');
+                
+                if (table == 'glm-table-address') {
+                    initMap();
+                }
+                
+            });
+            
             // Flash certain elements for a short time after display      
             $(".glm-flash-updated").fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500).fadeIn(500).fadeOut(500);
                     
+            /*
+             * Check for bad input or input changes
+             */
+             
+            // Check for any field errors and if found change related tab to error color.
+            if ($('.glm-form-bad-input-general').length) {
+                $('#glm-settings-general').addClass('glm-bad-input-area');
+            }
+            
+            // Check for most input changes
+            $('input, textarea, select, checkbox').on( 'change', function() {
+                glmPageUpdateRequired();
+            }); 
+
+            /*
+             * Checks for leaving the page
+             */
+            var glmSubmitRequired = false;
+             
+            // Flag submit button when updates are required.
+            function glmPageUpdateRequired() {
+                $('#updateSettings').addClass('glm-bad-input-area');
+                glmSubmitRequired = true;
+            }
+            // When submit button is clicked, disable the beforeunload message
+            $('#updateSettings').on('click', function() {
+                glmSubmitRequired = false;
+                return true;
+            });
+            
+            // If submit is required and we're leaving the page, alert the user
+            $(window).bind('beforeunload', function() {
+                if (glmSubmitRequired) {
+                    return true;
+                }
+            });
+
         });
     </script>
 
+
 {include file='admin/footer.html'}
index 3df5024..d2ceea1 100644 (file)
                 </tr>
             {if isset($packageInfo.fieldData.package_slug)}                
                 <tr><th>Name for URLs:</th><td>{$packageInfo.fieldData.package_slug}</p></td></tr>
-            {/if}                
+            {/if}         
                 <tr>
                     <th>Active:</th>
                     <td>
                         <input type="checkbox" name="active" {if $packageInfo.fieldData.active.value} checked{/if}>
                     </td>
                 </tr>
+                    
+                <tr>
+                    <th {if $packageInfo.fieldRequired.offsite_url}class="glm-required"{/if}>Offsite Package Page URL:</th>
+                    <td {if $packageInfo.fieldFail.offsite_url}class="glm-form-bad-input"{/if}>
+                        <input type="text" name="offsite_url" value="{$packageInfo.fieldData.offsite_url}" class="glm-form-text-input-short">
+                        {if $packageInfo.fieldFail.offsite_url}<p>{$packageInfo.fieldFail.offsite_url}</p>{/if}
+                    </td>
+                </tr> 
                 <tr>
                     <th {if $packageInfo.fieldRequired.short_descr}class="glm-required"{/if}>Short Description:</th>
                     <td {if $packageInfo.fieldFail.short_descr}class="glm-form-bad-input"{/if}>
index 4b8e188..d4d1818 100644 (file)
@@ -1,8 +1,5 @@
 {include file='front/packaging/header.html'}
 
-<script>
-    document.write('<a class="button glm-member-button" href="' + document.referrer + '">Take me back</a>');
-</script>
 <!-- 
     NOTE: Image sizes for member db are typically large, medium, small, thumb.
     These may be modified or added to by entries in the glm-member-db/config/plugin.ini file
 
 <!-- Package Detail Container -->    
 <div class="glm-member-package-detail-container">
-    
+
 {if $havePackage}
-    <div class="glm-member-package-container small-12 columns">
-    <!-- Container for member information -->
-            <div class="row">
-                <div id="glm-member-detail-info" class="small-12 medium-6 columns">
-        <!-- Member name, address, and basic information -->                    
-                    <h4 class="glm-member-title">
-                    <a href="{$siteBaseUrl}{$settings.canonical_member_page}/{$package.member.member_slug}/">{$package.member.member_name}</a>
-                    </h4>
-                  {if $settings.detail_show_address}
-                      {apply_filters('glm-member-db-front-members-detail-addressTop', '', $package.member.id)}
-                      {if $settings.detail_show_street}
-                      {if $package.member.addr1}<div>{$package.member.addr1}</div>{/if}
-                      {if $package.member.addr2}<div>{$package.member.addr2}</div>{/if}
-                      {/if}
-                      {if $settings.detail_show_citystatezip}
-                      {if $package.member.city}<span>{$package.member.city}</span>{if $package.member.state.name}, {/if}{/if}<span>{if $package.member.state.name}{$package.member.state.name}</span>{/if}{if $package.member.zip} {$package.member.zip}{/if}
-                      {/if} 
-                      {if $package.member.country.name && $settings.detail_show_country}<div>{$package.member.country.name}</div>{/if}
-                      {apply_filters('glm-member-db-front-members-detail-addressBottom', '', $package.member.id)}
-                  {/if}        
+    
+<a id="topAnchor"></a>
+    
+<!--    <h3>{$terms.term_member_cap} Detail</h3>-->
+    <div class="row">
+        <script>//document.write('<a id="glm-member-detail-takeback-mini" class="button glm-member-button" href="' + document.referrer + '"><span>Back to listing</span></a>');</script>
+        <a id="glm-member-detail-takeback-mini" class="glm-member-db-takeback-mini button glm-member-button" href="javascript:history.go(-1)"><span>Back to listing</span></a>
+        <div id="glm-member-detail-container" class="small-12 columns glm-member-container">
+
+            <div id="glm-member-detail-side-box" class="small-12 medium-4 columns">
+                
+                
+                
+                    <div class="glm-member-detail-logo-wrapper">
+                        {if $package.image}
+                            <div class="glm-member-detail-logo-wrapper">
+                                <img class="glm-member-list-image-left" src="{$glmPluginMediaUrl}/images/medium/{$package.image}">
+                            </div>
+                        {else if $package.member.logo}
+                            <img class="glm-member-list-image-left" src="{$glmPluginMediaUrl}/images/{$settings.detail_logo_size}/{$package.logo}">
+                        {/if}
+                    </div>
+                
+                
+                {if $settings.package_detail_show_offsite_url && $package.offsite_url}
+                    <a id="glm-member-detail-website-link" class="small-12 button glm-button" href="{$package.offsite_url}"{if $settings.package_detail_show_offsite_url_newtarget} target="_blank"{/if}>Find More Packages</a>
+                {/if}          
+                <div id="glm-member-detail-contact-info">
+    <!-- Member name, address, and basic information -->  
+                    <div id="glm-package-detail-member-name">
+                        {if $package.member.member && $settings.package_detail_show_member_link}
+                            <a href="{$package.member.member}"{if $settings.package_detail_show_member_link_newtarget} target="_blank"{/if}><h3>{$package.member.member}</h3></a>
+                        {else}
+                            <h3>{$package.member.member}</h3>
+                        {/if}
+                    </div>
+                    {if $settings.package_detail_show_member_address}
+                        <div class="glm-member-detail-address-wrapper">
+                            
+                            <small>Address</small>
+                            {apply_filters('glm-member-db-front-members-detail-addressTop', '', $package.member.id)}
+                            {if $settings.package_detail_show_member_street}
+                            {if $package.member.addr1}<div>{$package.member.addr1}</div>{/if}
+                            {if $package.member.addr2}<div>{$package.member.addr2}</div>{/if}
+                            {/if}
+                            {if $settings.package_detail_show_member_citystatezip}
+                                <div>
+                                    {if $package.member.city}
+                                        <span>{$package.member.city}</span>
+                                        {if $package.member.state.value}, {/if}
+                                    {/if}
+                                    {if $package.member.state.value}
+                                        <span>{$package.member.state.value}</span>
+                                    {/if}
+                                    {if $package.member.zip} 
+                                        {$package.member.zip}
+                                    {/if}
+                                </div>
+                            {/if} 
+                            {if $package.member.country.name && $settings.package_detail_show_member_country}
+                                <div>{$package.member.country.name}</div>
+                            {/if}
+                            {apply_filters('glm-member-db-front-members-detail-addressBottom', '', $package.member.id)}
+                        </div>
+                    {/if}        
                     {apply_filters('glm-member-db-front-members-detail-otherDetailTop', '', $package.member.id)}
-                    {if $package.member.phone && $settings.detail_show_phone}<div>Phone: {$package.member.phone}</div>{/if}
-                    {if $package.member.toll_free && $settings.detail_show_tollfree}<div><b>Toll Free:</b> {$package.member.toll_free}</div>{/if}
-                    {if $package.member.region && $settings.detail_show_region}<div><p><b>Region:</b> {$package.member.region}</div>{/if}
-                    <div></div>
+                    {if $package.member.region && $settings.package_detail_show_member_region}
+                        <div>
+                            <b>Region:</b> {$package.member.region}
+                        </div>
+                    {/if}
+                    <div class="glm-member-detail-phone-wrapper">
+                        {if $package.member.phone && $settings.package_detail_show_member_phone}
+                            <div class="glm-member-detail-contact-phone">
+                                <small>Local </small>
+                                <div>{$package.member.phone}</div>
+                            </div>
+                        {/if}
+                        {if $package.member.toll_free && $settings.package_detail_show_member_tollfree}
+                            <div>
+                                <small>Toll Free </small>
+                                <div>{$package.member.toll_free}</div>
+                            </div>
+                        {/if}
+                    </div>
                     {apply_filters('glm-member-db-front-members-detail-otherDetailBottom', '', $package.member.id)}
-                    <div id="glm-member-detail-social">
-                        <a href="#" target="_blank"><img src="{$baseUrl}/assets/blog.png"></a>
-                        <a href="http://www.blogger.com" target="_blank"><img src="{$baseUrl}/assets/blogger.png"></a>
-                        <a href="http://www.facebook.com" target="_blank"><img src="{$baseUrl}/assets/facebook.png"></a>
-                        <a href="http://www.twitter.com" target="_blank"><img src="{$baseUrl}/assets/twitter.png"></a>
+                    <div id="glm-member-detail-links">
+                        {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)}
                     </div>
+    
                 </div>
-
-                {if $package.member.logo && $settings.detail_show_logo}
-                <div class="glm-member-detail-featured-image-wrapper small-12 medium-6 columns">
-<!--                            <img class="glm-member-list-image-left" src="http://placehold.it/500x300">-->
-                        <img CLASS="glm-member-list-image-left" src="{$glmPluginMediaUrl}/images/{$settings.detail_logo_size}/{$package.member.logo}">
-                </div>
-                {/if}
+                
             </div>
-                    <!-- Container for package information -->
-        <div class="glm-member-db-package">
+                        <!-- Container for package information -->
+        <div class="glm-member-db-package small-12 medium-8 columns">
             <div class="glm-member-db-package-info">
-
-              {if $package.image}
-               <div class="glm-package-img-wrap">
-                <img src="{$glmPluginMediaUrl}/images/medium/{$package.image}">
-               </div>
-              {/if}
-                <h3 class="glm-member-db-package-title"><a href="{$thisUrl}?glm_action=detail&packageID={$package.id}">{$package.title}</a></h3>
+                <h3 class="glm-member-db-package-title">{$package.title}</h3>
               {if $package.descr}
                 {$package.descr}
               {else if $package.short_descr}
                 </div>
             </div>
         </div>
+        </div>
     </div>
-        
 {else}
     (Sorry, no information available on the selected package.)
 {/if}
index c285890..8d9bb2f 100644 (file)
@@ -1,4 +1,4 @@
-{if $havePackages}
+{if $havePackages && $settings.list_show_packages}
 <!--<h2>Packages</h2>-->
 <div class="glm-member-package-container">
     {foreach $packages as $p}