mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-03-04 15:56:36 +00:00
Default Settings: Added bulk delete, did away with need for default_setting_delete.php.
This commit is contained in:
@@ -41,126 +41,157 @@ else {
|
||||
}
|
||||
|
||||
//get posted values, if any
|
||||
if (sizeof($_POST) > 0) {
|
||||
if (sizeof($_REQUEST) > 0) {
|
||||
|
||||
$target_domain_uuid = check_str($_POST["target_domain_uuid"]);
|
||||
$default_setting_uuids = $_POST["default_setting_uuids"];
|
||||
$action = check_str($_REQUEST["action"]);
|
||||
$default_setting_uuids = $_REQUEST["id"];
|
||||
|
||||
if ($target_domain_uuid != '' && sizeof($default_setting_uuids) > 0) {
|
||||
if ($action == 'copy' && permission_exists('domain_setting_add')) {
|
||||
|
||||
$settings_copied = 0;
|
||||
$target_domain_uuid = check_str($_POST["target_domain_uuid"]);
|
||||
|
||||
foreach ($default_setting_uuids as $default_setting_uuid) {
|
||||
if ($target_domain_uuid != '' && sizeof($default_setting_uuids) > 0) {
|
||||
|
||||
// get default setting from db
|
||||
$sql = "select * from v_default_settings ";
|
||||
$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$default_setting_category = $row["default_setting_category"];
|
||||
$default_setting_subcategory = $row["default_setting_subcategory"];
|
||||
$default_setting_name = $row["default_setting_name"];
|
||||
$default_setting_value = $row["default_setting_value"];
|
||||
$default_setting_order = $row["default_setting_order"];
|
||||
$default_setting_enabled = $row["default_setting_enabled"];
|
||||
$default_setting_description = $row["default_setting_description"];
|
||||
break; //limit to 1 row
|
||||
}
|
||||
unset ($prep_statement);
|
||||
$settings_copied = 0;
|
||||
|
||||
// check if exists
|
||||
$sql = "select domain_setting_uuid from v_domain_settings ";
|
||||
$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
|
||||
$sql .= "and domain_setting_category = '".$default_setting_category."' ";
|
||||
$sql .= "and domain_setting_subcategory = '".$default_setting_subcategory."' ";
|
||||
$sql .= "and domain_setting_name = '".$default_setting_name."' ";
|
||||
$sql .= "and domain_setting_name <> 'array' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
if (sizeof($result) > 0) {
|
||||
foreach ($default_setting_uuids as $default_setting_uuid) {
|
||||
|
||||
// get default setting from db
|
||||
$sql = "select * from v_default_settings ";
|
||||
$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$target_domain_setting_uuid = $row["domain_setting_uuid"];
|
||||
break;
|
||||
$default_setting_category = $row["default_setting_category"];
|
||||
$default_setting_subcategory = $row["default_setting_subcategory"];
|
||||
$default_setting_name = $row["default_setting_name"];
|
||||
$default_setting_value = $row["default_setting_value"];
|
||||
$default_setting_order = $row["default_setting_order"];
|
||||
$default_setting_enabled = $row["default_setting_enabled"];
|
||||
$default_setting_description = $row["default_setting_description"];
|
||||
break; //limit to 1 row
|
||||
}
|
||||
$action = "update";
|
||||
}
|
||||
else {
|
||||
$action = "add";
|
||||
}
|
||||
unset ($prep_statement);
|
||||
unset ($prep_statement);
|
||||
|
||||
// fix null
|
||||
$default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null';
|
||||
|
||||
if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
||||
|
||||
// insert for target domain
|
||||
$sql = "insert into v_domain_settings ";
|
||||
$sql .= "(";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "domain_setting_uuid, ";
|
||||
$sql .= "domain_setting_category, ";
|
||||
$sql .= "domain_setting_subcategory, ";
|
||||
$sql .= "domain_setting_name, ";
|
||||
$sql .= "domain_setting_value, ";
|
||||
$sql .= "domain_setting_order, ";
|
||||
$sql .= "domain_setting_enabled, ";
|
||||
$sql .= "domain_setting_description ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".$target_domain_uuid."', ";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".$default_setting_category."', ";
|
||||
$sql .= "'".$default_setting_subcategory."', ";
|
||||
$sql .= "'".$default_setting_name."', ";
|
||||
$sql .= "'".$default_setting_value."', ";
|
||||
$sql .= " ".$default_setting_order." , ";
|
||||
$sql .= "'".$default_setting_enabled."', ";
|
||||
$sql .= "'".$default_setting_description."' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$settings_copied++;
|
||||
|
||||
} // add
|
||||
|
||||
if ($action == "update" && permission_exists('domain_setting_edit')) {
|
||||
|
||||
$sql = "update v_domain_settings set ";
|
||||
$sql .= "domain_setting_category = '".$default_setting_category."', ";
|
||||
$sql .= "domain_setting_subcategory = '".$default_setting_subcategory."', ";
|
||||
$sql .= "domain_setting_name = '".$default_setting_name."', ";
|
||||
$sql .= "domain_setting_value = '".$default_setting_value."', ";
|
||||
$sql .= "domain_setting_order = ".$default_setting_order.", ";
|
||||
$sql .= "domain_setting_enabled = '".$default_setting_enabled."', ";
|
||||
$sql .= "domain_setting_description = '".$default_setting_description."' ";
|
||||
// check if exists
|
||||
$sql = "select domain_setting_uuid from v_domain_settings ";
|
||||
$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
|
||||
$sql .= "and domain_setting_uuid = '".$target_domain_setting_uuid."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
$sql .= "and domain_setting_category = '".$default_setting_category."' ";
|
||||
$sql .= "and domain_setting_subcategory = '".$default_setting_subcategory."' ";
|
||||
$sql .= "and domain_setting_name = '".$default_setting_name."' ";
|
||||
$sql .= "and domain_setting_name <> 'array' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
if (sizeof($result) > 0) {
|
||||
foreach ($result as &$row) {
|
||||
$target_domain_setting_uuid = $row["domain_setting_uuid"];
|
||||
break;
|
||||
}
|
||||
$action = "update";
|
||||
}
|
||||
else {
|
||||
$action = "add";
|
||||
}
|
||||
unset ($prep_statement);
|
||||
|
||||
// fix null
|
||||
$default_setting_order = ($default_setting_order != '') ? $default_setting_order : 'null';
|
||||
|
||||
if ($action == "add" && permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
||||
|
||||
// insert for target domain
|
||||
$sql = "insert into v_domain_settings ";
|
||||
$sql .= "(";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "domain_setting_uuid, ";
|
||||
$sql .= "domain_setting_category, ";
|
||||
$sql .= "domain_setting_subcategory, ";
|
||||
$sql .= "domain_setting_name, ";
|
||||
$sql .= "domain_setting_value, ";
|
||||
$sql .= "domain_setting_order, ";
|
||||
$sql .= "domain_setting_enabled, ";
|
||||
$sql .= "domain_setting_description ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'".$target_domain_uuid."', ";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'".$default_setting_category."', ";
|
||||
$sql .= "'".$default_setting_subcategory."', ";
|
||||
$sql .= "'".$default_setting_name."', ";
|
||||
$sql .= "'".$default_setting_value."', ";
|
||||
$sql .= " ".$default_setting_order." , ";
|
||||
$sql .= "'".$default_setting_enabled."', ";
|
||||
$sql .= "'".$default_setting_description."' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$settings_copied++;
|
||||
|
||||
} // add
|
||||
|
||||
if ($action == "update" && permission_exists('domain_setting_edit')) {
|
||||
|
||||
$sql = "update v_domain_settings set ";
|
||||
$sql .= "domain_setting_category = '".$default_setting_category."', ";
|
||||
$sql .= "domain_setting_subcategory = '".$default_setting_subcategory."', ";
|
||||
$sql .= "domain_setting_name = '".$default_setting_name."', ";
|
||||
$sql .= "domain_setting_value = '".$default_setting_value."', ";
|
||||
$sql .= "domain_setting_order = ".$default_setting_order.", ";
|
||||
$sql .= "domain_setting_enabled = '".$default_setting_enabled."', ";
|
||||
$sql .= "domain_setting_description = '".$default_setting_description."' ";
|
||||
$sql .= "where domain_uuid = '".$target_domain_uuid."' ";
|
||||
$sql .= "and domain_setting_uuid = '".$target_domain_setting_uuid."' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$settings_copied++;
|
||||
|
||||
} // update
|
||||
|
||||
} // foreach
|
||||
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-copy'].": ".$settings_copied;
|
||||
|
||||
}
|
||||
else {
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-copy_failed'];
|
||||
}
|
||||
|
||||
header("Location: default_settings.php");
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
if ($action == 'delete' && permission_exists('default_setting_delete')) {
|
||||
|
||||
if (sizeof($default_setting_uuids) > 0) {
|
||||
foreach ($default_setting_uuids as $default_setting_uuid) {
|
||||
//delete default_setting(s)
|
||||
$sql = "delete from v_default_settings ";
|
||||
$sql .= "where default_setting_uuid = '".$default_setting_uuid."' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
unset($sql);
|
||||
}
|
||||
|
||||
$settings_copied++;
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-delete'].": ".sizeof($default_setting_uuids);
|
||||
}
|
||||
else {
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-delete_failed'];
|
||||
}
|
||||
|
||||
} // update
|
||||
|
||||
} // foreach
|
||||
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-copy'].": ".$settings_copied;
|
||||
header("Location: default_settings.php");
|
||||
exit;
|
||||
|
||||
}
|
||||
else {
|
||||
// set message
|
||||
$_SESSION["message"] = $text['message-copy_failed'];
|
||||
}
|
||||
|
||||
header("Location: default_settings.php");
|
||||
exit;
|
||||
|
||||
} // post
|
||||
|
||||
@@ -180,6 +211,7 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
echo "<script language='javascript' type='text/javascript'>";
|
||||
echo " var fade_speed = 400;";
|
||||
echo " function show_domains() {";
|
||||
echo " document.getElementById('action').value = 'copy';";
|
||||
echo " $('#button_copy').fadeOut(fade_speed, function() {";
|
||||
echo " $('#button_back').fadeIn(fade_speed);";
|
||||
echo " $('#target_domain_uuid').fadeIn(fade_speed);";
|
||||
@@ -187,6 +219,7 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
echo " });";
|
||||
echo " }";
|
||||
echo " function hide_domains() {";
|
||||
echo " document.getElementById('action').value = '';";
|
||||
echo " $('#button_back').fadeOut(fade_speed);";
|
||||
echo " $('#target_domain_uuid').fadeOut(fade_speed);";
|
||||
echo " $('#button_paste').fadeOut(fade_speed, function() {";
|
||||
@@ -198,7 +231,8 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
}
|
||||
|
||||
//show the content
|
||||
echo "<form name='form_copy' id='form_copy' method='post' action=''>";
|
||||
echo "<form name='frm' id='frm' method='post' action=''>";
|
||||
echo "<input type='hidden' name='action' id='action' value=''>";
|
||||
|
||||
echo "<div align='center'>";
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='2'>\n";
|
||||
@@ -219,7 +253,7 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
echo " <option value='".$domain["domain_uuid"]."'>".$domain["domain_name"]."</option>\n";
|
||||
}
|
||||
echo " </select>\n";
|
||||
echo " <input type='button' class='btn' id='button_paste' style='display: none;' alt='".$text['button-paste']."' value='".$text['button-paste']."' onclick='document.forms.form_copy.submit();'>";
|
||||
echo " <input type='button' class='btn' id='button_paste' style='display: none;' alt='".$text['button-paste']."' value='".$text['button-paste']."' onclick='document.forms.frm.submit();'>";
|
||||
}
|
||||
else {
|
||||
echo " ";
|
||||
@@ -311,7 +345,10 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
echo "<th>".$text['label-description']."</th>";
|
||||
echo "<td class='list_control_icons'>";
|
||||
if (permission_exists('default_setting_add')) {
|
||||
echo "<a href='default_setting_edit.php' alt='".$text['button-add']."'>$v_link_label_add</a>";
|
||||
echo "<a href='default_setting_edit.php' alt='".$text['button-add']."'>".$v_link_label_add."</a>";
|
||||
}
|
||||
if (permission_exists('default_setting_delete')) {
|
||||
echo "<a href='javascript:void(0);' onclick=\"if (confirm('".$text['confirm-delete']."')) { document.getElementById('action').value = 'delete'; document.forms.frm.submit(); }\" alt='".$text['button-delete']."'>".$v_link_label_delete."</a>";
|
||||
}
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
@@ -321,7 +358,7 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
$tr_link = (permission_exists('default_setting_edit')) ? "href='default_setting_edit.php?id=".$row['default_setting_uuid']."'" : null;
|
||||
echo "<tr ".$tr_link.">\n";
|
||||
if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) {
|
||||
echo " <td valign='top' class='".$row_style[$c]." tr_link_void' style='text-align: center; padding: 3px 0px 0px 0px;'><input type='checkbox' name='default_setting_uuids[]' id='checkbox_".$row['default_setting_uuid']."' value='".$row['default_setting_uuid']."'></td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]." tr_link_void' style='text-align: center; padding: 3px 0px 0px 0px;'><input type='checkbox' name='id[]' id='checkbox_".$row['default_setting_uuid']."' value='".$row['default_setting_uuid']."'></td>\n";
|
||||
$subcat_ids[strtolower($row['default_setting_category'])][] = 'checkbox_'.$row['default_setting_uuid'];
|
||||
}
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>";
|
||||
@@ -364,7 +401,7 @@ if (permission_exists("domain_select") && permission_exists("domain_setting_add"
|
||||
echo "<a href='default_setting_edit.php?id=".$row['default_setting_uuid']."' alt='".$text['button-edit']."'>$v_link_label_edit</a>";
|
||||
}
|
||||
if (permission_exists('default_setting_delete')) {
|
||||
echo "<a href='default_setting_delete.php?id=".$row['default_setting_uuid']."' alt='".$text['button-delete']."' onclick=\"return confirm('".$text['confirm-delete']."')\">$v_link_label_delete</a>";
|
||||
echo "<a href='default_settings.php?id[]=".$row['default_setting_uuid']."&action=delete' alt='".$text['button-delete']."' onclick=\"return confirm('".$text['confirm-delete']."')\">$v_link_label_delete</a>";
|
||||
}
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
Reference in New Issue
Block a user