Skip to content

Commit edeff37

Browse files
committed
SimpleRisk 20220701-001 Release
1 parent b4c3a33 commit edeff37

1,058 files changed

Lines changed: 346474 additions & 1650 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

simplerisk/admin/index.php

Lines changed: 171 additions & 178 deletions
Large diffs are not rendered by default.

simplerisk/admin/user_management.php

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,15 +287,36 @@
287287
$addusers_tab = false;
288288
$manageusers_tab = true;
289289

290+
// Get the POSTed user ID
290291
$value = (int)$_POST['user'];
291292

292293
// Verify value is an integer
293294
if (is_int($value) && $value > 0)
294295
{
295-
password_reset_by_userid($value);
296+
// Open the database connection
297+
$db = db_open();
296298

297-
// Display an alert
298-
set_alert(true, "good", "A password reset email was sent to the user.");
299+
// Get any password resets for this user in the past 10 minutes
300+
$stmt = $db->prepare("SELECT * FROM password_reset pw LEFT JOIN user u ON pw.username = u.username WHERE pw.timestamp >= NOW() - INTERVAL 10 MINUTE AND u.value=:value;");
301+
$stmt->bindParam(":value", $value, PDO::PARAM_INT);
302+
$stmt->execute();
303+
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
304+
305+
// Close the database connection
306+
db_close($db);
307+
308+
// If we have password resets in the past 10 minutes
309+
if (count($results) != 0)
310+
{
311+
set_alert(true, "bad", $lang['PasswordResetRequestsExceeded']);
312+
}
313+
else
314+
{
315+
password_reset_by_userid($value);
316+
317+
// Display an alert
318+
set_alert(true, "good", "A password reset email was sent to the user.");
319+
}
299320
} else {
300321
set_alert(true, "bad", $lang['PleaseSelectUser']);
301322
}

simplerisk/assets/adddeleteassets.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
$name = $_POST['asset_name'];
4444
$ip = $_POST['ip'];
4545
$value = $_POST['value'];
46-
$location = (int)$_POST['location'];
46+
$location = empty($_POST['location']) ? [] : $_POST['location'];
4747
$teams = empty($_POST['team']) ? [] : $_POST['team'];
4848
$details = $_POST['details'];
4949
$tags = empty($_POST['tags']) ? [] : $_POST['tags'];

simplerisk/compliance/audit_initiation.php

Lines changed: 66 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,10 @@
111111
$test_steps = $_POST['test_steps'];
112112
$approximate_time = (int)($_POST['approximate_time']) ? $_POST['approximate_time'] : 0;
113113
$expected_results = $_POST['expected_results'];
114+
$tags = empty($_POST['tags']) ? [] : $_POST['tags'];
114115

115116
// Update a framework control test
116-
update_framework_control_test($test_id, $tester, $test_frequency, $name, $objective, $test_steps, $approximate_time, $expected_results, $last_date, $next_date, false, $additional_stakeholders, $teams);
117+
update_framework_control_test($test_id, $tester, $test_frequency, $name, $objective, $test_steps, $approximate_time, $expected_results, $last_date, $next_date, false, $additional_stakeholders, $teams, $tags);
117118

118119
set_alert(true, "good", $escaper->escapeHtml($lang['TestSuccessUpdated']));
119120

@@ -168,6 +169,7 @@
168169

169170
display_bootstrap_javascript();
170171
?>
172+
<script src="../js/pages/compliance.js?<?php echo current_version("app"); ?>"></script>
171173
<script src="../js/bootstrap-multiselect.js?<?php echo current_version("app"); ?>"></script>
172174

173175
<title>SimpleRisk: Enterprise Risk Management Simplified</title>
@@ -182,6 +184,8 @@
182184
<link rel="stylesheet" href="../vendor/components/font-awesome/css/fontawesome.min.css?<?php echo current_version("app"); ?>">
183185
<link rel="stylesheet" href="../css/theme.css?<?php echo current_version("app"); ?>">
184186
<link rel="stylesheet" href="../css/side-navigation.css?<?php echo current_version("app"); ?>">
187+
<link rel="stylesheet" href="../css/selectize.bootstrap3.css?<?php echo current_version("app"); ?>">
188+
<script src="../js/selectize.min.js?<?php echo current_version("app"); ?>"></script>
185189
<?php
186190
setup_favicon("..");
187191
setup_alert_requirements("..");
@@ -317,6 +321,16 @@
317321
$('[name=approximate_time]', modal).val(data['approximate_time']);
318322
$('[name=expected_results]', modal).val(data['expected_results']);
319323
$(".datepicker" , modal).datepicker();
324+
$.each(data['tags'], function (i, item) {
325+
$('[name=\'tags[]\']', modal).append($('<option>', {
326+
value: item,
327+
text : item,
328+
selected : true,
329+
}));
330+
});
331+
var select = $('[name=\'tags[]\']', modal).selectize();
332+
var selectize = select[0].selectize;
333+
selectize.setValue(data['tags']);
320334

321335
modal.modal();
322336
}
@@ -332,13 +346,33 @@
332346
}else if($(this).hasClass("initiate-test-btn")){
333347
var type = "test";
334348
}
349+
var modal = $('#tags--edit');
350+
$('[name=audit_type]', modal).val(type);
351+
$('[name=id]', modal).val($(this).data('id'));
352+
modal.modal();
353+
return;
354+
});
355+
// Event when clicks Initiate Framework, Control, Test Audit button
356+
$("#tags--edit").on("click", "[name=continue_add_tags], [name=cancel_add_tags]", function(){
357+
var type = $("#tags--edit [name=audit_type]").val();
358+
var id = $("#tags--edit [name=id]").val();
359+
var tags = $("#tags--edit [name='tags[]']").val();
360+
if($(this).attr("name") == "continue_add_tags") {
361+
var tags = $("#tags--edit [name='tags[]']").val();
362+
} else {
363+
var tags = [];
364+
}
365+
var select = $("#tags--edit [name='tags[]']").selectize();
366+
var selectize = select[0].selectize;
367+
selectize.clear();
335368

336369
$.ajax({
337370
url: BASE_URL + '/api/compliance/audit_initiation/initiate',
338371
type: 'POST',
339372
data: {
340-
type: type,// control, test
341-
id: $(this).data('id'),
373+
type: type, // control, test
374+
tags: tags, // selected tags
375+
id: id,
342376
},
343377
success : function (res){
344378
if(res.status_message){
@@ -480,6 +514,10 @@
480514
<label for=""><?php echo $escaper->escapeHtml($lang['ExpectedResults']); ?></label>
481515
<textarea name="expected_results" class="form-control" rows="6" style="width:100%;"></textarea>
482516

517+
<label for=""><?php echo $escaper->escapeHtml($lang['Tags']); ?></label>
518+
<select class="test_tags" readonly name="tags[]" multiple placeholder="<?php echo $escaper->escapeHtml($lang['TagsWidgetPlaceholder']);?>"></select>
519+
<div class="tag-max-length-warning" style="margin-top:-10px"><?php echo $escaper->escapeHtml($lang['MaxTagLengthWarning']);?></div>
520+
483521
<input type="hidden" name="test_id" value="">
484522

485523
</div>
@@ -490,6 +528,31 @@
490528
</div>
491529
</form>
492530
</div>
531+
532+
<!-- MODEL WINDOW FOR ADD TAGS TO TEST -->
533+
<div id="tags--edit" class="modal hide" tabindex="-1" role="dialog" aria-hidden="true">
534+
<form class="" id="tags-edit-form" method="post" autocomplete="off">
535+
<div class="modal-header">
536+
<button type="button" class="close" data-dismiss="modal">&times;</button>
537+
<h4 class="modal-title"><?php echo $escaper->escapeHtml($lang['AddTagsToTestAudit']); ?></h4>
538+
</div>
539+
<div class="modal-body">
540+
<div class="form-group" style="margin-bottom: 100px;">
541+
<label for=""><?php echo $escaper->escapeHtml($lang['Tags']); ?></label>
542+
<select class="test_tags" readonly name="tags[]" multiple placeholder="<?php echo $escaper->escapeHtml($lang['TagsWidgetPlaceholder']);?>"></select>
543+
<div class="tag-max-length-warning" style="margin-top:-10px"><?php echo $escaper->escapeHtml($lang['MaxTagLengthWarning']);?></div>
544+
545+
<input type="hidden" name="audit_type" value="">
546+
<input type="hidden" name="id" value="">
547+
</div>
548+
</div>
549+
<div class="modal-footer">
550+
<button name="cancel_add_tags" class="btn btn-default" data-dismiss="modal" aria-hidden="true"><?php echo $escaper->escapeHtml($lang['Cancel']); ?></button>
551+
<button name="continue_add_tags" class="btn btn-danger" data-dismiss="modal" aria-hidden="true"><?php echo $escaper->escapeHtml($lang['Continue']); ?></button>
552+
</div>
553+
</form>
554+
</div>
555+
493556
<script>
494557
$( document ).ready(function() {
495558
$("#additional_stakeholders").multiselect();

simplerisk/compliance/index.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
$expected_results = $_POST['expected_results'];
5353
$framework_control_id = (int)$_POST['framework_control_id'];
5454
$teams = isset($_POST['team']) ? array_filter($_POST['team'], 'ctype_digit') : [];
55+
$tags = empty($_POST['tags']) ? [] : $_POST['tags'];
5556

5657
if (!$last_date)
5758
$last_date = "0000-00-00";
@@ -72,7 +73,7 @@
7273
}
7374
if($error !== true) {
7475
// Add a framework control test
75-
add_framework_control_test($tester, $test_frequency, $name, $objective, $test_steps, $approximate_time, $expected_results, $framework_control_id, $additional_stakeholders, $last_date, false, $teams);
76+
add_framework_control_test($tester, $test_frequency, $name, $objective, $test_steps, $approximate_time, $expected_results, $framework_control_id, $additional_stakeholders, $last_date, false, $teams, $tags);
7677
set_alert(true, "good", $lang['TestSuccessCreated']);
7778

7879
} else {
@@ -114,6 +115,7 @@
114115
$test_steps = $_POST['test_steps'];
115116
$approximate_time = !empty($_POST['approximate_time']) ? (int)$_POST['approximate_time'] : 0;
116117
$expected_results = $_POST['expected_results'];
118+
$tags = empty($_POST['tags']) ? [] : $_POST['tags'];
117119

118120
if ($test_frequency < 0) {
119121
$error = true;
@@ -149,7 +151,7 @@
149151
}
150152
if($error !== true) {
151153
// Update a framework control test
152-
update_framework_control_test($test_id, $tester, $test_frequency, $name, $objective, $test_steps, $approximate_time, $expected_results, $last_date, $next_date, false, $additional_stakeholders, $teams);
154+
update_framework_control_test($test_id, $tester, $test_frequency, $name, $objective, $test_steps, $approximate_time, $expected_results, $last_date, $next_date, false, $additional_stakeholders, $teams, $tags);
153155

154156
set_alert(true, "good", $lang['TestSuccessUpdated']);
155157
} else {
@@ -227,6 +229,8 @@
227229
<link rel="stylesheet" href="../vendor/components/font-awesome/css/fontawesome.min.css?<?php echo current_version("app"); ?>">
228230
<link rel="stylesheet" href="../css/theme.css?<?php echo current_version("app"); ?>">
229231
<link rel="stylesheet" href="../css/side-navigation.css?<?php echo current_version("app"); ?>">
232+
<link rel="stylesheet" href="../css/selectize.bootstrap3.css?<?php echo current_version("app"); ?>">
233+
<script src="../js/selectize.min.js?<?php echo current_version("app"); ?>"></script>
230234
<?php
231235
setup_favicon("..");
232236
setup_alert_requirements("..");
@@ -360,6 +364,10 @@
360364
<label for=""><?php echo $escaper->escapeHtml($lang['ExpectedResults']); ?></label>
361365
<textarea name="expected_results" class="form-control" rows="6" style="width:100%;"></textarea>
362366

367+
<label for=""><?php echo $escaper->escapeHtml($lang['Tags']); ?></label>
368+
<select class="test_tags" readonly name="tags[]" multiple placeholder="<?php echo $escaper->escapeHtml($lang['TagsWidgetPlaceholder']);?>"></select>
369+
<div class="tag-max-length-warning" style="margin-top:-10px"><?php echo $escaper->escapeHtml($lang['MaxTagLengthWarning']);?></div>
370+
363371
<input type="hidden" name="framework_control_id" value="">
364372
<input type="hidden" name="filter_by_control" value="">
365373
<input type="hidden" name="filter_by_control_family" value="">
@@ -416,6 +424,10 @@
416424
<label for=""><?php echo $escaper->escapeHtml($lang['ExpectedResults']); ?></label>
417425
<textarea name="expected_results" class="form-control" rows="6" style="width:100%;"></textarea>
418426

427+
<label for=""><?php echo $escaper->escapeHtml($lang['Tags']); ?></label>
428+
<select class="test_tags" readonly name="tags[]" multiple placeholder="<?php echo $escaper->escapeHtml($lang['TagsWidgetPlaceholder']);?>"></select>
429+
<div class="tag-max-length-warning" style="margin-top:-10px"><?php echo $escaper->escapeHtml($lang['MaxTagLengthWarning']);?></div>
430+
419431
<input type="hidden" name="test_id" value="">
420432
<input type="hidden" name="filter_by_control" value="">
421433
<input type="hidden" name="filter_by_control_family" value="">

simplerisk/compliance/testing.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@
101101
<script src="../js/basescript.js?<?php echo current_version("app"); ?>"></script>
102102
<script src="../js/common.js?<?php echo current_version("app"); ?>"></script>
103103
<script src="../js/pages/risk.js?<?php echo current_version("app"); ?>"></script>
104+
<script src="../js/pages/compliance.js?<?php echo current_version("app"); ?>"></script>
104105
<script src="../js/jquery.blockUI.min.js?<?php echo current_version("app"); ?>"></script>
105106

106107
<title>SimpleRisk: Enterprise Risk Management Simplified</title>
@@ -229,6 +230,7 @@
229230
</body>
230231
<script>
231232
$(document).ready(function(){
233+
$(".datepicker").datepicker();
232234
$('#tab-content-container select.assets-asset-groups-select').each(function() {
233235
setupAssetsAssetGroupsWidget($(this));
234236
});

simplerisk/cron/cron_backup.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,9 @@ function do_backup($force=false) {
122122

123123
// Create a random id for the backup
124124
$random_id = generate_token(50);
125+
126+
// Open the database connection
127+
$db = db_open();
125128

126129
// Insert the backup information into the database
127130
$stmt = $db->prepare("INSERT INTO `backups` (`random_id`, `app_zip_file_name`, `db_zip_file_name`) VALUES (:random_id, :app_zip_file_name, :db_zip_file_name);");

0 commit comments

Comments
 (0)