'use' => 'a',
),
+
+ // Front-end Listings - Member List Order
+ 'package_list_order' => array(
+ 'field' => 'package_list_order',
+ 'type' => 'list',
+ 'list' => $this->config['sort_order'],
+ 'required' => true,
+ 'default' => $this->config['sort_order_numb']['Alpha-Numeric'],
+ 'force_list' => true,
+ 'use' => 'a'
+ ),
+
// Canonical Page Slug
'canonical_package_page' => array (
'field' => 'canonical_package_page',
; Gaslight Media Members Database Packaging Add-On Plugin
;
-[common]
+[common]
\ No newline at end of file
* version from this plugin.
*/
define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.2.18');
-define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.7');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_DB_VERSION', '1.1.8');
// 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');
// Drop the data organized by packages
$packages = false;
-
-
-
-
- /*
- * Sort members by pseudo-random sequence
- *
- * A management option in packaging will need to be created to select this
- * or "Sort by member name" below.
- *
- * *** THIS IS UNTESTED CODE ***
- *
- * WARNING: shuffle() will create new keys for the array!
- * The $members keys will no longer match the member IDs.
- * This should not be a problem, but be aware of it.
- *
- */
-
- /*
- $cookieName = 'GLM_PACKAGE_SORT_SEED';
- $cookieTime = 86400;
-
- // Get browser cookie if it exists or otherwise generate one
- if (isset($_COOKIE[$cookieName])) {
- $seed = ($_COOKIE[$cookieName]);
- } else {
- $seed = intval(time()*1000000+microtime()*1000000);
- }
-
- // Enforce seed as positive integer
- $seed = abs(intval($seed -0));
-
- // Store or update seed in browser cookie
- setcookie($cookieName, $seed, time() + $cookieTime);
-
- // Use the seed to order the Member list - Note that shuffle() will produce the same results if strand() has the same seed.
- srand($seed);
- shuffle($members);
- */
-
-
-
- // Sort by member name
- reset( $members );
- uasort(
- $members,
- function($a, $b) {
- if ( $a['member'] == $b['member'] ) {
- return 0;
+
+ // Determine how to sort the package list
+ // The sort order config uses the one set up in Member DB plugin.ini
+ switch ($this->config['settings']['package_list_order']) {
+
+ // Pseudo-Random list order
+ case $this->config['sort_order_numb']['Pseudo-Random']:
+
+ /*
+ * Sort members by pseudo-random sequence
+ *
+ * WARNING: shuffle() will create new keys for the array!
+ * The $members keys will no longer match the member IDs.
+ * This should not be a problem, but be aware of it.
+ *
+ */
+ $cookieName = 'GLM_PACKAGE_SORT_SEED';
+ $cookieTime = 86400;
+
+ // Get browser cookie if it exists or otherwise generate one
+ if (isset($_COOKIE[$cookieName])) {
+ $seed = ($_COOKIE[$cookieName]);
+ } else {
+ $seed = intval(time()*1000000+microtime()*1000000);
}
- return ( $a['member'] < $b['member'] ) ? -1 : 1;
- }
- );
+ // Enforce seed as positive integer
+ $seed = abs(intval($seed -0));
+
+ // Store or update seed in browser cookie
+ setcookie($cookieName, $seed, time() + $cookieTime);
+
+ // Use the seed to order the Member list - Note that shuffle() will produce the same results if strand() has the same seed.
+ srand($seed);
+ shuffle($members);
+
+ break;
+
+ // Default is alpha-numeric list order
+ default:
+ case $this->config['sort_order_numb']['Alpha-Numeric']:
+
+ // Sort by member name
+ reset( $members );
+ uasort(
+ $members,
+ function($a, $b) {
+ if ( $a['member'] == $b['member'] ) {
+ return 0;
+ }
+ return ( $a['member'] < $b['member'] ) ? -1 : 1;
+ }
+ );
+
+ break;
+
+ }
+
$byMember = true;
+
}
// Check for alternate template requests
+++ /dev/null
--- 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' )
-;
-
--- /dev/null
+-- Gaslight Media Members Database - Packaging
+-- File Created: 12/02/15 15:27:15
+-- Database Version: 1.1.8
+-- 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_order SMALLINT DEFAULT '10',
+ 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' )
+;
+
'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),
+ '1.1.8' => array('version' => '1.1.8', 'tables' => 3),
);
--- /dev/null
+-- Gaslight Media Members Database
+-- File Created: 3/30/2018
+-- Database Version: 1.1.8
+-- 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
+ALTER TABLE {prefix}management ADD COLUMN package_list_order SMALLINT NULL;
+
+----
+
+UPDATE {prefix}management SET package_list_order = 10;
\ No newline at end of file
<table class="glm-admin-table">
<tr><td colspan="2"><h2>Package List Display Options</h2></td></tr>
<!-- package info -->
+ <tr>
+ <th>Package List Order</th>
+ <td>
+ <select name="package_list_order">
+ {foreach from=$packagingSettings.fieldData.package_list_order.list item=v}
+ <option value="{$v.value}"{if $v.default} selected="selected"{/if}>{$v.name}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
<tr><th>Show Package Image:</th><td><input type="checkbox" name="package_list_show_image"{if $packagingSettings.fieldData.package_list_show_image.value} checked="checked"{/if}></td></tr>
<tr><th>Show Package Short Description:</th><td><input type="checkbox" name="package_list_show_short_descr"{if $packagingSettings.fieldData.package_list_show_short_descr.value} checked="checked"{/if}></td></tr>
<tr><th>Show Package Expire Date:</th><td><input type="checkbox" name="package_list_show_expire_date"{if $packagingSettings.fieldData.package_list_show_expire_date.value} checked="checked"{/if}></td></tr>