feature:732

unlock sub-albums

git-svn-id: http://piwigo.org/svn/trunk@29229 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
flop25
2014-08-17 20:01:10 +00:00
parent 3210684472
commit f1f806b8a3
3 changed files with 13 additions and 5 deletions

View File

@@ -136,7 +136,11 @@ if (isset($_POST['submit']))
// retrieve cat infos before continuing (following updates are expensive)
$cat_info = get_cat_info($_GET['cat_id']);
if ($cat_info['visible'] != get_boolean( $_POST['visible'] ) )
if ($_POST['visible']=='true_sub')
{
set_cat_visible(array($_GET['cat_id']), true, true);
}
elseif ($cat_info['visible'] != get_boolean( $_POST['visible'] ) )
{
set_cat_visible(array($_GET['cat_id']), $_POST['visible']);
}

View File

@@ -644,8 +644,9 @@ SELECT id, id_uppercat, uppercats, rank, global_rank
*
* @param int[] $categories
* @param boolean|string $value
* @param boolean $unlock_child optional default false
*/
function set_cat_visible($categories, $value)
function set_cat_visible($categories, $value, $unlock_child = false)
{
if ( ($value = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE)) === null )
{
@@ -656,11 +657,14 @@ function set_cat_visible($categories, $value)
// unlocking a category => all its parent categories become unlocked
if ($value)
{
$uppercats = get_uppercat_ids($categories);
$cats = get_uppercat_ids($categories);
if ($unlock_child) {
$cats = array_merge($cats, get_subcat_ids($categories));
}
$query = '
UPDATE '.CATEGORIES_TABLE.'
SET visible = \'true\'
WHERE id IN ('.implode(',', $uppercats).')';
WHERE id IN ('.implode(',', $cats).')';
pwg_query($query);
}
// locking a category => all its child categories become locked

View File

@@ -117,7 +117,7 @@ categoriesCache.selectize(jQuery('[data-selectize=categories]'), {
<p>
<strong>{'Lock'|@translate}</strong>
<br>
{html_radios name='visible' values=['true','false'] output=['No'|translate,'Yes'|translate] selected=$CAT_VISIBLE}
{html_radios name='visible' values=['true','true_sub','false'] output=['No'|translate,'No and unlock sub-albums'|translate,'Yes'|translate] selected=$CAT_VISIBLE}
</p>
{if isset($CAT_COMMENTABLE)}