123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- <?php
-
- /* Poweradmin, a friendly web-based admin tool for PowerDNS.
- * See <http://www.poweradmin.org> for more details.
- *
- * Copyright 2007-2010 Rejo Zenger <rejo@zenger.nl>
- * Copyright 2010-2017 Poweradmin Development Team
- * <http://www.poweradmin.org/credits.html>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
- /**
- * Script that handles user editing requests
- *
- * @package Poweradmin
- * @copyright 2007-2010 Rejo Zenger <rejo@zenger.nl>
- * @copyright 2010-2017 Poweradmin Development Team
- * @license http://opensource.org/licenses/GPL-3.0 GPL
- */
- require_once("inc/toolkit.inc.php");
- include_once("inc/header.inc.php");
-
- $edit_id = "-1";
- if (isset($_GET['id']) && v_num($_GET['id'])) {
- $edit_id = $_GET['id'];
- }
-
- do_hook('verify_permission' , 'user_edit_own' ) ? $perm_edit_own = "1" : $perm_edit_own = "0";
- do_hook('verify_permission' , 'user_edit_others' ) ? $perm_edit_others = "1" : $perm_edit_others = "0";
-
- if ($edit_id == "-1") {
- error(ERR_INV_INPUT);
- } elseif (($edit_id == $_SESSION["userid"] && $perm_edit_own == "1") || ($edit_id != $_SESSION["userid"] && $perm_edit_others == "1" )) {
-
- if (isset($_POST["commit"])) {
-
- $i_username = "-1";
- $i_fullname = "-1";
- $i_email = "-1";
- $i_description = "-1";
- $i_password = "-1";
- $i_perm_templ = "0";
- $i_active = "0";
-
- if (isset($_POST['username'])) {
- $i_username = $_POST['username'];
- }
-
- if (isset($_POST['fullname'])) {
- $i_fullname = $_POST['fullname'];
- }
-
- if (isset($_POST['email'])) {
- $i_email = $_POST['email'];
- }
-
- if (isset($_POST['description'])) {
- $i_description = $_POST['description'];
- }
-
- if (isset($_POST['password'])) {
- $i_password = $_POST['password'];
- }
-
- if (isset($_POST['perm_templ']) && v_num($_POST['perm_templ'])) {
- $i_perm_templ = $_POST['perm_templ'];
- }
-
- if (isset($_POST['active']) && v_num($_POST['active'])) {
- $i_active = $_POST['active'];
- }
-
- if ($i_username == "-1" || $i_fullname == "-1" || $i_email < "1" || $i_description == "-1" || $i_password == "-1") {
- error(ERR_INV_INPUT);
- } else {
- if ($i_username != "" && $i_perm_templ > "0" && $i_fullname) {
- if (!isset($i_active)) {
- $active = 0;
- } else {
- $active = 1;
- }
- if (do_hook('edit_user' , $edit_id, $i_username, $i_fullname, $i_email, $i_perm_templ, $i_description, $active, $i_password )) {
- success(SUC_USER_UPD);
- }
- }
- }
- }
-
- $users = do_hook('get_user_detail_list' , $edit_id );
-
- foreach ($users as $user) {
-
- (($user['active']) == "1") ? $check = " CHECKED" : $check = "";
-
- echo " <h2>" . _('Edit user') . " \"" . $user['fullname'] . "\"</h2>\n";
- echo " <form method=\"post\" action=\"\">\n";
- echo " <input type=\"hidden\" name=\"number\" value=\"" . $edit_id . "\">\n";
- echo " <table>\n";
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Username') . "</td>\n";
- echo " <td class=\"n\"><input type=\"text\" class=\"input\" name=\"username\" value=\"" . $user['username'] . "\"></td>\n";
- echo " </tr>\n";
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Fullname') . "</td>\n";
- echo " <td class=\"n\"><input type=\"text\" class=\"input\" name=\"fullname\" value=\"" . $user['fullname'] . "\"></td>\n";
- echo " </tr>\n";
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Password') . "</td>\n";
- echo " <td class=\"n\"><input type=\"password\" class=\"input\" name=\"password\"></td>\n";
- echo " </tr>\n";
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Email address') . "</td>\n";
- echo " <td class=\"n\"><input type=\"text\" class=\"input\" name=\"email\" value=\"" . $user['email'] . "\"></td>\n";
- echo " </tr>\n";
- if (do_hook('verify_permission' , 'user_edit_templ_perm' )) {
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Permission template') . "</td>\n";
- echo " <td class=\"n\">\n";
- echo " <select name=\"perm_templ\">\n";
- foreach (do_hook('list_permission_templates' ) as $template) {
- ($template['id'] == $user['tpl_id']) ? $select = " SELECTED" : $select = "";
- echo " <option value=\"" . $template['id'] . "\"" . $select . ">" . $template['name'] . "</option>\n";
- }
- echo " </select>\n";
- echo " </td>\n";
- }
- echo " </tr>\n";
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Description') . "</td>\n";
- echo " <td class=\"n\"><textarea rows=\"4\" cols=\"30\" class=\"inputarea\" name=\"description\">" . $user['descr'] . "</textarea></td>\n";
- echo " </tr>\n";
- echo " <tr>\n";
- echo " <td class=\"n\">" . _('Enabled') . "</td>\n";
- echo " <td class=\"n\"><input type=\"checkbox\" class=\"input\" name=\"active\" value=\"1\"" . $check . "></td>\n";
- echo " </tr>\n";
- echo " <tr>\n";
- echo " <td class=\"n\"> </td>\n";
- echo " <td class=\"n\"><input type=\"submit\" class=\"button\" name=\"commit\" value=\"" . _('Commit changes') . "\">\n";
- echo " <input type=\"reset\" class=\"button\" name=\"reset\" value=\"" . _('Reset changes') . "\"></td>\n";
- echo " </table>\n";
- echo " </form>\n";
-
- echo " <p>\n";
- printf(_('This user has been assigned the permission template "%s".'), $user['tpl_name']);
- if ($user['tpl_descr'] != "") {
- echo " " . _('The description for this template is') . ": \"" . $user['tpl_descr'] . "\".";
- }
- echo " " . _('Based on this template, this user has the following permissions') . ":";
- echo " </p>\n";
- echo " <ul>\n";
- foreach (do_hook('get_permissions_by_template_id' , $user['tpl_id'] ) as $item) {
- echo " <li>" . _($item['descr']) . " (" . $item['name'] . ")</li>\n";
- }
- echo " </ul>\n";
- }
- } else {
- error(ERR_PERM_EDIT_USER);
- }
-
- include_once("inc/footer.inc.php");
|