Simple exception handler and error handler added, profile update added with stubs
[shipsimu.git] / inc / classes / main / io / class_FrameworkFileInputPointer.php
index 25c77cb838aeebef89e9b665c76b1472e62fbeb3..fe6b058751494f27d9bb635799f35f98f39926b1 100644 (file)
@@ -76,17 +76,23 @@ class FrameworkFileInputPointer extends BaseFrameworkSystem {
         */
        public final static function createFrameworkFileInputPointer ($fileName) {
                // Some pre-sanity checks...
-               if (is_null($fileName)) {
+               if ((is_null($fileName)) || (empty($fileName))) {
                        // No filename given
                        throw new FileIsEmptyException(null, self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+               } elseif (!file_exists($fileName)) {
+                       // File does not exist!
+                       throw new FileIsMissingException($fileName, self::EXCEPTION_FILE_NOT_FOUND);
+               } elseif (!is_readable($fileName)) {
+                       // File does not exist!
+                       throw new FileReadProtectedException($fileName, self::EXCEPTION_FILE_CANNOT_BE_READ);
                }
 
                // Try to open a handler
                $filePointer = @fopen($fileName, 'rb');
-               if (($filePointer === null) || ($filePointer === false)) {
+               if ((is_null($filePointer)) || ($filePointer === false)) {
                        // Something bad happend
                        throw new FilePointerNotOpenedException ($fileName, self::EXCEPTION_FILE_POINTER_INVALID);
-               }
+               } // END - if
 
                // Create new instance
                $pointerInstance = new FrameworkFileInputPointer();