This commit is contained in:
2026-02-17 14:56:23 +01:00
commit 68f7a95fdf
695 changed files with 154611 additions and 0 deletions

View File

@@ -0,0 +1,642 @@
<?
global $parentSort;
$parentSort = array();
switch ($_GET["action"]) {
case "moveup_knowledgecenter":
moveup_knowledgecenter();
require_once("knowledge_listform.inc.php");
break;
case "movedown_knowledgecenter":
movedown_knowledgecenter();
require_once("knowledge_listform.inc.php");
break;
case "moveleft_knowledgecenter":
moveleft_knowledgecenter();
require_once("knowledge_listform.inc.php");
break;
case "moveright_knowledgecenter":
moveright_knowledgecenter();
require_once("knowledge_listform.inc.php");
break;
case "reorder_knowledgecenter":
reorder_knowledgecenter();
break;
case "delete_knowledgecenter":
delete_knowledgecenter();
require_once("knowledge_listform.inc.php");
break;
case "edit_knowledgecenter":
edit_knowledgecenter();
break;
case "save_knowledgecenter":
save_knowledgecenter($site, $language);
break;
case "new_knowledgecenter":
require_once("knowledge_cardform.inc.php");
break;
case 'delete_image':
delete_image();
require_once("knowledge_listform.inc.php");
break;
default:
require_once("knowledge_listform.inc.php");
break;
}
function update_children( $_parentId, $_list, $_level ) {
global $parentSort;
foreach ($_list as $site) {
if (!array_key_exists($_parentId, $parentSort)) {
$parentSort[$_parentId] = 1;
}
$query = "UPDATE knowledgecenter_category SET parent_id = " . $_parentId . ", level = " . $_level . ", sorting = " . $parentSort[$_parentId] . " WHERE id = " . (int)$site['id'];
mysqli_query($GLOBALS['mysql_con'], $query);
$parentSort[$_parentId]++;
if (isset($site['children']) && count($site['children'])) {
update_children($site['id'], $site['children'], $_level + 1);
}
}
}
function reorder_knowledgecenter() {
global $parentSort;
$list = $_POST['list'];
if (!is_array($list) || count($list) == 0) {
return;
}
$level = 1;
foreach ($list as $site) {
if (!array_key_exists(0, $parentSort)) {
$parentSort[0] = 1;
}
$query = "UPDATE knowledgecenter_category SET parent_id = 0, level = 1, sorting = " . $parentSort[0] . " WHERE id = " . (int)$site['id'];
mysqli_query($GLOBALS['mysql_con'], $query);
$parentSort[0]++;
if (isset($site['children']) && count($site['children'])) {
update_children($site['id'], $site['children'], $level + 1);
}
}
}
function edit_knowledgecenter( $_id = "", $messages = array() ) {
if ((int)$_id > 0) {
$input_id = $_id;
} else {
$input_id = $_REQUEST["input_knowledgecenter_id"];
}
if ($input_id <> '') {
$query = "SELECT * FROM knowledgecenter_category WHERE id = '" . $input_id . "' LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$input_knowledgecenter = @mysqli_fetch_array($result);
require_once("knowledge_cardform.inc.php");
}
} else {
require_once("knowledge_listform.inc.php");
}
}
function delete_knowledgecenter() {
if ($_POST["input_knowledgecenter_id"] <> '') {
$query = "DELETE FROM knowledgecenter_category WHERE id = '" . $_POST["input_knowledgecenter_id"] . "' LIMIT 1";
if (@mysqli_query($GLOBALS['mysql_con'], $query)) {
@mysqli_query($GLOBALS['mysql_con'], "UPDATE knowledgecenter_category SET parent_id = 0, level = level -1 WHERE parent_id = '" . $_POST["input_knowledgecenter_id"] . "'");
}
}
}
function save_knowledgecenter( $site, $language ) {
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
$messages = array();
$input_id = "";
$input_active = ($_POST["input_active"] == "on") ? 1 : 0;
$description = $_POST["input_description"];
$tags = $_POST["input_tags"];
if ($_POST["input_knowledgecenter_id"] <> '') {
$query = "UPDATE knowledgecenter_category SET
description = '" . $description . "',
active = '" . $input_active . "',
tags = '" . $tags . "'
WHERE id = '" . $_POST["input_knowledgecenter_id"] . "' LIMIT 1";
$inserted = FALSE;
$input_id = $_REQUEST["input_knowledgecenter_id"];
} else {
$result = @mysqli_query($GLOBALS['mysql_con'], "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $site["id"] . "' AND main_language_id = '" . $language["id"] . "' AND level = 1 ORDER BY sorting DESC LIMIT 1");
if (@mysqli_num_rows($result) == 1) {
$curr_knowledgecenter = @mysqli_fetch_array($result);
}
$query = "INSERT INTO knowledgecenter_category (main_site_id,main_language_id,parent_id,sorting,level,description,tags,active)
VALUES (
" . $site["id"] . ",
" . $language["id"] . ",
0,
" . ($curr_knowledgecenter["sorting"] + 1) . ",
1,
'" . $description . "',
'" . $tags . "',
" . $input_active . "
)";
$inserted = TRUE;
}
$result = @mysqli_query($GLOBALS['mysql_con'], "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $site["id"] . "' AND main_language_id = '" . $language["id"] . "' AND description = '" . $_POST["input_description"] . "'");
if ((@mysqli_num_rows($result) <> 0) && ($_POST["input_knowledgecenter_id"] == '')) {
$messages[] = "<div class=\"errorbox\">" . $translation->get("error_textkey_exists") . "</div>\n";
$error = TRUE;
}
if (!$error) {
@mysqli_query($GLOBALS['mysql_con'], $query);
if ($inserted == TRUE) {
$input_id = mysqli_insert_id($GLOBALS['mysql_con']);
$messages[] = '<div class="successbox">' . $translation->get("knowledgecenter_msg_success1") . '</div>';
} else {
$messages[] = '<div class="successbox">' . $translation->get("knowledgecenter_msg_success2") . '</div>';
}
// saveImg
// $mandant_ids = $_POST['select_mandant'];
// $mandant = explode(',', $mandant_ids);
// if (!empty($mandant) && is_array($mandant)) {
// $deleteLink = @mysqli_query($GLOBALS["mysql_con"], "DELETE FROM knowledgecenter_category_mandant_link WHERE knowledgecenter_category_id ='".$input_id."'");
// foreach($mandant as $key => $mandant_value){
// $query = "INSERT INTO knowledgecenter_category_mandant_link
// (knowledgecenter_category_id, main_mandant_id)
// VALUES (
// " . $input_id . ",
// " . $mandant_value . "
// )";
// @mysqli_query($GLOBALS['mysql_con'], $query);
// }
// }
if(isset($_FILES) && !empty($_FILES) && $_FILES['input_image']['size'] != 0 ){
$fileName = saveImage('input_image', $input_id);
$query = "UPDATE knowledgecenter_category SET
image = '/03_Module/01_Firmenwiki/" . $fileName. "'
WHERE id = '" . $input_id . "' LIMIT 1";
@mysqli_query($GLOBALS['mysql_con'],$query);
}
// SaveImag
save_knowladge_permission($input_id, 'mandant');
save_knowladge_permission($input_id, 'department');
save_knowladge_permission($input_id, 'role');
save_knowladge_permission($input_id, 'fachbereich');
save_knowladge_permission($input_id, 'einricht');
edit_knowledgecenter($input_id, $messages);
} else {
header('EDIT_ERROR: 1');
$query = "SELECT * FROM knowledgecenter_category WHERE id = '" . $_POST["input_knowledgecenter_id"] . "' LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$input_knowledgecenter = @mysqli_fetch_array($result);
}
$input_knowledgecenter["description"] = $_REQUEST["input_description"];
$input_knowledgecenter["tags"] = $_REQUEST["input_tags"];
$input_knowledgecenter["active"] = $input_active;
require_once("knowledge_cardform.inc.php");
}
}
function count_posts($category_id){
$query = "SELECT * FROM knowledgecenter_collection_link WHERE knowledgecenter_category_id = '".$category_id."'";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$count = 0;
while($posts = @mysqli_fetch_array($result)) {
$query2 = "SELECT * FROM main_collection_read WHERE main_collection_id = '".$posts['main_collection_id']. "' AND main_contact_id = '".$GLOBALS['main_contact']['id']."'";
$result2 = @mysqli_query($GLOBALS['mysql_con'], $query2);
$count++;
}
return $count;
}
function show_knowledgecenter( $site, $language ) {
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
$result = mysqli_query($GLOBALS['mysql_con'], "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $site["id"] . "' AND main_language_id = '" . $language["id"]."'");
$num_rows = mysqli_num_rows($result);
$qq = "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $site["id"] . "' AND main_language_id = '" . $language["id"]."'";
if ($num_rows > 0) {
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"linklist\"><tr>";
echo "<td><div>" . $translation->get("name") . "</div></td>";
echo "<td width=\"150\" align=\"left\"><div></div></td>";
echo "<td class=\"code\" width=\"300\" align=\"left\"><div>" . $translation->get("linked_posts") . "</div></td>";
echo "<td class=\"status\" width=\"100\" align=\"left\"><div>" . $translation->get("state") . "</div></td>";
echo "</tr>";
echo "<tr>";
echo "<td class=\"linklist_seperator\"></td>";
echo "<td class=\"linklist_seperator\"></td>";
echo "<td class=\"linklist_seperator\"></td>";
echo "<td class=\"linklist_seperator\"></td>";
echo "</tr>";
echo "</table>";
// echo "<script>console.log('".$qq."')</script>";
show_knowledgecenter_rek($site, $language, 0, 1, 0, $num_rows);
} else {
echo "<div class=\"infobox\">" . $translation->get("no_rows_found") . "</div>";
}
echo "\n";
return TRUE;
}
function show_knowledgecenter_rek( $site, $language, $parent_id, $level, $input_counter, $num_rows ) {
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
try {
//code...
$parent_id_query = ($parent_id == 0) ? " AND parent_id = 0" : " AND parent_id = '" . $parent_id."'";
// $qq = "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $site["id"] . "' AND main_language_id = '" . $language["id"]."'" . $parent_id_query . " ORDER BY sorting ASC";
// echo "<script>console.log('".$qq."')</script>";
$result = @mysqli_query($GLOBALS['mysql_con'], "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $site["id"] . "' AND main_language_id = '" . $language["id"]."'" . $parent_id_query . " ORDER BY sorting ASC");
if (@mysqli_num_rows($result) > 0) {
if ($parent_id == 0) {
echo "<ol class=\"linklist sortable\">";
} else {
echo "<ol>";
}
while ($knowledgecenter = @mysqli_fetch_array($result)) {
$parentclass = "";
if ($level > 1) {
$parentclass = " data-tt-parent-id=\"{$knowledgecenter['parent_id']}\"";
}
$checkedRow = "false";
if (isset($_REQUEST['input_knowledgecenter_id']) && $_REQUEST['input_knowledgecenter_id'] == $knowledgecenter['id']) {
$checkedRow = "true";
}
echo "<li id=\"list_{$knowledgecenter['id']}\">";
echo "<div data-inputid=\"" . $knowledgecenter['id'] . "\" data-action=\"edit_knowledgecenter\" data-inputname=\"input_knowledgecenter_id\" data-checked=\"" . $checkedRow . "\" class=\"linklist_content dd-handle\"><span class=\"disclose\"><span>&nbsp;</span></span>" . htmlentities($knowledgecenter["description"], ENT_COMPAT, "UTF-8") . "<div class=\"dd-icon\"></div>";
echo "<div class=\"dd-code\">" . count_posts($knowledgecenter['id']) . " Beiträge</div>";
echo "<div class=\"dd-status\">" . ($knowledgecenter["active"] == 1 ? $translation->get("active") : $translation->get("inactive")) . "</div></div>";
$input_counter++;
$input_counter = show_knowledgecenter_rek($site, $language, $knowledgecenter["id"], ($level + 1), $input_counter, $num_rows);
echo "</li>";
}
echo "</ol>";
}
} catch (\Throwable $th) {
echo $th;
}
return $input_counter;
}
function moveup_knowledgecenter() {
move_knowledgecenter_vertical("<", "DESC", $_POST["input_knowledgecenter_id"]);
}
function movedown_knowledgecenter() {
move_knowledgecenter_vertical(">", "ASC", $_POST["input_knowledgecenter_id"]);
}
function move_knowledgecenter_vertical( $way, $order, $knowledgecenter_id ) {
$query = "SELECT * FROM knowledgecenter_category WHERE id = '" . $knowledgecenter_id . "' LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$curr_knowledgecenter = @mysqli_fetch_array($result);
}
$parent_query = ($curr_knowledgecenter["parent_id"] <> '') ? " parent_id = '" . $curr_knowledgecenter["parent_id"]."'" : " parent_id = 0";
$query = "SELECT * FROM knowledgecenter_category WHERE main_site_id = '" . $curr_knowledgecenter["main_site_id"] . "' AND main_language_id = '" . $curr_knowledgecenter["main_language_id"] . "' AND" . $parent_query . " AND sorting " . $way . " " . $curr_knowledgecenter["sorting"] . " ORDER BY sorting " . $order . " LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$change_knowledgecenter = @mysqli_fetch_array($result);
}
if (($curr_knowledgecenter["id"] <> '') && ($change_knowledgecenter["id"] <> '')) {
$query = "UPDATE knowledgecenter_category SET sorting = " . $change_knowledgecenter["sorting"] . " WHERE id = " . $curr_knowledgecenter["id"];
@mysqli_query($GLOBALS['mysql_con'], $query);
$query = "UPDATE knowledgecenter_category SET sorting = " . $curr_knowledgecenter["sorting"] . " WHERE id = " . $change_knowledgecenter["id"];
@mysqli_query($GLOBALS['mysql_con'], $query);
}
}
function moveleft_knowledgecenter() {
$query = "SELECT * FROM knowledgecenter_category WHERE id = '" . $_POST["input_knowledgecenter_id"] . "' LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$curr_knowledgecenter = @mysqli_fetch_array($result);
}
$query = "SELECT * FROM knowledgecenter_category WHERE id = '" . $curr_knowledgecenter["parent_id"] . "' LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$parent_knowledgecenter = @mysqli_fetch_array($result);
}
$query = "SELECT * FROM knowledgecenter_category WHERE parent_id = '" . $curr_knowledgecenter["parent_id"] . "' ORDER BY sorting DESC LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$last_child_knowledgecenter = @mysqli_fetch_array($result);
}
if (($curr_knowledgecenter["id"] <> '') && ($parent_knowledgecenter["id"] <> '')) {
// Eigentlichen Menüeintrag aktualisieren
if ($parent_knowledgecenter["parent_id"] == '') {
$parent_knowledgecenter["parent_id"] = "0";
}
$query = "UPDATE knowledgecenter_category SET parent_id = " . $parent_knowledgecenter["parent_id"] . ", level = " . $parent_knowledgecenter["level"] . ", sorting = " . ($parent_knowledgecenter["sorting"] + 1) . " WHERE id = " . $curr_knowledgecenter["id"];
if (@mysqli_query($GLOBALS['mysql_con'], $query)) {
// Level der ursprünglichen Untermenüpunkte aktualisieren
update_knowledgecenter_children($curr_knowledgecenter["id"], "-");
// Parent-ID und Sortierung der neuen Untermenüpunkte aktualisieren
$parent_query = ($curr_knowledgecenter["parent_id"] <> '') ? " parent_id = '" . $curr_knowledgecenter["parent_id"]."'" : " parent_id = 0";
$query = "SELECT * FROM knowledgecenter_category WHERE" . $parent_query . " AND sorting > " . $curr_knowledgecenter["sorting"] . " AND main_site_id = '" . $GLOBALS["site"]["id"] . "' AND main_language_id = '" . $GLOBALS["language"]["id"]."'";
$new_sorting = 1;
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) > 0) {
while ($knowledgecenter = @mysqli_fetch_array($result)) {
$query = "UPDATE knowledgecenter_category SET parent_id = " . $curr_knowledgecenter["id"] . ", sorting = " . $new_sorting . " WHERE id = " . $knowledgecenter["id"] . " LIMIT 1";
@mysqli_query($GLOBALS['mysql_con'], $query);
$new_sorting++;
}
}
// Sortierung der neuen Nachfolger aktualisieren
$new_sorting = $parent_knowledgecenter["sorting"] + 1;
$parent_query = ($parent_knowledgecenter["parent_id"] <> '0') ? " parent_id = '" . $parent_knowledgecenter["parent_id"]."'" : " parent_id = 0";
$query = "SELECT * FROM knowledgecenter_category WHERE" . $parent_query . " AND id <> " . $curr_knowledgecenter["id"] . " AND sorting >= " . $new_sorting . " AND main_site_id = " . $GLOBALS["site"]["id"] . " AND main_language_id = " . $GLOBALS["language"]["id"];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) > 0) {
while ($knowledgecenter = @mysqli_fetch_array($result)) {
$new_sorting++;
$query = "UPDATE knowledgecenter_category SET sorting = " . $new_sorting . " WHERE id = " . $knowledgecenter["id"] . " LIMIT 1";
@mysqli_query($GLOBALS['mysql_con'], $query);
}
}
}
}
}
function moveright_knowledgecenter() {
$query = "SELECT * FROM knowledgecenter_category WHERE id = '" . $_POST["input_knowledgecenter_id"] . "' LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$curr_knowledgecenter = @mysqli_fetch_array($result);
}
$parent_query = ($curr_knowledgecenter["parent_id"] <> '') ? " parent_id = '" . $curr_knowledgecenter["parent_id"]."'" : " parent_id = 0";
$query = "SELECT * FROM knowledgecenter_category WHERE" . $parent_query . " AND sorting < " . $curr_knowledgecenter["sorting"] . " AND main_site_id = " . $GLOBALS["site"]["id"] . " AND main_language_id = " . $GLOBALS["language"]["id"] . " ORDER BY sorting DESC LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$pre_knowledgecenter = @mysqli_fetch_array($result);
}
$query = "SELECT * FROM knowledgecenter_category WHERE parent_id = '" . $pre_knowledgecenter["id"] . "' ORDER BY sorting DESC LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 1) {
$lastprechild_knowledgecenter = @mysqli_fetch_array($result);
}
if (($curr_knowledgecenter["id"] <> '') && ($pre_knowledgecenter["id"] <> '')) {
// Eigentlichen Menüeintrag aktualisieren
if ($lastprechild_knowledgecenter["sorting"] == '') {
$lastprechild_knowledgecenter["sorting"] = 0;
}
$query = "UPDATE knowledgecenter_category SET parent_id = " . $pre_knowledgecenter["id"] . ", level = " . ($curr_knowledgecenter["level"] + 1) . ", sorting = " . ($lastprechild_knowledgecenter["sorting"] + 1) . " WHERE id = " . $curr_knowledgecenter["id"] . " AND main_site_id = " . $GLOBALS["site"]["id"] . " AND main_language_id = " . $GLOBALS["language"]["id"];
if (@mysqli_query($GLOBALS['mysql_con'], $query)) {
// Level der ursprünglichen Untermenüpunkte aktualisieren
update_knowledgecenter_children($curr_knowledgecenter["id"], "+");
// Sortierung der neuen Nachfolger aktualisieren
$new_sorting = $curr_knowledgecenter["sorting"];
$parent_query = ($curr_knowledgecenter["parent_id"] <> '') ? " parent_id = " . $curr_knowledgecenter["parent_id"] : " parent_id = 0";
$query = "SELECT * FROM knowledgecenter_category WHERE" . $parent_query . " AND sorting >= " . $new_sorting . " AND main_site_id = " . $GLOBALS["site"]["id"] . " AND main_language_id = " . $GLOBALS["language"]["id"];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) > 0) {
while ($knowledgecenter = @mysqli_fetch_array($result)) {
$query = "UPDATE knowledgecenter_category SET sorting = " . $new_sorting . " WHERE id = " . $knowledgecenter["id"] . " LIMIT 1";
$new_sorting++;
@mysqli_query($GLOBALS['mysql_con'], $query);
}
}
}
}
}
function update_knowledgecenter_children( $knowledgecenter_id, $way ) {
$query = "SELECT * FROM knowledgecenter_category WHERE parent_id = '" . $knowledgecenter_id."'";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) > 0) {
while ($knowledgecenter = @mysqli_fetch_array($result)) {
$query = "UPDATE knowledgecenter_category SET level = level " . $way . " 1 WHERE id = " . $knowledgecenter["id"] . " LIMIT 1";
@mysqli_query($GLOBALS['mysql_con'], $query);
update_knowledgecenter_children($knowledgecenter["id"], $way);
}
}
}
function saveImage($filekey = 'input_image', $input_id) {
delete_image();
$erlaubte_endungen = array("jpg", "jpeg", "gif", "png", "svg", "webp");
$filename = strtolower($_FILES[$filekey]['name']);
$filename_expl = explode(".", $filename);
if (!in_array($filename_expl[count($filename_expl) - 1], $erlaubte_endungen)) {
$messages = "<div class='errorbox'>" . $translation->get("error_slideshow_line2") . "</div>\n";
$error = TRUE;
}
$saveFilename = $input_id . "_" . time() . "_" . cleanFilename($_FILES[$filekey]['name']);
define("PATH_NAVIGATION", "../../userdata/03_Module/01_Firmenwiki/");
move_uploaded_file($_FILES[$filekey]['tmp_name'], PATH_NAVIGATION . $saveFilename);
return $saveFilename;
}
function delete_image() {
$knowledgecenter_id = $_POST['input_knowledgecenter_id'];
$query = "SELECT * FROM knowledgecenter_category WHERE id =".$knowledgecenter_id." LIMIT 1";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$knowledgecenter = @mysqli_fetch_array($result);
if(!empty($knowledgecenter)){
$filename = $knowledgecenter['image'];
define("PATH_NAVIGATION", "../../userdata/03_Module/01_Firmenwiki/");
if (file_exists(PATH_NAVIGATION . $filename)) {
unlink(PATH_NAVIGATION . $filename);
}
$query = "UPDATE knowledgecenter_category SET
image = ''
WHERE id = '" . $knowledgecenter_id . "' LIMIT 1";
@mysqli_query($GLOBALS['mysql_con'], $query);
}
}
function save_knowladge_permission($collection_id, $type){
$type_ids = explode(',', $_POST['select_permission_'.$type]);
if (count($type_ids) == 0 || $type_ids[0] == "") {
@mysqli_query($GLOBALS["mysql_con"], "DELETE FROM knowledgecenter_category_".$type."_link WHERE knowledgecenter_category_id = '".$collection_id."'");
if ($type == "fachbereich") {
$qeury_select = "SELECT id FROM organogramm_space";
}elseif ($type == "einricht") {
$qeury_select = "SELECT id FROM organigramm_einricht";
}else {
$qeury_select = "SELECT id FROM main_".$type."";
}
$sql_select = @mysqli_query($GLOBALS['mysql_con'], $qeury_select);
while ($row = @mysqli_fetch_array($sql_select)) {
$query = "INSERT IGNORE INTO knowledgecenter_category_".$type."_link
(knowledgecenter_category_id, main_".$type."_id)
VALUES (
'" . $collection_id ."',
'" . $row["id"] . "'
)";
@mysqli_query($GLOBALS['mysql_con'], $query);
}
}else {
if(!empty($type_ids) && gettype($type_ids) == 'array') {
@mysqli_query($GLOBALS["mysql_con"], "DELETE FROM knowledgecenter_category_".$type."_link WHERE knowledgecenter_category_id = '".$collection_id."'");
foreach($type_ids as $permission_type_id){
if ($permission_type_id != "") {
$query = "INSERT IGNORE INTO knowledgecenter_category_".$type."_link
(knowledgecenter_category_id, main_".$type."_id)
VALUES (
'" . $collection_id ."',
'" . $permission_type_id . "'
)";
@mysqli_query($GLOBALS['mysql_con'], $query);
}
}
@mysqli_query($GLOBALS["mysql_con"], "DELETE FROM knowledgecenter_category_".$type."_link WHERE knowledgecenter_category_id = '".$collection_id."' AND main_".$type."_id = 0;");
}
}
}
function multi_select_permission($collection_id, $type){
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
if ($type == "einricht") {
$query = "SELECT * FROM organigramm_einricht";
}elseif($type == "fachbereich"){
$query = "SELECT * FROM organogramm_space";
}else {
$query = "SELECT * FROM main_".$type;
}
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$preselect = array();
if ($collection_id != null) {
$query2 = "SELECT * FROM knowledgecenter_category_".$type."_link WHERE knowledgecenter_category_id = ".$collection_id;
$result2 = @mysqli_query($GLOBALS['mysql_con'], $query2);
$allselect = array();
while($row2 = @mysqli_fetch_array($result2)){
array_push($preselect,$row2['main_'.$type.'_id']);
}
}
?>
<div class="label"><?= $translation->get("top_".$type)?></div>
<div class="websites bc-select-ui ui fluid multiple search selection dropdown type_<?= $type ?>" style="clear:both;display:inline-block;">
<input type="hidden" name="select_permission_<?= $type ?>">
<i class="dropdown icon"></i>
<div class="default text"><?= $translation->get("top_".$type)?></div>
<div class="menu">
<?
if ($collection_id != null) {
while($row = @mysqli_fetch_array($result)) {
array_push($allselect, $row['id']);
echo "<div class=\"item\" data-value=\"{$row['id']}\">".$row["description"]."</div>";
}
}
?>
</div>
</div>
<div class="save_button_coll">
<div class="all_mandants" id="<?php echo "all_get".$type; ?>"><?php echo $translation->get("all_get_".$type)?></div>
<div class="all_mandants" id="<?php echo "all_del".$type; ?>"><?php echo $translation->get("all_delete_".$type)?></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('.websites.ui.fluid.multiple.dropdown.type_<?= $type ?>').dropdown('set selected', <?= json_encode($preselect) ?>);
});
$("<?php echo "#all_get".$type;?>").click(function() {
$y('.websites.ui.fluid.multiple.dropdown.type_<?= $type ?>').dropdown('set selected', <?= json_encode($allselect) ?>);
});
$("<?php echo "#all_del".$type;?>").click(function() {
console.log("delete");
$y('.websites.ui.fluid.multiple.dropdown.type_<?= $type ?>').dropdown('clear');
});
</script>
<?
}
function create_mandant_select($category_id){
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
$query = "SELECT * FROM main_mandant";
$mandant_result = @mysqli_query($GLOBALS['mysql_con'], $query);
$preselect = array();
// Überprüfen, ob category_id vorhanden ist
if (!empty($category_id)) {
$query = "SELECT * FROM knowledgecenter_category_mandant_link WHERE knowledgecenter_category_id = ".$category_id;
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while($row = @mysqli_fetch_array($result)){
array_push($preselect,$row['main_mandant_id']);
}
}
$allselect = array();
?>
<div class="label"><?php echo $translation->get("mandant")?></div>
<div class="mandant bc-select-ui ui fluid multiple search selection dropdown" style="clear:both;display:inline-block;">
<input type="hidden" name="select_mandant">
<i class="dropdown icon"></i>
<div class="default text"><?php echo $translation->get("mandant")?></div>
<div class="menu">
<?php
while($mandant = @mysqli_fetch_array($mandant_result)) {
array_push($allselect,$mandant['id']);
echo "<div class=\"item\" data-value=\"{$mandant['id']}\">".$mandant["description"]."</div>";
}
?>
</div>
</div>
<div class='all_mandants' ><?php echo $translation->get("all_mandants")?></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('.mandant.ui.fluid.multiple.dropdown').dropdown('set selected', <?= json_encode($preselect) ?>);
});
$y(".all_mandants").click(function() {
$y('.mandant.ui.fluid.multiple.dropdown').dropdown('set selected', <?= json_encode($allselect) ?>);
});
</script>
<?php
}

View File

@@ -0,0 +1,78 @@
<?
$formname = "form_knowledgecenter_card";
$main_layout_id = $GLOBALS["language"]["main_layout_id"];
$knowledgecenter_id = $input_knowledgecenter["id"];
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
?>
<div id="overlaycrumb">
<?php if ($input_knowledgecenter["id"] == "") {
echo $translation->get("new_menuitem_headline");
} else {
echo $translation->get("edit_menuitem");
}
?>
<div id="closeoverlay" onclick="disableOverlay();"></div>
</div>
<ul class="toolbar_menu">
<?= button("save", $translation->get("save"), $formname, "loadCard('save_knowledgecenter', true)"); ?>
<?= button("save", $translation->get("save_and_close"), $formname, "loadCard('save_knowledgecenter', true, '', true)"); ?>
<li>
<ul>
<?= button("delete", $translation->get("delete"), $formname, "loadCard('delete_knowledgecenter', true, '{$translation->get('delete_navitem_confirm')}', true)", "", FALSE); ?>
</ul>
</li>
</ul>
<?php
if ($messages !== null) {
if (count($messages)) {
echo '<div id="overlayMessages">' . join("\r\n", $messages) . '</div>';
}
}
?>
<form id="<?= $formname ?>" name="<?= $formname ?>" method="post">
<input name="input_knowledgecenter_id" type="hidden" value="<?= $input_knowledgecenter["id"] ?>">
<input name="input_main_layout_id" type="hidden" value="<?= $main_layout_id ?>">
<table class="cardform" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="w-100">
<? input($translation->get("name"), "input_description", "text", $input_knowledgecenter["description"], 100) ?>
<? input($translation->get("tags"), "input_tags", "text", $input_knowledgecenter["tags"], 100) ?>
<? input($translation->get("image"), "input_image", "file", $input_knowledgecenter["image"], 45, $disabled);
$valFile = '';
if($input_knowledgecenter['image'] != '' && $input_knowledgecenter['image'] != NULL){
$valFile = $input_knowledgecenter['image'];
}
?>
<input type="hidden" name="input_image_old" value="<?=$valFile;?>">
<?php
if($input_knowledgecenter["image"] != NULL && $input_knowledgecenter["image"] != ''){
echo "<div class='img_container knowledgecenter_image'><img class='img-fluid' src='/userdata".$input_knowledgecenter["image"]."'></div>";
echo button("delete", $translation->get("delete_image"), $formname, "loadCard('delete_image', true, '{$translation->get('delete_image')}', false)", "", FALSE);
}
?>
<? input($translation->get("active"), "input_active", "checkbox", $input_knowledgecenter["active"]) ?>
<!-- <?= create_mandant_select($input_knowledgecenter['id']); ?> -->
<?php
try {
//code...
multi_select_permission($input_knowledgecenter['id'], 'mandant');
multi_select_permission($input_knowledgecenter['id'], 'department');
multi_select_permission($input_knowledgecenter['id'], 'role');
multi_select_permission($input_knowledgecenter['id'], 'einricht');
multi_select_permission($input_knowledgecenter['id'], 'fachbereich');
} catch (\Throwable $th) {
echo $th;
}
?>
</td>
</tr>
</table>
</form>

View File

@@ -0,0 +1,100 @@
<?php
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
$formname = "form_knowledgecenter_list";
?>
<ul class="toolbar_menu">
<?= button("new", $translation->get("new"), $formname, "loadCard('new_knowledgecenter', true)"); ?>
</ul>
<div id="mainContent">
<?php echo current_website_language($site, $language); ?>
<h1><?php echo get_translation('top_knowledge_category'); ?></h1>
<form id="<?php echo $formname; ?>" name="<?php echo $formname; ?>" method="post">
<div class="requestLoader"></div>
<input type="hidden" class="selected_linklist_row" name="input_knowledgecenter_id" value="" />
<div class="requestLoader"></div>
<div id="page_linklist" class="knowledgecenter_list_view">
<?
show_knowledgecenter($site, $language);
?>
</div>
</form>
</div>
<script type="text/javascript">
var reorderCall = null;
var dragEnabled = false;
function toggleDragDrop( _aTag ) {
if (dragEnabled === false) {
dragEnabled = true;
$('ol.sortable').addClass("enabled");
$('ol.sortable').nestedSortable("option", "disabled", false);
$(_aTag).html("<?php echo $translation->get('disable_drag_drop'); ?>");
} else {
dragEnabled = false;
$('ol.sortable').removeClass("enabled");
$('ol.sortable').nestedSortable("option", "disabled", true);
$(_aTag).html("<?php echo $translation->get('enable_drag_drop'); ?>");
}
}
$('ol.sortable').nestedSortable({
forcePlaceholderSize: true,
handle : '.dd-icon',
helper : 'clone',
items : 'li',
opacity : .6,
placeholder : 'placeholder',
revert : 250,
tabSize : 25,
tolerance : 'pointer',
toleranceElement : '> div',
maxLevels : 5,
isTree : true,
expandOnHover : 1000,
cookieIndex : 'nestedSortable_expanded2',
startCollapsed : true,
stop : function ( event, ui ) {
reorder_knowledgecenter();
store_expanded();
},
disabled : false
});
$('.disclose').click(function () {
$(this).closest('li').toggleClass('mjs-nestedSortable-collapsed').toggleClass('mjs-nestedSortable-expanded');
store_expanded();
});
function store_expanded() {
var list = [];
$('ol.sortable').find('li.mjs-nestedSortable-expanded').each(function () {
list.push($(this).attr("id"));
});
$.cookie('nestedSortable_expanded2', list.join(','));
}
function reorder_knowledgecenter() {
if (reorderCall !== null) {
reorderCall.abort();
}
serialized = $('ol.sortable').nestedSortable('serialize');
arraied = $('ol.sortable').nestedSortable('toHierarchy', {startDepthCount: 0});
var parameter = {
list: arraied
};
reorderCall = jQuery.post("?action=reorder_knowledgecenter", parameter, function ( output, status, xhr ) {
if (xhr.getResponseHeader('REQUIRES_AUTH') == 1) {
window.location.replace("/mysyde/");
} else {
console.log(output);
}
});
}
</script>

View File

@@ -0,0 +1,6 @@
<?php
// $query = "SELECT * FROM main_collection LEFT JOIN knowledgecenter_collection_link ON main_collection_id. "
return;
?>

View File

@@ -0,0 +1,16 @@
<?php
if (isset($_GET['file'])) {
$query = "SELECT * FROM filegallery_line WHERE id=".$_GET['file']."";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$file = @mysqli_fetch_assoc($result)['filename'];
// echo $file;
?>
<div id="overlayPDF">
<div id="closeOverlay">schließen</div>
<div id="overlayContentPDF">
<embed src="<?php echo "/userdata/".$file; ?>" type="application/pdf" width="100%" height="100vh">
</div>
</div>
<?php
}
?>

View File

@@ -0,0 +1,33 @@
<!-- <div class="pdffiles">
<?php
try {
if (isset($_GET["search"])) {
echo "<div class='kc_back_button'>";
echo "<button class='back_button' onclick='history.back()'>Zurück</button>";
echo "</div>";
$directory = "/var/www/web4/htdocs/intranet/userdata/03_Module/01_Firmenwiki/AWO Wiki/";
$filesArray = [];
// scanDirectory($directory, $filesArray);
// echo var_dump($filesArray);
// just_search(urldecode($_GET["search"]), $filesArray);
// s_p_a(urldecode($_GET["search"]), $filesArray);
}
} catch (\Throwable $th) {
echo $th;
}
?>
</div>
<script>
$(document).ready(function() {
$('#searchbar').on('keyup', function(event) {
if (event.key === "Enter") {
var inputValue = $(this).val();
console.log(inputValue);
window.location.href = "pdfsearch.php?search="+inputValue
}
});
});
</script> -->

View File

@@ -0,0 +1,64 @@
<?php
function get_custom_feed_posts(){
$if_query = "main_collection_id IS NOT NULL AND main_mandant_id = ".$GLOBALS['main_contact']['current_mandant_id'];
$query = "SELECT main_collection.* FROM main_collection LEFT JOIN main_collection_mandant_link ON main_collection.id = main_collection_mandant_link.main_collection_id WHERE ((".$if_query.") OR main_collection_id IS NULL) AND main_collection_setup_id = 3 ORDER BY sorting";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while($posts = @mysqli_fetch_array($result)) {
$query2 = "SELECT * FROM main_collection_read WHERE main_collection_id = ".$posts['id']. " AND main_contact_id = ".$GLOBALS['main_contact']['id'];
$result2 = @mysqli_query($GLOBALS['mysql_con'], $query2);
if (@mysqli_num_rows($result2) == 1) {
$read = @mysqli_fetch_array($result2);
$read_date = new DateTime();
$read_date = $read_date->format('d.m.Y');
$state = "gelesen";
}else{
$read_date = "--.--.----";
$state = "ungelesen";
}
?>
<tr>
<td><?= $posts['description'] ?></td>
<td><?= get_category_from_post($posts['id']) ?></td>
<td><?= $read_date ?></td>
<td class="<?= $state ?>"><span><?= $state ?></span></td>
</tr>
<?php
}
}
function get_category_from_post($post_id){
$query = "SELECT knowledgecenter_category.* FROM knowledgecenter_category LEFT JOIN knowledgecenter_collection_link ON knowledgecenter_collection_link.knowledgecenter_category_id = knowledgecenter_category.id WHERE main_collection_id = ".$post_id;
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$row = @mysqli_fetch_array($result);
return $row['description'];
}
?>
<div class="kc_custom_feed">
<div class="headline">
<div class="headline_with_subtitle">
<h2>AWO Wiki</h2>
<p>Ansicht: Mein Feed</p>
</div>
<div class="svg_content">
<svg id="network-globe-line" xmlns="http://www.w3.org/2000/svg" width="17.465" height="17.461" viewBox="0 0 17.465 17.461">
<path id="Pfad_37" data-name="Pfad 37" d="M12.48,2a8.73,8.73,0,0,0-8.73,8.73,5.243,5.243,0,0,0,.044.829A8.73,8.73,0,1,0,12.48,2Zm0,1.247a7.483,7.483,0,0,1,5.263,2.17v.624a11.543,11.543,0,0,0-7.6.031,1.453,1.453,0,0,0-.711-.38H9.275c-.075-.262-.143-.524-.2-.792s-.087-.505-.118-.761a7.433,7.433,0,0,1,3.523-.892ZM10.61,6.908a10.6,10.6,0,0,1,6.966.081,10.539,10.539,0,0,1-1.939,4.365,1.422,1.422,0,0,0-1.609.355,5.585,5.585,0,0,1-.624-.393,9.978,9.978,0,0,1-3.074-3.261,1.4,1.4,0,0,0,.293-1.1ZM8.115,4.663a2.212,2.212,0,0,0,.062.4c.056.274.131.543.206.811a1.422,1.422,0,0,0-.686,1.4A11.424,11.424,0,0,0,5.091,9.62,7.483,7.483,0,0,1,8.121,4.663Zm0,9.8a1.459,1.459,0,0,0-.967,1.1h-.4A7.446,7.446,0,0,1,5.028,11.3l.069-.118a10.539,10.539,0,0,1,3-3.049,1.441,1.441,0,0,0,1.422.393,10.932,10.932,0,0,0,3.336,3.523c.256.168.518.324.78.474a1.447,1.447,0,0,0,.112.7A10.564,10.564,0,0,1,9.88,15.164a1.459,1.459,0,0,0-1.759-.692ZM12.48,18.2a7.433,7.433,0,0,1-3.623-.942l.175-.037a1.459,1.459,0,0,0,.979-1.116,11.493,11.493,0,0,0,4.365-2.183,1.428,1.428,0,0,0,1.871-.387,10.857,10.857,0,0,0,2.694.349h.331a7.483,7.483,0,0,1-6.791,4.328Zm4.06-5.55a1.453,1.453,0,0,0-.206-.742,11.474,11.474,0,0,0,2.114-4.6q.468.218.923.486a7.483,7.483,0,0,1,.262,5.114,9.978,9.978,0,0,1-3.087-.243Z" transform="translate(-3.75 -2)" fill="#e00304"/>
</svg>
</div>
</div>
<div class='kc_custom_feed_table'>
<table>
<tr class="sticky_tr">
<th>Beitrag</th>
<th>Kategorie</th>
<th>Gelesen am</th>
<th class="state">Status</th>
</tr>
<?php get_custom_feed_posts();?>
</table>
</div>
</div>

View File

@@ -0,0 +1,434 @@
<?php
try {
//code...
$category_id = 0;
if (isset($_GET['category'])) {
$category_id = $_GET['category'];
}
function search($search)
{
$search_escaped = mysqli_real_escape_string($GLOBALS['mysql_con'], $search);
$array = array();
$array[] = 0;
$query = "SELECT * FROM main_collection WHERE main_collection_setup_id = 3";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while ($collection = @mysqli_fetch_array($result)) {
$query3 = "SELECT * FROM main_collection WHERE id = '" . $collection['id'] . "' AND description LIKE '%" . $search_escaped . "%'";
$result3 = @mysqli_query($GLOBALS['mysql_con'], $query3);
if ($result3 !== null) {
if (@mysqli_num_rows($result3) >= 1) {
$array[] = $collection['id'];
continue;
}
}
$query2 = "SELECT * FROM main_collection_link WHERE main_collection_id = '" . $collection['id'] . "'";
$result2 = @mysqli_query($GLOBALS['mysql_con'], $query2);
while ($link = @mysqli_fetch_array($result2)) {
if ($link['main_sitepart_id'] == 0) {
$query3 = "SELECT * FROM main_collection_link WHERE id = " . $link['id'] . " AND data LIKE '%" . $search_escaped . "%'";
$result3 = @mysqli_query($GLOBALS['mysql_con'], $query3);
} else if ($link['main_sitepart_id'] == 1) {
// HTML-Entities für Umlaute ersetzen
$search_html = str_replace(
['ä', 'ö', 'ü', 'Ä', 'Ö', 'Ü', 'ß'],
['&auml;', '&ouml;', '&uuml;', '&Auml;', '&Ouml;', '&Uuml;', '&szlig;'],
$search_escaped
);
$query3 = "SELECT * FROM textcontent_header WHERE id = " . $link['main_sitepart_header_id'] . " AND content LIKE '%" . $search_html . "%'";
$result3 = @mysqli_query($GLOBALS['mysql_con'], $query3);
}
if ($result3 !== null) {
if (@mysqli_num_rows($result3) >= 1) {
$array[] = $collection['id'];
continue;
}
}
}
}
$query = "SELECT main_collection.* FROM main_collection WHERE id IN (" . join(",", $array) . ")";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 0) {
echo "Keine Suchergebnisse gefunden.";
return;
}
echo "<div class='kc_category_list major_group col-xs-12'>";
echo "<div class='row'>";
?>
<h3 class='kc_current_category'>Suchergebnisse für <?= $search ?></h3>
<?php
echo "<div class='kc_category_line_list_post'>";
while ($post = @mysqli_fetch_array($result)) {
$link = get_link_to_navigation(14) . get_collection_rewrite($post['description'], $post['id']);
?>
<a class="kc_post_link" href='<?= $link ?>'>
<div class='kc_post'>
<h4 class='kc_post_title'><?= $post['description'] ?></h4>
<svg id="chevron-right" xmlns="https://www.w3.org/2000/svg" width="6.442" height="10.736"
viewBox="0 0 6.442 10.736">
<path id="Pfad_73" data-name="Pfad 73"
d="M15.879,8.467l1.073-1.072,5.368,5.367-5.368,5.368-1.073-1.073,4.294-4.295L15.878,8.467Z"
transform="translate(-15.878 -7.395)" />
</svg>
</div>
</a>
<?php }
echo "</div>";
echo "</div>";
echo "</div>";
}
function all_posts()
{
$query = "SELECT DISTINCT main_collection.* FROM main_collection LEFT JOIN knowledgecenter_collection_link ON main_collection.id = knowledgecenter_collection_link.main_collection_id WHERE main_collection_setup_id = 3";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$count = @mysqli_num_rows($result);
?>
<div class='kc_content_card'>
<div class="kc_content">
<div class="svg_content">
<svg id="network-globe-line" xmlns="https://www.w3.org/2000/svg" width="24.626" height="24.62"
viewBox="0 0 24.626 24.62">
<path id="Pfad_37" data-name="Pfad 37"
d="M16.06,2A12.31,12.31,0,0,0,3.75,14.31a7.393,7.393,0,0,0,.062,1.169A12.31,12.31,0,1,0,16.06,2Zm0,1.759a10.551,10.551,0,0,1,7.421,3.06V7.7a16.276,16.276,0,0,0-10.718.044,2.049,2.049,0,0,0-1-.536h-.22c-.106-.369-.2-.739-.281-1.117s-.123-.712-.167-1.073A10.481,10.481,0,0,1,16.06,3.759ZM13.422,8.92a14.948,14.948,0,0,1,9.822.114,14.86,14.86,0,0,1-2.735,6.155,2,2,0,0,0-2.269.5,7.875,7.875,0,0,1-.879-.554,14.069,14.069,0,0,1-4.335-4.6,1.978,1.978,0,0,0,.413-1.556ZM9.9,5.755a3.118,3.118,0,0,0,.088.563c.079.387.185.765.29,1.143a2,2,0,0,0-.967,1.978A16.109,16.109,0,0,0,5.64,12.745a10.551,10.551,0,0,1,4.273-6.99Zm0,13.814a2.058,2.058,0,0,0-1.363,1.548H7.979a10.5,10.5,0,0,1-2.427-6l.1-.167a14.86,14.86,0,0,1,4.229-4.3,2.031,2.031,0,0,0,2,.554,15.414,15.414,0,0,0,4.7,4.968c.361.237.73.457,1.1.668a2.04,2.04,0,0,0,.158.985,14.9,14.9,0,0,1-5.452,2.735,2.058,2.058,0,0,0-2.48-.976Zm6.155,5.276a10.481,10.481,0,0,1-5.109-1.328l.246-.053a2.058,2.058,0,0,0,1.38-1.574,16.2,16.2,0,0,0,6.155-3.077,2.014,2.014,0,0,0,2.638-.545,15.308,15.308,0,0,0,3.8.492h.466a10.551,10.551,0,0,1-9.575,6.1Zm5.724-7.826a2.049,2.049,0,0,0-.29-1.046,16.179,16.179,0,0,0,2.981-6.48q.659.308,1.3.686a10.551,10.551,0,0,1,.369,7.21,14.069,14.069,0,0,1-4.352-.343Z"
transform="translate(-3.75 -2)" />
</svg>
</div>
<div class="kc_content_text">
<h5><?= $count ?></h5>
<p>Beiträge</p>
</div>
</div>
<div class="kc_content_link">
<a href="/intranet/de/knowledgecenter-post/">Alle Beiträge ansehen</a>
<svg id="chevron-right" xmlns="https://www.w3.org/2000/svg" width="6.442" height="10.736"
viewBox="0 0 6.442 10.736">
<path id="Pfad_73" data-name="Pfad 73"
d="M15.879,8.467l1.073-1.072,5.368,5.367-5.368,5.368-1.073-1.073,4.294-4.295L15.878,8.467Z"
transform="translate(-15.878 -7.395)" />
</svg>
</div>
</div>
<?php
}
function read_categories()
{
$query = "SELECT COUNT(*) AS count FROM knowledgecenter_category";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$count = @mysqli_fetch_array($result); ?>
<div class='kc_content_card'>
<div class="kc_content">
<div class="svg_content">
<svg xmlns="https://www.w3.org/2000/svg" width="22.168" height="22.179" viewBox="0 0 22.168 22.179">
<path id="category"
d="M22.042,18.2V14.917a1.583,1.583,0,0,0-1.583-1.583H14.125V10.167h1.583a1.585,1.585,0,0,0,1.583-1.583V3.833A1.585,1.585,0,0,0,15.709,2.25h-4.75A1.585,1.585,0,0,0,9.375,3.833v4.75a1.585,1.585,0,0,0,1.583,1.583h1.583v3.167H6.208a1.583,1.583,0,0,0-1.583,1.583V18.2a3.167,3.167,0,1,0,1.583,0V14.917h6.333V18.2a3.167,3.167,0,1,0,1.583,0V14.917h6.333V18.2a3.167,3.167,0,1,0,1.583,0ZM10.958,3.833h4.75v4.75H10.958ZM7,21.25a1.583,1.583,0,1,1-1.583-1.583A1.583,1.583,0,0,1,7,21.25Zm7.917,0a1.583,1.583,0,1,1-1.583-1.583,1.583,1.583,0,0,1,1.583,1.583Zm6.333,1.583a1.583,1.583,0,1,1,1.583-1.583,1.583,1.583,0,0,1-1.583,1.583Z"
transform="translate(-2.25 -2.25)" />
</svg>
</div>
<div class="kc_content_text">
<h5><?= $count['count'] ?></h5>
<p>Kategorien abgeschlossen</p>
</div>
</div>
<div class="kc_content_link">
<a href="/intranet/de/knowledgecenter/">Alle Kategorien ansehen</a>
<svg id="chevron-right" xmlns="https://www.w3.org/2000/svg" width="6.442" height="10.736"
viewBox="0 0 6.442 10.736">
<path id="Pfad_73" data-name="Pfad 73"
d="M15.879,8.467l1.073-1.072,5.368,5.367-5.368,5.368-1.073-1.073,4.294-4.295L15.878,8.467Z"
transform="translate(-15.878 -7.395)" />
</svg>
</div>
</div>
<?php
}
function marked_posts()
{
$query = "SELECT COUNT(*) AS count FROM main_collection_mark WHERE main_contact_id = " . $GLOBALS['main_contact']['id'];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
$count = @mysqli_fetch_array($result); ?>
<div id="show_bookmarks" class='kc_content_card'>
<div class="kc_content">
<div class="svg_content">
<svg xmlns="https://www.w3.org/2000/svg" width="16.322" height="22.851" viewBox="0 0 16.322 22.851">
<g id="bookmark" transform="translate(-6.75 -2.25)">
<path id="Pfad_87" data-name="Pfad 87"
d="M14.911,20.2l8.161,4.9V5.514A3.264,3.264,0,0,0,19.807,2.25H10.014A3.264,3.264,0,0,0,6.75,5.514V25.1ZM8.382,22.218,14.911,18.3l6.529,3.917V5.514a1.632,1.632,0,0,0-1.632-1.632H10.014A1.632,1.632,0,0,0,8.382,5.514v16.7Z"
fill-rule="evenodd" />
</g>
</svg>
</div>
<div class="kc_content_text">
<h5><?= $count['count'] ?></h5>
<p>Lesezeichen</p>
</div>
</div>
<div class="kc_content_link">
<a href="#">Meine Lesezeichen ansehen</a>
<svg id="chevron-right" xmlns="https://www.w3.org/2000/svg" width="6.442" height="10.736"
viewBox="0 0 6.442 10.736">
<path id="Pfad_73" data-name="Pfad 73"
d="M15.879,8.467l1.073-1.072,5.368,5.367-5.368,5.368-1.073-1.073,4.294-4.295L15.878,8.467Z"
transform="translate(-15.878 -7.395)" />
</svg>
</div>
</div>
<?php
}
function bookmarks()
{
$query = "SELECT * FROM main_collection LEFT JOIN main_collection_mark ON main_collection.id = main_collection_mark.main_collection_id WHERE main_contact_id = " . $GLOBALS['main_contact']['id'];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
?>
<div class="close">
<svg xmlns="https://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<path id="close"
d="M27,10.575,25.425,9,18,16.425,10.575,9,9,10.575,16.425,18,9,25.425,10.575,27,18,19.575,25.425,27,27,25.425,19.575,18Z"
transform="translate(-9 -9)" />
</svg>
</div>
<div class="headline">
<h2>Lesezeichen</h2>
<div class="svg_content">
<svg xmlns="https://www.w3.org/2000/svg" width="16.322" height="22.851" viewBox="0 0 16.322 22.851">
<g id="bookmark" transform="translate(-6.75 -2.25)">
<path id="Pfad_87" data-name="Pfad 87"
d="M14.911,20.2l8.161,4.9V5.514A3.264,3.264,0,0,0,19.807,2.25H10.014A3.264,3.264,0,0,0,6.75,5.514V25.1ZM8.382,22.218,14.911,18.3l6.529,3.917V5.514a1.632,1.632,0,0,0-1.632-1.632H10.014A1.632,1.632,0,0,0,8.382,5.514v16.7Z"
fill-rule="evenodd" />
</g>
</svg>
</div>
</div>
<?php
while ($post = @mysqli_fetch_array($result)) {
$link = get_link_to_navigation(14) . get_collection_rewrite($post['description'], $post['main_collection_id']);
echo "<div class='bookmark_container'>";
?>
<div class="bookmark_content_svg">
<svg xmlns="https://www.w3.org/2000/svg" width="16.322" height="22.851" viewBox="0 0 16.322 22.851">
<g id="bookmark" transform="translate(-6.75 -2.25)">
<path id="Pfad_87" data-name="Pfad 87"
d="M14.911,20.2l8.161,4.9V5.514A3.264,3.264,0,0,0,19.807,2.25H10.014A3.264,3.264,0,0,0,6.75,5.514V25.1ZM8.382,22.218,14.911,18.3l6.529,3.917V5.514a1.632,1.632,0,0,0-1.632-1.632H10.014A1.632,1.632,0,0,0,8.382,5.514v16.7Z"
fill-rule="evenodd" />
</g>
</svg>
</div>
<?php
echo "<a class='bookmark_content'href='" . $link . "'>" . $post['description'] . "</a>";
echo "<a class='remove_bookmark' href='?action=remove_mark&collection_id=" . $post['main_collection_id'] . "'></a>";
echo "</div>";
}
if (isset($_GET['action']) && $_GET['action'] == 'remove_mark' && $_GET['collection_id'] != NULL) {
remove_mark($_GET['collection_id']);
}
?>
<a href="/intranet/de/knowledgecenter-post/"><button class="show_all_posts">Alle Beiträge ansehen</button></a>
<?php
}
function count_posts($category_id)
{
$query = "SELECT knowledgecenter_collection_link.* FROM knowledgecenter_collection_link LEFT JOIN main_collection_mandant_link ON knowledgecenter_collection_link.main_collection_id = main_collection_mandant_link.main_collection_id WHERE knowledgecenter_category_id = " . $category_id;
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 0) {
return;
}
$count = 0;
$read = 0;
while ($posts = @mysqli_fetch_array($result)) {
$query2 = "SELECT * FROM main_collection_read WHERE main_collection_id = " . $posts['main_collection_id'] . " AND main_contact_id = " . $GLOBALS['main_contact']['id'];
$result2 = @mysqli_query($GLOBALS['mysql_con'], $query2);
if (@mysqli_num_rows($result2) == 1) {
$read++;
}
$count++;
}
$percent = ($read / $count) * 100;
$percent = round($percent, 2);
?>
<div class='pct_read'>
<div class="pct_textcontent">
<p class="pct"><?= $percent ?>%</p>
<p class="pct_tag"><?= $read ?>/<?= $count ?> Beiträge</p>
</div>
<div class='pct_status' style='width: <?= $percent ?>%'></div>
</div>
<?php
}
function get_categories($category_id)
{
$sql_uus = @mysqli_query($GLOBALS["mysql_con"], "SELECT * FROM main_contact_department WHERE main_contact_id = '" . $_SESSION["login_id"] . "';");
// $user_uus = @mysqli_fetch_assoc($sql_uus);
while ($row = @mysqli_fetch_array($sql_uus)) {
$mandants[] = $row["main_mandant_id"];
$department[] = $row["main_department_id"];
$role[] = $row["main_role_id"];
$fachbereiches[] = $row["main_bereich_id"];
$einrichts[] = $row["main_einricht_id"];
}
$left_join_main_department = "LEFT JOIN knowledgecenter_category_department_link ON knowledgecenter_category.id = knowledgecenter_category_department_link.knowledgecenter_category_id";
$left_joint_main_mandant = "LEFT JOIN knowledgecenter_category_mandant_link ON knowledgecenter_category.id = knowledgecenter_category_mandant_link.knowledgecenter_category_id";
$left_joint_main_role = "LEFT JOIN knowledgecenter_category_role_link ON knowledgecenter_category.id = knowledgecenter_category_role_link.knowledgecenter_category_id";
$left_joint_main_fachbereich = "LEFT JOIN knowledgecenter_category_fachbereich_link ON knowledgecenter_category.id = knowledgecenter_category_fachbereich_link.knowledgecenter_category_id";
$left_joint_main_einricht = "LEFT JOIN knowledgecenter_category_einricht_link ON knowledgecenter_category.id = knowledgecenter_category_einricht_link.knowledgecenter_category_id";
$query = "SELECT DISTINCT knowledgecenter_category.* FROM knowledgecenter_category " . $left_joint_main_mandant . " " . $left_join_main_department . " " . $left_joint_main_fachbereich . " " . $left_joint_main_einricht . " " . $left_joint_main_role . " WHERE active = 1 AND parent_id = " . $category_id . " AND (knowledgecenter_category_department_link.main_department_id IN(" . implode(",", $department) . ") OR knowledgecenter_category_department_link.main_department_id IS NULL) AND (knowledgecenter_category_mandant_link.main_mandant_id IN(" . implode(",", $mandants) . ") OR knowledgecenter_category_mandant_link.main_mandant_id IS NULL) AND (knowledgecenter_category_fachbereich_link.main_fachbereich_id IN(" . implode(",", $fachbereiches) . ") OR knowledgecenter_category_fachbereich_link.main_fachbereich_id IS NULL) AND (knowledgecenter_category_einricht_link.main_einricht_id IN(" . implode(",", $einrichts) . ") OR knowledgecenter_category_einricht_link.main_einricht_id IS NULL) AND (knowledgecenter_category_role_link.main_role_id IN(" . implode(",", $role) . ") OR knowledgecenter_category_role_link.main_role_id IS NULL) ORDER BY sorting ASC";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 0) {
return;
}
?>
<?php
while ($category = @mysqli_fetch_array($result)) {
$link = get_link_to_navigation(6) . '?category=' . $category['id'];
?>
<a class="kc_category_link category_list_item" href='<?= $link ?>'>
<div class='kc_category'>
<img class='kc_img'
src="<?= !empty($category['image']) ? '/userdata' . $category['image'] : '/userdata/01_Basic/platzhalter_bild_kategorie.jpg' ?>">
<p class='kc_tags'><?= !empty($category['tags']) ? $category['tags'] : 'Kategorie' ?></p>
<h3 class='kc_title'><?= $category['description'] ?></h3>
<!-- <?= count_posts($category['id']) ?> -->
</div>
</a>
<?php }
}
function get_posts($category_id)
{
// $order = get_collection_order($collection_setup);
$sql_uus = @mysqli_query($GLOBALS["mysql_con"], "SELECT * FROM main_contact_department WHERE main_contact_id = '" . $_SESSION["login_id"] . "';");
// $user_uus = @mysqli_fetch_assoc($sql_uus);
while ($row = @mysqli_fetch_array($sql_uus)) {
$mandants[] = $row["main_mandant_id"];
$department[] = $row["main_department_id"];
$role[] = $row["main_role_id"];
$fachbereiches[] = $row["main_bereich_id"];
$einrichts[] = $row["main_einricht_id"];
}
$left_join_main_department = "LEFT JOIN main_collection_department_link ON main_collection.id = main_collection_department_link.main_collection_id";
$left_joint_main_mandant = "LEFT JOIN main_collection_mandant_link ON main_collection.id = main_collection_mandant_link.main_collection_id";
$left_joint_main_role = "LEFT JOIN main_collection_role_link ON main_collection.id = main_collection_role_link.main_collection_id";
$left_joint_main_fachbereich = "LEFT JOIN main_collection_fachbereich_link ON main_collection.id = main_collection_fachbereich_link.main_collection_id";
$left_joint_main_einricht = "LEFT JOIN main_collection_einricht_link ON main_collection.id = main_collection_einricht_link.main_collection_id";
$query = "SELECT DISTINCT main_collection.* FROM main_collection " . $left_joint_main_mandant . " " . $left_join_main_department . " " . $left_joint_main_fachbereich . " " . $left_joint_main_einricht . " " . $left_joint_main_role . " LEFT JOIN knowledgecenter_collection_link ON knowledgecenter_collection_link.main_collection_id = main_collection.id WHERE knowledgecenter_collection_link.knowledgecenter_category_id = $category_id AND knowledgecenter_category_id != 0 AND (main_collection_department_link.main_department_id IN(" . implode(",", $department) . ") OR main_collection_department_link.main_department_id IS NULL) AND (main_collection_mandant_link.main_mandant_id IN(" . implode(",", $mandants) . ") OR main_collection_mandant_link.main_mandant_id IS NULL) AND (main_collection_fachbereich_link.main_fachbereich_id IN(" . implode(",", $fachbereiches) . ") OR main_collection_fachbereich_link.main_fachbereich_id IS NULL) AND (main_collection_einricht_link.main_einricht_id IN(" . implode(",", $einrichts) . ") OR main_collection_einricht_link.main_einricht_id IS NULL) AND (main_collection_role_link.main_role_id IN(" . implode(",", $role) . ") OR main_collection_role_link.main_role_id IS NULL) ORDER BY main_collection.description ASC";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
if (@mysqli_num_rows($result) == 0) {
return;
}
$query_category = "SELECT * FROM knowledgecenter_category WHERE id = " . $category_id;
$result_category = @mysqli_query($GLOBALS['mysql_con'], $query_category);
$category = @mysqli_fetch_array($result_category);
?>
<?php
while ($post = @mysqli_fetch_array($result)) {
$link = get_link_to_navigation(14) . get_collection_rewrite($post['description'], $post['id']);
?>
<a class="kc_category_link post_list_item" href='<?= $link ?>'>
<div class='kc_category'>
<img class='kc_img' src='/userdata/01_Basic/platzhalter_bild.jpg'>
<p class='kc_tags'>Beitrag</p>
<h3 class='kc_title'><?= $post['description'] ?></h3>
<!-- <p class="kc_hint">zum Beitrag</p> -->
</div>
</a>
<?php }
?>
<div class='kc_current_category'><?= $category['description'] ?></div>
<?php
}
echo "<div class='kc_group_container'>";
if (isset($_GET["category"]) || isset($_GET['search'])) {
echo "<div class='kc_back_button'>";
echo "<button class='back_button' onclick='history.back()'>Zurück</button>";
echo "</div>";
}
if (!isset($_GET['search'])) {
echo "<div class='col-xs-12'>";
echo "<div class='grid_knowledgecenter'>";
get_categories($category_id);
get_posts($category_id);
echo "</div>";
echo "</div>";
} else {
search($_GET['search']);
}
// if(!isset($_GET["category"])) {
// echo "<div class='kc_card_list col-xs-12 col-sm-12 col-md-12 col-lg-4'>";
// all_posts();
// read_categories();
// marked_posts();
// echo "</div>";
echo "<div class='my_bookmarks'>";
bookmarks();
echo "</div>";
// echo "<div class='toggleSlide'>";
// echo "Ansichtswechsel";
// echo "</div>";
// }
echo "</div>";
function remove_mark($collection_id)
{
$query = "DELETE FROM main_collection_mark WHERE main_collection_id = '" . $collection_id . "' AND main_contact_id = '" . $GLOBALS['main_contact']['id'] . "'";
$result = mysqli_query($GLOBALS["mysql_con"], $query);
?>
<script>
const url = window.location.href.split('?')[0]
window.location = url;
</script>
<?php
}
} catch (\Throwable $th) {
echo $th;
}
?>
<script>
$(document).ready(function () {
// Überprüfen, ob es category_list_items gibt
if ($('.grid_knowledgecenter .category_list_item').length === 0) {
// Wenn keine vorhanden sind, Klasse hinzufügen
$('.grid_knowledgecenter').addClass('no-categories');
}
});
</script>