Symlinked plugin not rendering view contents in backend (v3)

Hi

I’m developing using October V3 on a Windows machine using Laragon and am struggling to make one of my old plugins work.

I’ve installed my plugin using the composer’s “path” repository method, which symlinks the plugin from a different location on my hard disk to my project’s “plugins” folder.

Generally this seems to work fine, but upon trying to output a list controller view in the backend, the controller’s index.htm file is not being read. I also tried changing it to index.php but still nothing.

I think I’ve tracked the problem down to this …

In \System\Traits\ViewMaker::makeFileContents() ....

        if (!strlen($filePath) || !File::isFile($filePath) || !System::checkBaseDir($filePath)) {
            return '';
        }

The System::checkBaseDir bit is failing because the $filePath is set to the actual location of my plugin which is not in the same directory as my October CMS installation.

Is this something that can be fixed or worked around?

Thanks.

Hi and welcome @angelcoding,

Take a look at the config/system.php file where you can use this feature. The base directory restriction is enabled by default for security reasons. Disable the base directory restriction by setting the value to false.

RESTRICT_BASE_DIR=false

Be careful not to disable this restriction in production.