aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to 'admin')
-rw-r--r--admin/cat_perm.php45
-rw-r--r--admin/user_perm.php46
2 files changed, 4 insertions, 87 deletions
diff --git a/admin/cat_perm.php b/admin/cat_perm.php
index dfcde962a..84a8d5784 100644
--- a/admin/cat_perm.php
+++ b/admin/cat_perm.php
@@ -143,50 +143,9 @@ DELETE
;';
pwg_query($query);
}
-else if (isset($_POST['grant_users_submit'])
- and isset($_POST['grant_users'])
- and count($_POST['grant_users']) > 0)
+else if (isset($_POST['grant_users_submit']))
{
- $query = '
-SELECT id
- FROM '.CATEGORIES_TABLE.'
- WHERE id IN ('.implode(',', get_uppercat_ids(array($page['cat']))).')
- AND status = \'private\'
-;';
- $private_uppercats = array_from_query($query, 'id');
-
- // We must not reinsert already existing lines in user_access table
- $granteds = array();
- foreach ($private_uppercats as $cat_id)
- {
- $granteds[$cat_id] = array();
- }
-
- $query = '
-SELECT user_id, cat_id
- FROM '.USER_ACCESS_TABLE.'
- WHERE cat_id IN ('.implode(',', $private_uppercats).')
- AND user_id IN ('.implode(',', $_POST['grant_users']).')
-;';
- $result = pwg_query($query);
- while ($row = pwg_db_fetch_assoc($result))
- {
- array_push($granteds[$row['cat_id']], $row['user_id']);
- }
-
- $inserts = array();
-
- foreach ($private_uppercats as $cat_id)
- {
- $user_ids = array_diff($_POST['grant_users'], $granteds[$cat_id]);
- foreach ($user_ids as $user_id)
- {
- array_push($inserts, array('user_id' => $user_id,
- 'cat_id' => $cat_id));
- }
- }
-
- mass_inserts(USER_ACCESS_TABLE, array('user_id','cat_id'), $inserts);
+ add_permission_on_category($page['cat'], $_POST['grant_users']);
}
// +-----------------------------------------------------------------------+
diff --git a/admin/user_perm.php b/admin/user_perm.php
index 1625942b8..a73f31875 100644
--- a/admin/user_perm.php
+++ b/admin/user_perm.php
@@ -64,51 +64,9 @@ DELETE FROM '.USER_ACCESS_TABLE.'
;';
pwg_query($query);
}
-else if (isset($_POST['trueify'])
- and isset($_POST['cat_false'])
- and count($_POST['cat_false']) > 0)
+else if (isset($_POST['trueify']))
{
- $uppercats = get_uppercat_ids($_POST['cat_false']);
- $private_uppercats = array();
-
- $query = '
-SELECT id
- FROM '.CATEGORIES_TABLE.'
- WHERE id IN ('.implode(',', $uppercats).')
- AND status = \'private\'
-;';
- $result = pwg_query($query);
- while ($row = pwg_db_fetch_assoc($result))
- {
- array_push($private_uppercats, $row['id']);
- }
-
- // retrying to authorize a category which is already authorized may cause
- // an error (in SQL statement), so we need to know which categories are
- // accesible
- $authorized_ids = array();
-
- $query = '
-SELECT cat_id
- FROM '.USER_ACCESS_TABLE.'
- WHERE user_id = '.$page['user'].'
-;';
- $result = pwg_query($query);
-
- while ($row = pwg_db_fetch_assoc($result))
- {
- array_push($authorized_ids, $row['cat_id']);
- }
-
- $inserts = array();
- $to_autorize_ids = array_diff($private_uppercats, $authorized_ids);
- foreach ($to_autorize_ids as $to_autorize_id)
- {
- array_push($inserts, array('user_id' => $page['user'],
- 'cat_id' => $to_autorize_id));
- }
-
- mass_inserts(USER_ACCESS_TABLE, array('user_id','cat_id'), $inserts);
+ add_permission_on_category($_POST['cat_false'], $page['user']);
}
// +-----------------------------------------------------------------------+