Jump to content

Different role, different path?


Adam Kiss
 Share

Recommended Posts

Hey all,

I am developing some custom Process modules for a website, and in those i'm including_once some files.

Now, I didn't want the editor to have all the unused parts of website (users, modules, etc.) in his user interface, so I created limited role, and added to both the editor and administrator same permission, which was then used with the Process module.

  public static function getModuleInfo() {
    return array(
      'permission' => 'internal-tools'
    );
  }

But what's curious – and I can't think of why it happens – is that it seems, that when the module is loaded, different roles (users) have different path set up as CWD().

For admin, it's: /.../www.domain.com/site/templates/

For editor, it's: /.../www.domain.com/

Now, I can simply not use relative path to include file, but rather a realpath/dirname(__FILE__) combination, but I am not sure whether this is wanted behavior, or some kind of mis-setup I did.

Any thoughts are welcome.

Link to comment
Share on other sites

The root is the execution path, but ProcessWire changes it to /site/templates/ when executing a template file. Not sure exactly what would account for the difference here, but it looks like the different access control is resulting in one of the instances occurring while a template is being executed, and and another while it isn't. From within a module file, you wouldn't want to use relative paths like. You'd definitely want to use an absolute path to your resource. Lets say you wanted to include() a file that's in /site/templates/, you'd do this:

include($this->config->paths->templates . 'your-file.php'); 

Or if you wanted to include a file in the current module's directory, you'd do this:

include($this->config->paths->YourModuleClassName . 'your-file.php'); 
// this also works:
include(dirname(__FILE__) . '/your-file.php'); 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...