$localAbc = array_diff($GLOBALS['_abc'], $exclude);
// $localAbc must have at least 10 entries
- assert(count($localAbc) >= 10, 'localAbc()=' . count($localAbc) . ' is to small.');
+ assert(count($localAbc) >= 10);
// Start creating password
$password = '';
} // END - while
/*
- * When the size is below 40 we can also add additional security by
- * scrambling it. Otherwise the hash may corrupted..
+ * When the length of the password is below 40 characters additional
+ * security can be added by scrambling it. Otherwise the hash may
+ * corrupted.
*/
if (strlen($password) <= 40) {
// Also scramble the password
case '6': $ret = date('Ymd', $timeSecured); break;
case '7': $ret = date('Y-m-d H:i:s', $timeSecured); break; // Compatible with MySQL TIMESTAMP
default:
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Invalid date mode %s detected.', $mode));
break;
} // END - switch
break;
case '6': $ret = date('Ymd', $timeSecured); break;
case '7': $ret = date('Y-m-d H:i:s', $timeSecured); break; // Compatible with MySQL TIMESTAMP
default:
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Invalid date mode %s detected.", $mode));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Invalid date mode %s detected.', $mode));
break;
} // END - switch
} // END - switch
// Default
$GLOBALS[__FUNCTION__][$yn] = '??? (' . $yn . ')';
switch ($yn) {
- case 'Y': $GLOBALS[__FUNCTION__][$yn] = '{--YES--}'; break;
- case 'N': $GLOBALS[__FUNCTION__][$yn] = '{--NO--}'; break;
- default:
- // Log unknown value
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown value %s. Expected: Y/N", $yn));
+ case 'Y': // Yes
+ $GLOBALS[__FUNCTION__][$yn] = '{--YES--}';
+ break;
+
+ case 'N': // No
+ $GLOBALS[__FUNCTION__][$yn] = '{--NO--}';
+ break;
+
+ default: // Log unknown value
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Unknown value %s. Expected: Y/N', $yn));
break;
} // END - switch
} // END - if
// Default
$GLOBALS[__FUNCTION__][$status] = '??? (' . $status . ')';
switch ($status) {
- case 'Y': $GLOBALS[__FUNCTION__][$status] = '{--ACTIVATED--}'; break;
- case 'N': $GLOBALS[__FUNCTION__][$status] = '{--DEACTIVATED--}'; break;
- default:
- // Log unknown value
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown value %s. Expected: Y/N", $status));
+ case 'Y': // Activated
+ $GLOBALS[__FUNCTION__][$status] = '{--ACTIVATED--}';
+ break;
+
+ case 'N': // Deactivated
+ $GLOBALS[__FUNCTION__][$status] = '{--DEACTIVATED--}';
+ break;
+
+ default: // Log unknown value
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Unknown value %s. Expected: Y/N', $status));
break;
} // END - switch
} // END - if
default:
// Please report bugs on unknown genders
- reportBug(__FUNCTION__, __LINE__, sprintf("Unknown gender %s detected.", $gender));
+ reportBug(__FUNCTION__, __LINE__, sprintf('Unknown gender %s detected.', $gender));
break;
} // END - switch
case 'UNCONFIRMED':
case 'CONFIRMED':
case 'LOCKED':
- // Use generic function for all "normal" cases"
+ // Use generic function for all "normal" cases
$ret = translateGeneric('ACCOUNT_STATUS', $status);
break;
break;
default: // Please report all unknown status
- reportBug(__FUNCTION__, __LINE__, sprintf("Unknown status %s(%s) detected.", $status, gettype($status)));
+ reportBug(__FUNCTION__, __LINE__, sprintf('Unknown status %s(%s) detected.', $status, gettype($status)));
break;
} // END - switch
// Generates an URL for the frametester
function generateFrametesterUrl ($url) {
// Prepare frametester URL
- $frametesterUrl = sprintf("{%%url=modules.php?module=frametester&url=%s%%}",
+ $frametesterUrl = sprintf('{%%url=modules.php?module=frametester&url=%s%%}',
encodeString(compileUriCode($url))
);
// Creates a Uni* timestamp from given selection data and prefix
function createEpocheTimeFromSelections ($prefix, $postData) {
+ // Assert on typical array element (maybe all?)
+ assert(isset($postData[$prefix . '_ye']));
+
// Initial return value
$ret = '0';
// Is there a leap year?
$SWITCH = '0';
- $TEST = getYear() / 4;
- $M1 = getMonth();
+ $TEST = getYear() / 4;
+ $M1 = getMonth();
// If so and if current time is before 02/29 and estimated time is after 02/29 then add 86400 seconds (one day)
// 01 2 2 1 1 1 123 4 43 3 32 233 4 43 3 3210
// Return check result
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'email=' . $email . ',isValid=' . intval($GLOBALS[__FUNCTION__][$email]) . ' - EXIT!');
- return $GLOBALS[__FUNCTION__][$email];;
+ return $GLOBALS[__FUNCTION__][$email];
}
// Function taken from user comments on www.php.net / function isInStringIgnoreCase()
$server = $_SERVER['PHP_SELF'] . getEncryptSeparator() . detectUserAgent() . getEncryptSeparator() . getenv('SERVER_SOFTWARE') . getEncryptSeparator() . detectRealIpAddress() . getEncryptSeparator() . detectRemoteAddr();
// Build key string
- $keys = getSiteKey() . getEncryptSeparator() . getDateKey() . getEncryptSeparator() . getSecretKey() . getEncryptSeparator() . getFileHash() . getEncryptSeparator() . getDateFromRepository() . getEncryptSeparator() . getMasterSalt();
+ $keys = getSiteKey() . getEncryptSeparator() . getDateKey() . getEncryptSeparator() . getFileHash() . getEncryptSeparator() . getDateFromRepository() . getEncryptSeparator() . getMasterSalt();
+
+ // Is the secret_key config entry set?
+ if (isConfigEntrySet('secret_key')) {
+ // Add it
+ $keys .= getEncryptSeparator() . getSecretKey();
+ } // END - if
// Additional data
$data = $plainText . getEncryptSeparator() . uniqid(mt_rand(), TRUE) . getEncryptSeparator() . time();
$scrambleNums = explode(':', genScrambleString(strlen($str)));
}
- // Compare both lengths and abort if different
- if (strlen($str) != count($scrambleNums)) {
- return $str;
- } // END - if
+ // Assert on both lengths
+ assert(strlen($str) == count($scrambleNums));
// Scramble string here
//* DEBUG: */ debugOutput('***Original=' . $str.'***<br />');
// So let's create the string for storing it in database
$scrambleString = implode(':', $scrambleNumbers);
+
+ // Return it
return $scrambleString;
}
// Default is hexadecimal of index if both are same
$mod = dechex($idx);
+
// Is part1 larger or part2 than its counter part?
if ($part1 > $part2) {
// part1 is larger
$mod = substr($mod, 0, 2);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'idx=' . $idx . ',part1=' . $part1 . '/part2=' . $part2 . '/mod=' . $mod . '(' . strlen($mod) . ')');
- $mod = padLeftZero($mod);
+ $mod = padLeftZero($mod, 2);
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'mod(' . ($idx * 2) . ')=' . $mod . '*');
$start += 2;
$newHash .= $mod;
if (isExtensionActive('theme')) {
// Call inner method
$ret = getActualTheme();
- } elseif ((isPostRequestElementSet('theme')) && (isIncludeReadable(sprintf("theme/%s/theme.php", postRequestElement('theme'))))) {
+ } elseif ((isPostRequestElementSet('theme')) && (isThemeReadable(postRequestElement('theme')))) {
// Use value from POST data
$ret = postRequestElement('theme');
- } elseif ((isGetRequestElementSet('theme')) && (isIncludeReadable(sprintf("theme/%s/theme.php", getRequestElement('theme'))))) {
+ } elseif ((isGetRequestElementSet('theme')) && (isThemeReadable(getRequestElement('theme')))) {
// Use value from GET data
$ret = getRequestElement('theme');
- } elseif ((isMailerThemeSet()) && (isIncludeReadable(sprintf("theme/%s/theme.php", getMailerTheme())))) {
+ } elseif ((isMailerThemeSet()) && (isThemeReadable(getMailerTheme()))) {
// Use value from GET data
$ret = getMailerTheme();
}
$errorCode = getCode('ACCOUNT_UNKNOWN');
// Generate constant name
- $codeName = sprintf("ACCOUNT_%s", strtoupper($status));
+ $codeName = sprintf('ACCOUNT_%s', strtoupper($status));
// Is the constant there?
if (isCodeSet($codeName)) {
$errorCode = getCode($codeName);
} else {
// Unknown status
- logDebugMessage(__FUNCTION__, __LINE__, sprintf("Unknown error status %s detected.", $status));
+ logDebugMessage(__FUNCTION__, __LINE__, sprintf('Unknown error status %s detected.', $status));
}
// Return error code
} // END - if
// Make sure entries is not bool, then something went wrong
- assert(!is_bool($entries), 'entries[]=bool which is not expected.');
+ assert(!is_bool($entries));
} elseif (!empty($filterFunctions[$search])) {
// Debug mode enabled?
if (isDebugModeEnabled()) {
} // END - if
// Make sure entries is not bool, then something went wrong
- assert(!is_bool($entries), 'entries[]=bool which is not expected.');
+ assert(!is_bool($entries));
}
// Return value
//* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'inc=' . $inc . ' - LOADED!');
loadInclude($inc);
} else {
- // Include not found
- logDebugMessage(__FUNCTION__, __LINE__, 'Include ' . $inc . ' not found. cache=' . $cache);
+ // Include not found, which needs now tracing
+ reportBug(__FUNCTION__, __LINE__, 'Include ' . $inc . ' not found. cache=' . $cache);
}
} // END - if
} // END - if
return $number;
}
+// Converts an empty string to NULL, else leaves it untouched
+function convertEmptyToNull ($str) {
+ // Is the string empty?
+ if (strlen($str) == 0) {
+ // Is really empty
+ $str = NULL;
+ } // END - if
+
+ // Return it
+ return $str;
+}
+
// Converts a NULL|empty string|< 1 to zero
function convertNullToZero ($number) {
// Is it a valid username?
// Delete rows by given id numbers
function memberDeleteEntriesConfirm ($tableName, $columns = array(), $filterFunctions = array(), $extraValues = array(), $deleteNow = array(FALSE), $idColumn = array('id'), $userIdColumn = array('userid'), $rawUserId = array('userid'), $cacheFiles = array(), $content = array()) {
// Do this only for members
- assert(isMember(), 'isMember()=false which is not expected.');
+ assert(isMember());
// $tableName must be an array
if ((!is_array($tableName)) || (count($tableName) != 1)) {
// @TODO cacheFiles is not yet supported
function memberListBuilder ($listType, $tableName, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn, $rawUserId = array('userid'), $content = array()) {
// Do this only for logged in member
- assert(isMember(), 'isMember()=false which is not expected.');
+ assert(isMember());
// Call inner (general) function
doGenericListBuilder('member', $listType, $tableName, $columns, $filterFunctions, $extraValues, $idColumn, $userIdColumn, $rawUserId, $content);
// "Getter" for an array from given one but only one index of it
function getArrayFromArrayIndex ($array, $key) {
// Some simple validation
- assert(isset($array[0][$key]), 'array[0][' . $key . '] is not set.');
+ assert(isset($array[0][$key]));
// Init new array
$newArray = array();
$hex = '';
for ($i = 0; $i < strlen($hash); $i++) {
// Encode char to decimal, pad it with zero, add it
- $hex .= padLeftZero(dechex(ord(substr($hash, $i, 1))));
+ $hex .= padLeftZero(dechex(ord(substr($hash, $i, 1))), 2);
} // END - if
+ // Make sure 'length modulo 2' = 0
+ assert((strlen($hex) % 2) == 0);
+
// Return it
return $hex;
}
return sprintf('%stheme/%s/css/', getPath(), $theme);
}
+// Wrapper to check whether given theme is readable
+function isThemeReadable ($theme) {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__][$theme])) {
+ // Determine it
+ $GLOBALS[__FUNCTION__][$theme] = (isIncludeReadable(sprintf('theme/%s/theme.php', $theme)));
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__][$theme];
+}
+
// [EOF]
?>