2017-07-23 19:56:51 +02:00
|
|
|
|
{% extends "main.html" %}
|
|
|
|
|
|
2020-07-03 18:25:16 +02:00
|
|
|
|
{% from 'bootstrap/utils.html' import render_messages %}
|
2020-07-15 18:04:34 +02:00
|
|
|
|
{% from "macros.html" import shorten_string %}
|
2020-07-03 18:25:16 +02:00
|
|
|
|
|
2017-07-23 19:56:51 +02:00
|
|
|
|
{% block title %}Tree{% endblock %}
|
|
|
|
|
|
2017-09-29 14:48:37 +02:00
|
|
|
|
{% block scripts %}
|
2019-06-28 12:08:35 +02:00
|
|
|
|
{{ super() }}
|
2020-09-28 15:28:47 +02:00
|
|
|
|
<script src='{{ url_for('static', filename='d3.v6.min.js') }}'></script>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
<script src='{{ url_for('static', filename='tree.js') }}'></script>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
|
2020-04-20 16:41:42 +02:00
|
|
|
|
<script>
|
|
|
|
|
$('#modulesModal').on('show.bs.modal', function(e) {
|
2020-07-27 18:37:22 +02:00
|
|
|
|
var button = $(e.relatedTarget);
|
|
|
|
|
var modal = $(this);
|
|
|
|
|
modal.find('.modal-body').load(button.data("remote"));
|
2020-04-20 16:41:42 +02:00
|
|
|
|
});
|
2020-10-28 18:49:15 +01:00
|
|
|
|
$('.modulesForceRefresh').on('click',function(){
|
|
|
|
|
$('.modal-body').load("{{ url_for('trigger_modules', tree_uuid=tree_uuid, force=True) }}",function(){
|
|
|
|
|
$('#modulesModal').modal({show:true});
|
|
|
|
|
});
|
|
|
|
|
});
|
2020-04-20 16:41:42 +02:00
|
|
|
|
</script>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
|
2020-04-20 16:41:42 +02:00
|
|
|
|
<script>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
$('#categoriesModal').on('show.bs.modal', function(e) {
|
2020-05-13 17:31:27 +02:00
|
|
|
|
var button = $(e.relatedTarget);
|
|
|
|
|
var modal = $(this);
|
|
|
|
|
modal.find('.modal-body').load(button.data("remote"));
|
|
|
|
|
});
|
2020-10-28 18:49:15 +01:00
|
|
|
|
$('#searchCategories').submit(function(event){
|
|
|
|
|
var query = $("#query").val();
|
|
|
|
|
$('.modal-body').load("{{ url_for('categories_capture', tree_uuid=tree_uuid) }}" + query, function() {
|
|
|
|
|
$('#categoriesModal').modal({show:true});
|
|
|
|
|
});
|
|
|
|
|
event.preventDefault();
|
|
|
|
|
});
|
2020-05-13 17:31:27 +02:00
|
|
|
|
</script>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
|
2020-05-13 17:31:27 +02:00
|
|
|
|
<script>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
$('#statsModal').on('show.bs.modal', function(e) {
|
|
|
|
|
var button = $(e.relatedTarget);
|
|
|
|
|
var modal = $(this);
|
|
|
|
|
modal.find('.modal-body').load(button.data("remote"));
|
2020-04-20 16:41:42 +02:00
|
|
|
|
});
|
|
|
|
|
</script>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
|
2020-06-29 11:59:01 +02:00
|
|
|
|
{% if urlnode_uuid %}
|
|
|
|
|
<script>
|
|
|
|
|
history.scrollRestoration = "manual";
|
|
|
|
|
window.addEventListener('DOMContentLoaded', (event) => {
|
2020-07-23 17:47:12 +02:00
|
|
|
|
PermanentNodeHighlight('{{urlnode_uuid}}');
|
2020-06-29 11:59:01 +02:00
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
{% endif%}
|
2017-09-29 14:48:37 +02:00
|
|
|
|
{% endblock %}
|
2017-09-22 00:26:38 +02:00
|
|
|
|
|
2017-07-23 19:56:51 +02:00
|
|
|
|
{% block content %}
|
2017-09-25 15:11:01 +02:00
|
|
|
|
{{super()}}
|
2020-07-27 18:37:22 +02:00
|
|
|
|
|
2017-09-22 00:26:38 +02:00
|
|
|
|
<script>
|
2020-05-20 19:11:15 +02:00
|
|
|
|
var treeUUID = "{{ tree_uuid }}";
|
2019-06-28 12:08:35 +02:00
|
|
|
|
var treeData = {{ tree_json | safe }};
|
2017-09-22 00:26:38 +02:00
|
|
|
|
</script>
|
2017-09-25 15:11:01 +02:00
|
|
|
|
|
2020-07-03 18:25:16 +02:00
|
|
|
|
{{ render_messages(container=True, dismissible=True) }}
|
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<!-- Containers -->
|
|
|
|
|
|
2020-10-21 16:25:31 +02:00
|
|
|
|
<div id="menu_container" class="tree-panel-container">
|
2020-07-29 17:52:11 +02:00
|
|
|
|
<div id=menu>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<div class="menu_header">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<a href="{{ url_for('index') }}" title="Go back to index">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='lookyloo.jpeg') }}" alt="Lookyloo icon" height="110">
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
2020-07-29 13:39:01 +02:00
|
|
|
|
<hr/>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<center>
|
|
|
|
|
<div style="display: inline">
|
|
|
|
|
<b>Menu</b>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="display: inline;">
|
2020-07-29 17:52:11 +02:00
|
|
|
|
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#menu_content">
|
|
|
|
|
<span class="if-collapsed">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<img src="{{ url_for('static', filename='down.jpg') }}" alt="Maximize menu" height="25" width="25" title="Expand">
|
2020-07-29 17:52:11 +02:00
|
|
|
|
</span>
|
|
|
|
|
<span class="if-not-collapsed">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<img src="{{ url_for('static', filename='up.jpg') }}" alt="Minimize menu" height="25" width="25" title="Collapse">
|
2020-07-29 17:52:11 +02:00
|
|
|
|
</span>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</center>
|
2020-07-29 13:39:01 +02:00
|
|
|
|
<hr/>
|
2020-07-29 17:52:11 +02:00
|
|
|
|
<div id=menu_content class="collapse show">
|
|
|
|
|
<ul class="list-unstyled components">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<li>
|
|
|
|
|
<a href="{{ url_for('index') }}" role="button">Go back to index</a>
|
|
|
|
|
</li>
|
2020-07-29 17:52:11 +02:00
|
|
|
|
<li>
|
|
|
|
|
<a href="#modulesModal" data-remote="{{ url_for('trigger_modules', tree_uuid=tree_uuid, force=False) }}"
|
|
|
|
|
data-toggle="modal" data-target="#modulesModal" role="button">Show third party reports</a>
|
|
|
|
|
</li>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
{% if enable_categorization %}
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#categoriesModal" data-remote="{{ url_for('categories_capture', tree_uuid=tree_uuid) }}"
|
2020-10-29 12:21:31 +01:00
|
|
|
|
data-toggle="modal" data-target="#categoriesModal" role="button">Manage categories</a>
|
2020-10-28 18:49:15 +01:00
|
|
|
|
</li>
|
|
|
|
|
{% endif %}
|
2020-07-29 17:52:11 +02:00
|
|
|
|
<li>
|
|
|
|
|
<a href="#statsModal" data-remote="{{ url_for('stats', tree_uuid=tree_uuid) }}"
|
|
|
|
|
data-toggle="modal" data-target="#statsModal" role="button">Show Statistics</a>
|
|
|
|
|
</li>
|
2020-08-07 11:58:20 +02:00
|
|
|
|
{% if has_redirects %}
|
|
|
|
|
<li>
|
|
|
|
|
<a href="{{ url_for('redirects', tree_uuid=tree_uuid) }}" role="button">Download redirects</a>
|
|
|
|
|
</li>
|
|
|
|
|
{% endif %}
|
2020-07-29 17:52:11 +02:00
|
|
|
|
<li>
|
2020-11-03 17:04:04 +01:00
|
|
|
|
<a href="#/" role="button" onclick="UnbookmarkAllNodes();">Unbookmark all nodes</a>
|
2020-07-29 17:52:11 +02:00
|
|
|
|
</li>
|
2020-07-30 17:45:07 +02:00
|
|
|
|
<li>
|
|
|
|
|
<a href="{{ url_for('image', tree_uuid=tree_uuid) }}" role="button">Download screenshot</a>
|
|
|
|
|
</li>
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#screenshotModal" data-toggle="modal" data-target="#screenshotModal" role="button">Show screenshot</a>
|
|
|
|
|
</li>
|
2020-09-01 18:49:11 +02:00
|
|
|
|
{% if enable_context_by_users %}
|
2020-08-20 19:39:03 +02:00
|
|
|
|
<li>
|
|
|
|
|
<a href="#/" role="button" onclick="MarkAsLegitimate('{{ tree_uuid }}');">Mark capture as legitimate</a>
|
|
|
|
|
</li>
|
2020-09-01 18:49:11 +02:00
|
|
|
|
{% endif %}
|
2020-07-29 17:52:11 +02:00
|
|
|
|
{% if enable_mail_notification %}
|
|
|
|
|
<li>
|
|
|
|
|
<a href="#emailModal" data-toggle="modal" data-target="#emailModal" role="button">Notify by mail</a>
|
|
|
|
|
</li>
|
2020-08-07 11:58:20 +02:00
|
|
|
|
{% endif %}
|
2020-07-29 17:52:11 +02:00
|
|
|
|
</ul>
|
|
|
|
|
</div>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
</div>
|
2019-02-06 18:01:17 +01:00
|
|
|
|
</div>
|
2018-03-22 17:22:19 +01:00
|
|
|
|
|
2020-10-21 16:25:31 +02:00
|
|
|
|
<div id="legend_container" class="tree-panel-container">
|
2019-06-28 12:08:35 +02:00
|
|
|
|
<div id=legend class="collapse show">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<center>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
<div style="display: inline">
|
|
|
|
|
<b>Legend</b>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="display: inline;">
|
2019-04-18 17:34:36 +02:00
|
|
|
|
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#legend">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<img src="{{ url_for('static', filename='down.jpg') }}" alt="Minimize legend" height="25" width="25" title="Collapse">
|
2019-04-18 17:34:36 +02:00
|
|
|
|
</button>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
</div>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
</center>
|
|
|
|
|
<hr/>
|
2020-09-10 14:37:42 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='check.svg') }}"
|
2020-11-04 14:38:11 +01:00
|
|
|
|
alt="Legitimate Node" height="20" width="20"> Legit node<br>
|
2020-09-10 14:37:42 +02:00
|
|
|
|
|
|
|
|
|
<img src="{{ url_for('static', filename='bomb.svg') }}"
|
2020-11-04 14:38:11 +01:00
|
|
|
|
alt="Malicious Node" height="20" width="20"> Malicious node<br>
|
|
|
|
|
|
|
|
|
|
<img src="{{ url_for('static', filename='insecure.svg') }}"
|
|
|
|
|
alt="Insecure requests" height="20" width="20"> Insecure requests (HTTP)<br>
|
2020-09-10 14:37:42 +02:00
|
|
|
|
|
|
|
|
|
<img src="{{ url_for('static', filename='empty.svg') }}"
|
2020-11-04 14:38:11 +01:00
|
|
|
|
alt="Empty responses" height="20" width="20"> Empty responses<br>
|
2020-09-22 13:00:28 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='javascript.png') }}"
|
2020-11-04 14:38:11 +01:00
|
|
|
|
alt="JavaScript" height="20" width="20"> Javascript<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='cookie_received.png') }}"
|
|
|
|
|
alt="Cookie received" height="20" width="20"> Cookie received<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='cookie_read.png') }}"
|
|
|
|
|
alt="Cookie read" height="20" width="20"> Cookie read<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='redirect.png') }}"
|
|
|
|
|
alt="Redirect" height="20" width="20"> Redirect<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='font.png') }}"
|
|
|
|
|
alt="Font" height="20" width="20"> Font<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='html.png') }}"
|
|
|
|
|
alt="HTML" height="20" width="20"> HTML<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='json.png') }}"
|
|
|
|
|
alt="JSON" height="20" width="20"> JSON<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='css.png') }}"
|
|
|
|
|
alt="CSS" height="20" width="20"> CSS<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='exe.png') }}"
|
|
|
|
|
alt="EXE" height="20" width="20"> EXE<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='img.png') }}"
|
|
|
|
|
alt="Image" height="20" width="20"> Image<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='video.png') }}"
|
|
|
|
|
alt="Video" height="20" width="20"> Video<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='ifr.png') }}"
|
|
|
|
|
alt="iFrame" height="20" width="20"> iFrame<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='wtf.png') }}"
|
|
|
|
|
alt="Content type not set/unknown" height="20" width="20"> Content type not set/unknown<br>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
</div>
|
2020-07-30 17:45:07 +02:00
|
|
|
|
<div style="width: 70px; float: right;">
|
2020-07-29 13:35:43 +02:00
|
|
|
|
<center>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#legend">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<img src="{{ url_for('static', filename='up.jpg') }}" alt="Maximize legend" height="40" width="40" title="Expand">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<b>Legend</b>
|
2020-07-29 13:35:43 +02:00
|
|
|
|
</button>
|
|
|
|
|
</center>
|
2019-06-28 12:08:35 +02:00
|
|
|
|
</div>
|
2017-09-25 15:11:01 +02:00
|
|
|
|
</div>
|
2019-04-18 17:34:36 +02:00
|
|
|
|
|
2020-10-21 16:25:31 +02:00
|
|
|
|
<div id="tree-details_container" class="tree-panel-container">
|
2019-06-28 12:08:35 +02:00
|
|
|
|
<div id=tree-details class="collapse show">
|
2020-07-29 13:35:43 +02:00
|
|
|
|
<div>
|
|
|
|
|
<center>
|
|
|
|
|
<div style="display: inline">
|
|
|
|
|
<b>Tree details</b>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="display: inline;">
|
|
|
|
|
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#tree-details">
|
2020-07-30 17:45:07 +02:00
|
|
|
|
<img src="{{ url_for('static', filename='up.jpg') }}"
|
2020-11-03 12:54:42 +01:00
|
|
|
|
alt="Minimize tree details" height="25" width="25" title="Collapse">
|
2020-07-29 13:35:43 +02:00
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
</center>
|
|
|
|
|
</div>
|
|
|
|
|
<hr/>
|
|
|
|
|
<b>Root URL</b>: {{ shorten_string(root_url, 150) }}
|
|
|
|
|
<br>
|
|
|
|
|
<b>Start time</b>: {{ start_time }}<br>
|
|
|
|
|
<b>User Agent</b>: {{ user_agent }}<br>
|
|
|
|
|
{% if meta %}
|
2020-08-10 12:10:13 +02:00
|
|
|
|
{% for k, v in meta.items() if k not in ['user_agent'] %}
|
2020-07-29 13:35:43 +02:00
|
|
|
|
<b>{{k.title()}}</b>: {{ v }}<br>
|
2020-08-10 12:10:13 +02:00
|
|
|
|
{% endfor %}
|
2020-07-29 13:35:43 +02:00
|
|
|
|
{%endif%}
|
|
|
|
|
</div>
|
|
|
|
|
<div style="width: 70px; float: right;">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<center>
|
2020-07-29 13:35:43 +02:00
|
|
|
|
<button type="button" class="btn btn-link" data-toggle="collapse" data-target="#tree-details">
|
2020-11-03 12:54:42 +01:00
|
|
|
|
<img src="{{ url_for('static', filename='down.jpg') }}" alt="Minimize tree details" height="40" width="40" title="Expand">
|
2019-06-28 12:08:35 +02:00
|
|
|
|
<b>Tree details</b>
|
2020-07-29 13:35:43 +02:00
|
|
|
|
</button>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
</center>
|
|
|
|
|
</div>
|
2017-09-25 15:11:01 +02:00
|
|
|
|
</div>
|
|
|
|
|
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<!-- Modals -->
|
|
|
|
|
|
2020-05-13 17:31:27 +02:00
|
|
|
|
<div class="modal fade" id="statsModal" tabindex="-1" role="dialog">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
|
|
|
<div class="modal-content">
|
|
|
|
|
<div class="modal-header">
|
2020-10-28 18:49:15 +01:00
|
|
|
|
<h5 class="modal-title" id="statsModalLabel">Statistics</h5>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body">
|
|
|
|
|
... loading statistics ...
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="modal fade" id="screenshotModal" tabindex="-1" role="dialog">
|
|
|
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
|
|
|
<div class="modal-content">
|
|
|
|
|
<div class="modal-header">
|
2020-10-28 18:49:15 +01:00
|
|
|
|
<h5 class="modal-title" id="screenshotModalLabel">Screenshot</h5>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body">
|
2020-08-13 15:56:46 +02:00
|
|
|
|
<center>
|
|
|
|
|
{% if blur_screenshot %}
|
|
|
|
|
<button type="button" class="btn btn-primary" onclick="$('#screenshot').removeClass('blur')"> Unblur screenshot</button>
|
|
|
|
|
</br>
|
|
|
|
|
</hr>
|
|
|
|
|
</br>
|
|
|
|
|
{% endif %}
|
|
|
|
|
<img src="{{ url_for('image', tree_uuid=tree_uuid) }}" class="img-fluid {{ 'blur' if blur_screenshot else '' }}" id="screenshot"/>
|
|
|
|
|
</center>
|
2020-05-13 17:31:27 +02:00
|
|
|
|
</div>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<div class="modal-footer">
|
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2020-05-13 17:31:27 +02:00
|
|
|
|
</div>
|
|
|
|
|
|
2020-04-20 16:41:42 +02:00
|
|
|
|
<div class="modal fade" id="modulesModal" tabindex="-1" role="dialog">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
|
|
|
<div class="modal-content">
|
|
|
|
|
<div class="modal-header">
|
|
|
|
|
<h5 class="modal-title" id="modulesModalLabel">Reports from 3rd party services</h5>
|
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body">
|
|
|
|
|
... loading results from 3rd party modules ...
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
|
<button type="button" class="btn btn-success modulesForceRefresh">Re-run all modules</button>
|
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2020-04-20 16:41:42 +02:00
|
|
|
|
</div>
|
|
|
|
|
|
2020-11-05 15:38:34 +01:00
|
|
|
|
{% if enable_context_by_users %}
|
2020-10-28 18:49:15 +01:00
|
|
|
|
<div class="modal fade" id="categoriesModal" tabindex="-1" role="dialog">
|
|
|
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
|
|
|
<div class="modal-content">
|
|
|
|
|
<div class="modal-header">
|
|
|
|
|
<h5 class="modal-title" id="categoriesModalLabel">Categorize the capture</h5>
|
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body">
|
|
|
|
|
... loading the categorization options ...
|
|
|
|
|
</div>
|
|
|
|
|
<p>
|
|
|
|
|
<form id=searchCategories>
|
|
|
|
|
<label for="query">Category to search</label>
|
|
|
|
|
<input type="text" class="form-control" name="query" id="query" placeholder="Query">
|
|
|
|
|
<button type="submit" class="btn btn-success">Search</button>
|
|
|
|
|
</form>
|
|
|
|
|
</p>
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2020-11-05 15:38:34 +01:00
|
|
|
|
{% endif %}
|
2020-10-28 18:49:15 +01:00
|
|
|
|
|
2020-11-05 15:38:34 +01:00
|
|
|
|
{% if enable_mail_notification %}
|
2020-05-11 19:01:02 +02:00
|
|
|
|
<div class="modal fade" id="emailModal" tabindex="-1" role="dialog">
|
2020-07-27 18:37:22 +02:00
|
|
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
|
|
|
<form role="form" action="{{ tree_uuid }}/send_mail" method=post enctype=multipart/form-data>
|
|
|
|
|
<div class="modal-content">
|
|
|
|
|
<div class="modal-header">
|
|
|
|
|
<h5 class="modal-title" id="emailModalLabel">Notify by email</h5>
|
|
|
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
|
|
|
<span aria-hidden="true">×</span>
|
|
|
|
|
</button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-body">
|
2020-11-05 15:38:34 +01:00
|
|
|
|
<p>A notification of this capture will be sent to the owners of this Lookyloo instance. They may or may not act on it.</p>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="email">Email address - used to get back in touch with you if needed (optional)</label>
|
|
|
|
|
<input type="email" class="form-control" name="email" id="email" placeholder="Enter email">
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label for="comment">Please write a comment (optional)</label>
|
|
|
|
|
<textarea class="form-control" name="comment" id=comment rows="3"></textarea>
|
|
|
|
|
</div>
|
2020-07-27 18:37:22 +02:00
|
|
|
|
</div>
|
|
|
|
|
<div class="modal-footer">
|
|
|
|
|
<button type="submit" class="btn btn-success">Send email</button>
|
|
|
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
2020-05-11 19:01:02 +02:00
|
|
|
|
</div>
|
2020-11-05 15:38:34 +01:00
|
|
|
|
{% endif %}
|
2017-09-25 15:11:01 +02:00
|
|
|
|
{% endblock content %}
|