mirror of
https://github.com/Piwigo/Piwigo.git
synced 2025-04-26 11:19:55 +03: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:
parent
b1c58f59ca
commit
e0f6d5d6a7
3 changed files with 10 additions and 3 deletions
|
@ -208,7 +208,7 @@ SELECT id_uppercat, MAX(rank)+1 AS next_rank
|
||||||
foreach (array_diff($fs_fulldirs, array_keys($db_fulldirs)) as $fulldir)
|
foreach (array_diff($fs_fulldirs, array_keys($db_fulldirs)) as $fulldir)
|
||||||
{
|
{
|
||||||
$dir = basename($fulldir);
|
$dir = basename($fulldir);
|
||||||
if (preg_match('/^[a-zA-Z0-9-_.]+$/', $dir))
|
if (preg_match($conf['sync_chars_regex'], $dir))
|
||||||
{
|
{
|
||||||
$insert = array(
|
$insert = array(
|
||||||
'id' => $next_id++,
|
'id' => $next_id++,
|
||||||
|
@ -374,7 +374,7 @@ SELECT id, path
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$filename = basename($path);
|
$filename = basename($path);
|
||||||
if (!preg_match('/^[a-zA-Z0-9-_.]+$/', $filename))
|
if (!preg_match($conf['sync_chars_regex'], $filename))
|
||||||
{
|
{
|
||||||
array_push(
|
array_push(
|
||||||
$errors,
|
$errors,
|
||||||
|
|
6
i.php
6
i.php
|
@ -194,8 +194,12 @@ function parse_request()
|
||||||
}
|
}
|
||||||
|
|
||||||
$req = ltrim($req, '/');
|
$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;
|
$page['derivative_path'] = PHPWG_ROOT_PATH.PWG_DERIVATIVE_DIR.$req;
|
||||||
|
|
||||||
$pos = strrpos($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
|
// enable the synchronization method for adding photos
|
||||||
$conf['enable_synchronization'] = true;
|
$conf['enable_synchronization'] = true;
|
||||||
|
|
||||||
|
// permitted characters for files/directoris during synchronization
|
||||||
|
$conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.]+$/';
|
||||||
|
|
||||||
// PEM url
|
// PEM url
|
||||||
$conf['alternative_pem_url'] = '';
|
$conf['alternative_pem_url'] = '';
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue