1084

Module Assets Not Loading? 500 error. Here's the solution

Comments for “Module Assets Not Loading? 500 error. Here's the solution”
 

Posted by Davcon on Friday 8th April 2022 at 12:15 GMT

I'm doing a bit of work for someone just now and I noticed that the assets in the modules folder were not being served. The client's server is Linux based - using PHP 7.4.

After about half an hour of digging around I discovered that the mime_content_type() function did not exist inside this server's installation of PHP. So, if anyone else ever runs into that issue, here is your solution:

SOLUTION

You're gonna have to open up Core.php (inside the engine folder) and basically write a fallback script that basically tells PHP, "if the mime_content_type() function does not exist then here's what I want you to do...".

Therefore, immediately BEFORE the line of code (on Core.php) that says:

 $content_type = mime_content_type($asset_path);


Paste in the following code:

if(!function_exists('mime_content_type')) {

    function mime_content_type($filename) {

        $mime_types = array(

            'txt' => 'text/plain',
            'htm' => 'text/html',
            'html' => 'text/html',
            'php' => 'text/html',
            'css' => 'text/css',
            'js' => 'application/javascript',
            'json' => 'application/json',
            'xml' => 'application/xml',
            'swf' => 'application/x-shockwave-flash',
            'flv' => 'video/x-flv',

            // images
            'png' => 'image/png',
            'jpe' => 'image/jpeg',
            'jpeg' => 'image/jpeg',
            'jpg' => 'image/jpeg',
            'gif' => 'image/gif',
            'bmp' => 'image/bmp',
            'ico' => 'image/vnd.microsoft.icon',
            'tiff' => 'image/tiff',
            'tif' => 'image/tiff',
            'svg' => 'image/svg+xml',
            'svgz' => 'image/svg+xml',

            // archives
            'zip' => 'application/zip',
            'rar' => 'application/x-rar-compressed',
            'exe' => 'application/x-msdownload',
            'msi' => 'application/x-msdownload',
            'cab' => 'application/vnd.ms-cab-compressed',

            // audio/video
            'mp3' => 'audio/mpeg',
            'qt' => 'video/quicktime',
            'mov' => 'video/quicktime',

            // adobe
            'pdf' => 'application/pdf',
            'psd' => 'image/vnd.adobe.photoshop',
            'ai' => 'application/postscript',
            'eps' => 'application/postscript',
            'ps' => 'application/postscript',

            // ms office
            'doc' => 'application/msword',
            'rtf' => 'application/rtf',
            'xls' => 'application/vnd.ms-excel',
            'ppt' => 'application/vnd.ms-powerpoint',

            // open office
            'odt' => 'application/vnd.oasis.opendocument.text',
            'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
        );

        $ext = strtolower(array_pop(explode('.',$filename)));
        if (array_key_exists($ext, $mime_types)) {
            return $mime_types[$ext];
        }
        elseif (function_exists('finfo_open')) {
            $finfo = finfo_open(FILEINFO_MIME);
            $mimetype = finfo_file($finfo, $filename);
            finfo_close($finfo);
            return $mimetype;
        }
        else {
            return 'application/octet-stream';
        }
    }
}


Please be aware that automatic framework update will replace your engine Engine folder. So, you may have to take note of this and perform this tweak whenever you initiate a framework update.
Founding Member

Davcon

User Level: Founding Member

Date Joined: 3/11/2018

Posted by Davcon on Friday 8th April 2022 at 12:16 GMT

Solved.
Founding Member

Davcon

User Level: Founding Member

Date Joined: 3/11/2018

Posted by Davcon on Friday 8th April 2022 at 12:16 GMT

Yikes. I can't tick it. Could somebody leave a comment so that I can resolve this?
Founding Member

Davcon

User Level: Founding Member

Date Joined: 3/11/2018

Posted by Myhiideas on Friday 8th April 2022 at 20:32 GMT

thanks for the fix

Myhiideas

User Level: Guest

Date Joined: 1/11/2021

×