Assert only if requested so :(
[core.git] / inc / classes / main / class_BaseFrameworkSystem.php
index d142efb106a7f0f90c2dd6bad8c6c091a388fff8..fed352a4cfb4e371a635529a59b74540a52cac05 100644 (file)
@@ -399,7 +399,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                ));
 
                // Return nothing
-               return null;
+               return NULL;
        }
 
        /**
@@ -714,7 +714,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        /**
         * Setter for the real class name
         *
-        * @param               $realClass      Class name (string)
+        * @param       $realClass      Class name (string)
         * @return      void
         */
        public final function setRealClass ($realClass) {
@@ -808,8 +808,8 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        /**
         * 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?
@@ -824,7 +824,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        /**
         * 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;
@@ -833,7 +833,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        /**
         * 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) {
@@ -949,7 +949,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // 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?
@@ -958,7 +958,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        $this->debugOutput($stubMessage);
                } else {
                        // Trigger an error
-                       trigger_error($stubMessage . "<br />\n");
+                       trigger_error($stubMessage . '<br />' + chr(10));
                }
        }
 
@@ -975,9 +975,9 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        printf("Message: %s<br />\n", $message);
                } // END - if
 
-               print("<pre>\n");
+               print('<pre>');
                debug_print_backtrace();
-               print("</pre>");
+               print('</pre>');
                exit();
        }
 
@@ -1072,7 +1072,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // 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'],
@@ -1083,7 +1083,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // 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)
                        );
@@ -1412,8 +1412,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                        // 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);
                }
 
@@ -1671,10 +1673,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
        /**
         * Setter for handler instance
         *
-        * @param       $handlerInstance        A Networkable instance
+        * @param       $handlerInstance        An instance of a Handleable class
         * @return      void
         */
-       protected final function setHandlerInstance (Networkable $handlerInstance) {
+       protected final function setHandlerInstance (Handleable $handlerInstance) {
                $this->handlerInstance = $handlerInstance;
        }
 
@@ -1972,6 +1974,48 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface {
                // 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(($assertMismatch === true)('' . $ret . '' != '' . $num . '') && (!is_null($num)));
+               } // END - if
+
+               // Return result
+               return $ret;
+       }
 }
 
 // [EOF]