Files
awo-hamburg-intranet/module/collection/page_collection_preview_cardform.inc.php

282 lines
14 KiB
PHP
Raw Normal View History

2026-02-17 14:56:23 +01:00
<?php
$translation = \DynCom\mysyde\common\classes\Registry::get("translation");
$formname = "form_collection_preview_list";
$inputname = "input_id";
$input_page_id = (isset($_REQUEST["input_page_id"]) ? $_REQUEST["input_page_id"] : "");
$collection_setup_id = 0;
// erstelle kollektionen sammeln
$collection_setups = array();
$query = "SELECT * FROM main_collection_setup WHERE (main_language_id = " . (int)$GLOBALS["language"]['id'] . " OR all_languages = 1)";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = @mysqli_fetch_array($result, 1)) {
$collection_setups[$row['id']] = $row;
}
$query = "SELECT ms.id, ms.main_language_id, ms.code, ms.description, ms.linked, ms.icon, ms.modified_user, ms.modified_date, ms.all_languages, ms.show_filter FROM main_collection_setup as ms INNER JOIN main_collection_setup_websites as mcsw on ms.id = mcsw.main_collection_setup_id WHERE mcsw.main_site_id = ".$GLOBALS['site']['id']." ";
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = @mysqli_fetch_array($result)) {
$collection_setups[$row['id']] = $row;
}
$collections = array();
$collection_ids = array();
if ($input_line['main_collection_setup_id'] != "") {
$query = "SELECT * FROM main_collection WHERE main_collection_setup_id = " . $input_line['main_collection_setup_id'];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = @mysqli_fetch_array($result, 1)) {
$collections[] = $row['description'];
$collection_ids[] = $row['id'];
}
}
$active_groups = array();
$query = "SELECT main_collection_setup_group_id FROM main_page_collection_group_link WHERE main_page_link_id = " . (int)$input_line["id"];
$result = @mysqli_query($GLOBALS['mysql_con'], $query);
while ($row = @mysqli_fetch_array($result)) {
$active_groups[] = $row['main_collection_setup_group_id'];
}
?>
<script type="text/javascript">
function loadPagesWithCollection( collection_setup_id ) {
load_collections(collection_setup_id);
$('.collection_pages', $('#<?php echo $formname; ?>')).html("");
$('.collection_preview_group_select_container', $('#<?php echo $formname; ?>')).html("");
if (collection_setup_id == "" || collection_setup_id == 0) {
return;
}
$('.loader', $('#<?php echo $formname; ?>')).show();
// ajax
var formData = new FormData(jQuery('#<?php echo $formname; ?>')[0]);
formData.append("collection_setup_id", collection_setup_id);
formData.append("page_link_id", '<?php echo $input_line["id"]; ?>');
$.ajax({
url : "?action=load_collection_pages_page",
type : 'POST',
data : formData,
cache : false,
processData: false, // Don't process the files
contentType: false, // Set content type to false as jQuery will tell the server its a query string request
dataType : 'json',
success : function ( output, status, xhr ) {
if (xhr.getResponseHeader('REQUIRES_AUTH') == 1) {
window.location.replace("/mysyde/");
} else {
$('.loader', $('#<?php echo $formname; ?>')).hide();
$('.collection_pages', $('#<?php echo $formname; ?>')).html(output.page_with_collection_select);
$('.collection_preview_group_select_container', $('#<?php echo $formname; ?>')).html(output.collection_preview_group_select);
}
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
console.log(msg);
}
});
}
function load_collections( collection_setup_id ) {
$('.collection_list_choose', $('#<?php echo $formname; ?>')).html("");
var formData = new FormData(jQuery('#<?php echo $formname; ?>')[0]);
formData.append("main_collection_setup_id", collection_setup_id);
$.ajax({
url : "?action=load_collections_page",
type : 'POST',
data : formData,
cache : false,
processData: false, // Don't process the files
contentType: false, // Set content type to false as jQuery will tell the server its a query string request
success : function ( output, status, xhr ) {
if (xhr.getResponseHeader('REQUIRES_AUTH') == 1) {
window.location.replace("/mysyde/");
} else {
$('.collection_list_choose', $('#<?php echo $formname; ?>')).html(output);
}
},
error : function ( jqXHR, textStatus, errorThrown ) {
//console.log('ERRORS: ' + textStatus);
}
});
}
function toggle_view_type( _type ) {
if (_type == 0) {
$('.collection_list_choose', $('#<?php echo $formname; ?>')).show();
$('.collection_items_choose', $('#<?php echo $formname; ?>')).hide();
} else {
$('.collection_list_choose', $('#<?php echo $formname; ?>')).hide();
$('.collection_items_choose', $('#<?php echo $formname; ?>')).show();
}
}
function save_and_close_page_line() {
jQuery('#save_and_close', jQuery('#<?php echo $formname; ?>')).val("1");
loadCard('save_collection_preview_page', true);
}
</script>
<div id="overlaycrumb">
<?php
if (isset($_REQUEST['is_collection_preview']) && $_REQUEST['is_collection_preview'] == 1) {
echo $translation->get("assign_collection_preview");
} else {
echo $translation->get("assign_collection_list");
}
?>
</div>
<ul class="toolbar_menu">
<?= button("left", $translation->get("back"), $formname, "loadCard('edit_content_page', true)"); ?>
<?= button("save", $translation->get("save"), $formname, "loadCard('save_collection_preview_page', true)"); ?>
<?= button("save", $translation->get("save_and_close"), $formname, "save_and_close_page_line();"); ?>
</ul>
<?php
if ($messages !== null) {
if ((gettype($messages) == 'array' || gettype($messages) == 'object') && count($messages)) {
echo '<div id="overlayMessages">' . join("\r\n", $messages) . '</div>';
}
}
?>
<?php if (isset($_REQUEST['is_collection_preview']) && $_REQUEST['is_collection_preview'] == 1): ?>
<form id="<?= $formname ?>" name="<?= $formname ?>" method="post">
<input name="input_id" type="hidden" value="<?= $input_line["id"] ?>">
<input type="hidden" name="get_real_page_link_id" value="0" />
<input type="hidden" name="input_page_id" value="<?php echo $input_page_id; ?>" />
<input name="save_and_close" id="save_and_close" type="hidden" value="0" />
<input name="is_collection_preview" id="is_collection_preview" type="hidden" value="1" />
<table class="cardform" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<? create_collection_select($collection_setups, $translation->get("choose_collection_type"), "main_collection_setup_id", $input_line, FALSE, TRUE, "loadPagesWithCollection(this.value);"); ?>
</td>
<td>
<? input_select($translation->get("collection_preview_type"), "main_collection_view_type", $values = array('0', '1'), $value_names = array($translation->get("single_collection"), $translation->get("collection_list")), $input_line["main_collection_view_type"], FALSE, FALSE, 'onchange="toggle_view_type(this.value);"'); ?>
<? input_select($translation->get("choose_order"), "main_collection_order", $values = ["sort", "date_asc", "date_desc", "desc_asc", "desc_desc"], $value_names = ["Sortierung", "Datum aufsteigend", "Datum absteigend", "Beschreibung aufsteigend", "Beschreibung absteigend"], $input_line["main_collection_order"], FALSE, FALSE); ?>
</td>
</tr>
<tr>
<td>
<img class="loader" style="display:none;" src="/layout/admin/img/icons/ajax-loader.gif" />
<div class="collection_pages">
<?
create_page_with_collection_select($input_line['main_collection_setup_id'], $translation->get("page_with_collections"), "main_collection_page_list_id", $input_line, FALSE);
?>
</div>
</td>
<td>
<?php
if ($input_line["main_collection_view_type"] == 0) {
$display_list_choose = '';
$display_item_choose = 'style="display:none;"';
} else {
$display_item_choose = '';
$display_list_choose = 'style="display:none;"';
}
// einzelne kollektion
echo "<div class=\"collection_list_choose\" " . $display_list_choose . ">";
input_select($translation->get("choose_collection"), "main_collection_id", $values = $collection_ids, $value_names = $collections, $input_line["main_collection_id"], FALSE, FALSE);
echo "</div>";
// kollektionsliste
echo "<div class=\"collection_items_choose\" " . $display_item_choose . ">";
input($translation->get("collection_list_items"), "main_collection_items", "text", $input_line["main_collection_items"], 255);
echo "</div>";
?>
</td>
</tr>
<tr>
<td>
<div class="collection_preview_group_select_container">
<?php create_collection_preview_group_select($input_line['main_collection_setup_id'], $input_line["id"], $active_groups); ?>
</div>
</td>
<td>
<div class="collection_preview_tag_container">
<?php create_collection_preview_tags($input_line["id"]); ?>
</div>
</td>
</tr>
</table>
</form>
<?php else: ?>
<form id="<?= $formname ?>" name="<?= $formname ?>" method="post">
<input name="input_id" type="hidden" value="<?= $input_line["id"] ?>">
<input type="hidden" name="get_real_page_link_id" value="0" />
<input type="hidden" name="input_page_id" value="<?php echo $input_page_id; ?>" />
<input name="save_and_close" id="save_and_close" type="hidden" value="0" />
<input name="is_collection_list" id="is_collection_list" type="hidden" value="1" />
<input name="main_collection_id" type="hidden" value="0" />
<input name="main_collection_page_list_id" type="hidden" value="0" />
<input name="main_collection_items" type="hidden" value="0" />
<input name="main_collection_view_type" type="hidden" value="0" />
<table class="cardform" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<? create_collection_select($collection_setups, $translation->get("choose_collection_type"), "main_collection_setup_id", $input_line, FALSE, TRUE, "loadPagesWithCollection(this.value);"); ?>
</td>
<td>
<? input_select($translation->get("choose_order"), "main_collection_order", $values = ["sort", "date_asc", "date_desc", "desc_asc", "desc_desc"], $value_names = ["Sortierung", "Datum aufsteigend", "Datum absteigend", "Beschreibung aufsteigend", "Beschreibung absteigend"], $input_line["main_collection_order"], FALSE, FALSE); ?>
</td>
</tr>
<tr>
<td colspan="2">
<img class="loader" style="display:none;" src="/layout/admin/img/icons/ajax-loader.gif" />
</td>
<td>
</tr>
<tr>
<div class="collection_preview_group_select_container">
<?php create_collection_preview_group_select($input_line['main_collection_setup_id'], $input_line["id"], $active_groups); ?>
</div>
</td>
<td>
<div class="collection_preview_tag_container">
<?php create_collection_preview_tags($input_line["id"]); ?>
</div>
</td>
</tr>
</table>
</form>
<?php endif; ?>