Fix for isParentWritable() processing
This commit is contained in:
parent
40b9910d8d
commit
28fdd0fcab
@ -63,10 +63,10 @@ class CatalogDelete implements ShouldQueue
|
|||||||
$this->o->people()->detach();
|
$this->o->people()->detach();
|
||||||
|
|
||||||
// Make sure our parent is writable
|
// Make sure our parent is writable
|
||||||
if (! $this->o->isParentWritable(dirname($this->o->file_name(FALSE)))) {
|
if (! $this->o->isParentWritable(dirname($this->o->file_name_rel(TRUE)))) {
|
||||||
Log::warning(sprintf('%s: NOT Deleting [%s] parent directory not writable',__METHOD__,$this->o->file_name(FALSE)));
|
Log::warning(sprintf('%s: NOT Deleting [%s] parent directory not writable',__METHOD__,$this->o->file_name(FALSE)));
|
||||||
|
|
||||||
exit;
|
$this->fail();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Perform delete
|
// Perform delete
|
||||||
|
@ -47,7 +47,7 @@ abstract class Catalog extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the prefix for the file path - dependant on the object
|
* Return the prefix for the file path - dependent on the object
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@ -267,8 +267,11 @@ abstract class Catalog extends Model
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the filename.
|
* Return the filename.
|
||||||
* If short is TRUE, it is the filename that it should be called (and can be compared to $this->filename)
|
*
|
||||||
* If short is FALSE, it is the true path of the actual file
|
* If $short is TRUE, it is the RELATIVE filename that it should be called (and can be compared to $this->filename,
|
||||||
|
* to see if it is in the wrong place). This path (like filename) is without the DIR prefix, and DIR location.
|
||||||
|
* If $short is FALSE, it is the FULL path of the actual file (where $this->filename is the RELATIVE path,
|
||||||
|
* without the DIR prefix, and DIR location)
|
||||||
*
|
*
|
||||||
* @param bool $short
|
* @param bool $short
|
||||||
* @return string
|
* @return string
|
||||||
@ -293,6 +296,15 @@ abstract class Catalog extends Model
|
|||||||
->path($this->file_name_rel());
|
->path($this->file_name_rel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the path relative to our HTML root
|
||||||
|
*
|
||||||
|
* When $source is TRUE, this is the current filename with the DIR prefix added, without the DIR location,
|
||||||
|
* When $source is FALSE, this is the NEW filename, with the DIR prefix added, without the DIR location.
|
||||||
|
*
|
||||||
|
* @param bool $source
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
public function file_name_rel(bool $source=TRUE): string
|
public function file_name_rel(bool $source=TRUE): string
|
||||||
{
|
{
|
||||||
return config(static::config.'.dir').DIRECTORY_SEPARATOR.($source ? $this->filename : $this->file_name());
|
return config(static::config.'.dir').DIRECTORY_SEPARATOR.($source ? $this->filename : $this->file_name());
|
||||||
@ -396,13 +408,13 @@ abstract class Catalog extends Model
|
|||||||
|
|
||||||
// Test if the dir is writable (so we can remove the file)
|
// Test if the dir is writable (so we can remove the file)
|
||||||
$this->move_reason = 'Source parent dir not writable';
|
$this->move_reason = 'Source parent dir not writable';
|
||||||
if (! $this->isParentWritable(dirname($this->file_name(FALSE))))
|
if (! $this->isParentWritable(dirname($this->file_name_rel(TRUE))))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
// Test if the target dir is writable
|
// Test if the target dir is writable
|
||||||
// @todo The target dir may not exist yet, so we should check that a parent exists and is writable.
|
// @todo The target dir may not exist yet, so we should check that a parent exists and is writable.
|
||||||
$this->move_reason = 'Target parent dir doesnt is not writable';
|
$this->move_reason = 'Target parent dir doesnt is not writable';
|
||||||
if (! $this->isParentWritable(dirname($this->file_name(TRUE))))
|
if (! $this->isParentWritable(dirname($this->file_name_rel(FALSE))))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
// Otherwise we can move it
|
// Otherwise we can move it
|
||||||
@ -416,7 +428,9 @@ abstract class Catalog extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if the parent dir is writable
|
* Determine if the parent dir is writable.
|
||||||
|
*
|
||||||
|
* $dir should be a relative path, with our DIR prefix (from dirname($this->file_name_rel()))
|
||||||
*
|
*
|
||||||
* @param string $dir
|
* @param string $dir
|
||||||
* @return bool
|
* @return bool
|
||||||
@ -428,7 +442,7 @@ abstract class Catalog extends Model
|
|||||||
if (Storage::disk(self::fs)->exists($dir) && is_dir($path) && is_writable($path))
|
if (Storage::disk(self::fs)->exists($dir) && is_dir($path) && is_writable($path))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
elseif ($path === dirname($path))
|
elseif ($dir === '.')
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'dir'=>'Photos',
|
'dir'=>'Photos', // Directory PREFIX
|
||||||
'import'=>[
|
'import'=>[
|
||||||
'accepted'=>['jpg','jpeg','heic'],
|
'accepted'=>['jpg','jpeg','heic'],
|
||||||
],
|
],
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'dir'=>'HomeMovies',
|
'dir'=>'HomeMovies', // Directory PREFIX
|
||||||
'import'=>[
|
'import'=>[
|
||||||
'accepted'=>['m4v','mov','mp4','avi'],
|
'accepted'=>['m4v','mov','mp4','avi'],
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user