Adapt main_contact_link queries to use main_contact_department

The new tasks and knowledgecenter_update modules were built against a
main_contact_link table that does not exist in this system. All 7 active
query sites now target main_contact_department (same column names,
active_d → active).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 10:22:20 +02:00
parent 38272c3b11
commit e2837b3288
5 changed files with 16 additions and 16 deletions

View File

@@ -1670,9 +1670,9 @@ function search_posts()
$userRoles = [];
if ($currentUserId) {
$query = "SELECT main_mandant_id, main_department_id, main_role_id
FROM main_contact_link
WHERE main_contact_id = $currentUserId AND active_d = 1";
$query = "SELECT main_mandant_id, main_department_id, main_role_id
FROM main_contact_department
WHERE main_contact_id = $currentUserId AND active = 1";
$result = mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = mysqli_fetch_assoc($result)) {
// Filtere 0 aus 0 gilt als "keine Zuordnung"

View File

@@ -516,7 +516,7 @@ if (isset($_GET[$c_form]) && !empty($_POST)) {
// Sende E-Mail an Firmen-Email
if ($sitepart_id == 1) {
$query = "SELECT * FROM main_contact_link WHERE main_contact_id = '" . $GLOBALS["main_contact"]['id'] . "' AND sorting = 1";
$query = "SELECT * FROM main_contact_department WHERE main_contact_id = '" . $GLOBALS["main_contact"]['id'] . "' AND sorting = 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$input_arbeitsunfaehigkeitsbescheinigung = $_POST['input_arbeitsunfaehigkeitsbescheinigung'];
@@ -655,7 +655,7 @@ if (isset($_GET[$c_form]) && !empty($_POST)) {
}
if ($GLOBAL["ws_bestell_result"] == true) {
$query = "SELECT main_contact.email FROM main_contact JOIN main_contact_link ON main_contact.id = main_contact_link.main_contact_id AND main_role_id = '3' AND main_mandant_id = " . $GLOBALS["main_contact"]["current_mandant_id"];
$query = "SELECT main_contact.email FROM main_contact JOIN main_contact_department ON main_contact.id = main_contact_department.main_contact_id AND main_role_id = '3' AND main_mandant_id = " . $GLOBALS["main_contact"]["current_mandant_id"];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while ($email = @mysqli_fetch_array($result)) {
$contactform_header["recipient_email"] .= "; " . $email["email"];
@@ -676,10 +676,10 @@ if (isset($_GET[$c_form]) && !empty($_POST)) {
$pid = (int) $pid;
$check = mysqli_query($GLOBALS['mysql_con'], "
SELECT 1 FROM main_contact_link
SELECT 1 FROM main_contact_department
WHERE main_contact_id = $pid
AND main_mandant_id = $sender_mandant_id
AND active_d = 1
AND active = 1
LIMIT 1
");

View File

@@ -9,9 +9,9 @@ $userDepartments = [];
$userRoles = [];
if ($currentUserId) {
$query = "SELECT main_mandant_id, main_department_id, main_role_id
FROM main_contact_link
WHERE main_contact_id = $currentUserId AND active_d = 1";
$query = "SELECT main_mandant_id, main_department_id, main_role_id
FROM main_contact_department
WHERE main_contact_id = $currentUserId AND active = 1";
$result = mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = mysqli_fetch_assoc($result)) {
// Filtere 0 aus 0 gilt als "keine Zuordnung"

View File

@@ -12,9 +12,9 @@ $userDepartments = [];
$userRoles = [];
if ($currentUserId) {
$query = "SELECT main_mandant_id, main_department_id, main_role_id
FROM main_contact_link
WHERE main_contact_id = $currentUserId AND active_d = 1";
$query = "SELECT main_mandant_id, main_department_id, main_role_id
FROM main_contact_department
WHERE main_contact_id = $currentUserId AND active = 1";
$result = mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = mysqli_fetch_assoc($result)) {
if (!in_array($row['main_mandant_id'], $userMandants)) {

View File

@@ -641,15 +641,15 @@ class AssignmentResolverService
l.main_mandant_id,
l.main_department_id,
l.main_role_id,
l.active_d
l.active
FROM main_contact c
LEFT JOIN main_contact_link l ON l.main_contact_id = c.id
LEFT JOIN main_contact_department l ON l.main_contact_id = c.id
WHERE c.active = 1'
);
$scopes = [];
foreach ($rows as $row) {
if (isset($row['active_d']) && $row['active_d'] !== null && (int) $row['active_d'] !== 1) {
if (isset($row['active']) && $row['active'] !== null && (int) $row['active'] !== 1) {
continue;
}