2026-02-17 14:56:23 +01:00
< ?
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> </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')?> " >
2026-06-29 10:07:25 +02:00
< ? php
$einrichtLinks = [];
if ( $type == " einricht " ) {
$linkRes = mysqli_query ( $GLOBALS [ 'mysql_con' ],
" SELECT einricht_id, linked_einricht_id FROM organigramm_einricht_link " );
while ( $lr = mysqli_fetch_assoc ( $linkRes )) {
$einrichtLinks [ strval ( $lr [ 'einricht_id' ])][] = strval ( $lr [ 'linked_einricht_id' ]);
}
}
?>
2026-02-17 14:56:23 +01:00
< script >
var $y = jQuery . noConflict ();
$y ( document ) . ready ( function () {
2026-06-29 10:07:25 +02:00
var $drop = $y ( '.websites.ui.fluid.multiple.dropdown.type_<?= $type ?>' );
< ? php if ( $type == " einricht " ) : ?>
var einrichtLinks = < ? = json_encode ( $einrichtLinks ) ?> ;
var busy = false ;
$drop . dropdown ({
onChange : function ( value ) {
if ( busy ) return ;
var current = value ? value . split ( ',' ) . filter ( Boolean ) : [];
var toAdd = [];
current . forEach ( function ( id ) {
( einrichtLinks [ id ] || []) . forEach ( function ( lid ) {
if ( current . indexOf ( lid ) < 0 && toAdd . indexOf ( lid ) < 0 ) toAdd . push ( lid );
});
});
if ( toAdd . length ) {
busy = true ;
$drop . dropdown ( 'set selected' , current . concat ( toAdd ));
busy = false ;
}
}
});
< ? php endif ; ?>
$drop . dropdown ( 'set selected' , < ? = json_encode ( $preselect ) ?> );
2026-02-17 14:56:23 +01:00
});
$ ( " <?php echo " #all_get".$type;?>").click(function() {
2026-06-29 10:07:25 +02:00
$y ( '.websites.ui.fluid.multiple.dropdown.type_<?= $type ?>' ) . dropdown ( 'set selected' , < ? = json_encode ( $allselect ) ?> );
2026-02-17 14:56:23 +01:00
});
$ ( " <?php echo " #all_del".$type;?>").click(function() {
console . log ( " delete " );
2026-06-29 10:07:25 +02:00
$y ( '.websites.ui.fluid.multiple.dropdown.type_<?= $type ?>' ) . dropdown ( 'clear' );
2026-02-17 14:56:23 +01:00
});
</ 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
}