Adding new flags and member message to management.
authorSteve Sutton <steve@gaslightmedia.com>
Wed, 21 Feb 2018 17:54:59 +0000 (12:54 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Wed, 21 Feb 2018 17:54:59 +0000 (12:54 -0500)
In management area we now have a flag for overriding the moderation of
packages. If checked all package edits by members are pending and need
to be approved. Also theres a member message text area that if enabled
will output above the member package add edit page.

classes/data/dataManagement.php
index.php
setup/databaseScripts/create_database_V1.1.6.sql [deleted file]
setup/databaseScripts/create_database_V1.1.7.sql [new file with mode: 0644]
setup/databaseScripts/dbVersions.php
setup/databaseScripts/update_database_V1.1.7.sql [new file with mode: 0644]
views/admin/management/packaging.html
views/admin/packaging/index.html

index e7c0c0b..aca0c49 100644 (file)
@@ -115,28 +115,53 @@ class GlmDataPackagingManagement extends GlmDataAbstract
                 'use' => 'a'
             ),
 
+            // All edit moderated
+            'package_all_moderated' => array(
+                'field' => 'package_all_moderated',
+                'type' => 'checkbox',
+                'default' => false,
+                'use' => 'a'
+            ),
+
+
+            // Display Member member
+            'package_display_member_message' => array(
+                'field' => 'package_display_member_message',
+                'type' => 'checkbox',
+                'default' => false,
+                'use' => 'a'
+            ),
+
+            // Member Message
+            'package_member_message' => array(
+                'field'    => 'package_member_message',
+                'type'     => 'text',
+                'required' => false,
+                'use'      => 'a',
+            ),
+
             // Canonical Page Slug
             'canonical_package_page' => array (
-                'field' => 'canonical_package_page',
-                'type' => 'text',
+                'field'    => 'canonical_package_page',
+                'type'     => 'text',
                 'required' => true,
-                'use' => 'a'
+                'use'      => 'a'
             ),
 
             // Member List Link to Packages on Member Detail
             'package_link_text_member_list' => array (
-                'field' => 'package_link_text_member_list',
-                'type' => 'text',
+                'field'    => 'package_link_text_member_list',
+                'type'     => 'text',
                 'required' => false,
-                'use' => 'a'
+                'use'      => 'a'
             ),
 
             // Member Detail Link to Packages on Member Detail
             'package_link_text_member_detail' => array (
-                'field' => 'package_link_text_member_detail',
-                'type' => 'text',
+                'field'    => 'package_link_text_member_detail',
+                'type'     => 'text',
                 'required' => false,
-                'use' => 'a'
+                'use'      => 'a'
             ),
 
             // Notification To Email
@@ -165,283 +190,283 @@ class GlmDataPackagingManagement extends GlmDataAbstract
 
             //
             'package_list_show_member_image' => array(
-                    'field' => 'package_list_show_member_image',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_image',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
 
             //
             'package_list_show_member_link' => array(
-                    'field' => 'package_list_show_member_link',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_link',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_link_newtarget' => array(
-                    'field' => 'package_list_show_member_link_newtarget',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_link_newtarget',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_offsite_url' => array(
-                    'field' => 'package_list_show_offsite_url',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_offsite_url',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_offsite_url_newtarget' => array(
-                    'field' => 'package_list_show_offsite_url_newtarget',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_offsite_url_newtarget',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_image' => array(
-                    'field' => 'package_list_show_image',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_image',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_short_descr' => array(
-                    'field' => 'package_list_show_short_descr',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_short_descr',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_expire_date' => array(
-                    'field' => 'package_list_show_expire_date',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_expire_date',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_pricing' => array(
-                    'field' => 'package_list_show_pricing',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_pricing',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_address' => array(
-                    'field' => 'package_list_show_member_address',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_address',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_short_descr' => array(
-                    'field' => 'package_list_show_member_short_descr',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_short_descr',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_second_address' => array(
-                    'field' => 'package_list_show_member_second_address',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_second_address',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_street' => array(
-                    'field' => 'package_list_show_member_street',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_street',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_citystatezip' => array(
-                    'field' => 'package_list_show_member_citystatezip',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_citystatezip',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_country' => array(
-                    'field' => 'package_list_show_member_country',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_country',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_region' => array(
-                    'field' => 'package_list_show_member_region',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_region',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_phone' => array(
-                    'field' => 'package_list_show_member_phone',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_phone',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_tollfree' => array(
-                    'field' => 'package_list_show_member_tollfree',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_tollfree',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_email' => array(
-                    'field' => 'package_list_show_member_email',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_email',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_website_url' => array(
-                    'field' => 'package_list_show_member_website_url',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_website_url',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_member_website_url_newtarget' => array(
-                    'field' => 'package_list_show_member_website_url_newtarget',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_member_website_url_newtarget',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_list_show_package_detail_link' => array(
-                    'field' => 'package_list_show_package_detail_link',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                'field'   => 'package_list_show_package_detail_link',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             ),
 
             //
             'package_detail_show_member_link' => array(
-                    'field' => 'package_detail_show_member_link',
-                    'type' => 'checkbox',
-                    'default' => true,
-                    'use' => 'a'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                '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'
+                'field'   => 'package_detail_show_member_email',
+                'type'    => 'checkbox',
+                'default' => true,
+                'use'     => 'a'
             )
 
         );
index e79411d..46f746f 100644 (file)
--- a/index.php
+++ b/index.php
@@ -44,7 +44,7 @@ if (!defined('ABSPATH')) {
  *  version from this plugin.
  */
 define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.2.17');
-define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.6');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.7');
 
 // 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.9.15');
diff --git a/setup/databaseScripts/create_database_V1.1.6.sql b/setup/databaseScripts/create_database_V1.1.6.sql
deleted file mode 100644 (file)
index cfa2ff4..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
--- Gaslight Media Members Database - Packaging
--- File Created: 12/02/15 15:27:15
--- Database Version: 1.1.6
--- 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
-  status INT NULL,                          -- Status for this package, see config['status']
-  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_to_email TINYTEXT NULL,                               -- Email address of the recipient
-  package_from_email TINYTEXT NULL,                             -- Email address of the sender
-  package_email_notification TEXT NULL,                         -- Email notification message
-  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_list_show_package_detail_link 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.7.sql b/setup/databaseScripts/create_database_V1.1.7.sql
new file mode 100644 (file)
index 0000000..0ee81ee
--- /dev/null
@@ -0,0 +1,115 @@
+-- Gaslight Media Members Database - Packaging
+-- File Created: 12/02/15 15:27:15
+-- Database Version: 1.1.6
+-- 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
+  status INT NULL,                          -- Status for this package, see config['status']
+  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_to_email TINYTEXT NULL,                               -- Email address of the recipient
+  package_from_email TINYTEXT NULL,                             -- Email address of the sender
+  package_email_notification TEXT NULL,                         -- Email notification message
+  package_display_member_message BOOLEAN DEFAULT '0',           -- Boolean to show member message or not
+  package_member_message TEXT NULL,                             -- Member Message
+  package_all_moderated BOOLEAN DEFAULT '0',                    -- if all packages are moderated or not
+  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_list_show_package_detail_link 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 bf42a27..de15c0e 100644 (file)
@@ -22,5 +22,6 @@ $glmMembersPackagingDbVersions = array(
     '1.1.4' => array('version' => '1.1.4', 'tables' => 3),
     '1.1.5' => array('version' => '1.1.5', 'tables' => 3),
     '1.1.6' => array('version' => '1.1.6', 'tables' => 3),
+    '1.1.7' => array('version' => '1.1.7', 'tables' => 3),
 );
 
diff --git a/setup/databaseScripts/update_database_V1.1.7.sql b/setup/databaseScripts/update_database_V1.1.7.sql
new file mode 100644 (file)
index 0000000..0a03af0
--- /dev/null
@@ -0,0 +1,20 @@
+-- Gaslight Media Members Database
+-- File Created: 2/20/2018
+-- Database Version: 1.1.7
+-- 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
+
+-- Display member message
+ALTER TABLE {prefix}management ADD COLUMN package_display_member_message BOOLEAN DEFAULT '0';
+
+----
+
+-- Member message
+ALTER TABLE {prefix}management ADD COLUMN package_member_message TEXT DEFAULT NULL;
+
+----
+
+-- All member packages moderated
+ALTER TABLE {prefix}management ADD COLUMN package_all_moderated BOOLEAN DEFAULT '0';
index df72fa4..2e264c4 100644 (file)
 
         <!-- General Packaging Settings -->
         <table id="glm-table-packaging-general" class="glm-admin-table glm-settings-table{if $option=='import'} glm-hidden{/if}">
+            <tr> <td> <h1> Moderated </h1> </td> </tr>
+            <tr>
+                <th {if $packagingSettings.fieldRequired.package_all_moderated} class="glm-required"}{/if}>All Edit Moderated</th>
+                <td {if $packagingSettings.fieldFail.package_all_moderated}class="glm-form-bad-input" data-tabid="glm-all-moderated"{/if}>
+                    <input type="checkbox" name="package_all_moderated" {if $packagingSettings.fieldData.package_all_moderated.value} checked{/if}>
+                {if $packagingSettings.fieldFail.package_all_moderated}<p>{$packagingSettings.fieldFail.package_all_moderated}</p>{/if}<br>
+                </td>
+            </tr>
+            <tr> <td> <h1> Package Settings </h1> </td> </tr>
             <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}>
                   {if $packagingSettings.fieldFail.package_link_text_member_detail}<p>{$packagingSettings.fieldFail.package_link_text_member_detail}</p>{/if}
               </td>
             </tr>
+            <tr> <td> <h1> Member Message </h1> </td> </tr>
+            <tr>
+                <th {if $packagingSettings.fieldRequired.package_display_member_message} class="glm-required"}{/if}>Display Member Message</th>
+                <td {if $packagingSettings.fieldFail.package_display_member_message}class="glm-form-bad-input" data-tabid="glm-display-member-message"{/if}>
+                    <input type="checkbox" name="package_display_member_message" {if $packagingSettings.fieldData.package_display_member_message.value} checked{/if}>
+                {if $packagingSettings.fieldFail.package_display_member_message}<p>{$packagingSettings.fieldFail.package_display_member_message}</p>{/if}<br>
+                </td>
+            </tr>
+            <tr>
+                <th {if $packagingSettings.fieldRequired.package_member_message} class="glm-required"}{/if}>Member Message</th>
+                <td {if $packagingSettings.fieldFail.package_member_message}class="glm-form-bad-input" data-tabid="glm-member-message"{/if}>
+                    {php}
+                        wp_editor('{if $packagingSettings} {$packagingSettings.fieldData.package_member_message|escape:quotes} {/if}', 'package_member_message', array(
+                            'media_buttons' => false,
+                            'textarea_name' => 'package_member_message',
+                            'editor_height' => 300,
+                        ));
+                    {/php}
+                </td>
+            </tr>
             <tr> <td> <h1> E-Mail Notification Settings </h1> </td> </tr>
             <tr>
                 <th {if $packagingSettings.fieldRequired.package_from_email}class="glm-required"{/if}> Sender Email Address </th>
index bea5aa7..2cebfa0 100644 (file)
@@ -2,6 +2,7 @@
    When the member is editing member packages.
    It is also being used to display the list of packages for members manager.
 *}
+
 {include file='admin/packaging/header.html'}
 
     {if $packageUpdated}<h2 class="glm-notice glm-flash-updated">Package Updated</h2>{/if}
 
 {if $option == 'edit' || $option == 'add'}
 
-  {if apply_filters('glm_members_permit_admin_members_packaging_edit_package', true)}
+    {if apply_filters('glm_members_permit_admin_members_packaging_edit_package', true)}
 
-      {if $option == 'edit'}
-        {if $lockedToMember}
-            <h2>Edit Package</h2>
+        {if $option == 'edit'}
+            {if $lockedToMember}
+                <h2>Edit Package</h2>
+            {else}
+                <h2>Edit Multi-{$terms.term_member_cap} Package</h2>
+            {/if}
+            <a id="deletePackageButton" class="button button-primary glm-button glm-right">Delete this Package</a>
+
+            <div id="deletePackageDialog" class="glm-dialog-box" title="Delete Package">
+                <center>
+                    <p><a id="deletePackageCancel" class="button button-primary">Cancel</a></p>
+                    <p><input id="deletePackageSubmit" type="submit" value="Delete this package"></p>
+                </center>
+                <div class="glm-item-container">
+                    <p><center><span class="glm-error">WARNING:</span></center></p>
+                    <p>
+                        <span class="glm-warning">Clicking the "Delete this Package" button above will
+                        delete all of the data and images associated with this package.
+                        </span>
+                    </p>
+                    <p>
+                        <span class="glm-error">Once deleted, this information will no longer be available and cannot be retrieved!</span>
+                    </p>
+                </div>
+            </div>
         {else}
-            <h2>Edit Multi-{$terms.term_member_cap} Package</h2>
+            {if $lockedToMember}
+                <h2>Add new Package</h2>
+            {else}
+                <h2>Add new Multi-{$terms.term_member_cap} Package</h2>
+            {/if}
         {/if}
-        <a id="deletePackageButton" class="button button-primary glm-button glm-right">Delete this Package</a>
-
-        <div id="deletePackageDialog" class="glm-dialog-box" title="Delete Package">
-            <center>
-                <p><a id="deletePackageCancel" class="button button-primary">Cancel</a></p>
-                <p><input id="deletePackageSubmit" type="submit" value="Delete this package"></p>
-            </center>
-            <div class="glm-item-container">
-                <p><center><span class="glm-error">WARNING:</span></center></p>
-                <p>
-                    <span class="glm-warning">Clicking the "Delete this Package" button above will
-                    delete all of the data and images associated with this package.
-                    </span>
-                </p>
-                <p>
-                    <span class="glm-error">Once deleted, this information will no longer be available and cannot be retrieved!</span>
-                </p>
-            </div>
-        </div>
-      {else}
-      {if $lockedToMember}
-        <h2>Add new Package</h2>
-      {else}
-        <h2>Add new Multi-{$terms.term_member_cap} Package</h2>
-      {/if}
-      {/if}
         <a href="{$thisUrl}?page=glm-members-admin-menu-packaging-index&glm_action=index&option=list" class="button button-primary glm-button glm-right">Return to Package List</a>
+        {if $settings.package_display_member_message}
+            <br>
+            <div style="padding: 5px; margin: 15px 5px; width: 90%; clear: right; border: 1px solid darkgrey; background-color: lightgrey; color: black;">
+                <p>{$settings.package_member_message|nl2br}</p>
+            </div>
+        {/if}
 
 
         <form action="{$thisUrl}?page={$thisPage}" method="post" enctype="multipart/form-data">
@@ -51,7 +58,7 @@
       {if $lockedToMember}
             <input type="hidden" name="ref_type" value="10">
             <input type="hidden" name="ref_dest" value="{$lockedToMember}">
-            {if apply_filters('glm_user_is_moderated', $lockedToMember)}
+            {if apply_filters('glm_user_is_moderated', $lockedToMember) || $settings.package_all_moderated}
                 <input type="hidden" name="status" value="20">
             {/if}
       {else}
@@ -73,7 +80,7 @@
                         {if $packageInfo.fieldFail.title}<p>{$packageInfo.fieldFail.title}</p>{/if}
                     </td>
                 </tr>
-                {if apply_filters('glm_user_is_moderated', $lockedToMember)}
+                {if apply_filters('glm_user_is_moderated', $lockedToMember) || $settings.package_all_moderated}
                 {else}
                 <tr>
                     <th>Status:</th>