diff --git a/controller/admin_finanzen.php b/controller/admin_finanzen.php
new file mode 100644
index 0000000..e4920a6
--- /dev/null
+++ b/controller/admin_finanzen.php
@@ -0,0 +1,265 @@
+query("SELECT fid
+ FROM jumi_finanzen
+ WHERE datum = '$datum_form'
+ AND beschreibung = '$beschreibung'
+ AND firma = '$firma'
+ AND art = '$art'
+ AND betrag = '$betrag'
+ AND bemerkung = '$bemerkung'
+ ");
+ $row = $result->fetch_array();
+ if ($row['fid'] == '' AND $fid_edit == '-1')
+ {
+ $sql1 = $db->query("INSERT INTO jumi_finanzen ( datum
+ , beschreibung
+ , firma
+ , art
+ , betrag
+ , bemerkung
+ )
+ VALUES
+ ( '$datum_form'
+ , '$beschreibung'
+ , '$firma'
+ , '$art'
+ , '$betrag'
+ , '$bemerkung'
+ )
+ ");
+ $fid = $db->insert_id;
+ }
+ elseif($fid_edit != '-1')
+ {
+ $sql1 = $db->query( "UPDATE jumi_finanzen
+ SET datum = '$datum_form'
+ ,beschreibung = '$beschreibung'
+ ,firma = '$firma'
+ ,art = '$art'
+ ,betrag = '$betrag'
+ ,bemerkung = '$bemerkung'
+ WHERE fid = $fid_edit
+ " );
+ $fid = $fid_edit;
+
+ }
+ else
+ {
+ $fid = $row['fid'];
+ }
+ $datum = date("Y-m-d H:i:s");
+ $sql2 = $db->query("INSERT INTO jumi_finanzen_uploads ( fid
+ , filename
+ , originalname
+ , uid
+ , datum
+ )
+ VALUES
+ ( $fid
+ , '$vpb_final_location'
+ , '$originalname'
+ , $uid
+ , '$datum'
+ )
+ ");
+ //Display the file id
+ if ($sql2)
+ {
+ echo '
Betrag wurde erfasst!
|***|success|***|' . $vpb_file_id;
+ exit;
+ }
+ else
+ {
+ echo ' Betrag wurde nicht erfasst: Insert Fehler Datenbank.
|***|error|***|' . $vpb_file_id;
+ exit;
+ }
+
+ }
+ else
+ {
+ //Display general system error
+ echo 'general_system_error';
+ }
+
+ }
+}
+
+if ($function == 'save_without_files')
+{
+ $form_datum = $_POST['datum'];
+ $datum_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $form_datum);
+ $beschreibung = $_POST['beschreibung'];
+ $firma = $_POST['firma'];
+ $art = $_POST['art'];
+ $betrag = $_POST['betrag'];
+ $bemerkung = $_POST['bemerkung'];
+ #fid gesetzt, wenn Finanzen bearbeitet wird
+ $fid_edit = $_POST['fid_edit'];
+
+
+ $db = dbconnect();
+
+ # Wenn Verlag nicht vorhanden, dann neu anlegen
+
+
+ $datum = date("Y-m-d H:i:s");
+ if($fid_edit == '-1'){
+ $sql1 = $db->query("INSERT INTO jumi_finanzen ( datum
+ , beschreibung
+ , firma
+ , art
+ , betrag
+ , bemerkung
+ )
+ VALUES
+ ( '$datum_form'
+ , '$beschreibung'
+ , '$firma'
+ , '$art'
+ , '$betrag'
+ , '$bemerkung'
+ )
+ ");
+ if ($sql1)
+ {
+ echo ' Betrag wurde erfasst!
|***|success|***|';
+ exit;
+ }
+ else
+ {
+ echo ' Betrag wurde nicht erfasst: Insert Fehler Datenbank.
|***|error';
+ exit;
+ }
+ }else{
+ $sql1 = $db->query( "UPDATE jumi_finanzen
+ SET datum = '$datum_form'
+ ,beschreibung = '$beschreibung'
+ ,firma = '$firma'
+ ,art = '$art'
+ ,betrag = '$betrag'
+ ,bemerkung = '$bemerkung'
+ WHERE fid = $fid_edit
+ " );
+
+
+ if ($sql1)
+ {
+ echo ' Betrag wurde bearbeitet!
|***|success|***|';
+ exit;
+ }
+ else
+ {
+ echo ' Betrag wurde nicht bearbeitet: Update Fehler Datenbank.
|***|error';
+ exit;
+ }
+ }
+}
+
+
+if ($function == 'delBelegFile') {
+ if (isset($_POST['id'])) {
+ $id = $_POST['id'];
+ }
+
+ $result0 = $db->query("SELECT filename, fid
+ FROM jumi_finanzen_uploads
+ WHERE id = $id;");
+ $row0 = $result0->fetch_array();
+
+ $stmt1 = $db->query("DELETE FROM jumi_finanzen_uploads WHERE id= $id");
+ $del = unlink($row0['filename']);
+
+ if ($stmt1 AND $del) {
+ echo ' Die Datei wurde gelöscht!
|***|success|***|'.$row0['fid'];
+ exit;
+ } else {
+ echo ' Die Datei wurde nicht gelöscht: DELETE Fehler Datenbank.
|***|success|***|'.$row0['fid'];
+ exit;
+ }
+}
+
+
+if ($function == 'delBeleg') {
+ if (isset($_POST['fid'])) {
+ $fid = $_POST['fid'];
+ }
+
+ $query = "SELECT id, filename, originalname FROM jumi_finanzen_uploads WHERE fid='$fid' ORDER BY datum DESC";
+ $result = $db->query( $query)
+ or die ("Cannot execute query1");
+
+ while ($row = $result->fetch_array()){
+ $del = unlink($row['filename']);
+ }
+
+
+ $stmt1 = $db->query("DELETE FROM jumi_finanzen_uploads WHERE fid = $fid;");
+ $stmt2 = $db->query("DELETE FROM jumi_finanzen WHERE fid = $fid");
+
+
+ if ($stmt1 AND $stmt2) {
+ echo ' Beleg wurde gelöscht!
|***|success';
+ exit;
+ } else {
+ echo ' Beleg wurde nicht gelöscht: DELETE Fehler Datenbank.
|***|success';
+ exit;
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/dashboard/finanzen.php b/dashboard/finanzen.php
new file mode 100644
index 0000000..45ef4f2
--- /dev/null
+++ b/dashboard/finanzen.php
@@ -0,0 +1,117 @@
+";
+ exit;
+}
+$templatename = substr(basename($_SERVER['PHP_SELF']) , 0, -3) . "html";
+require_once "../language/german.inc.php";
+
+# Gespeicherte Werte
+ $result_sum = $db->query("SELECT sum(betrag) kontostand
+ FROM jumi_finanzen
+ ");
+ $row_sum = $result_sum->fetch_array();
+
+ $fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
+ $kontostand = $fmt->formatCurrency($row_sum['kontostand'], "EUR");
+ $smarty->assign('kontostand', $kontostand);
+
+$query = "SELECT fid, datum, date_format(datum, '%d.%m.%Y') datum_form, beschreibung, firma, art, betrag, bemerkung
+ FROM jumi_finanzen
+ ORDER BY datum DESC";
+
+$result = $db->query($query) or die("Cannot execute query");
+
+while ($row = $result->fetch_array())
+{
+ $value2 = '';
+ unset($inner1);
+
+ $query2 = "SELECT id, filename, originalname
+ FROM jumi_finanzen_uploads
+ WHERE fid=$row[fid]
+ ORDER BY id ASC
+ ";
+
+ $result2 = $db->query($query2) or die("Cannot execute query2");
+ $ln2 = 0;
+
+ while ($row2 = $result2->fetch_array())
+ {
+
+ $inner1[$ln2]['id'] = $row2['id'];
+ $inner1[$ln2]['filename'] = $row2['filename'];
+ $inner1[$ln2]['originalname'] = $row2['originalname'];
+
+ $dateiarray = explode(".",$row2['originalname']);
+ $endung = ".".$dateiarray[count($dateiarray)-1];
+ $datei_short = substr($row2['originalname'],0,8)."[...]".$endung;
+ $inner1[$ln2]['originalname_short'] = $datei_short;
+
+ $value2 = $inner1;
+ $ln2++;
+ }
+
+ #$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
+ $betrag = $fmt->formatCurrency($row['betrag'], "EUR");
+
+ $row['betrag_form'] = $betrag;
+ $row['inner'] = $value2;
+ $table_data[] = $row;
+}
+$smarty->assign('table_data', $table_data);
+
+#echo "";
+#print_r($table_data);
+#echo "
";
+
+
+if (isset($_GET['editfid']) and $_GET['editfid'] != '')
+{
+ # Aus externer Seite edit_user.php
+ #echo "
-----------------------------------------------hier";
+ $fid = $_GET['editfid'];
+ $smarty->assign('create_edit', $fid);
+
+ $result0 = $db->query("SELECT fid, date_format(datum, '%d.%m.%Y') datum, beschreibung, firma, art, betrag, bemerkung
+ FROM jumi_finanzen
+ WHERE fid = $fid
+ ");
+ $row0 = $result0->fetch_array();
+ $smarty->assign('finanzen_datum', $row0['datum']);
+ $smarty->assign('finanzen_beschreibung', $row0['beschreibung']);
+ $smarty->assign('finanzen_firma', $row0['firma']);
+ $smarty->assign('finanzen_art', $row0['art']);
+ if($row0['art'] == 'A'){
+ $betrag = $row0['betrag'] * (-1);
+ }else{
+ $betrag = $row0['betrag'];
+ }
+ $smarty->assign('finanzen_betrag', $betrag);
+ $smarty->assign('finanzen_bemerkung', $row0['bemerkung']);
+
+ $query = "SELECT id, filename, originalname, date_format(datum, '%d.%m.%y - %H:%i') uploaddatum FROM jumi_finanzen_uploads WHERE fid='$fid' ORDER BY datum DESC";
+ $result = $db->query($query) or die("Cannot execute query1");
+
+ while ($row10 = $result->fetch_array())
+ {
+
+ $row10['orginalname_short'] = $datei_short;
+ $value[] = $row10;
+ }
+ $smarty->assign('table_data2', $value);
+}
+
+$smarty->assign('action', "$action");
+$smarty->display("modern/dashboard/$templatename");
+?>
diff --git a/dashboard/test.php b/dashboard/test.php
index b53f905..685e74a 100644
--- a/dashboard/test.php
+++ b/dashboard/test.php
@@ -14,9 +14,12 @@ if(!rechte('__noright__', $uid)){
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
require_once "../language/german.inc.php";
+ $row10['originalname'] = "Einwilligungserklaerung_personenbezogene_Daten.pdf";
+ $dateiarray = explode(".",$row10['originalname']);
+ $endung = ".".$dateiarray[count($dateiarray)-1];
+ $datei_short = substr($row10['originalname'],0,8)."[...]".$endung;
+ echo $datei_short;
-
-
-$smarty->assign('action', "$action");
-$smarty->display("modern/dashboard/$templatename");
+#$smarty->assign('action', "$action");
+#$smarty->display("modern/dashboard/$templatename");
?>
diff --git a/js/file_upload/vpb_uploader_finanzen.js b/js/file_upload/vpb_uploader_finanzen.js
new file mode 100644
index 0000000..0a4158e
--- /dev/null
+++ b/js/file_upload/vpb_uploader_finanzen.js
@@ -0,0 +1,433 @@
+function vpb_multiple_file_uploader(vpb_configuration_settings) {
+ this.vpb_settings = vpb_configuration_settings;
+ this.vpb_files = "";
+ this.vpb_browsed_files = []
+ var self = this;
+ var vpb_msg = "Sorry, your browser does not support this application. Thank You!";
+
+ //Get all browsed file extensions
+ function vpb_file_ext(file) {
+ return (/[.]/.exec(file)) ? /[^.]+$/.exec(file.toLowerCase()) : '';
+ }
+
+ /* Display added files which are ready for upload */
+ //with their file types, names, size, date last modified along with an option to remove an unwanted file
+ vpb_multiple_file_uploader.prototype.vpb_show_added_files = function(vpb_value) {
+ this.vpb_files = vpb_value;
+ if (this.vpb_files.length > 0) {
+ var vpb_added_files_displayer = vpb_file_id = "";
+ for (var i = 0; i < this.vpb_files.length; i++) {
+ //Use the names of the files without their extensions as their ids
+ var files_name_without_extensions = this.vpb_files[i].name.substr(0, this.vpb_files[i].name.lastIndexOf('.')) || this.vpb_files[i].name;
+ vpb_file_id = files_name_without_extensions.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
+
+ var vpb_file_to_add = vpb_file_ext(this.vpb_files[i].name);
+ var vpb_class = $("#added_class").val();
+ var vpb_file_icon;
+
+ //Check and display File Size
+ var vpb_fileSize = (this.vpb_files[i].size / 1024);
+ if (vpb_fileSize / 1024 > 1) {
+ if (((vpb_fileSize / 1024) / 1024) > 1) {
+ vpb_fileSize = (Math.round(((vpb_fileSize / 1024) / 1024) * 100) / 100);
+ var vpb_actual_fileSize = vpb_fileSize + " GB";
+ } else {
+ vpb_fileSize = (Math.round((vpb_fileSize / 1024) * 100) / 100)
+ var vpb_actual_fileSize = vpb_fileSize + " MB";
+ }
+ } else {
+ vpb_fileSize = (Math.round(vpb_fileSize * 100) / 100)
+ var vpb_actual_fileSize = vpb_fileSize + " KB";
+ }
+
+ //Check and display the date that files were last modified
+ var vpb_date_last_modified = new Date(this.vpb_files[i].lastModifiedDate);
+ var dd = vpb_date_last_modified.getDate();
+ var mm = vpb_date_last_modified.getMonth() + 1;
+ var yyyy = vpb_date_last_modified.getFullYear();
+ var vpb_date_last_modified_file = dd + '/' + mm + '/' + yyyy;
+
+ //File Display Classes
+ if (vpb_class == 'vpb_blue') {
+ var new_classc = 'vpb_white';
+ } else {
+ var new_classc = 'vpb_blue';
+ }
+
+
+ if (typeof this.vpb_files[i] != undefined && this.vpb_files[i].name != "") {
+ //Check for the type of file browsed so as to represent each file with the appropriate file icon
+
+ if (vpb_file_to_add == "jpg" || vpb_file_to_add == "JPG" || vpb_file_to_add == "jpeg" || vpb_file_to_add == "JPEG" || vpb_file_to_add == "gif" || vpb_file_to_add == "GIF" || vpb_file_to_add == "png" || vpb_file_to_add == "PNG") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "doc" || vpb_file_to_add == "docx" || vpb_file_to_add == "rtf" || vpb_file_to_add == "DOC" || vpb_file_to_add == "DOCX") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "pdf" || vpb_file_to_add == "PDF") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "txt" || vpb_file_to_add == "TXT" || vpb_file_to_add == "RTF") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "php") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "css") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "js") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "html" || vpb_file_to_add == "HTML" || vpb_file_to_add == "htm" || vpb_file_to_add == "HTM") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "setup") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "video") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "real") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "psd") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "fla") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "xls" || vpb_file_to_add == "xlsx") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "swf") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "eps") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "exe") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "binary") {
+ vpb_file_icon = '
';
+ } else if (vpb_file_to_add == "zip") {
+ vpb_file_icon = '
';
+ } else {
+ vpb_file_icon = '
';
+ }
+ var split = this.vpb_files[i].name.split('.');
+ var filename = split[0];
+ var extension = split[1];
+ if (filename.length > 15) {
+ filename = filename.substring(0, 10) + '[...]';
+ }
+ var result = filename + '.' + extension;
+ //Assign browsed files to a variable so as to later display them below
+ vpb_added_files_displayer += '' + vpb_file_icon + ' ' + result + ' | Uploadbereit | ' + vpb_actual_fileSize + ' | Entfernen |
';
+
+ }
+ }
+ //Display browsed files on the screen to the user who wants to upload them
+ $("#add_files").append(vpb_added_files_displayer);
+ $("#added_class").val(new_classc);
+ }
+ }
+
+ //File Reader
+ vpb_multiple_file_uploader.prototype.vpb_read_file = function(vpb_e) {
+ if (vpb_e.target.files) {
+ self.vpb_show_added_files(vpb_e.target.files);
+ self.vpb_browsed_files.push(vpb_e.target.files);
+ } else {
+ alert('Sorry, a file you have specified could not be read at the moment. Thank You!');
+ }
+ }
+
+
+ function addEvent(type, el, fn) {
+ if (window.addEventListener) {
+ el.addEventListener(type, fn, false);
+ } else if (window.attachEvent) {
+ var f = function() {
+ fn.call(el, window.event);
+ };
+ el.attachEvent('on' + type, f)
+ }
+ }
+
+
+ //Get the ids of all added files and also start the upload when called
+ vpb_multiple_file_uploader.prototype.vpb_starter = function() {
+ if (window.File && window.FileReader && window.FileList && window.Blob) {
+ var vpb_browsed_file_ids = $("#" + this.vpb_settings.vpb_form_id).find("input[type='file']").eq(0).attr("id");
+ document.getElementById(vpb_browsed_file_ids).addEventListener("change", this.vpb_read_file, false);
+ document.getElementById(this.vpb_settings.vpb_form_id).addEventListener("submit", this.vpb_submit_added_files, true);
+ } else {
+ alert(vpb_msg);
+ }
+ }
+
+ //Call the uploading function when click on the upload button
+ vpb_multiple_file_uploader.prototype.vpb_submit_added_files = function() {
+ self.vpb_upload_bgin();
+ }
+
+ //Start uploads
+ vpb_multiple_file_uploader.prototype.vpb_upload_bgin = function() {
+
+ if (this.vpb_browsed_files.length > 0) {
+ for (var k = 0; k < this.vpb_browsed_files.length; k++) {
+ var file = this.vpb_browsed_files[k];
+ this.vasPLUS(file, 0);
+ }
+ } else {
+ // Else Zweig ergänzt A. Schwarz. Wenn keine Dateien zum hochladen sind, dann Insert mit den Daten machen
+ this.vasINSERT();
+ }
+ }
+
+ //Main file uploader
+
+ // A. Schwarz: Insert mit File
+ vpb_multiple_file_uploader.prototype.vasPLUS = function(file, file_counter) {
+ if (typeof file[file_counter] != undefined && file[file_counter] != '') {
+ //Use the file names without their extensions as their ids
+ var files_name_without_extensions = file[file_counter].name.substr(0, file[file_counter].name.lastIndexOf('.')) || file[file_counter].name;
+ var ids = files_name_without_extensions.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '');
+ var vpb_browsed_file_ids = $("#" + this.vpb_settings.vpb_form_id).find("input[type='file']").eq(0).attr("id");
+
+ var removed_file = $("#" + ids).val();
+
+ if (removed_file != "" && removed_file != undefined && removed_file == ids) {
+ self.vasPLUS(file, file_counter + 1);
+ } else {
+ var dataString = new FormData();
+ dataString.append('upload_file', file[file_counter]);
+ dataString.append('upload_file_ids', ids);
+
+ var datum = document.getElementById("datum").value;
+ var beschreibung = document.getElementById("beschreibung").value;
+ var firma = document.getElementById("firma").value;
+ var art = $("#art").val();
+ var betrag = document.getElementById("betrag").value;
+ var bemerkung = document.getElementById("bemerkung").value;
+ if(art == 'A'){
+ betrag=betrag*(-1);
+ }
+ // fid beim Bearbeiten von Finanzen
+ var fid_edit = document.getElementById("fid").value;
+
+ dataString.append('datum', datum);
+ dataString.append('beschreibung', beschreibung);
+ dataString.append('firma', firma);
+ dataString.append('art', art);
+ dataString.append('betrag', betrag);
+ dataString.append('bemerkung', bemerkung);
+ dataString.append('fid_edit', fid_edit);
+ dataString.append('function', 'save_with_files');
+
+
+ $.ajax({
+ type: "POST",
+ url: this.vpb_settings.vpb_server_url,
+ data: dataString,
+ cache: false,
+ contentType: false,
+ processData: false,
+ beforeSend: function() {
+ $("#uploading_" + ids).html('');
+ $("#remove" + ids).html('Uploading...
');
+ },
+ success: function(response) {
+ var a = response.split('|***|');
+
+ // Länge der Zeit berechnen, wie lange die Messagebox angezeigt wird. Jedes File wird zumindest optisch einzeln hochgeladen.
+ var waitempty_chk = ($('[id^=add_fileID]').length*2000)+3000;
+
+ if(waitempty_chk >5000 ){
+ var waitempty = waitempty_chk;
+ }else{
+ // Mindestens aber 5 Sekunden
+ var waitempty = 5000;
+ }
+ setTimeout(function() {
+// document.getElementById("datum").value = "";
+// document.getElementById("verlag").value = "";
+// document.getElementById("anz_lizenzen").value = "";
+// document.getElementById("vasplus_multiple_files").value = "";
+// document.getElementById("streamlizenz").checked = false;
+// var $el = $('#vasplus_multiple_files');
+// $el.wrap('