init
This commit is contained in:
285
module/tasks/show_tasks.inc.php
Normal file
285
module/tasks/show_tasks.inc.php
Normal file
@@ -0,0 +1,285 @@
|
||||
<?php
|
||||
|
||||
$task_group_id = 0;
|
||||
if(isset($_GET['task_group_id'])){
|
||||
$task_group_id = $_GET['task_group_id'];
|
||||
if($task_group_id == "-1/"){
|
||||
$task_group_id = "-1";
|
||||
}
|
||||
}
|
||||
|
||||
function get_task_groups($task_group_id){
|
||||
$query_group = "SELECT * FROM task_group WHERE main_contact_id = ".$GLOBALS['main_contact']['id'];
|
||||
$result_group = @mysqli_query($GLOBALS['mysql_con'], $query_group);
|
||||
while($row_group = @mysqli_fetch_array($result_group)){
|
||||
echo "<li data-id='".$row_group['id']."'><svg xmlns='http://www.w3.org/2000/svg' width='17.5' height='18.421' viewBox='0 0 17.5 18.421'>
|
||||
<g id='bx-building-house' transform='translate(-3 -3)'>
|
||||
<path id='Pfad_20' data-name='Pfad 20' d='M18.658,3H9.448A1.844,1.844,0,0,0,7.605,4.842V9.987L3.27,14.322A.921.921,0,0,0,3.921,15.9V20.5a.921.921,0,0,0,.921.921H19.579A.921.921,0,0,0,20.5,20.5V4.842A1.844,1.844,0,0,0,18.658,3ZM11.29,19.579H5.763V14.434l2.763-2.763,2.763,2.763Zm7.369,0H13.132V15.9a.92.92,0,0,0,.651-1.573L9.448,9.987V4.842h9.211Z' transform='translate(0)' />
|
||||
<path id='Pfad_21' data-name='Pfad 21' d='M14.184,9h1.842v1.842H14.184Zm3.684,0h1.842v1.842H17.869Zm0,3.713h1.842v1.814H17.869Zm0,3.656h1.842v1.842H17.869ZM10.5,17.29h1.842v1.842H10.5Z' transform='translate(-2.895 -2.316)' />
|
||||
</g>
|
||||
</svg>
|
||||
<a href='?task_group_id=".$row_group['id']."'>".$row_group['description']."</a> <span class='number count_group_".$row_group['id']."'></span> <span data-id='".$row_group['id']."' class='delete_group'><svg xmlns='http://www.w3.org/2000/svg' width='27' height='31.5' viewBox='0 0 27 31.5'>
|
||||
<g id='delete' transform='translate(-4.5 -2.25)'>
|
||||
<path id='Pfad_276' data-name='Pfad 276' d='M13.5,13.5h2.25V27H13.5Z'/>
|
||||
<path id='Pfad_277' data-name='Pfad 277' d='M20.25,13.5H22.5V27H20.25Z'/>
|
||||
<path id='Pfad_278' data-name='Pfad 278' d='M4.5,6.75V9H6.75V31.5A2.25,2.25,0,0,0,9,33.75H27a2.25,2.25,0,0,0,2.25-2.25V9H31.5V6.75ZM9,31.5V9H27V31.5Z'/>
|
||||
<path id='Pfad_279' data-name='Pfad 279' d='M13.5,2.25h9V4.5h-9Z'/>
|
||||
</g>
|
||||
</svg></span></li>";
|
||||
}
|
||||
}
|
||||
|
||||
function get_contact_from_id($main_contact_id){
|
||||
$query_select = "SELECT * FROM main_contact WHERE id = '".$main_contact_id."'";
|
||||
$result_select = @mysqli_query($GLOBALS['mysql_con'], $query_select);
|
||||
$row_select = @mysqli_fetch_array($result_select);
|
||||
return $row_select;
|
||||
}
|
||||
|
||||
function send_mail($recipient_id, $task_id){
|
||||
$query_select = "SELECT * FROM tasks WHERE id = '".$task_id."'";
|
||||
$result_select = @mysqli_query($GLOBALS['mysql_con'], $query_select);
|
||||
$row_select = @mysqli_fetch_array($result_select);
|
||||
|
||||
$due_date = new DateTime($row_select['due_date']);
|
||||
|
||||
$recipient = get_contact_from_id($recipient_id);
|
||||
$sender = get_contact_from_id($row_select['modified_user']);
|
||||
|
||||
$subject = "Neuer Task im Intranet";
|
||||
$message .= "<h1>Es wurde in neuer Task im Intranet zugewiesen.</h1>" . "\n";
|
||||
$message .= "<strong>Titel:</strong> " .$row_select['title']. "\n";
|
||||
$message .= "<strong>Beschreibung:</strong> " .$row_select['description']. "\n";
|
||||
$message .= "<strong>Fälligkeitsdatum</strong> " .$due_date->format('d.m.Y'). "\n";
|
||||
$message .= "<strong>Erstellt von:</strong> " .$sender['name']. "\n\n";
|
||||
$message .= "<a href='https://".$_SERVER['HTTP_HOST']."'>Zum Intranet</a>";
|
||||
|
||||
if (mail_create($subject,
|
||||
$message,
|
||||
'tasks@ihnen-group.de',
|
||||
$recipient["email"],
|
||||
'Tasks Intranet',
|
||||
$recipient["name"],
|
||||
FALSE,
|
||||
"",
|
||||
"",
|
||||
"", 0, "", "")) {
|
||||
|
||||
mail_send();
|
||||
clearstatcache();
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_POST['submit_edit'])){
|
||||
$current_date = new DateTime();
|
||||
$query = "UPDATE tasks SET
|
||||
title = '".$_POST['title']."',
|
||||
description = '".$_POST['description']."',
|
||||
modified_date = '".$current_date->format('Y-m-d')."',
|
||||
due_date = '".$_POST['due_date']."'
|
||||
WHERE id = ".$_POST['task_id']."
|
||||
LIMIT 1";
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
|
||||
|
||||
$contacts = $_POST['task_persons'];
|
||||
$contact = explode(',', $contacts);
|
||||
if(!empty($contact) && gettype($contact) == 'array') {
|
||||
foreach($contact as $key => $contact_value){
|
||||
$query_select = "SELECT * FROM task_contact_link WHERE task_id = '".$_POST['task_id']."' AND main_contact_id = '".$contact_value."'";
|
||||
$result_select = @mysqli_query($GLOBALS['mysql_con'], $query_select);
|
||||
$row_select = @mysqli_fetch_array($result_select);
|
||||
if(!$row_select){
|
||||
send_mail($contact_value, $_POST['task_id']);
|
||||
}
|
||||
}
|
||||
$deleteLink = @mysqli_query($GLOBALS["mysql_con"], "DELETE FROM task_contact_link WHERE task_id = '".$_POST['task_id']."'");
|
||||
foreach($contact as $key => $contact_value){
|
||||
$query = "INSERT INTO task_contact_link
|
||||
(task_id, main_contact_id)
|
||||
VALUES (
|
||||
" . $_POST['task_id'] . ",
|
||||
'" . $contact_value . "'
|
||||
)";
|
||||
@mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_POST['submit_task'])){
|
||||
$modified_date = new DateTime();
|
||||
$insertquery = "INSERT INTO tasks
|
||||
(title, description, modified_date, modified_user, due_date, status, task_group_id)
|
||||
VALUES (
|
||||
'" . $_POST['title'] . "',
|
||||
'',
|
||||
'" . $modified_date->format('Y-m-d') . "',
|
||||
'" . $GLOBALS['main_contact']['id'] . "',
|
||||
'".$modified_date->format('Y-m-d')."',
|
||||
'0',
|
||||
'" . $task_group_id . "'
|
||||
)";
|
||||
@mysqli_query($GLOBALS['mysql_con'], $insertquery);
|
||||
$input_id = mysqli_insert_id($GLOBALS['mysql_con']);
|
||||
|
||||
$contactquery = "INSERT INTO task_contact_link
|
||||
(task_id, main_contact_id)
|
||||
VALUES (
|
||||
" . $input_id . ",
|
||||
" . $GLOBALS['main_contact']['id'] . "
|
||||
)";
|
||||
@mysqli_query($GLOBALS['mysql_con'], $contactquery);
|
||||
$_POST = array();
|
||||
}
|
||||
|
||||
if(isset($_POST['submit_list'])){
|
||||
$insertquery = "INSERT INTO task_group
|
||||
(description, main_contact_id)
|
||||
VALUES (
|
||||
'" . $_POST['list_description'] . "',
|
||||
'" . $GLOBALS['main_contact']['id'] . "'
|
||||
)";
|
||||
@mysqli_query($GLOBALS['mysql_con'], $insertquery);
|
||||
$_POST = array();
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class='tasks'>
|
||||
<div class="tasks_container">
|
||||
<div class='tasks_groups_wrapper'>
|
||||
<ul>
|
||||
<li data-id='0'><a href='?task_group_id=0'>Aufgaben <span class='number count_group_0'></span></a></li>
|
||||
<li data-id='-1'><a href='?task_group_id=-1/'>Mir zugewiesen <span class='number count_group_-1'></span></a></li>
|
||||
<?= get_task_groups($task_group_id, 'list'); ?>
|
||||
</ul>
|
||||
<p class='new_list'>+ Neue Liste erstellen</p>
|
||||
<form method='post' class='create_list' style='display: none'>
|
||||
<input class="add_task"type='text' required name='list_description' placeholder='Name der neuen Liste'>
|
||||
<input class="send_task" type='submit' name='submit_list' value='Liste hinzufügen'>
|
||||
</form>
|
||||
</div>
|
||||
<div class='tasks_wrapper'>
|
||||
<div class="mobile_menu_toggle">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="21" viewBox="0 0 30 21">
|
||||
<g id="menu-left" transform="translate(-3 -7.5)">
|
||||
<path id="Pfad_282" data-name="Pfad 282" d="M3,8.992A1.492,1.492,0,0,1,4.492,7.5H16.507a1.493,1.493,0,1,1,0,2.985H4.492A1.492,1.492,0,0,1,3,8.992Z"/>
|
||||
<path id="Pfad_283" data-name="Pfad 283" d="M3,18a1.492,1.492,0,0,1,1.492-1.492H31.507a1.493,1.493,0,0,1,0,2.985H4.492A1.492,1.492,0,0,1,3,18Z"/>
|
||||
<path id="Pfad_284" data-name="Pfad 284" d="M4.492,25.515a1.492,1.492,0,1,0,0,2.985H22.507a1.493,1.493,0,0,0,0-2.985Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<h2 class='task_group_title'>Aufgaben</h2>
|
||||
<div class="tasks_list_overflow">
|
||||
<div class="task_item_list opened_tasks">
|
||||
</div>
|
||||
<p class="task_done_title">Erledigt <span class='count_tasks'></span></p>
|
||||
<div class="task_item_list done closed_tasks">
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if($task_group_id != -1){ ?>
|
||||
<form method='post' class='create_task'>
|
||||
<input class="add_task"type='text' required name='title' placeholder='Neue Aufgabe erstellen'>
|
||||
<input class="send_task" type='submit' name='submit_task' value='Aufgabe hinzufügen'>
|
||||
</form>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<div class='tasks_content_wrapper'>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
|
||||
$('.task_item_list').on('click', '.task_item', function() {
|
||||
var task_id = $(this).attr('data-id');
|
||||
$('.task_item').removeClass('active_item');
|
||||
$('.tasks_content_wrapper').addClass("change_opacity");
|
||||
$(this).addClass('active_item');
|
||||
ajax_action(task_id, 'load_card', 0, true, ".tasks_content_wrapper ");
|
||||
});
|
||||
$('.task_item_list').on('click', '.task_item .complete_task', function() {
|
||||
var task_id = $(this).parent().attr('data-id');
|
||||
var complete = $(this).parent().attr('data-complete');
|
||||
ajax_action(task_id, 'complete_task', complete, false);
|
||||
$(this).addClass("animated_check");
|
||||
setTimeout(function() {
|
||||
ajax_action(<?= $task_group_id ?>, 'get_tasks', 0, true, ".opened_tasks");
|
||||
ajax_action(<?= $task_group_id ?>, 'get_tasks', 1, true, ".closed_tasks");
|
||||
ajax_action(<?= $task_group_id ?>, 'count_tasks', 1, true, ".count_tasks");
|
||||
ajax_action(<?= $task_group_id ?>, 'count_tasks', 0, true, ".count_group_<?= $task_group_id?>");
|
||||
}, 850);
|
||||
});
|
||||
$(".new_list").click(function() {
|
||||
$(".create_list").toggle();
|
||||
});
|
||||
|
||||
$('.tasks_content_wrapper').on('click', 'button#back', function() {
|
||||
$(".tasks_content_wrapper").text("");
|
||||
$('.tasks_content_wrapper').removeClass("change_opacity");
|
||||
|
||||
});
|
||||
|
||||
$(".delete_group").click(function() {
|
||||
var group_id = $(this).attr('data-id');
|
||||
if (confirm("Sind Sie sicher, dass Sie diese Gruppe und alle beeinhalteten Tasks löschen möchten?")) {
|
||||
ajax_action(group_id, 'delete_group', 0, false);
|
||||
location.reload();
|
||||
}
|
||||
});
|
||||
|
||||
$('.tasks_content_wrapper').on('click', '.delete_task', function() {
|
||||
var task_id = $(this).attr('data-id');
|
||||
ajax_action(task_id, 'delete_task', 0, false);
|
||||
location.reload();
|
||||
});
|
||||
|
||||
$("p.task_done_title").click(function() {
|
||||
$(".done").children(".task_item").toggle();
|
||||
});
|
||||
|
||||
$(".mobile_menu_toggle").click(function() {
|
||||
$(".tasks_groups_wrapper").toggle();
|
||||
});
|
||||
|
||||
function ajax_action(task_id, action, status = 0, show, content_class = 0){
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "/module/tasks/tasks_ajax.inc.php",
|
||||
data: {
|
||||
task_id : task_id,
|
||||
action : action,
|
||||
status : status,
|
||||
main_contact_id : <?= $GLOBALS['main_contact']['id'] ?>,
|
||||
},
|
||||
success: function(data){
|
||||
if(show == true){
|
||||
$(content_class).html(data)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
var urlParams = new URLSearchParams(window.location.search);
|
||||
var paramValue = 0;
|
||||
if (urlParams.has('task_group_id')) {
|
||||
paramValue = urlParams.get('task_group_id');
|
||||
}
|
||||
var targetLi = $('li[data-id="' + paramValue + '"]');
|
||||
var liText = targetLi.children().text();
|
||||
$(".task_group_title").text(liText);
|
||||
targetLi.addClass('active_list');
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
ajax_action(<?= $task_group_id ?>, 'get_tasks', 0, true, ".opened_tasks");
|
||||
ajax_action(<?= $task_group_id ?>, 'get_tasks', 1, true, ".closed_tasks");
|
||||
ajax_action(<?= $task_group_id ?>, 'count_tasks', 1, true, ".count_tasks");
|
||||
$(".tasks_groups_wrapper li").each(function(){
|
||||
var task_group_id = $(this).attr('data-id');
|
||||
ajax_action(task_group_id, 'count_tasks', 0, true, ".count_group_"+task_group_id);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
131
module/tasks/show_tasks_preview.inc.php
Normal file
131
module/tasks/show_tasks_preview.inc.php
Normal file
@@ -0,0 +1,131 @@
|
||||
<?php
|
||||
|
||||
function get_task_groups(){
|
||||
$query_group = "SELECT * FROM task_group WHERE main_contact_id = ".$GLOBALS['main_contact']['id'];
|
||||
$result_group = @mysqli_query($GLOBALS['mysql_con'], $query_group);
|
||||
echo "<select class='change_task_group'>";
|
||||
echo "<option value='-2'>Alle Tasks</option>";
|
||||
echo "<option value='0'>Aufgaben</option>";
|
||||
echo "<option value='-1'>Mir zugewiesen</option>";
|
||||
while($row_group = @mysqli_fetch_array($result_group)){
|
||||
echo "<option value='".$row_group['id']."'>".$row_group['description']."</option>";
|
||||
}
|
||||
echo "</select>";
|
||||
}
|
||||
|
||||
if(isset($_POST['submit_task'])){
|
||||
$modified_date = new DateTime();
|
||||
$insertquery = "INSERT INTO tasks
|
||||
(title, description, modified_date, modified_user, due_date, status, task_group_id)
|
||||
VALUES (
|
||||
'" . $_POST['title'] . "',
|
||||
'',
|
||||
'" . $modified_date->format('Y-m-d') . "',
|
||||
'" . $GLOBALS['main_contact']['id'] . "',
|
||||
'',
|
||||
'0',
|
||||
'" . $_POST['task_group_id_input'] . "'
|
||||
)";
|
||||
@mysqli_query($GLOBALS['mysql_con'], $insertquery);
|
||||
$input_id = mysqli_insert_id($GLOBALS['mysql_con']);
|
||||
|
||||
$contactquery = "INSERT INTO task_contact_link
|
||||
(task_id, main_contact_id)
|
||||
VALUES (
|
||||
" . $input_id . ",
|
||||
" . $GLOBALS['main_contact']['id'] . "
|
||||
)";
|
||||
@mysqli_query($GLOBALS['mysql_con'], $contactquery);
|
||||
$_POST = array();
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class='tasks'>
|
||||
<div class="tasks_container_dashboard">
|
||||
<div class="title_with_icon">
|
||||
<div class="textcontent">
|
||||
<h2>Tasks</h2>
|
||||
</div>
|
||||
<a href="/intranet/de/tasks/">
|
||||
<div class="svg_content">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
|
||||
<g id="dot-circle-line" transform="translate(-2 -2)">
|
||||
<path id="Pfad_280" data-name="Pfad 280" d="M18,11a7,7,0,1,1-7,7,7,7,0,0,1,7-7"/>
|
||||
<path id="Pfad_281" data-name="Pfad 281" d="M18,34A16,16,0,1,1,34,18,16,16,0,0,1,18,34ZM18,4A14,14,0,1,0,32,18,14,14,0,0,0,18,4Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="select_group_and_toggle_creation_form">
|
||||
<?= get_task_groups()?>
|
||||
<div class="add_svg_content">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path id="add" d="M19.125,16.875V9h-2.25v7.875H9v2.25h7.875V27h2.25V19.125H27v-2.25Z" transform="translate(-9 -9)"/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<div class='tasks_wrapper_dashboard'>
|
||||
<div class="tasks_list_overflow">
|
||||
<div class="task_item_list">
|
||||
</div>
|
||||
</div>
|
||||
<form method='post' class='create_task_dashboard'>
|
||||
<input type='hidden' name='task_group_id_input' class='task_group_id_input' value='0'>
|
||||
<input class="add_task" type='text' required name='title' placeholder='Neue Aufgabe erstellen'>
|
||||
<input class="send_task" type='submit' name='submit_task' value='Aufgabe hinzufügen'>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('.task_item_list').on('click', '.task_item .complete_task', function() {
|
||||
var task_id = $(this).parent().attr('data-id');
|
||||
var complete = $(this).parent().attr('data-complete');
|
||||
var selectedValue = $(".change_task_group").val();
|
||||
ajax_action(task_id, 'complete_task', complete, false);
|
||||
$(this).addClass("animated_check");
|
||||
setTimeout(function() {
|
||||
ajax_action(selectedValue, 'get_tasks', 0, true);
|
||||
}, 850);
|
||||
});
|
||||
|
||||
function ajax_action(task_id, action, status = 0, show){
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: "/module/tasks/tasks_ajax.inc.php",
|
||||
data: {
|
||||
task_id : task_id,
|
||||
action : action,
|
||||
status : status,
|
||||
main_contact_id : <?= $GLOBALS['main_contact']['id'] ?>,
|
||||
},
|
||||
success: function(data){
|
||||
if(show == true){
|
||||
$('.task_item_list').html(data)
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(".change_task_group").on("change", function() {
|
||||
var selectedValue = $(this).val();
|
||||
$(".task_group_id_input").val(selectedValue);
|
||||
ajax_action(selectedValue, 'get_tasks', 0, true);
|
||||
$(".add_svg_content").show();
|
||||
if(selectedValue == "-1" || selectedValue == "-2"){
|
||||
$(".add_svg_content").hide();
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
ajax_action(-2, 'get_tasks', 0, true);
|
||||
$(".add_svg_content").hide();
|
||||
});
|
||||
|
||||
$(".add_svg_content").click(function() {
|
||||
$("form.create_task_dashboard").slideToggle();
|
||||
});
|
||||
</script>
|
||||
211
module/tasks/tasks_ajax.inc.php
Normal file
211
module/tasks/tasks_ajax.inc.php
Normal file
@@ -0,0 +1,211 @@
|
||||
<?php
|
||||
session_start();
|
||||
$currDir = __DIR__;
|
||||
$rootDir = dirname(dirname($currDir));
|
||||
$mysydeDir = $rootDir . '/mysyde';
|
||||
|
||||
require_once($rootDir . '/vendor/autoload.php');
|
||||
require_once($rootDir . "/mysyde/frontend/frontend_functions.inc.php");
|
||||
|
||||
$envDir = $rootDir . '/config';
|
||||
$envFilePath = $envDir . '/.env';
|
||||
if (is_dir($envDir) && file_exists($envFilePath) && is_file($envFilePath) && is_readable($envFilePath)) {
|
||||
$dotenv = new \Dotenv\Dotenv($envDir);
|
||||
$dotenv->load();
|
||||
}
|
||||
$common = $mysydeDir ."/common/common_functions.inc.php";
|
||||
require_once($common);
|
||||
|
||||
$connEnv = (local_environment()) ? $mysydeDir."/dc.config.php" : $mysydeDir."/dc-server.config.php";
|
||||
|
||||
require_once($connEnv);
|
||||
|
||||
db_connect();
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
$task_id = $_POST['task_id'];
|
||||
switch ($_POST['action']) {
|
||||
case 'complete_task':
|
||||
complete_task($task_id, $_POST['status']);
|
||||
break;
|
||||
case 'load_card':
|
||||
load_card($task_id);
|
||||
break;
|
||||
case 'delete_group':
|
||||
delete_group($task_id);
|
||||
break;
|
||||
case 'delete_task':
|
||||
delete_task($task_id);
|
||||
break;
|
||||
case 'get_tasks':
|
||||
get_tasks_ajax($task_id, $_POST['status'], $_POST['main_contact_id']);
|
||||
break;
|
||||
case 'count_tasks':
|
||||
count_tasks_ajax($task_id, $_POST['status'], $_POST['main_contact_id']);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function complete_task($task_id, $status){
|
||||
$query = "UPDATE tasks SET
|
||||
status = ".$status."
|
||||
WHERE id = ".$task_id."
|
||||
LIMIT 1";
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
}
|
||||
|
||||
function delete_group($group_id){
|
||||
$query_delete = "DELETE FROM task_group WHERE id = ".$group_id;
|
||||
$result_delete = @mysqli_query($GLOBALS['mysql_con'], $query_delete);
|
||||
|
||||
|
||||
$query = "SELECT * FROM tasks WHERE task_group_id = ".$group_id;
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
|
||||
while($row = @mysqli_fetch_array($result)){
|
||||
$query_link = "DELETE FROM task_contact_link WHERE task_id = ".$row['id'];
|
||||
$result_link = @mysqli_query($GLOBALS['mysql_con'], $query_link);
|
||||
|
||||
$query_task = "DELETE FROM tasks WHERE id = ".$row['id'];
|
||||
$result_task = @mysqli_query($GLOBALS['mysql_con'], $query_task);
|
||||
}
|
||||
}
|
||||
|
||||
function delete_task($task_id){
|
||||
$query_link = "DELETE FROM task_contact_link WHERE task_id = ".$task_id;
|
||||
$result_link = @mysqli_query($GLOBALS['mysql_con'], $query_link);
|
||||
|
||||
$query_task = "DELETE FROM tasks WHERE id = ".$task_id;
|
||||
$result_task = @mysqli_query($GLOBALS['mysql_con'], $query_task);
|
||||
}
|
||||
|
||||
function get_main_contact($main_contact_id){
|
||||
$query = "SELECT * FROM main_contact WHERE id = ".$main_contact_id;
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
$row = @mysqli_fetch_array($result);
|
||||
return $row;
|
||||
}
|
||||
|
||||
function get_tasks_ajax($task_group_id, $status, $main_contact_id){
|
||||
$query = "SELECT tasks.* FROM tasks LEFT JOIN task_contact_link ON tasks.id = task_contact_link.task_id WHERE main_contact_id = ".$main_contact_id . " AND modified_user = ".$main_contact_id." AND task_group_id = ".$task_group_id . " AND status = ".$status;
|
||||
if($task_group_id == -1){
|
||||
$query = "SELECT tasks.* FROM tasks LEFT JOIN task_contact_link ON tasks.id = task_contact_link.task_id WHERE main_contact_id = ".$main_contact_id . " AND modified_user != ".$main_contact_id." AND status = ".$status;
|
||||
}
|
||||
if($task_group_id == -2){
|
||||
$query = "SELECT tasks.* FROM tasks LEFT JOIN task_contact_link ON tasks.id = task_contact_link.task_id WHERE main_contact_id = ".$main_contact_id . " AND status = ".$status;
|
||||
}
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
$i = 0;
|
||||
while($row = @mysqli_fetch_array($result)){
|
||||
$class = '';
|
||||
$complete = 1;
|
||||
if($status == 1){
|
||||
$complete = 0;
|
||||
}
|
||||
if($row['modified_user'] != $main_contact_id){
|
||||
$class = 'asap';
|
||||
}
|
||||
echo "<div class='task_item ".$class."' data-complete='".$complete."' data-id='".$row['id']."'>".$row['title']."<span class='complete_task'></span></div>";
|
||||
$i++;
|
||||
}
|
||||
if($i == 0 && $status == 0){
|
||||
echo "<div class=''>Aktuell sind keine Tasks vorhanden.</div>";
|
||||
}
|
||||
}
|
||||
|
||||
function count_tasks_ajax($task_group_id, $status, $main_contact_id){
|
||||
$query = "SELECT tasks.* FROM tasks LEFT JOIN task_contact_link ON tasks.id = task_contact_link.task_id WHERE main_contact_id = ".$main_contact_id . " AND modified_user = ".$main_contact_id." AND task_group_id = ".$task_group_id . " AND status = ".$status;
|
||||
if($task_group_id == -1){
|
||||
$query = "SELECT tasks.* FROM tasks LEFT JOIN task_contact_link ON tasks.id = task_contact_link.task_id WHERE main_contact_id = ".$main_contact_id . " AND modified_user != ".$main_contact_id." AND status = ".$status;
|
||||
}
|
||||
if($task_group_id == -2){
|
||||
$query = "SELECT tasks.* FROM tasks LEFT JOIN task_contact_link ON tasks.id = task_contact_link.task_id WHERE main_contact_id = ".$main_contact_id . " AND status = ".$status;
|
||||
}
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
$count = 0;
|
||||
while($row = @mysqli_fetch_array($result)){
|
||||
$count++;
|
||||
}
|
||||
echo $count;
|
||||
}
|
||||
|
||||
function create_contact_select($task_id){
|
||||
$query = "SELECT * FROM main_contact ORDER BY name";
|
||||
$contact_result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
|
||||
$preselect = array();
|
||||
|
||||
$query = "SELECT * FROM task_contact_link WHERE task_id = ".$task_id;
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
|
||||
while($row = @mysqli_fetch_array($result)){
|
||||
array_push($preselect,$row['main_contact_id']);
|
||||
}
|
||||
?>
|
||||
<div class="contact bc-select-ui ui fluid multiple search selection dropdown" style="clear:both;display:inline-block;">
|
||||
<input id='task_persons' class='code' type='hidden' name='task_persons'>
|
||||
<i class="dropdown icon"></i>
|
||||
<div class="default text">Person hinzufügen</div>
|
||||
<div class="menu">
|
||||
<?
|
||||
while($contact = @mysqli_fetch_array($contact_result)) {
|
||||
echo "<div class=\"item\" data-value=\"{$contact['id']}\">".$contact["name"]."</div>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="/plugins/jquery/jquery-3.5.1.min.js"></script>
|
||||
<script type="text/javascript" src="/plugins/Semantic-UI-master/semantic.min.js"></script>
|
||||
<!-- <link rel="stylesheet" type="text/css" href="/plugins/Semantic-UI-master/bc-semantic.css?time=<?= filemtime($_SERVER['DOCUMENT_ROOT'] . '/plugins/Semantic-UI-master/bc-semantic.css')?>"> -->
|
||||
<script>
|
||||
var $y = jQuery.noConflict();
|
||||
$y( document ).ready(function() {
|
||||
$y('.contact.ui.fluid.multiple.dropdown').dropdown('set selected', <?= json_encode($preselect) ?>);
|
||||
});
|
||||
</script>
|
||||
<?
|
||||
}
|
||||
function load_card($task_id){
|
||||
$query = "SELECT * FROM tasks WHERE id = ".$task_id;
|
||||
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
|
||||
$row = @mysqli_fetch_array($result);
|
||||
$due_date = new DateTime($row['due_date']);
|
||||
$modified_date = new DateTime($row['modified_date']);
|
||||
?>
|
||||
<button id="back">Zurück</button>
|
||||
<div class='task_item_card'>
|
||||
<h4 class='task_item_card_title'><span class='complete_task'></span><?= $row['title']?></h4>
|
||||
<p class='task_item_card_text'><?= $row['description']?></p>
|
||||
<div class='task_item_card_info'>
|
||||
<span>von: <?= get_main_contact($row['modified_user'])['name']?></span>
|
||||
<span>erstellt am: <?= $modified_date->format('d.m.Y')?></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='due_date'>Fälligkeit: <?= $due_date->format('d.m.Y')?></div>
|
||||
<form method='post' class="edit_task">
|
||||
<input type='hidden' name='task_id' value='<?= $task_id?>'>
|
||||
<div class="form_group">
|
||||
<label for="due_date">Fälligkeit:</label>
|
||||
<input type='date' name='due_date' value='<?= $due_date->format('Y-m-d')?>'>
|
||||
</div>
|
||||
<!-- <input type='datetime-local' name='memory_date'> -->
|
||||
<?= create_contact_select($row['id'])?>
|
||||
<div class="form_group">
|
||||
<label for="due_date">Aufgabenname:</label>
|
||||
<input type='text' name='title' value='<?= $row['title']?>' placeholder='Titel'>
|
||||
</div>
|
||||
<textarea name='description' placeholder='Notiz hinzufügen'><?= $row['description']?></textarea>
|
||||
<input type='submit' class='button_main' name='submit_edit' value='Änderungen speichern'>
|
||||
</form>
|
||||
<div data-id='<?= $task_id ?>' class='delete_task'><svg xmlns="http://www.w3.org/2000/svg" width="27" height="31.5" viewBox="0 0 27 31.5">
|
||||
<g id="delete" transform="translate(-4.5 -2.25)">
|
||||
<path id="Pfad_276" data-name="Pfad 276" d="M13.5,13.5h2.25V27H13.5Z"/>
|
||||
<path id="Pfad_277" data-name="Pfad 277" d="M20.25,13.5H22.5V27H20.25Z"/>
|
||||
<path id="Pfad_278" data-name="Pfad 278" d="M4.5,6.75V9H6.75V31.5A2.25,2.25,0,0,0,9,33.75H27a2.25,2.25,0,0,0,2.25-2.25V9H31.5V6.75ZM9,31.5V9H27V31.5Z"/>
|
||||
<path id="Pfad_279" data-name="Pfad 279" d="M13.5,2.25h9V4.5h-9Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
</div>
|
||||
<?php }
|
||||
Reference in New Issue
Block a user