Fix: Aufgaben-Badge in Navigation wurde außerhalb des <a>-Tags ausgegeben
echo \$my_tasks_dot stand vor dem <li>, sodass der rote Badge als freies Element zwischen den Navigationspunkten erschien. Badge-Span wird jetzt innerhalb des <a>-Tags gerendert (analog zu \$collection_dot), und \$my_tasks_dot wird zu Beginn jeder Loop-Iteration auf "" gesetzt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1216,6 +1216,7 @@ function navigation_fullmenu_rek( $site, $language, $navigation, $parent_id, $le
|
|||||||
echo "\n" . $spaces . "<ul class=\"level_$level\">";
|
echo "\n" . $spaces . "<ul class=\"level_$level\">";
|
||||||
}
|
}
|
||||||
while ($nav = @mysqli_fetch_array($result)) {
|
while ($nav = @mysqli_fetch_array($result)) {
|
||||||
|
$my_tasks_dot = "";
|
||||||
//Icon herausziehen
|
//Icon herausziehen
|
||||||
$getIconQuery = "SELECT navigation_icon FROM main_navigation WHERE id ='" . $nav["id"] . "'";
|
$getIconQuery = "SELECT navigation_icon FROM main_navigation WHERE id ='" . $nav["id"] . "'";
|
||||||
$resultIconQuery = mysqli_query($GLOBALS["mysql_con"], $getIconQuery);
|
$resultIconQuery = mysqli_query($GLOBALS["mysql_con"], $getIconQuery);
|
||||||
@@ -1252,6 +1253,37 @@ function navigation_fullmenu_rek( $site, $language, $navigation, $parent_id, $le
|
|||||||
$display = " style='display:none;' ";
|
$display = " style='display:none;' ";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$hasTaskCertAdminPermission = (int)get_permission_state(
|
||||||
|
'r-task-cert-admin',
|
||||||
|
$GLOBALS['main_contact']['master_mandant_id'],
|
||||||
|
$GLOBALS['main_contact']['id']
|
||||||
|
);
|
||||||
|
|
||||||
|
if ($nav['code'] === 'admin-task-list' && $hasTaskCertAdminPermission === 0) {
|
||||||
|
$display = " style='display:none;' ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nav["code"] == "my-tasks") {
|
||||||
|
$query_my_tasks = "
|
||||||
|
SELECT COUNT(*) AS badge_count
|
||||||
|
FROM task_assignment ta
|
||||||
|
INNER JOIN task_definition td
|
||||||
|
ON td.id = ta.task_id
|
||||||
|
AND td.active = 1
|
||||||
|
WHERE ta.main_contact_id = " . (int)$GLOBALS['main_contact']['id'] . "
|
||||||
|
AND ta.status IN ('overdue', 'open', 'in_progress', 'approval_pending', 'rejected')
|
||||||
|
";
|
||||||
|
|
||||||
|
$result_my_tasks = @mysqli_query($GLOBALS['mysql_con'], $query_my_tasks);
|
||||||
|
$row_my_tasks = @mysqli_fetch_assoc($result_my_tasks);
|
||||||
|
$my_tasks_count = (int)$row_my_tasks['badge_count'];
|
||||||
|
@mysqli_free_result($result_my_tasks);
|
||||||
|
|
||||||
|
if ($my_tasks_count > 0) {
|
||||||
|
$my_tasks_dot = "<span class='hint'>" . $my_tasks_count . "</span>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if($nav["code"] == 'home' || $nav["code"] == 'startseite' || $nav["is_home_page"] == 1){
|
if($nav["code"] == 'home' || $nav["code"] == 'startseite' || $nav["is_home_page"] == 1){
|
||||||
$addr = '/';
|
$addr = '/';
|
||||||
}
|
}
|
||||||
@@ -1287,7 +1319,7 @@ function navigation_fullmenu_rek( $site, $language, $navigation, $parent_id, $le
|
|||||||
echo "</a>";
|
echo "</a>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
}else {
|
}else {
|
||||||
echo "<a " . $active . $link . $target .">" . $icon . $nav["menu_name"] . $collection_dot ."</a>";
|
echo "<a " . $active . $link . $target .">" . $icon . $nav["menu_name"] . $collection_dot . $my_tasks_dot ."</a>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
navigation_fullmenu_rek($site, $language, $navigation, $nav["id"], ($level + 1), $newnavcode, $from_level, $to_level);
|
navigation_fullmenu_rek($site, $language, $navigation, $nav["id"], ($level + 1), $newnavcode, $from_level, $to_level);
|
||||||
|
|||||||
Reference in New Issue
Block a user