mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-08-06 16:53:34 +02:00
feature 414 (yes, a 6 years old request): ability to define the list of
permitted characters in file/directory names for synchronization. git-svn-id: http://piwigo.org/svn/trunk@13527 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -208,7 +208,7 @@ SELECT id_uppercat, MAX(rank)+1 AS next_rank
|
||||
foreach (array_diff($fs_fulldirs, array_keys($db_fulldirs)) as $fulldir)
|
||||
{
|
||||
$dir = basename($fulldir);
|
||||
if (preg_match('/^[a-zA-Z0-9-_.]+$/', $dir))
|
||||
if (preg_match($conf['sync_chars_regex'], $dir))
|
||||
{
|
||||
$insert = array(
|
||||
'id' => $next_id++,
|
||||
@@ -374,7 +374,7 @@ SELECT id, path
|
||||
continue;
|
||||
}
|
||||
$filename = basename($path);
|
||||
if (!preg_match('/^[a-zA-Z0-9-_.]+$/', $filename))
|
||||
if (!preg_match($conf['sync_chars_regex'], $filename))
|
||||
{
|
||||
array_push(
|
||||
$errors,
|
||||
|
||||
@@ -194,8 +194,12 @@ function parse_request()
|
||||
}
|
||||
|
||||
$req = ltrim($req, '/');
|
||||
!preg_match('#[^a-zA-Z0-9/_.-]#', $req) or ierror('Invalid chars in request', 400);
|
||||
|
||||
foreach (preg_split('#/+#', $req) as $token)
|
||||
{
|
||||
preg_match($conf['sync_chars_regex'], $token) or ierror('Invalid chars in request', 400);
|
||||
}
|
||||
|
||||
$page['derivative_path'] = PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$req;
|
||||
|
||||
$pos = strrpos($req, '.');
|
||||
|
||||
@@ -746,6 +746,9 @@ $conf['ploader_download_linux'] = 'http://piwigo.org/ext/download.php?eid=269';
|
||||
// enable the synchronization method for adding photos
|
||||
$conf['enable_synchronization'] = true;
|
||||
|
||||
// permitted characters for files/directoris during synchronization
|
||||
$conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.]+$/';
|
||||
|
||||
// PEM url
|
||||
$conf['alternative_pem_url'] = '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user