userExists($u)) { $users[] = $u; } } } # Check blogs if (!empty($_REQUEST['blog_id']) && is_array($_REQUEST['blog_id'])) { foreach ($_REQUEST['blog_id'] as $b) { if ($core->blogExists($b)) { $blogs[] = $b; } } } # Update permissions if (!empty($_POST['upd_perm']) && !empty($users) && !empty($blogs)) { $redir = 'permissions.php?upd=1'; try { if (empty($_POST['your_pwd']) || !$core->auth->checkPassword(crypt::hmac(DC_MASTER_KEY,$_POST['your_pwd']))) { throw new Exception(__('Password verification failed')); } foreach ($users as $u) { foreach ($blogs as $b) { $set_perms = array(); if (!empty($_POST['perm'][$b])) { foreach ($_POST['perm'][$b] as $perm_id => $v) { if ($v) { $set_perms[$perm_id] = true; } } } $core->setUserBlogPermissions($u, $b, $set_perms, true); } $redir .= '&user_id[]='.$u; } foreach ($blogs as $b) { $redir .= '&blog_id[]='.$b; } http::redirect($redir); } catch (Exception $e) { $core->error->add($e->getMessage()); } } if (empty($blogs) || empty($users)) { $core->error->add(__('No blog or user given.')); } /* DISPLAY -------------------------------------------------------- */ dcPage::open(__('permissions'), dcPage::jsLoad('js/_permissions.js') ); echo '

'.__('Users').' › '.__('Permissions').'

'; if (!empty($_GET['upd'])) { echo '

'.__('The permissions have been successfully updated.').'

'; } if (!empty($blogs) && !empty($users)) { $perm_form = ''; if (count($users) == 1) { $user_perm = $core->getUserPermissions($users[0]); } foreach ($users as $u) { $user_list[] = ''.$u.''; } echo '

'.sprintf(__('You are about to change permissions on the following blogs for users %s.'), implode(', ',$user_list)); echo '

'; foreach ($blogs as $b) { echo '

'.html::escapeHTML($b).''. form::hidden(array('blog_id[]'),$b).'

'; foreach ($core->auth->getPermissionsTypes() as $perm_id => $perm) { $checked = false; if (count($users) == 1) { $checked = isset($user_perm[$b]['p'][$perm_id]) && $user_perm[$b]['p'][$perm_id]; } echo '

'; } } echo '
'. '

'. '
'. '

'. $core->formNonce(); foreach ($users as $u) { echo form::hidden(array('user_id[]'),$u); } echo form::hidden('upd_perm',1).'

'; } dcPage::close(); ?>