init
This commit is contained in:
BIN
background.jpg
Normal file
BIN
background.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
2050
css/bootstrap-grid.css
vendored
Normal file
2050
css/bootstrap-grid.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
css/bootstrap-grid.css.map
Normal file
1
css/bootstrap-grid.css.map
Normal file
File diff suppressed because one or more lines are too long
7
css/bootstrap-grid.min.css
vendored
Normal file
7
css/bootstrap-grid.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
css/bootstrap-grid.min.css.map
Normal file
1
css/bootstrap-grid.min.css.map
Normal file
File diff suppressed because one or more lines are too long
330
css/bootstrap-reboot.css
vendored
Normal file
330
css/bootstrap-reboot.css
vendored
Normal file
@@ -0,0 +1,330 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
line-height: 1.15;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-ms-overflow-style: scrollbar;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
font-size: 1rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
color: #212529;
|
||||
text-align: left;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
[tabindex="-1"]:focus {
|
||||
outline: 0 !important;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[title],
|
||||
abbr[data-original-title] {
|
||||
text-decoration: underline;
|
||||
-webkit-text-decoration: underline dotted;
|
||||
text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: .5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0056b3;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]) {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([href]):not([tabindex]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
-ms-overflow-style: scrollbar;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
color: #6c757d;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: 1px dotted;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html [type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: .5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-reboot.css.map */
|
||||
1
css/bootstrap-reboot.css.map
Normal file
1
css/bootstrap-reboot.css.map
Normal file
File diff suppressed because one or more lines are too long
8
css/bootstrap-reboot.min.css
vendored
Normal file
8
css/bootstrap-reboot.min.css
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v4.0.0 (https://getbootstrap.com)
|
||||
* Copyright 2011-2018 The Bootstrap Authors
|
||||
* Copyright 2011-2018 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
|
||||
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
|
||||
1
css/bootstrap-reboot.min.css.map
Normal file
1
css/bootstrap-reboot.min.css.map
Normal file
File diff suppressed because one or more lines are too long
8975
css/bootstrap.css
vendored
Normal file
8975
css/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
css/bootstrap.css.map
Normal file
1
css/bootstrap.css.map
Normal file
File diff suppressed because one or more lines are too long
7
css/bootstrap.min.css
vendored
Normal file
7
css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
css/bootstrap.min.css.map
Normal file
1
css/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
50
custom.css
Normal file
50
custom.css
Normal file
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
.rgba-gradient {
|
||||
background: -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9) 100%);
|
||||
background: -webkit-gradient(linear, 45deg, from(rgba(0, 0, 0, 0.7), rgba(42, 42, 42, 0.4) 100%)));
|
||||
background: linear-gradient(to 45deg, rgba(0, 0, 0, 0.7), rgba(72, 15, 144, 0.4) 100%);
|
||||
}
|
||||
*/
|
||||
|
||||
.rgba-gradient {
|
||||
background: -webkit-linear-gradient(45deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7) 100%);
|
||||
}
|
||||
|
||||
.rgba-gradient:hover {
|
||||
background-color: #888888
|
||||
}
|
||||
|
||||
.card {
|
||||
background-color: rgba(42, 42, 42, 0.2);
|
||||
}
|
||||
|
||||
.md-form label {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
h6 {
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
label {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
input {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.black-background {background-color:#ffffff;}
|
||||
.white {color:#ffffff;}
|
||||
.black {color:#000000;}
|
||||
|
||||
|
||||
.about white {
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.a {
|
||||
text-decoration:none;
|
||||
color:red;
|
||||
}
|
||||
1047
dist/filepond.css
vendored
Normal file
1047
dist/filepond.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
9723
dist/filepond.esm.js
vendored
Normal file
9723
dist/filepond.esm.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
9
dist/filepond.esm.min.js
vendored
Normal file
9
dist/filepond.esm.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12728
dist/filepond.js
vendored
Normal file
12728
dist/filepond.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
8
dist/filepond.min.css
vendored
Normal file
8
dist/filepond.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
9
dist/filepond.min.js
vendored
Normal file
9
dist/filepond.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
218
index.html
Normal file
218
index.html
Normal file
@@ -0,0 +1,218 @@
|
||||
<!-- Header template for most static websites -->
|
||||
<head>
|
||||
<link rel="stylesheet" href="css/bootstrap.min.css">
|
||||
<link rel="stylesheet" type="text/css" href="custom.css">
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>KGP Evidence Dump</title>
|
||||
<link href="dist/filepond.css" rel="stylesheet">
|
||||
|
||||
<style>
|
||||
{ margin: 0; padding: 0; }
|
||||
|
||||
body {
|
||||
background-color: #161618;
|
||||
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
footer{
|
||||
margin-top: auto;
|
||||
}
|
||||
|
||||
.h-divider{
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
height:1px;
|
||||
width:80%;
|
||||
border-top:1px solid gray;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.row.equal {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
|
||||
.inherit_height
|
||||
{
|
||||
width:inherit;
|
||||
height:100%;
|
||||
}
|
||||
.filepond {
|
||||
width: calc(93% - .5em);
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.custom {
|
||||
color: #f2f5f4;
|
||||
}
|
||||
|
||||
/* the background color of the file and file panel (used when dropping an image) */
|
||||
.filepond--item-panel {
|
||||
background-color: #161618;
|
||||
}
|
||||
|
||||
/* the background color of the filepond drop area */
|
||||
.filepond--panel-root {
|
||||
background-color: #f5f7f4;
|
||||
}
|
||||
|
||||
[data-filepond-item-state='processing-complete'] .filepond--item-panel {
|
||||
background-color: #888888;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="row justify-content-center border-0">
|
||||
<div class="col-xl-12 mt-5 mb-5">
|
||||
<div class="container">
|
||||
<div class="col-12 col-md pl-5">
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 pt-3">
|
||||
<h2 class='custom'><b>KGP Evidence Dump</b></h2>
|
||||
<h6 class='custom'>
|
||||
Upload videos or photos showing the behaviour of police during this demonstration.
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<input type="file" name="userPhoto" class="filepond" />
|
||||
|
||||
<script>
|
||||
// prettier-ignore
|
||||
[
|
||||
{supported: 'Symbol' in window, fill: 'https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js'},
|
||||
{supported: 'Promise' in window, fill: 'https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js'},
|
||||
{supported: 'fetch' in window, fill: 'https://cdn.jsdelivr.net/npm/fetch-polyfill@0.8.2/fetch.min.js'},
|
||||
{supported: 'CustomEvent' in window && 'log10' in Math && 'sign' in Math && 'assign' in Object && 'from' in Array &&
|
||||
['find', 'findIndex', 'some', 'includes'].reduce(function(previous, prop) { return (prop in Array.prototype) ? previous : false; }, true), fill: 'https://unpkg.com/filepond-polyfill/dist/filepond-polyfill.js'}
|
||||
].forEach(function(p) {
|
||||
if (p.supported) return;
|
||||
document.write('<script src="' + p.fill + '"><\/script>');
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="dist/filepond.js"></script>
|
||||
|
||||
<script>
|
||||
// Get a reference to the file input element
|
||||
const inputElement = document.querySelector('input[type="file"]');
|
||||
|
||||
// Create the FilePond instance
|
||||
const pond = FilePond.create(inputElement, {
|
||||
allowMultiple: true,
|
||||
allowReorder: true,
|
||||
server: '/uploads',
|
||||
});
|
||||
|
||||
// Easy console access for testing purposes
|
||||
window.pond = pond;
|
||||
</script>
|
||||
|
||||
<div class="container">
|
||||
<div class="row justify-content-center border-0">
|
||||
<div class="col-xl-12 mt-5 mb-5">
|
||||
<div class="container">
|
||||
<div class="col-12 col-md pl-5">
|
||||
<div class="form-group">
|
||||
<div class="col-md-12 pt-3">
|
||||
<h6 class='custom'>
|
||||
Gerade in Zeiten massiv zunehmender Überwachung und zu häufig auftretender Übergriffe, Misshandlungen und anderer rechtswidriger Verhaltensweisen der Polizei sollten Polizeieinsätze immer dokumentiert werden. Auch ohne Beweismaterial sollten solche Vorfälle bei unabhängigen Stellen gemeldet werden, z.B. bei unserer Initiative, unabhängig davon, ob weitere Schritte gegen die Verantwortlichen geplant sind oder nicht.Eine Veröffentlichung von dokumentierter Polizeigewalt in sozialen Netzwerken kann Druck durch das Interesse der Öffentlichkeit erzeugen, Diskussionen anfachen und die Notwendigkeit aufzeigen, die Polizeibefugnisse einzuschränken. Wenn zudem juristisch erfolgreich gegen Polizeigewalt vorgegangen werden soll, sind Beweise notwendig, z.B. in Form technischem Material. Es gibt Verfahren, in denen Betroffene von Polizeigewalt die Übergriffe der Polizei und ihre Lügen vor Gericht nur beweisen und ihrer eigenen Strafverfolgung entgehen konnten, weil sie unbemerkt eine Aufzeichnung von der Situation gemacht hatten. Aufnahmen von Einsätzen sehen wir daher als notwendig an, um Voraussetzungen dafür zu schaffen, Polizeigewalt bekannt zu machen und Konsequenzen zu ermöglichen.
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row justify-content-center border-0">
|
||||
<div class="col-xl-12 mt-5 mb-5">
|
||||
<div class="container">
|
||||
<div class="row col-md-12">
|
||||
<div class="col-12 col-md pl-5">
|
||||
<h6 class="custom">
|
||||
Dies ist ein dienst der Kooperation gegen Polizeigewalt Sachsen. www.kgp-sachsen.org
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
|
||||
<!--
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>KGP Evidence Dump</title>
|
||||
<link href="dist/filepond.css" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<input type="file" name="userPhoto" />
|
||||
|
||||
<script>
|
||||
// prettier-ignore
|
||||
[
|
||||
{supported: 'Symbol' in window, fill: 'https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser-polyfill.min.js'},
|
||||
{supported: 'Promise' in window, fill: 'https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js'},
|
||||
{supported: 'fetch' in window, fill: 'https://cdn.jsdelivr.net/npm/fetch-polyfill@0.8.2/fetch.min.js'},
|
||||
{supported: 'CustomEvent' in window && 'log10' in Math && 'sign' in Math && 'assign' in Object && 'from' in Array &&
|
||||
['find', 'findIndex', 'some', 'includes'].reduce(function(previous, prop) { return (prop in Array.prototype) ? previous : false; }, true), fill: 'https://unpkg.com/filepond-polyfill/dist/filepond-polyfill.js'}
|
||||
].forEach(function(p) {
|
||||
if (p.supported) return;
|
||||
document.write('<script src="' + p.fill + '"><\/script>');
|
||||
});
|
||||
</script>
|
||||
|
||||
<script src="dist/filepond.js"></script>
|
||||
|
||||
<script>
|
||||
// Get a reference to the file input element
|
||||
const inputElement = document.querySelector('input[type="file"]');
|
||||
|
||||
// Create the FilePond instance
|
||||
const pond = FilePond.create(inputElement, {
|
||||
allowMultiple: true,
|
||||
allowReorder: true,
|
||||
server: '/uploads'
|
||||
});
|
||||
|
||||
// Easy console access for testing purposes
|
||||
window.pond = pond;
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
1732
package-lock.json
generated
Normal file
1732
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
13
package.json
Normal file
13
package.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "file_upload",
|
||||
"version": "0.0.1",
|
||||
"dependencies": {
|
||||
"express": "4.13.3",
|
||||
"multer": "1.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"should": "~7.1.0",
|
||||
"mocha": "~2.3.3",
|
||||
"supertest": "~1.1.0"
|
||||
}
|
||||
}
|
||||
37
server.js
Normal file
37
server.js
Normal file
@@ -0,0 +1,37 @@
|
||||
var express = require("express");
|
||||
var multer = require('multer');
|
||||
var app = express();
|
||||
var path = require('path');
|
||||
|
||||
app.use(express.static(path.join(__dirname, '/')));
|
||||
|
||||
var storage = multer.diskStorage({
|
||||
|
||||
|
||||
destination: function (req, file, callback) {
|
||||
callback(null, './uploads');
|
||||
},
|
||||
filename: function (req, file, callback) {
|
||||
callback(null, 'upload_' + Date.now() + '_' + file.originalname);
|
||||
}
|
||||
});
|
||||
var upload = multer({ storage : storage}).single('userPhoto');
|
||||
|
||||
app.get('/',function(req,res){
|
||||
res.sendFile(__dirname + "/index.html");
|
||||
});
|
||||
|
||||
app.post('/uploads',function(req,res){
|
||||
upload(req,res,function(err) {
|
||||
if(err) {
|
||||
console.log("error: ");
|
||||
console.log(err);
|
||||
return res.end("Error uploading file.");
|
||||
}
|
||||
res.end("File is uploaded");
|
||||
});
|
||||
});
|
||||
|
||||
app.listen(3000,function(){
|
||||
console.log("Working on port 3000");
|
||||
});
|
||||
Reference in New Issue
Block a user