• Adrian Rossouw's avatar
    Practically completely rewrote the provision_check_path function. · 76e90b74
    Adrian Rossouw authored
    It is now called provision_path, and instead of the nasty switch statement it has a small set of pluggable  functions, which work similarly to theme() etc. For that reason I also ended up changing the order of the parameters to be provision_path('mkdir', 'somepath').
    The functionality grew to over 200 lines of code (mostly comments), so i split it off into it's own file.
    I also added checks that the user is in the correct group, and it will specify it to the user if it comes to it, but I should really hook it up into the user interface and write some better documentation about it before i can close #245664. Although it seems chgrp now fails silently for me, even from the command line. Please check it out.
    I moved _provision_drupal_recursive_delete to provision.inc and removed the drupal from the module prefix. I also made it use the provision_path module for logging purposes, cleaning it up a bit.
    #262008 is now completely fixed. I've re-added the permission checking in provision_drupal.module, since it now works. It was missing a clearstatcache(), so i added these pretty liberally.
    Part of the fallout from this, is that each of the provision_path_ functions have an optional third parameter, which is a reference. This reference can be used to provide a reason for the operation failing. Also, mostly due to the chown function, i run the messages through t() before they get sent to logs. Meaning developers can just use @path and @confirm in their error messages, and they get the centrally prettied up variables. It's made the verify code a lot easier on the eyes. just check out provision_verify.
    Added redirection to a new site maintenance page, for while the site is being restored.
    Added a switch paths function, which flips around site directories. I'm building restore to be non-destructive, until after the site has been completely restored and verfied. #237555
    I'm making a move to using more defines for various site infrastructure things. I just tackled the paths, will do the current user and current group stuff soon, bringing it back in line with hosting. It cleared up a fair amount of code just doing the paths.
provision.inc 16.5 KB