} elseif (is_array($args)) {
// Some arguments are there
foreach ($args as $arg) {
- // Add the type
- $argsString .= $this->replaceControlCharacters($arg) . ' (' . gettype($arg);
+ // Add the value itself if not array. This prevents 'array to string conversion' message
+ if (is_array($arg)) {
+ $argsString .= 'Array';
+ } else {
+ $argsString .= $arg;
+ }
+
+ // Add data about the argument
+ $argsString .= ' (' . gettype($arg);
if (is_string($arg)) {
// Add length for strings
));
// Return nothing
- return null;
+ return NULL;
}
/**
/**
* Setter for the real class name
*
- * @param $realClass Class name (string)
+ * @param $realClass Class name (string)
* @return void
*/
public final function setRealClass ($realClass) {
}
/**
- * Checks wether an object equals this object. You should overwrite this
+ * Checks whether an object equals this object. You should overwrite this
* method to implement own equality checks
*
* @param $objectInstance An instance of a FrameworkInterface object
- * @return $equals Wether both objects equals
+ * @return $equals Whether both objects equals
*/
public function equals (FrameworkInterface $objectInstance) {
// Now test it
/**
* Appends a trailing slash to a string
*
- * @param $str A string (maybe) without trailing slash
- * @return $str A string with an auto-appended trailing slash
+ * @param $str A string (maybe) without trailing slash
+ * @return $str A string with an auto-appended trailing slash
*/
public final function addMissingTrailingSlash ($str) {
// Is there a trailing slash?
/**
* Private getter for file IO instance
*
- * @return $fileIoInstance An instance to the file I/O sub-system
+ * @return $fileIoInstance An instance to the file I/O sub-system
*/
protected final function getFileIoInstance () {
return $this->fileIoInstance;
/**
* Setter for file I/O instance
*
- * @param $fileIoInstance An instance to the file I/O sub-system
+ * @param $fileIoInstance An instance to the file I/O sub-system
* @return void
*/
public final function setFileIoInstance (FileIoHandler $fileIoInstance) {
// Is the extra message given?
if (!empty($message)) {
// Then add it as well
- $stubMessage .= sprintf(" Message: <span id=\"stub_message\">%s</span>", $message);
+ $stubMessage .= sprintf(' Message: <span id="stub_message">%s</span>', $message);
} // END - if
// Debug instance is there?
$this->debugOutput($stubMessage);
} else {
// Trigger an error
- trigger_error($stubMessage . "<br />\n");
+ trigger_error($stubMessage . '<br />' + chr(10));
}
}
printf("Message: %s<br />\n", $message);
} // END - if
- print("<pre>\n");
+ print('<pre>');
debug_print_backtrace();
- print("</pre>");
+ print('</pre>');
exit();
}
/**
- * Outputs a debug message wether to debug instance (should be set!) or dies with or pints the message
+ * Outputs a debug message whether to debug instance (should be set!) or dies with or pints the message
*
* @param $message Message we shall send out...
- * @param $doPrint Wether we shall print or die here which first is the default
+ * @param $doPrint Whether we shall print or die here which first is the default
* @return void
*/
public function debugOutput ($message, $doPrint = true) {
// Init the code with error message
if (is_array($errorArray)) {
// Get error infos
- $markedCode = sprintf("<div id=\"error_header\">File: <span id=\"error_data\">%s</span>, Line: <span id=\"error_data\">%s</span>, Message: <span id=\"error_data\">%s</span>, Type: <span id=\"error_data\">%s</span></div>",
+ $markedCode = sprintf('<div id="error_header">File: <span id="error_data">%s</span>, Line: <span id="error_data">%s</span>, Message: <span id="error_data">%s</span>, Type: <span id="error_data">%s</span></div>',
basename($errorArray['file']),
$errorArray['line'],
$errorArray['message'],
// Add line number to the code
foreach (explode(chr(10), $phpCode) as $lineNo => $code) {
// Add line numbers
- $markedCode .= sprintf("<span id=\"code_line\">%s</span>: %s\n",
+ $markedCode .= sprintf('<span id="code_line">%s</span>: %s' + chr(10),
($lineNo + 1),
htmlentities($code, ENT_QUOTES)
);
}
/**
- * Checks wether the given PHP extension is loaded
+ * Checks whether the given PHP extension is loaded
*
* @param $phpExtension The PHP extension we shall check
- * @return $isLoaded Wether the PHP extension is loaded
+ * @return $isLoaded Whether the PHP extension is loaded
*/
public final function isPhpExtensionLoaded ($phpExtension) {
// Is it loaded?
/**
* Idles (sleeps) for given milliseconds
*
- * @return $hasSlept Wether it goes fine
+ * @return $hasSlept Whether it goes fine
*/
public function idle ($milliSeconds) {
// Sleep is fine by default
// New PHP 5.1.0 function found, ignore errors
$hasSlept = @time_sleep_until($sleepUntil);
} else {
- // My Sun Station doesn't have that function even with latest PHP
- // package. :(
+ /*
+ * My Sun station doesn't have that function even with latest PHP
+ * package. :(
+ */
usleep($milliSeconds * 1000);
}
}
/**
- * Checks wether the given encoded data was encoded with Base64
+ * Checks whether the given encoded data was encoded with Base64
*
* @param $encodedData Encoded data we shall check
- * @return $isBase64 Wether the encoded data is Base64
+ * @return $isBase64 Whether the encoded data is Base64
*/
protected function isBase64Encoded ($encodedData) {
// Determine it
// And return it
return $executionTime;
}
+
+ /**
+ * Hashes a given string with a simple but stronger hash function (no salts)
+ *
+ * @param $str The string to be hashed
+ * @return $hash The hash from string $str
+ */
+ public function hashString ($str) {
+ // Hash given string with (better secure) hasher
+ $hash = mhash(MHASH_SHA256, $str);
+
+ // Return it
+ return $hash;
+ }
+
+ /**
+ * Checks whether the given number is really a number (only chars 0-9).
+ *
+ * @param $num A string consisting only chars between 0 and 9
+ * @param $castValue Whether to cast the value to double. Do only use this to secure numbers from Requestable classes.
+ * @param $assertMismatch Whether to assert mismatches
+ * @return $ret The (hopefully) secured numbered value
+ */
+ public function bigintval ($num, $castValue = true, $assertMismatch = false) {
+ // Filter all numbers out
+ $ret = preg_replace('/[^0123456789]/', '', $num);
+
+ // Shall we cast?
+ if ($castValue === true) {
+ // Cast to biggest numeric type
+ $ret = (double) $ret;
+ } // END - if
+
+ // Assert only if requested
+ if ($assertMismatch === true) {
+ // Has the whole value changed?
+ assert(('' . $ret . '' != '' . $num . '') && (!is_null($num)));
+ } // END - if
+
+ // Return result
+ return $ret;
+ }
}
// [EOF]