mirror of
https://github.com/ShaYmez/FreeSTAR-Status-Engine.git
synced 2026-06-01 21:54:48 -04:00
Add functionality to services in backend.
- Add functionallity to categorize a one or more services under one service group. Partial fix for #7 and #90. (Frontend code to be done) - Add description field to service to be displayed as a help text on front page. Partial fix for #51 (Frontend code to be done)
This commit is contained in:
+11
-1
@@ -36,7 +36,7 @@ else{
|
||||
define("PHP_MAILER_USER", $db->getSetting($mysqli, "php_mailer_user"));
|
||||
define("PHP_MAILER_PASS", $db->getSetting($mysqli, "php_mailer_pass"));
|
||||
define("CRON_SERVER_IP", $db->getSetting($mysqli, "cron_server_ip"));
|
||||
|
||||
|
||||
// Process the subscriber notification queue
|
||||
// If CRON_SERVER_IP is not set, call notification once incident has been saved
|
||||
if ( empty(CRON_SERVER_IP) )
|
||||
@@ -110,6 +110,16 @@ else{
|
||||
require_once("new-user.php");
|
||||
break;
|
||||
|
||||
case 'new-service':
|
||||
case 'edit-service':
|
||||
require_once('service.php');
|
||||
break;
|
||||
|
||||
case 'new-service-group':
|
||||
case 'edit-service-group':
|
||||
require_once('service-group.php');
|
||||
break;
|
||||
|
||||
case 'options':
|
||||
require_once("options.php");
|
||||
break;
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
if (isset($_GET['new']))
|
||||
{
|
||||
ServiceGroup::add();
|
||||
}
|
||||
|
||||
if (isset($_GET['edit']))
|
||||
{
|
||||
ServiceGroup::edit();
|
||||
}
|
||||
|
||||
if (isset($_GET['delete']))
|
||||
{
|
||||
ServiceGroup::delete();
|
||||
}
|
||||
|
||||
$boolEdit = false;
|
||||
$group_value = isset($_POST['group']) ? $_POST['group'] : '';
|
||||
$description_value = isset($_POST['description']) ? $_POST['description'] : '';
|
||||
$visibility_id_value = isset($_POST['visibility_id']) ? $_POST['visibility_id'] : '';
|
||||
|
||||
if ( isset($_GET['id']) && !isset($_POST['id']) ) {
|
||||
$group_id = (int) $_GET['id'];
|
||||
$boolEdit = true;
|
||||
$stmt = $mysqli->prepare("SELECT * FROM services_groups WHERE id LIKE ?");
|
||||
$stmt->bind_param("i", $group_id);
|
||||
$stmt->execute();
|
||||
$query = $stmt->get_result();
|
||||
$data = $query->fetch_assoc();
|
||||
$group_value = $data['name'];
|
||||
$description_value = $data['description'];
|
||||
$visibility_id_value = $data['visibility'];
|
||||
}
|
||||
|
||||
|
||||
if (!$boolEdit) {
|
||||
|
||||
Template::render_header(_("New service group"), true); ?>
|
||||
<div class="text-center">
|
||||
<h2><?php echo _("Add new service group");?></h2>
|
||||
</div>
|
||||
<?php
|
||||
$form_url = WEB_URL .'/admin/?do=new-service-group&new=group';
|
||||
|
||||
} else {
|
||||
Template::render_header(_("Edit service group"), true); ?>
|
||||
<div class="text-center">
|
||||
<h2><?php echo _("Edit service group");?></h2>
|
||||
</div>
|
||||
<?php
|
||||
$form_url = WEB_URL .'/admin/?do=edit-service-group&edit&id='.$group_id;
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
<form action="<?php echo $form_url;?>" method="POST" class="form-horizontal">
|
||||
<?php if (isset($message))
|
||||
{?>
|
||||
<p class="alert alert-danger"><?php echo $message?></p>
|
||||
<?php
|
||||
} ?>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-6"><label for="group"><?php echo _("Service Group Name");?>: </label><input type="text" maxlength="50" name="group" value="<?php echo ((isset($_POST['group']))?htmlspecialchars($_POST['group'],ENT_QUOTES):$group_value);?>" id="group" placeholder="<?php echo _("service group name");?>" class="form-control" required></div>
|
||||
<div class="col-sm-6"><label for="description"><?php echo _("Description");?>: </label><input type="text" maxlength="100" name="description" value="<?php echo ((isset($_POST['description']))?htmlspecialchars($description_value,ENT_QUOTES):$description_value);?>" id="description" placeholder="<?php echo _("Description");?>" class="form-control"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-6">
|
||||
<label for="visibility_id"><?php echo _("Visibility");?>: </label>
|
||||
<select name="visibility_id" id="visibility_id" class="form-control">
|
||||
<?php
|
||||
if (!empty($visibility_id_value))
|
||||
{
|
||||
$visibility_id = $visibility_id_value;
|
||||
}
|
||||
else
|
||||
{
|
||||
$visibility_id = null;
|
||||
}
|
||||
//$visibilitys = Service::get_groups();
|
||||
foreach ($visibility as $key => $value) {
|
||||
if ($visibility_id == $key)
|
||||
{
|
||||
echo '<option value="'.$key.'" selected>'.$value.'</option>';
|
||||
}
|
||||
else{
|
||||
echo '<option value="'.$key.'">'.$value.'</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ( $boolEdit ) {
|
||||
echo '<input type="hidden" id="id" name="id" value="'.$group_id.'">';
|
||||
}
|
||||
?>
|
||||
<button type="submit" class="btn btn-primary pull-right"><?php echo _("Submit");?></button>
|
||||
</form>
|
||||
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
if (isset($_GET['new']))
|
||||
{
|
||||
Service::add();
|
||||
}
|
||||
|
||||
if (isset($_GET['edit']))
|
||||
{
|
||||
Service::edit();
|
||||
}
|
||||
|
||||
/*if (isset($_GET['delete']))
|
||||
{
|
||||
Service::delete();
|
||||
}*/
|
||||
|
||||
$boolEdit = false;
|
||||
$service_value = isset($_POST['service']) ? $_POST['service'] : '';
|
||||
$description_value = isset($_POST['description']) ? $_POST['description'] : '';
|
||||
$group_id_value = isset($_POST['group_id']) ? $_POST['group_id'] : '';
|
||||
|
||||
if ( isset($_GET['id']) && !isset($_POST['id']) ) {
|
||||
$service_id = (int) $_GET['id'];
|
||||
$boolEdit = true;
|
||||
$stmt = $mysqli->prepare("SELECT * FROM services WHERE id LIKE ?");
|
||||
$stmt->bind_param("i", $service_id);
|
||||
$stmt->execute();
|
||||
$query = $stmt->get_result();
|
||||
$data = $query->fetch_assoc();
|
||||
//print_r($data);
|
||||
$service_value = $data['name'];
|
||||
$description_value = $data['description'];
|
||||
$group_id_value = $data['group_id'];
|
||||
}
|
||||
|
||||
|
||||
if (!$boolEdit) {
|
||||
|
||||
Template::render_header(_("New service"), true); ?>
|
||||
<div class="text-center">
|
||||
<h2><?php echo _("Add new service");?></h2>
|
||||
</div>
|
||||
<?php
|
||||
$form_url = WEB_URL . '/admin/?do=new-service&new=service';
|
||||
} else {
|
||||
Template::render_header(_("New service"), true); ?>
|
||||
<div class="text-center">
|
||||
<h2><?php echo _("Add new service");?></h2>
|
||||
</div>
|
||||
<?php
|
||||
$form_url = WEB_URL . '/admin/?do=edit-service&edit&id='.$service_id;
|
||||
}
|
||||
?>
|
||||
<form action="<?php echo $form_url;?>" method="POST" class="form-horizontal">
|
||||
<?php if (isset($message))
|
||||
{?>
|
||||
<p class="alert alert-danger"><?php echo $message?></p>
|
||||
<?php
|
||||
} ?>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-6"><label for="service"><?php echo _("Service");?>: </label><input type="text" maxlength="50" name="service" value="<?php echo ((isset($_POST['service']))?htmlspecialchars($_POST['service'],ENT_QUOTES):$service_value);?>" id="service" placeholder="<?php echo _("service");?>" class="form-control" required></div>
|
||||
<div class="col-sm-6"><label for="description"><?php echo _("Description");?>: </label><input type="text" maxlength="200" name="description" value="<?php echo ((isset($_POST['description']))?htmlspecialchars($_POST['description'],ENT_QUOTES):$description_value);?>" id="description" placeholder="<?php echo _("Description");?>" class="form-control"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-6">
|
||||
<label for="group_id"><?php echo _("Service Group");?>: </label>
|
||||
<select name="group_id" id="group_id" class="form-control">
|
||||
<?php
|
||||
if (!empty($group_id_value))
|
||||
{
|
||||
$group_id = $group_id_value;
|
||||
}
|
||||
else
|
||||
{
|
||||
$group_id = null;
|
||||
}
|
||||
$groups = ServiceGroup::get_groups();
|
||||
foreach ($groups as $key => $value) {
|
||||
if ($group_id == $key)
|
||||
{
|
||||
echo '<option value="'.$key.'" selected>'.$value.'</option>';
|
||||
}
|
||||
else{
|
||||
echo '<option value="'.$key.'">'.$value.'</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if ( $boolEdit ) {
|
||||
echo '<input type="hidden" id="id" name="id" value="'.$service_id.'">';
|
||||
}
|
||||
?>
|
||||
<button type="submit" class="btn btn-primary pull-right"><?php echo _("Submit");?></button>
|
||||
</form>
|
||||
+71
-22
@@ -1,12 +1,12 @@
|
||||
<?php
|
||||
if (isset($_GET['new']))
|
||||
if (isset($_GET['delete']) && isset($_GET['type']))
|
||||
{
|
||||
Service::add();
|
||||
}
|
||||
|
||||
if (isset($_GET['delete']))
|
||||
{
|
||||
Service::delete();
|
||||
if ( $_GET['type'] == 'service') {
|
||||
Service::delete();
|
||||
}
|
||||
elseif ( $_GET['type'] == 'groups') {
|
||||
ServiceGroup::delete();
|
||||
}
|
||||
}
|
||||
|
||||
Template::render_header(_("Settings"), true);
|
||||
@@ -14,7 +14,7 @@ Template::render_header(_("Settings"), true);
|
||||
<div class="text-center">
|
||||
<h2>Settings</h2>
|
||||
</div>
|
||||
<?php
|
||||
<?php
|
||||
if (isset($message)){
|
||||
?>
|
||||
<p class="alert alert-danger"><?php echo $message; ?></p>
|
||||
@@ -24,19 +24,18 @@ if (isset($message)){
|
||||
<?php if ($user->get_rank() <= 1){?>
|
||||
<form action="?do=settings&new=service" method="post">
|
||||
<div class="input-group pull-right new-service">
|
||||
<input class="form-control" name="service" placeholder="Name" type="text" value="<?php echo ((isset($_POST['service']))?htmlspecialchars($_POST['service']):''); ?>" maxlength="50" required>
|
||||
<span class="input-group-btn">
|
||||
<button type="submit" class="btn btn-success pull-right"><?php echo _("Add service");?></button>
|
||||
</span>
|
||||
<a href="<?php echo WEB_URL;?>/admin/?do=new-service" class="btn btn-success pull-right"><?php echo _("Add new service");?></a>
|
||||
</div>
|
||||
</form>
|
||||
<?php }?>
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
|
||||
|
||||
<thead><tr>
|
||||
<th scope="col"><?php echo _("ID");?></th>
|
||||
<!--<th scope="col"><?php echo _("ID");?></th>-->
|
||||
<th scope="col"><?php echo _("Name");?></th>
|
||||
<th scope="col"><?php echo _("Description");?></th>
|
||||
<th scope="col"><?php echo _("Group");?></th>
|
||||
<?php if ($user->get_rank()<=1)
|
||||
{?>
|
||||
<th scope="col"><?php echo _("Delete");?></th>
|
||||
@@ -44,16 +43,66 @@ if (isset($message)){
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$query = $mysqli->query("SELECT * FROM services");
|
||||
<?php
|
||||
$query = $mysqli->query("SELECT services.*, services_groups.name AS group_name FROM `services` LEFT JOIN services_groups ON services.group_id = services_groups.id ORDER BY services.name ASC");
|
||||
while($result = $query->fetch_assoc())
|
||||
{
|
||||
echo "<tr>";
|
||||
echo "<td>".$result['id']."</td>";
|
||||
echo "<td>".$result['name']."</td>";
|
||||
//echo "<td>".$result['id']."</td>";
|
||||
echo '<td><a href="'.WEB_URL.'/admin?do=edit-service&id='.$result['id'].'">'.$result['name'].'</a></th>';
|
||||
echo "<td>".$result['description']."</td>";
|
||||
echo "<td>".$result['group_name']."</td>";
|
||||
|
||||
if ($user->get_rank()<=1)
|
||||
{
|
||||
echo '<td><a href="'.WEB_URL.'/admin/?do=settings&delete='.$result['id'].'" class="pull-right delete-service"><i class="fa fa-trash"></i></a></td>';
|
||||
echo '<td><a href="'.WEB_URL.'/admin/?do=settings&type=service&delete='.$result['id'].'" class="pull-right delete-service"><i class="fa fa-trash"></i></a></td>';
|
||||
}
|
||||
echo "</tr>";
|
||||
}?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3 class="pull-left"><?php echo _("Services Groups");?></h3>
|
||||
<?php if ($user->get_rank() <= 1){?>
|
||||
<form action="?do=settings&new=service-group" method="post">
|
||||
<div class="input-group pull-right new-service">
|
||||
<a href="<?php echo WEB_URL;?>/admin/?do=new-service-group" class="btn btn-success pull-right"><?php echo _("Add new service group");?></a>
|
||||
</div>
|
||||
</form>
|
||||
<?php }?>
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
|
||||
<thead><tr>
|
||||
<!--<th scope="col"><?php echo _("ID");?></th>-->
|
||||
<th scope="col"><?php echo _("Group Name");?></th>
|
||||
<th scope="col"><?php echo _("In use by");?></th>
|
||||
<th scope="col"><?php echo _("Description");?></th>
|
||||
<th scope="col"><?php echo _("Visibility");?></th>
|
||||
<?php if ($user->get_rank()<=1)
|
||||
{?>
|
||||
<th scope="col"><?php echo _("Delete");?></th>
|
||||
<?php } ?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$query = $mysqli->query("SELECT sg.* , (SELECT COUNT(*) FROM services WHERE services.group_id = sg.id) AS counter FROM services_groups AS sg ORDER BY sg.id ASC");
|
||||
while($result = $query->fetch_assoc())
|
||||
{
|
||||
echo "<tr>";
|
||||
//echo "<td>".$result['id']."</td>";
|
||||
echo '<td><a href="'.WEB_URL.'/admin?do=edit-service-group&id='.$result['id'].'">'.$result['name'].'</a></th>';
|
||||
echo '<td> <span class="badge badge-danger ml-2">'.$result['counter'].'</span>';
|
||||
echo "<td>".$result['description']."</td>";
|
||||
echo "<td>".$visibility[$result['visibility']]."</td>";
|
||||
|
||||
if ($user->get_rank()<=1)
|
||||
{
|
||||
echo '<td><a href="'.WEB_URL.'/admin/?do=settings&type=groups&delete='.$result['id'].'" class="pull-right delete-service"><i class="fa fa-trash"></i></a></td>';
|
||||
}
|
||||
echo "</tr>";
|
||||
}?>
|
||||
@@ -68,10 +117,10 @@ if (isset($message)){
|
||||
<?php if ($user->get_rank() == 0){?> <a href="<?php echo WEB_URL;?>/admin/?do=new-user" class="btn btn-success pull-right"><?php echo _("Add new user");?></a><?php }?>
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
|
||||
|
||||
<thead><tr><th scope="col"><?php echo _("ID");?></th><th scope="col"><?php echo _("Username");?></th><th scope="col"><?php echo _("Name");?></th><th scope="col"><?php echo _("Surname");?></th><th scope="col"><?php echo _("Email");?></th><th scope="col"><?php echo _("Role");?></th><th scope="col">Active</th></tr></thead>
|
||||
<tbody>
|
||||
<?php
|
||||
<?php
|
||||
$query = $mysqli->query("SELECT * FROM users");
|
||||
while($result = $query->fetch_assoc())
|
||||
{
|
||||
@@ -89,4 +138,4 @@ if (isset($message)){
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user