mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-06-05 22:09:38 +02:00
Aggiunti controllo sui permessi all'aggiornamento
This commit is contained in:
@@ -25,6 +25,10 @@
|
|||||||
|
|
||||||
use HTMLBuilder\HTMLBuilder;
|
use HTMLBuilder\HTMLBuilder;
|
||||||
use Models\OperationLog;
|
use Models\OperationLog;
|
||||||
|
use Symfony\Component\Filesystem\Exception\IOException;
|
||||||
|
use Symfony\Component\Filesystem\Filesystem as SymfonyFilesystem;
|
||||||
|
use Symfony\Component\Finder\Finder;
|
||||||
|
use Util\FileSystem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Esegue il redirect.
|
* Esegue il redirect.
|
||||||
@@ -71,12 +75,12 @@ function sanitizeFilename($filename)
|
|||||||
function delete($files)
|
function delete($files)
|
||||||
{
|
{
|
||||||
// Filesystem Symfony
|
// Filesystem Symfony
|
||||||
$fs = new Symfony\Component\Filesystem\Filesystem();
|
$fs = new SymfonyFilesystem();
|
||||||
|
|
||||||
// Eliminazione
|
// Eliminazione
|
||||||
try {
|
try {
|
||||||
$fs->remove($files);
|
$fs->remove($files);
|
||||||
} catch (Symfony\Component\Filesystem\Exception\IOException $e) {
|
} catch (IOException $e) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +114,7 @@ function copyr($source, $destination, $ignores = [])
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$files = Symfony\Component\Finder\Finder::create()
|
$files = Finder::create()
|
||||||
->files()
|
->files()
|
||||||
->exclude((array) $ignores['dirs'])
|
->exclude((array) $ignores['dirs'])
|
||||||
->ignoreDotFiles(false)
|
->ignoreDotFiles(false)
|
||||||
@@ -124,14 +128,17 @@ function copyr($source, $destination, $ignores = [])
|
|||||||
$result = true;
|
$result = true;
|
||||||
|
|
||||||
// Filesystem Symfony
|
// Filesystem Symfony
|
||||||
$fs = new Symfony\Component\Filesystem\Filesystem();
|
$fs = new SymfonyFilesystem();
|
||||||
|
|
||||||
|
$fs->chmod($destination, 0777, 0000, true);
|
||||||
|
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
$filename = rtrim($destination, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file->getRelativePathname();
|
$filename = rtrim($destination, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.$file->getRelativePathname();
|
||||||
|
|
||||||
// Copia
|
// Copia effettiva del file
|
||||||
try {
|
try {
|
||||||
$fs->copy($file, $filename);
|
$fs->copy($file, $filename, true);
|
||||||
} catch (Symfony\Component\Filesystem\Exception\IOException $e) {
|
} catch (IOException $e) {
|
||||||
$result = false;
|
$result = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Symfony\Component\Filesystem\Filesystem as SymfonyFilesystem;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe dedicata alla gestione delle procedure di aggiornamento del database del progetto.
|
* Classe dedicata alla gestione delle procedure di aggiornamento del database del progetto.
|
||||||
*
|
*
|
||||||
@@ -208,6 +210,11 @@ class Update
|
|||||||
\Models\Cache::pool('Ultima versione di OpenSTAManager disponibile')->set(null);
|
\Models\Cache::pool('Ultima versione di OpenSTAManager disponibile')->set(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Correzione permessi per le cartelle backup e files
|
||||||
|
$fs = new SymfonyFilesystem();
|
||||||
|
$fs->chmod('backup', 0777, 0000, true);
|
||||||
|
$fs->chmod('files', 0777, 0000, true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user