mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-07-02 16:02:17 +02:00
- user permissions ask update at each admin page generation. Table
user_forbidden must be updated only if current user is not in administrative section - bug fixed : category.php, error on page title when non category selected - admin/search : bug on variable $PHP_SELF, replaced by $_SERVER['PHP_SELF'] - admin/user_perm : inheritence management. When a category become authorized, all parent categories become authorized, when a category become forbidden, all child category become forbidden - no more recursivity in delete_categories function - new function get_fs_directories for future new method of synchronization - new function get_uppercat_ids replacing several pieces of code doing the same - new function get_fulldirs used for metadata function get_filelist and future new method of synchronization - new function get_fs for future new method of synchronization - typo correction on lang item "about_message" - no link to category privacy status management on user permission anymore (giving the menu item instead) git-svn-id: http://piwigo.org/svn/trunk@657 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -132,26 +132,11 @@ function update_metadata($files)
|
||||
*/
|
||||
function get_filelist($category_id = '', $recursive = false, $only_new = false)
|
||||
{
|
||||
$files = array();
|
||||
|
||||
$query = '
|
||||
SELECT id, dir
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
WHERE dir IS NOT NULL
|
||||
;';
|
||||
$result = pwg_query($query);
|
||||
$cat_dirs = array();
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$cat_dirs[$row['id']] = $row['dir'];
|
||||
}
|
||||
|
||||
// filling $uppercats_array : to each category id the uppercats list is
|
||||
// associated
|
||||
$uppercats_array = array();
|
||||
// filling $cat_ids : all categories required
|
||||
$cat_ids = array();
|
||||
|
||||
$query = '
|
||||
SELECT id, uppercats
|
||||
SELECT id
|
||||
FROM '.CATEGORIES_TABLE.'
|
||||
WHERE site_id = 1
|
||||
AND dir IS NOT NULL';
|
||||
@@ -175,37 +160,20 @@ SELECT id, uppercats
|
||||
$result = pwg_query($query);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$uppercats_array[$row['id']] = $row['uppercats'];
|
||||
array_push($cat_ids, $row['id']);
|
||||
}
|
||||
|
||||
if (count($uppercats_array) == 0)
|
||||
if (count($cat_ids) == 0)
|
||||
{
|
||||
return array();
|
||||
}
|
||||
|
||||
$query = '
|
||||
SELECT galleries_url
|
||||
FROM '.SITES_TABLE.'
|
||||
WHERE id = 1
|
||||
';
|
||||
$row = mysql_fetch_array(pwg_query($query));
|
||||
$basedir = $row['galleries_url'];
|
||||
|
||||
// filling $cat_fulldirs
|
||||
$cat_fulldirs = array();
|
||||
foreach ($uppercats_array as $cat_id => $uppercats)
|
||||
{
|
||||
$uppercats = str_replace(',', '/', $uppercats);
|
||||
$cat_fulldirs[$cat_id] = $basedir.preg_replace('/(\d+)/e',
|
||||
"\$cat_dirs['$1']",
|
||||
$uppercats);
|
||||
}
|
||||
$files = array();
|
||||
|
||||
$query = '
|
||||
SELECT id, file, storage_category_id
|
||||
SELECT id, path
|
||||
FROM '.IMAGES_TABLE.'
|
||||
WHERE storage_category_id IN ('.implode(','
|
||||
,array_keys($uppercats_array)).')';
|
||||
WHERE storage_category_id IN ('.implode(',', $cat_ids).')';
|
||||
if ($only_new)
|
||||
{
|
||||
$query.= '
|
||||
@@ -217,8 +185,7 @@ SELECT id, file, storage_category_id
|
||||
$result = pwg_query($query);
|
||||
while ($row = mysql_fetch_array($result))
|
||||
{
|
||||
$files[$row['id']]
|
||||
= $cat_fulldirs[$row['storage_category_id']].'/'.$row['file'];
|
||||
$files[$row['id']] = $row['path'];
|
||||
}
|
||||
|
||||
return $files;
|
||||
|
||||
Reference in New Issue
Block a user