From bf7a69f91c26aa5c65367c10b100afe25ecbd700 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Mon, 24 Sep 2018 13:58:15 -0400 Subject: [PATCH] Added "Random" option to getList() in data abstract Cleaned up description for glmCron.php Fixed Undefined index in front-end members list. --- config/plugin.ini | 2 + lib/GlmDataAbstract/DataAbstract.php | 62 ++++++++++++++++++-------- lib/GlmDataAbstract/documentation.odt | Bin 30954 -> 31098 bytes models/admin/ajax/glmCron.php | 15 ++++++- models/admin/members/list.php | 0 models/front/members/list.php | 5 +++ views/front/members/list.html | 16 +------ 7 files changed, 66 insertions(+), 34 deletions(-) mode change 100644 => 100755 config/plugin.ini mode change 100644 => 100755 lib/GlmDataAbstract/DataAbstract.php mode change 100644 => 100755 lib/GlmDataAbstract/documentation.odt mode change 100644 => 100755 models/admin/ajax/glmCron.php mode change 100644 => 100755 models/admin/members/list.php mode change 100644 => 100755 models/front/members/list.php diff --git a/config/plugin.ini b/config/plugin.ini old mode 100644 new mode 100755 index 5c29c624..cbecf5c0 --- a/config/plugin.ini +++ b/config/plugin.ini @@ -44,9 +44,11 @@ image_sizes['grid'] = 'Grid' ; sort_order[10] = 'Alpha-Numeric' sort_order[20] = 'Pseudo-Random' +sort_order[30] = 'Random' sort_order_numb['Alpha-Numeric'] = 10 sort_order_numb['Pseudo-Random'] = 20 +sort_order_numb['Random'] = 30 ; ; Entry Status Types diff --git a/lib/GlmDataAbstract/DataAbstract.php b/lib/GlmDataAbstract/DataAbstract.php old mode 100644 new mode 100755 index 1b126ebe..31fda89c --- a/lib/GlmDataAbstract/DataAbstract.php +++ b/lib/GlmDataAbstract/DataAbstract.php @@ -144,6 +144,12 @@ abstract class GlmDataAbstract * @access private */ public $pseudoRand = false; + /** + * Random Order flag (uses new seed each time) + * + * @access private + */ + public $rand = false; /* @@ -3204,9 +3210,13 @@ $forEdit = true; * * @param string $where Optional WHERE clause for selection of entries. Defaults to all. * @param string $order Optional ORDER BY clause for sorting of results. - * Set to "pseudo-random" for Pseudo-Random sorting that uses a browser cookie + * + * Set to "pseudo-random" for Pseudo-Random sorting that uses a session parameter * to store a custom seed value so all results are in the same randomized order * for some period of time. See genPseudoRandIdArray() and pseudoRandDataSort(). + * + * Set to "random" to do a simple random sort where that order is not repeated. + * * @param boolean $fieldVals Optional flag requesting fields contain array of all possible values. * @param string $idField Optional name of ID field (primary index) to use for result array keys. * @param integer $start Optional start of list index @@ -3221,6 +3231,8 @@ $forEdit = true; public function getList($where = '', $order = '', $fieldVals = true, $idField = 'id', $start = false, $limit = false, $prohibitListOptions = false) { + $seed = false; + // NOTE: $fieldVals not yet implemented // Check if we're asked to block all list field options. Only enable this, the parameter does not permit turning it off @@ -3241,9 +3253,24 @@ $forEdit = true; } - // If doing pseudo-random ordering, generate array of IDs in pseudo-random order + // If random order is requested + $this->rand = false; + if ($order == 'random') { + + // Set rand and pseudoRand flags and clear the order string + // Note that random uses pseudo-random code but overrides the seed each time + $this->rand = true; + $this->pseudoRand = true; + $order = ''; + + // Generate a new seed each time - this causes full random ordering and overrides "pseudo-random" + $seed = intval(time()*1000000+microtime()*1000000); + + } + + // If doing pseudo-random or random ordering, generate array of IDs in pseudo-random order $idString = ''; - if ($this->pseudoRand) { + if ($this->pseudoRand || $this->rand) { $prSql = "SELECT $idField FROM $this->table T @@ -3254,7 +3281,7 @@ $forEdit = true; } $idList = $this->wpdb->get_results($prSql, ARRAY_A); - $prList = $this->genPseudoRandIdArray($idList, $start, $limit); + $prList = $this->genPseudoRandIdArray($idList, $start, $limit, 'id', 'GLM_PR_SEED', $seed); $idString = $prList['idString']; } @@ -3961,9 +3988,9 @@ $forEdit = true; * Generate a list of ID's sorted in pseudo-random order from * a supplied array of record IDs. * - * This function checks for a browser cookie that is used to save + * This function checks for a session parameter ('GLM_PR_SEED') that is used to save * the seed. If that seed exists and has not timed out, it is used. - * Otherwise a new seed is generated and stored into a browser cookie. + * Otherwise a new seed is generated and stored into the session. * * This function is passed an array of all possible record IDs that have been * retrieved by a query against some table. That query should use a specific @@ -3985,9 +4012,8 @@ $forEdit = true; * @param int $length Optional length of page value for paging * (required if there is a $start value) * @param string $idName Optional id field name to override default 'id' - * @param string $cookieName Optional name for seed cookie - * @param int $cookieTime Optional # of seconds for cookie timeout - * @param int $seed Optional seed value to use instead of using value from cookie + * @param string $sessionName Optional name for seed session variable + * @param int $seed Optional seed value to use instead of using value from session * * @return array Array inluding the following... * 'idString' A comma separated string to use for an "in" clause in @@ -3995,10 +4021,10 @@ $forEdit = true; * 'idArray' An array of IDs in the generated pseudo-random order * */ - private function genPseudoRandIdArray ($ids, $start = false, $length = false, $idName = 'id', $cookieName = 'GLM_PR_SEED', $cookieTime = 86400, $seed = false) + private function genPseudoRandIdArray ($ids, $start = false, $length = false, $idName = 'id', $seedSessionName = 'GLM_PR_SEED', $seed = false) { - $transientSeed = false; // Indicates if the function was passed a specific seed. These are not stored back into a browser cookie. + $transientSeed = false; // Indicates if the function was passed a specific seed. These are not stored back into session // Change $ids array to simple array of ids foreach ($ids as $k => $v) { @@ -4013,15 +4039,15 @@ $forEdit = true; // If a seed is supplied if ($seed && is_int($seed)) { - // Set flag so cookie is not updated with this seed. + // Set flag so session is not updated with this seed. $transientSeed = true; - //Otherwise, use a browser cookie seed if available or generate a new one + //Otherwise, use the session seed if available or generate a new one } else { - // Get browser cookie if it exists - if (isset($_COOKIE[$cookieName])) { - $seed = ($_COOKIE[$cookieName]); + // Get see from session if it exists + if (isset($_SESSION[$seedSessionName])) { + $seed = ($_SESSION[$seedSessionName]); } else { // Generate a new seed @@ -4038,9 +4064,9 @@ $forEdit = true; return false; } - // If this is not a transient seed, store or updated it into the browser cookie. + // If this is not a transient seed, store or updated it into the session if (!$transientSeed) { - setcookie($cookieName, $seed, time() + $cookieTime); + $_SESSION[$seedSessionName] = $seed; } // Use the seed to order the ID list - Note that shuffle() will produce the same results if strand() has the same seed. diff --git a/lib/GlmDataAbstract/documentation.odt b/lib/GlmDataAbstract/documentation.odt old mode 100644 new mode 100755 index dabb4fabf83fa0832342b1518918f4c1645e91aa..6c85b79bc2a0c700e4144e6603ecc5bf635eae17 GIT binary patch literal 31098 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 literal 30954 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.$alphaWhere, 'pseudo-random', true, 'id', $start, $limit); break; + // Random list order + case $this->config['sort_order_numb']['Random']: + ${$resultParam} = $this->getList($where.$alphaWhere, 'random', true, 'id', $start, $limit); + break; + // Default is alpha-numeric list order default: case $this->config['sort_order_numb']['Alpha-Numeric']: diff --git a/views/front/members/list.html b/views/front/members/list.html index 8025541f..f73b75d7 100755 --- a/views/front/members/list.html +++ b/views/front/members/list.html @@ -42,18 +42,6 @@ {if $settings.list_show_search_category}

By Category: -