[feladat @ 185]
Added functionality to add a new permission template. It was lacking support for that important feature until now. :)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/add_perm_templ.php Wed Mar 26 09:06:58 2008 +0000
@@ -0,0 +1,69 @@
+<?php
+
+/* PowerAdmin, a friendly web-based admin tool for PowerDNS.
+ * See <https://rejo.zenger.nl/poweradmin> for more details.
+ *
+ * Copyright 2007, 2008 Rejo Zenger <rejo@zenger.nl>
+ *
+ * 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/>.
+ */
+
+require_once("inc/toolkit.inc.php");
+include_once("inc/header.inc.php");
+
+if (!verify_permission(templ_perm_edit)) {
+ error(ERR_PERM_EDIT_PERM_TEMPL);
+} else {
+
+ if (isset($_POST['commit'])) {
+ add_perm_templ($_POST);
+ }
+
+ $perms_avail = get_permissions_by_template_id();
+
+ echo " <h2>" . _('Add permission template') . "</h2>\n";
+ echo " <form method=\"post\">\n";
+ echo " <table>\n";
+ echo " <tr>\n";
+ echo " <th>" . _('Name') . "</th>\n";
+ echo " <td><input class=\"wide\" type=\"text\" name=\"templ_name\" value=\"\"></td>\n";
+ echo " </tr>\n";
+ echo " <tr>\n";
+ echo " <th>" . _('Description') . "</th>\n";
+ echo " <td><input class=\"wide\" type=\"text\" name=\"templ_descr\" value=\"\"></td>\n";
+ echo " </tr>\n";
+ echo " </table>\n";
+ echo " <table>\n";
+ echo " <tr>\n";
+ echo " <th> </th>\n";
+ echo " <th>" . _('Name') . "</th>\n";
+ echo " <th>" . _('Description') . "</th>\n";
+ echo " </tr>\n";
+
+ foreach ($perms_avail as $perm_a) {
+
+ echo " <tr>\n";
+ echo " <td><input type=\"checkbox\" name=\"perm_id[]\" value=\"" . $perm_a['id'] . "\"></td>\n";
+ echo " <td>" . $perm_a['name'] . "</td>\n";
+ echo " <td>" . $perm_a['descr'] . "</td>\n";
+ echo " </tr>\n";
+ }
+ echo " </table>\n";
+ echo " <input type=\"submit\" class=\"button\" name=\"commit\" value=\"" . _('Commit changes') . "\">\n";
+ echo " </form>\n";
+
+}
+
+include_once("inc/footer.inc.php");
+?>
--- a/edit_perm_templ.php Wed Mar 26 08:32:24 2008 +0000
+++ b/edit_perm_templ.php Wed Mar 26 09:06:58 2008 +0000
@@ -85,7 +85,6 @@
echo " </table>\n";
echo " <input type=\"submit\" class=\"button\" name=\"commit\" value=\"" . _('Commit changes') . "\">\n";
echo " </form>\n";
-
}
include_once("inc/footer.inc.php");
--- a/inc/users.inc.php Wed Mar 26 08:32:24 2008 +0000
+++ b/inc/users.inc.php Wed Mar 26 09:06:58 2008 +0000
@@ -568,6 +568,34 @@
}
+// Add a permission template.
+
+function add_perm_templ($details) {
+ global $db;
+
+ // Fix permission template name and description first.
+
+ $query = "INSERT INTO perm_templ
+ VALUES (
+ '', "
+ . $db->quote($details['templ_name']) . ", "
+ . $db->quote($details['templ_descr']) . ")";
+
+ $result = $db->query($query);
+ if (PEAR::isError($response)) { error($response->getMessage()); return false; }
+
+ $perm_templ_id = $db->lastInsertId('perm_templ', 'id');
+
+ foreach ($details['perm_id'] AS $perm_id) {
+ $r_insert_values[] = "(''," . $db->quote($perm_templ_id) . "," . $db->quote($perm_id) . ")";
+ }
+ $query = "INSERT INTO perm_templ_items VALUES " . implode(',', $r_insert_values) ;
+ $result = $db->query($query);
+ if (pear::iserror($response)) { error($response->getmessage()); return false; }
+
+ return true;
+}
+
// Update all details of a permission template.
function update_perm_templ_details($details) {
--- a/list_perm_templ.php Wed Mar 26 08:32:24 2008 +0000
+++ b/list_perm_templ.php Wed Mar 26 09:06:58 2008 +0000
@@ -56,6 +56,7 @@
}
echo " </table>\n";
+ echo " <p>" . _('Add') . " <a href=\"add_perm_templ.php\">" . _('permission template') . "</a>.</p>\n";
}
include_once("inc/footer.inc.php");