* Plugin Name: GLM Members Database Packaging
* Plugin URI: http://www.gaslightmedia.com/
* Description: Gaslight Media Members Database.
- * Version: 1.2.19
+ * Version: 1.2.20
* Author: Gaslight Media
* Author URI: http://www.gaslightmedia.com/
* License: GPL2
* @package glmMembersDatabasePackagingAddOn
* @author Chuck Scott <cscott@gaslightmedia.com>
* @license http://www.gaslightmedia.com Gaslightmedia
- * @version 1.2.19
+ * @version 1.2.20
*/
// Check that we're being called by WordPress.
* 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.2.19');
+define('GLM_MEMBERS_PACKAGING_PLUGIN_VERSION', '1.2.20');
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.
if ( $orderBy != '' ) {
$orderBy .= ',';
}
- $orderBy .= 'position DESC';
+ $orderBy .= 'position ASC';
/*
* Get the list of packages that meet the previous requirements
// Drop the data organized by packages
$packages = false;
+<<<<<<< Updated upstream
// Sort by member name
reset( $members );
uasort(
function($a, $b) {
if ( $a['member'] == $b['member'] ) {
return 0;
+=======
+ // Determine how to sort the package list
+ // The sort order config values compared are the ones from 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);
+>>>>>>> Stashed changes
}
return ( $a['member'] < $b['member'] ) ? -1 : 1;
}
);
+<<<<<<< Updated upstream
+=======
+ // 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;
+
+ }
+
+>>>>>>> Stashed changes
$byMember = true;
}