Skip to content

Commit

Permalink
feature:2418
Browse files Browse the repository at this point in the history
adding an option to apply permission of users to sub-albums
changing the name of vars $private_uppercats->$private_cats

git-svn-id: http://piwigo.org/svn/trunk@12019 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
flop25 committed Aug 31, 2011
1 parent a867fe1 commit ded83a1
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 11 deletions.
8 changes: 4 additions & 4 deletions admin/cat_perm.php
Expand Up @@ -96,19 +96,19 @@
WHERE id IN ('.$cat_ids.')
AND status = \'private\'
;';
$private_uppercats = array_from_query($query, 'id');
$private_cats = array_from_query($query, 'id');

// We must not reinsert already existing lines in group_access table
$granteds = array();
foreach ($private_uppercats as $cat_id)
foreach ($private_cats as $cat_id)
{
$granteds[$cat_id] = array();
}

$query = '
SELECT group_id, cat_id
FROM '.GROUP_ACCESS_TABLE.'
WHERE cat_id IN ('.implode(',', $private_uppercats).')
WHERE cat_id IN ('.implode(',', $private_cats).')
AND group_id IN ('.implode(',', $_POST['grant_groups']).')
;';
$result = pwg_query($query);
Expand All @@ -119,7 +119,7 @@

$inserts = array();

foreach ($private_uppercats as $cat_id)
foreach ($private_cats as $cat_id)
{
$group_ids = array_diff($_POST['grant_groups'], $granteds[$cat_id]);
foreach ($group_ids as $group_id)
Expand Down
15 changes: 8 additions & 7 deletions admin/include/functions.php
Expand Up @@ -2143,24 +2143,25 @@ function add_permission_on_category($category_ids, $user_ids)
return;
}

// make sure categories are private and select uppercats
// make sure categories are private and select uppercats or subcats
$cat_ids = (isset($_POST['apply_on_sub'])) ? implode(',', get_subcat_ids($category_ids)).",".implode(',', get_uppercat_ids($category_ids)) : implode(',', get_uppercat_ids($category_ids));
$query = '
SELECT
id
FROM '.CATEGORIES_TABLE.'
WHERE id IN ('.implode(',', get_uppercat_ids($category_ids)).')
WHERE id IN ('.$cat_ids.')
AND status = \'private\'
;';
$private_uppercats = array_from_query($query, 'id');
$private_cats = array_from_query($query, 'id');

if (count($private_uppercats) == 0)
if (count($private_cats) == 0)
{
return;
}

// We must not reinsert already existing lines in user_access table
$granteds = array();
foreach ($private_uppercats as $cat_id)
foreach ($private_cats as $cat_id)
{
$granteds[$cat_id] = array();
}
Expand All @@ -2170,7 +2171,7 @@ function add_permission_on_category($category_ids, $user_ids)
user_id,
cat_id
FROM '.USER_ACCESS_TABLE.'
WHERE cat_id IN ('.implode(',', $private_uppercats).')
WHERE cat_id IN ('.implode(',', $private_cats).')
AND user_id IN ('.implode(',', $user_ids).')
;';
$result = pwg_query($query);
Expand All @@ -2181,7 +2182,7 @@ function add_permission_on_category($category_ids, $user_ids)

$inserts = array();

foreach ($private_uppercats as $cat_id)
foreach ($private_cats as $cat_id)
{
$grant_to_users = array_diff($user_ids, $granteds[$cat_id]);

Expand Down
1 change: 1 addition & 0 deletions admin/themes/default/template/cat_perm.tpl
Expand Up @@ -59,6 +59,7 @@
<li><label><input type="checkbox" name="grant_users[]" value="{$id}"> {$all_users[$id]}</label></li>
{/foreach}
</ul>
<label><input type="checkbox" name="apply_on_sub">{'Apply to sub-albums'|@translate}</label>
<input class="submit" type="submit" name="grant_users_submit" value="{'Grant selected users'|@translate}">
</fieldset>

Expand Down

0 comments on commit ded83a1

Please sign in to comment.