+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ return $filterData;
+}
+
+/**
+ * Run a filter for pre user registration - generic code (e.g. create hash,
+ * init global array elements). WARNING: This filter MUST run filter before all
+ * others, make your extension/-update depending on ext-register to avoid
+ * missing global array elements, etc.
+ *
+ * @param $filterData Filter data from previous filter
+ * @return $filterData Unchanged filter data
+ */
+function FILTER_PRE_USER_REGISTRATION_GENERIC ($filterData) {
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Called!');
+
+ // Generate hash which will be inserted into confirmation mail
+ $GLOBALS['register_confirm_hash'] = generateHash(sha1(
+ // Get total confirmed, ...
+ getTotalConfirmedUser() . getEncryptSeparator() .
+ // ... unconfirmed ...
+ getTotalUnconfirmedUser() . getEncryptSeparator() .
+ // ... and locked users
+ getTotalLockedUser() . getEncryptSeparator() .
+ postRequestElement('month') . '-' .
+ postRequestElement('day') . '-' .
+ postRequestElement('year') . getEncryptSeparator() .
+ postRequestElement('pass1') . getEncryptSeparator() .
+ detectServerName() . getEncryptSeparator() .
+ detectRemoteAddr() . getEncryptSeparator() .
+ detectUserAgent() . '/' .
+ getSiteKey() . '/' .
+ getDateKey() . '/' .
+ getConfig('CACHE_BUSTER')
+ ));
+
+ // Old way with enterable two-char-code
+ $GLOBALS['register_country_row'] = '`country`';
+ $GLOBALS['register_country_data'] = substr(postRequestElement('cntry'), 0, 2);
+
+ // Init "status" as for many users
+ setPostRequestElement('status', 'UNCONFIRMED');
+
+ // Add ip for later POST pings
+ setPostRequestElement('remote_addr', detectRemoteAddr());
+
+ // Generic initialization is done
+ $filterData['init_done'] = TRUE;
+
+ // Return it
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Done!');
+ //* NOISY-DEBUG: */ print __FUNCTION__.':filterData=<pre>'.print_r($filterData,TRUE).'</pre>';
+ return $filterData;