= $timestamp AND description != '' ORDER BY creation_date DESC"; } $result = mysqli_query($GLOBALS['mysql_con'], $query); $articles = []; while ($row = mysqli_fetch_assoc($result)) { $articles[] = $row; } return $articles; }; function get_select_permisions($collection_id, $type) { $query = "SELECT * FROM main_collection_".$type."_link WHERE main_collection_id = ".$collection_id; $result = @mysqli_query($GLOBALS['mysql_con'], $query); $permissions = []; while($row = @mysqli_fetch_array($result)){ array_push($permissions,$row['main_'.$type.'_id']); } return $permissions; } function has_access($user_id, $mandant, $department, $role, $fachbereich, $einricht) { $con = $GLOBALS['mysql_con']; $query = " SELECT * FROM main_contact_department WHERE main_contact_id = " . (int)$user_id; $result = mysqli_query($con, $query); if (!$result) { return false; } while ($row = mysqli_fetch_assoc($result)) { if ( in_array($row['main_mandant_id'], $mandant) && in_array($row['main_department_id'], $department) && in_array($row['main_role_id'], $role) && in_array($row['main_bereich_id'], $fachbereich) && in_array($row['main_einricht_id'], $einricht) ) { return true; } } return false; } // Artikel der letzten 40 Tage für die Zählung der neuen Artikel abrufen $new_articles_period = get_all_knowledgebase_articles(15); // Alle Artikel für die Anzeige der letzten verfügbaren Artikel abrufen $all_articles = get_all_knowledgebase_articles(); // Neue Artikel (für den Zeitraum) nach Benutzerzugriff filtern $new_articles_with_access = []; foreach ($new_articles_period as $article) { $collection_id = $article['id']; $mandant = get_select_permisions($collection_id, 'mandant'); $department = get_select_permisions($collection_id, 'department'); $role = get_select_permisions($collection_id, 'role'); $fachbereich = get_select_permisions($collection_id, 'fachbereich'); $einricht = get_select_permisions($collection_id, 'einricht'); if (has_access($GLOBALS['main_contact']["id"], $mandant, $department, $role, $fachbereich, $einricht)) { $new_articles_with_access[] = $article; } } // Alle Artikel nach Benutzerzugriff filtern, um die letzten 3 anzuzeigen $accessible_articles = []; foreach ($all_articles as $article) { $collection_id = $article['id']; $mandant = get_select_permisions($collection_id, 'mandant'); $department = get_select_permisions($collection_id, 'department'); $role = get_select_permisions($collection_id, 'role'); $fachbereich = get_select_permisions($collection_id, 'fachbereich'); $einricht = get_select_permisions($collection_id, 'einricht'); if (has_access($GLOBALS['main_contact']["id"], $mandant, $department, $role, $fachbereich, $einricht)) { $accessible_articles[] = $article; } } // Nur die letzten 3 verfügbaren Artikel nehmen $last_3_articles = array_slice($accessible_articles, 0, 3); // Ergebnis anzeigen if (count($last_3_articles) > 0) { echo '
'; echo '
'; $count = count($new_articles_with_access); $text = ($count == 1) ? 'neuer Artikel' : 'neue Artikel'; echo '' . $count . ' ' . $text . ' in den letzten 15 Tagen'; echo '
'; echo '

Neueste Artikel aus dem QM

'; echo '
'; foreach ($last_3_articles as $article) { $title = htmlspecialchars($article['description']); $link = '/awo/de/knowledgecenter-post/-' . $article['id'] . "/"; $creation_date = date('d.m.Y', $article['creation_date']); // Prüfen, ob der Artikel neu ist (in den letzten 40 Tagen) $is_new = in_array($article['id'], array_column($new_articles_with_access, 'id')); $new_badge = $is_new ? 'Neu' : ''; echo ''; echo ""; echo '
'; echo '
' . $title . $new_badge . '
'; echo '' . $creation_date . ''; echo '
'; echo '
'; } echo '
'; echo '
'; } ?>