* *
************************************************************************/
function array_pk_sort (&$array, $a_sort, $primary_key = '0', $order = -1, $nums = false) {
- $dummy = $array;
+ $temporaryArray = $array;
while ($primary_key < count($a_sort)) {
- foreach ($dummy[$a_sort[$primary_key]] as $key => $value) {
- foreach ($dummy[$a_sort[$primary_key]] as $key2 => $value2) {
+ foreach ($temporaryArray[$a_sort[$primary_key]] as $key => $value) {
+ foreach ($temporaryArray[$a_sort[$primary_key]] as $key2 => $value2) {
$match = false;
if ($nums === false) {
// Sort byte-by-byte (also numbers will be interpreted as chars! E.g.: "9" > "10")
- if (($key != $key2) && (strcmp(strtolower($dummy[$a_sort[$primary_key]][$key]), strtolower($dummy[$a_sort[$primary_key]][$key2])) == $order)) $match = true;
+ if (($key != $key2) && (strcmp(strtolower($temporaryArray[$a_sort[$primary_key]][$key]), strtolower($temporaryArray[$a_sort[$primary_key]][$key2])) == $order)) $match = true;
} elseif ($key != $key2) {
// Sort numbers (E.g.: 9 < 10)
- if (($dummy[$a_sort[$primary_key]][$key] < $dummy[$a_sort[$primary_key]][$key2]) && ($order == -1)) $match = true;
- if (($dummy[$a_sort[$primary_key]][$key] > $dummy[$a_sort[$primary_key]][$key2]) && ($order == 1)) $match = true;
+ if (($temporaryArray[$a_sort[$primary_key]][$key] < $temporaryArray[$a_sort[$primary_key]][$key2]) && ($order == -1)) $match = true;
+ if (($temporaryArray[$a_sort[$primary_key]][$key] > $temporaryArray[$a_sort[$primary_key]][$key2]) && ($order == 1)) $match = true;
}
if ($match) {
// We have found two different values, so let's sort whole array
- foreach ($dummy as $sort_key => $sort_val) {
- $t = $dummy[$sort_key][$key];
- $dummy[$sort_key][$key] = $dummy[$sort_key][$key2];
- $dummy[$sort_key][$key2] = $t;
+ foreach ($temporaryArray as $sort_key => $sort_val) {
+ $t = $temporaryArray[$sort_key][$key];
+ $temporaryArray[$sort_key][$key] = $temporaryArray[$sort_key][$key2];
+ $temporaryArray[$sort_key][$key2] = $t;
unset($t);
} // END - foreach
} // END - if
} // END - while
// Write back sorted array
- $array = $dummy;
+ $array = $temporaryArray;
}
if (isConfigEntrySet('file_hash')) {
$keys .= getEncryptSeperator() . getFileHash();
} // END - if
- $keys .= getEncryptSeperator() . getDateFromPatchTime();
+ $keys .= getEncryptSeperator() . getDateFromRepository();
if (isConfigEntrySet('master_salt')) {
$keys .= getEncryptSeperator() . getMasterSalt();
} // END - if
}
// Create number from hash
- $rcode = hexdec(substr($saltedHash, 8, 9)) / abs(getRandNo() - $a + sqrt(getConfig('_ADD'))) / pi();
+ $rcode = hexdec(substr($saltedHash, getSaltLength(), 9)) / abs(getRandNo() - $a + sqrt(getConfig('_ADD'))) / pi();
// At least 10 numbers shall be secure enought!
if (isExtensionActive('other')) {
$len = 10;
} // END - if
- // Cut off requested counts of number
- $return = substr(str_replace('.', '', $rcode), 0, $len);
+ // Cut off requested counts of number, but skip first digit (which is mostly a zero)
+ $return = substr($rcode, (strpos($rcode, '.') + 1), $len);
// Done building code
return $return;
$server = $_SERVER['PHP_SELF'] . getEncryptSeperator() . detectUserAgent() . getEncryptSeperator() . getenv('SERVER_SOFTWARE') . getEncryptSeperator() . detectRealIpAddress() . getEncryptSeperator() . detectRemoteAddr();
// Build key string
- $keys = getSiteKey() . getEncryptSeperator() . getDateKey() . getEncryptSeperator() . getSecretKey() . getEncryptSeperator() . getFileHash() . getEncryptSeperator() . getDateFromPatchTime() . getEncryptSeperator() . getMasterSalt();
+ $keys = getSiteKey() . getEncryptSeperator() . getDateKey() . getEncryptSeperator() . getSecretKey() . getEncryptSeperator() . getFileHash() . getEncryptSeperator() . getDateFromRepository() . getEncryptSeperator() . getMasterSalt();
// Additional data
$data = $plainText . getEncryptSeperator() . uniqid(mt_rand(), true) . getEncryptSeperator() . time();
}
// Send notification to admin
-function sendAdminNotification ($subject, $templateName, $content = array(), $userid = '0') {
+function sendAdminNotification ($subject, $templateName, $content = array(), $userid = NULL) {
if ((isExtensionInstalledAndNewer('admins', '0.4.1')) && (function_exists('sendAdminsEmails'))) {
// Send new way
/* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=Y,subject=' . $subject . ',templateName=' . $templateName);
// Call the multi-parameter call-back
$ret = call_user_func_array($filterFunction, $args);
+ die('filterFunction='.$filterFunction.',args=<pre>'.print_r($args,true).',ret=<pre>'.print_r($ret,true).'</pre>');
} else {
// One parameter call
$ret = call_user_func($filterFunction, $value);
// Check if refid is set
if (isReferalIdValid()) {
// This is fine...
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GLOBALS (' . getReferalId() . ')');
} elseif (isPostRequestParameterSet('refid')) {
// Get referal id from POST element refid
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from POST data (' . postRequestParameter('refid') . ')');
setReferalId(secureString(postRequestParameter('refid')));
} elseif (isGetRequestParameterSet('refid')) {
// Get referal id from GET parameter refid
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from GET data (' . getRequestParameter('refid') . ')');
setReferalId(secureString(getRequestParameter('refid')));
} elseif (isGetRequestParameterSet('ref')) {
// Set refid=ref (the referal link uses such variable)
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using ref from GET data (' . getRequestParameter('refid') . ')');
setReferalId(secureString(getRequestParameter('ref')));
} elseif ((isGetRequestParameterSet('user')) && (basename($_SERVER['PHP_SELF']) == 'click.php')) {
// The variable user comes from click.php
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using user from GET data (' . getRequestParameter('user') . ')');
setReferalId(bigintval(getRequestParameter('user')));
} elseif ((isSessionVariableSet('refid')) && (isValidUserId(getSession('refid')))) {
- // Set session refid als global
+ // Set session refid as global
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from SESSION data (' . getSession('refid') . ')');
setReferalId(bigintval(getSession('refid')));
} elseif (isRandomReferalIdEnabled()) {
// Select a random user which has confirmed enougth mails
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Checking random referal id');
setReferalId(determineRandomReferalId());
} elseif ((isExtensionInstalledAndNewer('sql_patches', '0.1.2')) && (isValidUserId(getDefRefid()))) {
// Set default refid as refid in URL
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using default refid (' . getDefRefid() . ')');
setReferalId(getDefRefid());
} else {
// No default id when sql_patches is not installed or none set
- setReferalId(null);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using NULL as refid');
+ setReferalId(NULL);
}
// Set cookie when default refid > 0
// If we found it, use the userid as referal id
if ($found === true) {
// Set the userid as 'refid'
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using refid from user account by nickname (' . getUserData('userid') . ')');
setReferalId(getUserData('userid'));
} // END - if
} elseif (isValidUserId(getReferalId())) {
// Direct userid entered
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using direct userid (' . getReferalId() . ')');
$found = fetchUserData(getReferalId());
}
// Is the record valid?
if ((($found === false) || (!isUserDataValid())) && (isExtensionInstalledAndNewer('sql_patches', '0.1.2'))) {
// No, then reset referal id
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Using default refid (' . getDefRefid() . ')');
setReferalId(getDefRefid());
} // END - if
// Set cookie
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferalId() . ') #1');
setSession('refid', getReferalId());
} elseif (!isReferalIdValid()) {
// Not valid!
- setSession('refid', 0);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Not valid referal id (' . getReferalId() . '), setting NULL in session');
+ setSession('refid', NULL);
+ } elseif ((!isSessionVariableSet('refid')) && (isValidUserId(getReferalId()))) {
+ // Set it from GLOBALS array in session
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Saving refid to session (' . getReferalId() . ') #2');
+ setSession('refid', getReferalId());
}
// Return determined refid
// Is the mail type supported?
if (!empty($table)) {
// Query for the mail
- $result = SQL_QUERY_ESC("SELECT `id`, `%s` AS `mail_status` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `id`=%s LIMIT 1",
+ $result = SQL_QUERY_ESC("SELECT `id`,`%s` AS `mail_status` FROM `{?_MYSQL_PREFIX?}_%s` WHERE `id`=%s LIMIT 1",
array(
$statusColumn,
$table,