if (!User::list_owner_or_admin($db, $_POST['user_assignments'], $_GET['id']) and !User::list_member($db, $_POST['user_assignments'], $_GET['id'])) { $hlasky[] = 'Jeden z přiřazených uživatelů není členem listu.'; } } } if ($hlasky) { $tmpl->addMessage($hlasky, Template::MESSAGE_ERROR); $toSelect = ['title', 'description', 'priority', 'due_date', 'tags']; if ($user_assigment_ids) { $toSelect[] = 'user_assignments'; } $tmpl->assign(\Snabb\Tools\Arrays::selective_keys($_POST, $toSelect)); } else { try { $db->beginTransaction(); $db->insert('tasks', \Snabb\Tools\Arrays::leave_empty(\Snabb\Tools\Arrays::selective_keys($_POST, ['title', 'description', 'priority'])) + ['list_id' => $_GET['id'], 'user_id' => $user->user_id, 'create_date' => time(), 'due_date' => isset($due_date) ? $due_date : new \Snabb\Database\Literal('null')]); $task_id = $db->query('SELECT task_id FROM tasks WHERE title = ' . $db->quote($_POST['title']) . ' AND description = ' . $db->quote($_POST['description']) . ' AND user_id = ' . $db->quote($user->user_id) . ' AND list_id = ' . $db->quote($_GET['id']) . ' AND priority = ' . $db->quote($_POST['priority']))->fetch(); if ($tags_from_form) { foreach ($tags_from_form as $tag) { $tag_id = $db->query('SELECT tag_id FROM tags WHERE list_id = ' . $db->quote($_GET['id']) . ' and tag = ' . $db->quote($tag))->fetch(); if ($tag_id === false) { $db->insert('tags', ['tag' => $tag, 'list_id' => $_GET['id']]); $tag_id = $db->query('SELECT tag_id FROM tags WHERE list_id = ' . $db->quote($_GET['id']) . ' and tag = ' . $db->quote($tag))->fetch(); $db->insert('task_tags', ['tag_id' => $tag_id['tag_id'], 'task_id' => $task_id['task_id']]); } else { $db->insert('task_tags', ['tag_id' => $tag_id['tag_id'], 'task_id' => $task_id['task_id']]); } } } if ($user_assigment_ids) { foreach ($user_assigment_ids as $user_id) {
if (!User::list_owner_or_admin($db, $_POST['user_assignments'], $task['list_id']) and !User::list_member($db, $_POST['user_assignments'], $task['list_id'])) { $hlasky[] = 'Jeden z přiřazených uživatelů není členem listu.'; } } } if ($hlasky) { $tmpl->addMessage($hlasky, Template::MESSAGE_ERROR); $toSelect = ['title', 'description', 'priority', 'due_date', 'tags']; if ($user_assigment_ids) { $toSelect[] = 'user_assignments'; } $tmpl->assign(\Snabb\Tools\Arrays::selective_keys($_POST, $toSelect)); } else { try { $db->beginTransaction(); $db->update('tasks', \Snabb\Tools\Arrays::leave_empty(\Snabb\Tools\Arrays::selective_keys($_POST, ['title', 'description', 'priority'])) + ['due_date' => isset($due_date) ? $due_date : new \Snabb\Database\Literal('null')], 'task_id = ' . $db->quote($_GET['id'])); if ($tags_from_form) { foreach ($tags_from_form as $tag) { if (!in_array($tag, $task_tags)) { $tag_id = $db->query('SELECT tag_id FROM tags WHERE list_id = ' . $db->quote($task['list_id']) . ' and tag = ' . $db->quote($tag))->fetch(); if ($tag_id === false) { $db->insert('tags', ['tag' => $tag, 'list_id' => $task['list_id']]); $tag_id = $db->query('SELECT tag_id FROM tags WHERE list_id = ' . $db->quote($task['list_id']) . ' and tag = ' . $db->quote($tag))->fetch(); $db->insert('task_tags', ['tag_id' => $tag_id['tag_id'], 'task_id' => $_GET['id']]); } else { $db->insert('task_tags', ['tag_id' => $tag_id['tag_id'], 'task_id' => $_GET['id']]); } } } } if ($task_tags) {