provide os_mkdir to workaround permission issues with php mkdir
This commit is contained in:
@@ -579,7 +579,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
|
||||
logger('attach_mkdir: basepath: ' . $basepath);
|
||||
|
||||
if(! is_dir($basepath))
|
||||
mkdir($basepath,STORAGE_DEFAULT_PERMISSIONS, true);
|
||||
os_mkdir($basepath,STORAGE_DEFAULT_PERMISSIONS, true);
|
||||
|
||||
if(! perm_is_allowed($channel_id, $observer_hash, 'write_storage')) {
|
||||
$ret['message'] = t('Permission denied.');
|
||||
@@ -665,7 +665,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
|
||||
);
|
||||
|
||||
if($r) {
|
||||
if(mkdir($path, STORAGE_DEFAULT_PERMISSIONS, true)) {
|
||||
if(os_mkdir($path, STORAGE_DEFAULT_PERMISSIONS, true)) {
|
||||
$ret['success'] = true;
|
||||
$ret['data'] = $arr;
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ function change_channel($change_channel) {
|
||||
get_app()->set_perms(get_all_perms(local_user(),$hash));
|
||||
}
|
||||
if(! is_dir('store/' . $r[0]['channel_address']))
|
||||
@mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true);
|
||||
@os_mkdir('store/' . $r[0]['channel_address'], STORAGE_DEFAULT_PERMISSIONS,true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -49,8 +49,12 @@ class FriendicaSmartyEngine implements ITemplateEngine {
|
||||
|
||||
public function __construct(){
|
||||
$a = get_app();
|
||||
|
||||
// Cannot use get_config() here because it is called during installation when there is no DB.
|
||||
// FIXME: this may leak private information such as system pathnames.
|
||||
|
||||
$basecompiledir = ((array_key_exists('smarty3_folder',$a->config['system'])) ? $a->config['system']['smarty3_folder'] : '');
|
||||
if (!$basecompiledir) $basecompiledir = dirname(__dir__)."/store/[data]/smarty3";
|
||||
if (!$basecompiledir) $basecompiledir = dirname(__dir__) . "/" . TEMPLATE_BUILD_PATH;
|
||||
if (!is_dir($basecompiledir)) {
|
||||
echo "<b>ERROR:</b> folder <tt>$basecompiledir</tt> does not exist."; killme();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user