<?php

namespace DataView;

class ReminderAufgabeNot_assigned {
  
  

  
  

    // --- Statische Methoden ---
  
  public static function renderScript() { 
    
    
    // --- BLOCK: main ---
    
								\FOP\I18n::ensureIsLoaded();
								?>
								<script type="text/javascript">
									
    function changefilter_reminderAufgabeNot_assigned_typListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_typ', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_typ'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout = null;
		function changefilter_reminderAufgabeNot_assigned_typSearchFilter(val, callback) {
			if(ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout) clearTimeout(ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout);

			ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_typItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_typ_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_typListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_typ_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_typ_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="bff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7" type="text">' +
			'<label class="mdl-textfield__label" for="bff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_typ', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_typ_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_typ'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_typSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_typItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_typ_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_typ'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_typ', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_typListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
    function changefilter_reminderAufgabeNot_assigned_stateListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_state', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_state'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout = null;
		function changefilter_reminderAufgabeNot_assigned_stateSearchFilter(val, callback) {
			if(ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout) clearTimeout(ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout);

			ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_stateItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_state_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_stateListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_state_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_state_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="a0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71" type="text">' +
			'<label class="mdl-textfield__label" for="a0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_state', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_state_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_state'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_stateSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_stateItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_state_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_state'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_state', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_stateListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
    function changefilter_reminderAufgabeNot_assigned_assignedListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_assigned', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_assigned'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout = null;
		function changefilter_reminderAufgabeNot_assigned_assignedSearchFilter(val, callback) {
			if(i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout) clearTimeout(i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout);

			i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_assignedItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_assigned_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_assignedListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_assigned_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_assigned_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333bad" type="text">' +
			'<label class="mdl-textfield__label" for="8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333bad">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_assigned', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_assigned_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_assigned'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_assignedSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_assignedItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_assigned_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_assigned'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_assigned', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_assignedListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
    function changefilter_reminderAufgabeNot_assigned_creatorListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_creator', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_creator'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout = null;
		function changefilter_reminderAufgabeNot_assigned_creatorSearchFilter(val, callback) {
			if(iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout) clearTimeout(iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout);

			iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_creatorItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_creator_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_creatorListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_creator_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_creator_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="afafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89" type="text">' +
			'<label class="mdl-textfield__label" for="afafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_creator', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_creator_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_creator'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_creatorSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_creatorItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_creator_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_creator'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_creator', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_creatorListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
									
    function changefilter_reminderAufgabeNot_assigned_typListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_typ', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_typ'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout = null;
		function changefilter_reminderAufgabeNot_assigned_typSearchFilter(val, callback) {
			if(ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout) clearTimeout(ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout);

			ibff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7timeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_typItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_typ_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_typListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_typ_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_typ_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="bff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7" type="text">' +
			'<label class="mdl-textfield__label" for="bff7c46e8f2095e615a18aaf05a8f16dc144c13c86ecd0b72bfe8eea0ec708d7">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_typ', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_typ_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_typ'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_typSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_typItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_typ_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_typ'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_typ', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_typListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
    function changefilter_reminderAufgabeNot_assigned_stateListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_state', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_state'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout = null;
		function changefilter_reminderAufgabeNot_assigned_stateSearchFilter(val, callback) {
			if(ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout) clearTimeout(ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout);

			ia0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71timeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_stateItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_state_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_stateListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_state_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_state_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="a0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71" type="text">' +
			'<label class="mdl-textfield__label" for="a0d0b4f17a822c48d7941f97cca83cf36c1d38153aa76fd54af52e8cdb3abd71">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_state', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_state_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_state'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_stateSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_stateItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_state_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_state'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_state', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_stateListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
    function changefilter_reminderAufgabeNot_assigned_assignedListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_assigned', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_assigned'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout = null;
		function changefilter_reminderAufgabeNot_assigned_assignedSearchFilter(val, callback) {
			if(i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout) clearTimeout(i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout);

			i8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333badtimeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_assignedItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_assigned_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_assignedListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_assigned_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_assigned_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333bad" type="text">' +
			'<label class="mdl-textfield__label" for="8b5b7c99784ff80005e260807f27cd9a6162683dfe31384be23c1c49a3333bad">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_assigned', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_assigned_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_assigned'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_assignedSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_assignedItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_assigned_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_assigned'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_assigned', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_assignedListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
    function changefilter_reminderAufgabeNot_assigned_creatorListMultiFilter(val, cb) {
		  if (val) {
			  querySet('filter_reminderAufgabeNot_assigned_creator', val, cb.checked);
		  } else {
			  delete query['filter_reminderAufgabeNot_assigned_creator'];
		  }reloadreminderAufgabeNot_assigned();
        
    }

		var iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout = null;
		function changefilter_reminderAufgabeNot_assigned_creatorSearchFilter(val, callback) {
			if(iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout) clearTimeout(iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout);

			iafafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89timeout = setTimeout(function() {
				$.getJSON(reloadreminderAufgabeNot_assigned({action: 'getfilter_reminderAufgabeNot_assigned_creatorItemsByString', 'fstr': val}, true), function(r) {
					callback(r);
					query['filter_reminderAufgabeNot_assigned_creator_orig'] = val;
				});
			}, 300);
		}

	function getfilter_reminderAufgabeNot_assigned_creatorListMultiFilter() {
		var gui = $("<div class='fop-floatsorter'></div>");
		// TODO: usability #1866 auf ajax warten bevor ENTER behandelt wird
		var fstr = <?php echo(isset($_GET['filter_reminderAufgabeNot_assigned_creator_orig']) ? json_encode($_GET['filter_reminderAufgabeNot_assigned_creator_orig']) : '""') ?>;
		var search = $('<div class="mdl-textfield mdl-js-textfield">' + 
			'<input value="" class="mdl-textfield__input" id="afafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89" type="text">' +
			'<label class="mdl-textfield__label" for="afafeb4b0eb1cd5f8f72f16c6b4ac778dbb23fda461f7a82639caf2c6b2f5f89">Filter...</label>' +
			'</div>');
		search.find('input').val(fstr).keyup(function (event) {
			var self = this;
			if ((event.keyCode || e.which) == 13) {
				var hasChecked = false;
				if (this.value) {
					// search value + tick all search results
					checkboxes.find('input').each(function (i, inp) {
						if (!inp.checked && $(inp).data('value')) {
							inp.checked = true;
							querySet('filter_reminderAufgabeNot_assigned_creator', $(inp).data('value'), true);
							hasChecked = true;
						}
					});
				} else {
					// untick all
					search.find('input').val('');
					query['filter_reminderAufgabeNot_assigned_creator_orig'] = '';
					delete query['filter_reminderAufgabeNot_assigned_creator'];
					reload('', items);
					hasChecked = true;
				}
				if (hasChecked) {reloadreminderAufgabeNot_assigned();
					
				} else {
					$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();
				}
			} else {
				changefilter_reminderAufgabeNot_assigned_creatorSearchFilter(this.value, function (result) {
					reload(self.value, result);
				});
			}
		});
		gui.append(search);

		var checkboxes = $("<div></div>").css({maxHeight: '200px', overflow: 'auto'});
		var items = <?php
			// TODO: deps-Variable füllen mit DV-Parametern vom DataView id
			echo json_encode(\DataView\ReminderAufgabeNot_assigned::getfilter_reminderAufgabeNot_assigned_creatorItemsByStringAction(''));
		?>;

		function reload(fstr, items) {
			// rerender checkbox list
			checkboxes.empty();
			checkboxes.append($('<i style="cursor: pointer;"><?php echo _('show all'); ?></i>').click(function () {
				search.find('input').val('');
				query['filter_reminderAufgabeNot_assigned_creator_orig'] = '';
				delete query['filter_reminderAufgabeNot_assigned_creator'];
				reload('', items);reloadreminderAufgabeNot_assigned();
				
			})).append('<br/>');
			// NULL-Wert auch suchbar #2057 (kommt als ID=0 an, muss für die idlist in _null geändert werden)
			for (var i = 0; i < items.length; i++) {
				let value = (items[i].ID === '0' ? '_null' : items[i].ID);
				let descr = items[i].description;
				let checked = querySet('filter_reminderAufgabeNot_assigned_creator', value);
				if (!fstr || checked || descr.toLowerCase().includes(fstr.toLowerCase())) {
					checkboxes.append($('<input type=\'checkbox\'  onclick=\'changefilter_reminderAufgabeNot_assigned_creatorListMultiFilter("' + value + '", this)\' ' + (checked ? ' checked>': '> ')).data('value', value)).append($('<span></span>').text(descr).prepend('&nbsp;')).append('<br/>');
				}
			 }
		}
		reload(fstr, items);
		gui.append(checkboxes);

		return gui;
	}
									function updateNumberreminderAufgabeNot_assigned(col) {
										//var checklist = window.DataViewChecked['reminderAufgabeNot_assigned'][col];
										//if (checklist.id) {
											// checklist is online
											// TODO: check if cache is alive, otherwise reload from ajax, delay execution and return now
											//checklist.ranges = [[1,10000000]]; // mostly we use indirect idlists to tick all marks; so this is an approximation
										//}
										// checkboxes aktualisieren
										if (window.DataViewChecked && window.DataViewChecked['reminderAufgabeNot_assigned'] && window.DataViewChecked['reminderAufgabeNot_assigned'][col].ranges.length > 0) {
											$('.reminderAufgabeNot_assigned__mass-action').css('visibility', 'visible');
											$('.reminderAufgabeNot_assigned__action').css('visibility', 'hidden');
										} else {
											$('.reminderAufgabeNot_assigned__mass-action').css('visibility', 'hidden');
											$('.reminderAufgabeNot_assigned__action').css('visibility', 'visible');
										}
										$('.reminderAufgabeNot_assigned__checkbox').each(function (idx, x) {
											for (var cssclass of x.classList) {
												if (cssclass.startsWith('reminderAufgabeNot_assigned__checkbox-'+col+'-')) {
													var my_id = cssclass.substr(('reminderAufgabeNot_assigned__checkbox-'+col+'-').length);
													if (window.DataViewChecked) {
														x.MaterialCheckbox[checklist.has(my_id) ? 'check' : 'uncheck']();
													}
												}
											}
										});
									}
									function reloadreminderAufgabeNot_assigned (params, returnUrl, onlyScroll, addPadding = 0) {
										// copy query
										let nq = JSON.parse(JSON.stringify(query));
										nq['parent_request'] = <?php echo json_encode(strtok(\FOP\Util::getBackUrl(), '?')); ?>;
										<?php if (isset($_GET['select'])) { ?>nq['select'] = 'select';<?php } ?>
										
										if (params) {
											for (var i in params) nq[i] = params[i];
											var action = nq['action'];
											delete nq['action'];
											let querystr = "DataView/ReminderAufgabeNot_assigned/" + action + "?" + Object.keys(nq).map(function(k){ return k + "=" +  encodeURIComponent(nq[k]); }).join("&");
											// direkt aufrufen (ist wohl ein Download oder so)
											if (returnUrl) return querystr;
											window.location.href = querystr;
										} else {
											let querystr;
											
											
											<?php if ((!\FOP\User::getIsGuest())) { ?>
											delete nq['action'];
											querystr = "DataView/ReminderAufgabeNot_assigned/renderTabTable?" + Object.keys(nq).map(function(k){ return k + "=" +  encodeURIComponent(nq[k]); }).join("&");
											// per Ajax laden
											if(!$("#reminderAufgabeNot_assigned-table")?.parent()?.parent()?.hasClass('fop-form-feature-collapsed') || $("#reminderAufgabeNot_assigned-table")?.parent()?.parent()?.hasClass('fop-form-feature-mode-area')) {
											$.get(querystr, function(data){
												var tab = $("#reminderAufgabeNot_assigned-table");
												var top = tab.find('.fop-table-body-inner');
												var el;
												if (onlyScroll && (el = $('<div class="tabcontent">' + data + '</div>').find('.fop-table-body-inner'))) {
													// nur Scroll-Bereich ersetzen
													var paddingTop = parseInt(el.css('paddingTop') || '0px', 10);
													var minHeight = parseInt(el.css('minHeight'), 10)
													paddingTop += addPadding;
													minHeight += addPadding;
													top.css({paddingTop: paddingTop.toString()+'px', minHeight: minHeight.toString()+'px'}); // Offset
													el = el.children();
													top.empty();
													top.append(el);
													el = top; // top-upgrade doppelt machen, dadurch vermeiden wir das Array-upgrade => Performance
												} else {
													// gesamten Tab ersetzen
													tab.children().remove();
													el = tab.html('<div class="tabcontent">' + data + '</div>');
												}
												try {
													for (var i = 0; i < el.length; i++) upgradeDOM(el[i]);
												} catch (e) {
													console.log(e);
												}
												upgradeTable(el.find('.fop-table .fop-table-header')); // Falls es Tabellen-Layout ist: Spalten-Order anpassen
												flushURL(); // Neue URL in Titelleiste eintragen

												// Checkbox-Auswahl ankreuzen
												updateNumberreminderAufgabeNot_assigned('ID');
											});
											} else {
												// gesamten Tab ersetzen
												var tab = $("#reminderAufgabeNot_assigned-table");
												tab.children().remove();
												el = tab.html('<div class="fop-lazy-reload" onclick="reloadreminderAufgabeNot_assigned()"></div>');
											}
											<?php } ?>
											
										}
									}
									function checkreminderAufgabeNot_assigned (id, col, checked) {
										// ID-Liste aufbauen
										if (!window.DataViewChecked) window.DataViewChecked = {};
										if (!window.DataViewChecked['reminderAufgabeNot_assigned']) window.DataViewChecked['reminderAufgabeNot_assigned'] = {};
										if (!window.DataViewChecked['reminderAufgabeNot_assigned'][col]) window.DataViewChecked['reminderAufgabeNot_assigned'][col] = new IDList();

										// Abfrage aller gecheckten IDs für eine Tabelle
										if (!id) {
											return window.DataViewChecked['reminderAufgabeNot_assigned'][col].toString();
										}

										// check all, check id
										if (id == 'all') {
											// TODO: umbauen #1289: 'all' auch nur auf ne idlist reduzieren
											if (checked) {
												$.get(reloadreminderAufgabeNot_assigned({action: 'getids', col: col}, true), function (ids) {
													window.DataViewChecked['reminderAufgabeNot_assigned'][col] = new IDList(ids);
													updateNumberreminderAufgabeNot_assigned(col);
												});
											} else {
												window.DataViewChecked['reminderAufgabeNot_assigned'][col] = new IDList();
												updateNumberreminderAufgabeNot_assigned(col);
											}
										} else {
											var ids = new IDList(id);
											var allcb = $('#reminderAufgabeNot_assigned__all-checkbox');
											if (allcb[0]) {
												allcb[0].parentElement.MaterialCheckbox.uncheck(); // TODO: prüfen, ob Gruppen-CBs voll werden
											}
											if (checked == 'set') {
												window.DataViewChecked['reminderAufgabeNot_assigned'][col] = ids;
											} else for (id of ids.all()) {
												if (checked) {
													window.DataViewChecked['reminderAufgabeNot_assigned'][col].push(id);
												} else {
													window.DataViewChecked['reminderAufgabeNot_assigned'][col].remove(id);
												}
											}
											updateNumberreminderAufgabeNot_assigned(col);
										}
									}
								</script><?php

    // --- BLOCK: reload-wrapper ---
    
		?><script type="text/javascript">
			function reloadaufgabe (params, returnUrl, onlyScroll, addPadding = 0) {
				return reloadreminderAufgabeNot_assigned (params, returnUrl, onlyScroll, addPadding);
			}
		</script><?php
	
    
  }

  public static function renderSpecialFilters() { 
    
    
    // --- BLOCK: main ---
    ?>
	
	<script type"text/javascript">
		function updateSpecialFilter(param, val) {
			query[param] = val.toString();reloadreminderAufgabeNot_assigned();
			
		}

	</script>
	<?php
	
    
  }

  public static function renderTabTableAction() { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
     ?><div class='fop-dv-buttonbar'><?php if((!\FOP\User::getIsGuest())) { ?><a class="mdl-button mdl-js-button mdl-button--raised mdl-button--colored" onclick="
		var self = this;
		event.preventDefault();
		$.get(reloadaufgabe({action: 'open', fop_table: 'aufgabe', fop_id: '_', fop_from: location.href}, true))
		.then(function () {
			window.open_url(self.href, false);
		});" href="<?php echo htmlentities(\TablesRouter\Aufgabe::createURL2([])); ?>"><i class="material-icons">add</i> <?php echo(sprintf(_('create %s'), _('Aufgabe'))); ?></a><?php } ?></div><?php 
								\FOP\User::getIsGuest();
								$itemheight = 32;
								$itemsperpage = ceil(1080 / $itemheight * 0.8);
								$page = (isset($_GET['page_reminderAufgabeNot_assigned']) ? intval($_GET['page_reminderAufgabeNot_assigned']) : 0);
								$addlines = (isset($_GET['addlines_reminderAufgabeNot_assigned']) ? intval($_GET['addlines_reminderAufgabeNot_assigned']) : 0);
								$firstitem = $page * $itemsperpage;
								$sqladdon = ' LIMIT ' . ($itemsperpage * 2) . ' OFFSET ' . ($firstitem);
								$data = self::getData($sqladdon, $_GET);
								$arr = $data["items"];
								$itemcount = $data["itemcount"];
								$lastPage = ceil($itemcount/$itemsperpage-1);
								// calculate width of first column: 67px + 32px for each shortcut
								$firstColumnWidth = 66 + 34 + 34 + 34;
								$additionalLines = 0;

									// Spaltenliste zuerst aufbauen, damit sie noch umsortiert werden kann
									$order = 1000;
									$columns = [];
									
										if(true){
											$col = [
												'id' => '_ID',
												'desc' => _('ID'),
												'order' => ++$order,
												'width' => 60, // default value
												'collapsed' => 0

											];
											$columns['_ID'] = $col;
										}
									
										if(true){
											$col = [
												'id' => '_anhang',
												'desc' => _('Anhang'),
												'order' => ++$order,
												'width' => 40, // default value
												'collapsed' => 0

											];
											$columns['_anhang'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'typ',
												'desc' => _('Typ'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['typ'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'title',
												'desc' => _('Betreff'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['title'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'state',
												'desc' => _('Zustand'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['state'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'deadline',
												'desc' => _('Deadline'),
												'order' => ++$order,
												'width' => 100, // default value
												'collapsed' => 0

											];
											$columns['deadline'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'assigned',
												'desc' => _('zugewiesen an'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['assigned'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'creation',
												'desc' => _('Erstellung'),
												'order' => ++$order,
												'width' => 100, // default value
												'collapsed' => 0

											];
											$columns['creation'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'creator',
												'desc' => _('Ersteller'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['creator'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'details',
												'desc' => _('Details'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['details'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'start',
												'desc' => _('Geplante Umsetzung'),
												'order' => ++$order,
												'width' => 100, // default value
												'collapsed' => 0

											];
											$columns['start'] = $col;
										}
									
										if(true){
											$col = [
												'id' => 'repeat',
												'desc' => _('Wiederholung'),
												'order' => ++$order,
												'width' => 180, // default value
												'collapsed' => 0

											];
											$columns['repeat'] = $col;
										}
									

									// gespeicherte Spaltenanordnung
									foreach (\FOP\Database::query('SELECT * FROM fop_dataview WHERE '.qi('user').' = ' . \FOP\Database::quote(\FOP\User::getID()) . ' AND dataview = ' . \FOP\Database::quote('reminderAufgabeNot_assigned'))->fetchAll(\PDO::FETCH_ASSOC) AS $column => $c) {
										if (isset($columns[$c['column']])) {
											$columns[$c['column']]['order'] = $c['order']; // order, width, collapsed
											$columns[$c['column']]['width'] = $c['width']; // order, width, collapsed
											$columns[$c['column']]['collapsed'] = $c['collapsed']; // order, width, collapsed
										}
									}

									// DOM vor-rendern
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='_ID'
												data-order='<?php echo intval($columns['_ID']['order']); ?>'
												data-width='<?php echo intval($columns['_ID']['width']); ?>'
												data-collapsed='<?php echo intval($columns['_ID']['collapsed']); ?>'
												style='width: <?php echo intval($columns['_ID']['width']); ?>px; <?php if ($columns['_ID']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		var von, bis; win.append('<div class=\'fop-floatsorter\'>' + window.i18n_von + '</div>').append(von = $('<input type=\'number\' step=\'any\'><br>').val(query['range_min_reminderAufgabeNot_assigned__ID']).on('change keyup paste', function () { query['range_min_reminderAufgabeNot_assigned__ID'] = von.val(); delete query['page_reminderAufgabeNot_assigned']; changed = true; }))
.append('<div>' + window.i18n_bis + '</div>').append(bis = $('<input type=\'number\' step=\'any\'>').val(query['range_max_reminderAufgabeNot_assigned__ID']).on('change keyup paste', function () { query['range_max_reminderAufgabeNot_assigned__ID'] = bis.val(); delete query['page_reminderAufgabeNot_assigned']; changed = true; }))
; von.focus(); von.select();
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == '_ID ASC') {
			query['sort_reminderAufgabeNot_assigned'] = '_ID DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == '_ID DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = '_ID ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	" style='text-align: right;'>
													<span class='title-title' title='<?php echo(_('ID')); ?>'><?php echo(_('ID')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == '_ID ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == '_ID DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned__ID']) || isset($_GET['range_max_reminderAufgabeNot_assigned__ID']) || isset($_GET['deps_reminderAufgabeNot_assigned__ID']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned__ID']) || isset($_GET['dynamic_reminderAufgabeNot_assigned__ID']) || isset($_GET['search_reminderAufgabeNot_assigned__ID']) || isset($_GET['searchnot_reminderAufgabeNot_assigned__ID']) || isset($_GET['filter_reminderAufgabeNot_assigned__ID'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['_ID']['header'] = ob_get_contents(); ob_end_clean();
											$columns['_ID']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['_ID']['width']); ?>px; <?php if ($columns['_ID']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='_ID'><span style="white-space: nowrap; width: 100%; display: inline-block; text-align: right;"><?php echo htmlentities(\Types\Integer::print($item['_ID'])); ?>
	</span></div><?php
											};
											$columns['_ID']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='_ID'
													data-order='<?php echo intval($columns['_ID']['order']); ?>'
													data-width='<?php echo intval($columns['_ID']['width']); ?>'
													data-collapsed='<?php echo intval($columns['_ID']['collapsed']); ?>'
													style='width: <?php echo intval($columns['_ID']['width']); ?>px; <?php if ($columns['_ID']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='_anhang'
												data-order='<?php echo intval($columns['_anhang']['order']); ?>'
												data-width='<?php echo intval($columns['_anhang']['width']); ?>'
												data-collapsed='<?php echo intval($columns['_anhang']['collapsed']); ?>'
												style='width: <?php echo intval($columns['_anhang']['width']); ?>px; <?php if ($columns['_anhang']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		win
	.append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned__anhang', '0') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned__anhang', '0', $(this).prop('checked')); delete query['page_reminderAufgabeNot_assigned']; changed=true;})).append(' <?php echo(_('off')); ?><br/>')
	.append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned__anhang', '1') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned__anhang', '1', $(this).prop('checked')); delete query['page_reminderAufgabeNot_assigned']; changed=true;})).append(' <?php echo(_('on')); ?><br/>')
;
		return false;
	">
													<span class='title-title' title='<?php echo(_('Anhang')); ?>'><?php echo(_('📎')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == '_anhang ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == '_anhang DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned__anhang']) || isset($_GET['range_max_reminderAufgabeNot_assigned__anhang']) || isset($_GET['deps_reminderAufgabeNot_assigned__anhang']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned__anhang']) || isset($_GET['dynamic_reminderAufgabeNot_assigned__anhang']) || isset($_GET['search_reminderAufgabeNot_assigned__anhang']) || isset($_GET['searchnot_reminderAufgabeNot_assigned__anhang']) || isset($_GET['filter_reminderAufgabeNot_assigned__anhang'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['_anhang']['header'] = ob_get_contents(); ob_end_clean();
											$columns['_anhang']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['_anhang']['width']); ?>px; <?php if ($columns['_anhang']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='_anhang'><?php if($item['_anhang'] == 1){ ?>✓<?php }else{ ?><?php }?></div><?php
											};
											$columns['_anhang']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='_anhang'
													data-order='<?php echo intval($columns['_anhang']['order']); ?>'
													data-width='<?php echo intval($columns['_anhang']['width']); ?>'
													data-collapsed='<?php echo intval($columns['_anhang']['collapsed']); ?>'
													style='width: <?php echo intval($columns['_anhang']['width']); ?>px; <?php if ($columns['_anhang']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='typ'
												data-order='<?php echo intval($columns['typ']['order']); ?>'
												data-width='<?php echo intval($columns['typ']['width']); ?>'
												data-collapsed='<?php echo intval($columns['typ']['collapsed']); ?>'
												style='width: <?php echo intval($columns['typ']['width']); ?>px; <?php if ($columns['typ']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		
		win.append(getfilter_reminderAufgabeNot_assigned_typListMultiFilter()); win.find('input').first().focus();
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'typ ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'typ DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'typ DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'typ ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Typ')); ?>'><?php echo(_('Typ')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'typ ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'typ DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_typ']) || isset($_GET['range_max_reminderAufgabeNot_assigned_typ']) || isset($_GET['deps_reminderAufgabeNot_assigned_typ']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_typ']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_typ']) || isset($_GET['search_reminderAufgabeNot_assigned_typ']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_typ']) || isset($_GET['filter_reminderAufgabeNot_assigned_typ'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['typ']['header'] = ob_get_contents(); ob_end_clean();
											$columns['typ']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['typ']['width']); ?>px; <?php if ($columns['typ']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; <?php if ((\FOP\Util::FalseToNull(\FOP\Database::query('SELECT (CONCAT('.qi('AHg5M61p').'.'.qi('color').', \'22\')) FROM '.qi('aufgabeType').' '.qi('AHg5M61p').' WHERE '.qi('AHg5M61p').'.'.qi('ID').' = ' . \FOP\Database::quote($item['typ']) . '')->fetchColumn()))) { echo 'background: ' . htmlentities((\FOP\Util::FalseToNull(\FOP\Database::query('SELECT (CONCAT('.qi('AHg5M61p').'.'.qi('color').', \'22\')) FROM '.qi('aufgabeType').' '.qi('AHg5M61p').' WHERE '.qi('AHg5M61p').'.'.qi('ID').' = ' . \FOP\Database::quote($item['typ']) . '')->fetchColumn()))) . '!important;'; } ?>' data-column='typ'><?php
	
	call_user_func(function () use ($item) {
	$id = $item['typ'];
	$val = $item['typ::description'];
	$canView = $item['typ::canView'];
	if ($val !== null) {
		if ($canView) echo "<a tabindex=\"-1\" class=\"mdl-button mdl-button-small tbl-link\" data-tbl=\"aufgabeType\" data-id=\"".htmlentities($id)."\" onclick=\"event.stopPropagation(); event.preventDefault(); open_url(this.href, false);\" href=\"" . \TablesRouter\AufgabeType::viewURL($id, ['from' => \FOP\Util::getBackURL()]) . "\">(…)</a>";echo htmlentities($val);
	} else {
		echo htmlentities(_('') ?: '-');
	}
	});
	
?>
</div><?php
											};
											$columns['typ']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='typ'
													data-order='<?php echo intval($columns['typ']['order']); ?>'
													data-width='<?php echo intval($columns['typ']['width']); ?>'
													data-collapsed='<?php echo intval($columns['typ']['collapsed']); ?>'
													style='width: <?php echo intval($columns['typ']['width']); ?>px; <?php if ($columns['typ']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='title'
												data-order='<?php echo intval($columns['title']['order']); ?>'
												data-width='<?php echo intval($columns['title']['width']); ?>'
												data-collapsed='<?php echo intval($columns['title']['collapsed']); ?>'
												style='width: <?php echo intval($columns['title']['width']); ?>px; <?php if ($columns['title']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		
		var el = $('<div class=\'mdl-textfield mdl-js-textfield mdl-textfield--floating-label fop-floatsorter\' style=\'width: calc(100% - 42px);\'><input class=\'mdl-textfield__input\' style=\'display: inline-block;\' type=\'text\'><label class=\'mdl-textfield__input\'><?php echo(_('search')); ?></label></div>');
		win.append(el);
		var text = el.find('input');
		text.val(query['search_reminderAufgabeNot_assigned_title'])
		text.on('change keyup paste', function () { if (text.val()) { query['search_reminderAufgabeNot_assigned_title'] = text.val(); } else { delete query['search_reminderAufgabeNot_assigned_title']; } changed = true; });
		text.focus();
		text.select();
		text.keydown(function (event) {if ((event.keyCode || event.which) == 13) {$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();} if (event.key === 'Escape') { win.close(); }});

		var el2 = $('<div class=\'mdl-textfield mdl-js-textfield mdl-textfield--floating-label\'><input class=\'mdl-textfield__input\' style=\'display: inline-block;\' type=\'text\'><label class=\'mdl-textfield__input\'><?php echo(htmlentities(htmlentities(_('filter_contains_not')))); ?></label></div>');
		win.append(el2);
		var text2 = el2.find('input');
		text2.val(query['searchnot_reminderAufgabeNot_assigned_title'])
		text2.on('change keyup paste', function () { if (text2.val()) { query['searchnot_reminderAufgabeNot_assigned_title'] = text2.val(); } else { delete query['searchnot_reminderAufgabeNot_assigned_title']; } changed = true; });
		text2.keydown(function (event) {if ((event.keyCode || event.which) == 13) {$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();} if (event.key === 'Escape') { win.close(); }});
	
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'title ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'title DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'title DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'title ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Betreff')); ?>'><?php echo(_('Betreff')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'title ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'title DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_title']) || isset($_GET['range_max_reminderAufgabeNot_assigned_title']) || isset($_GET['deps_reminderAufgabeNot_assigned_title']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_title']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_title']) || isset($_GET['search_reminderAufgabeNot_assigned_title']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_title']) || isset($_GET['filter_reminderAufgabeNot_assigned_title'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['title']['header'] = ob_get_contents(); ob_end_clean();
											$columns['title']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['title']['width']); ?>px; <?php if ($columns['title']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='title'><span class='overflow-text' title="<?php echo htmlentities($item['title']); ?>"><?php echo htmlentities($item['title']); ?></span></div><?php
											};
											$columns['title']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='title'
													data-order='<?php echo intval($columns['title']['order']); ?>'
													data-width='<?php echo intval($columns['title']['width']); ?>'
													data-collapsed='<?php echo intval($columns['title']['collapsed']); ?>'
													style='width: <?php echo intval($columns['title']['width']); ?>px; <?php if ($columns['title']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='state'
												data-order='<?php echo intval($columns['state']['order']); ?>'
												data-width='<?php echo intval($columns['state']['width']); ?>'
												data-collapsed='<?php echo intval($columns['state']['collapsed']); ?>'
												style='width: <?php echo intval($columns['state']['width']); ?>px; <?php if ($columns['state']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		
		win.append(getfilter_reminderAufgabeNot_assigned_stateListMultiFilter()); win.find('input').first().focus();
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'state ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'state DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'state DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'state ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Zustand')); ?>'><?php echo(_('Zustand')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'state ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'state DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_state']) || isset($_GET['range_max_reminderAufgabeNot_assigned_state']) || isset($_GET['deps_reminderAufgabeNot_assigned_state']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_state']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_state']) || isset($_GET['search_reminderAufgabeNot_assigned_state']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_state']) || isset($_GET['filter_reminderAufgabeNot_assigned_state'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['state']['header'] = ob_get_contents(); ob_end_clean();
											$columns['state']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['state']['width']); ?>px; <?php if ($columns['state']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; <?php if ((\FOP\Util::FalseToNull(\FOP\Database::query('SELECT (CONCAT('.qi('iwTixL1B').'.'.qi('color').', \'22\')) FROM '.qi('aufgabeState').' '.qi('iwTixL1B').' WHERE '.qi('iwTixL1B').'.'.qi('ID').' = ' . \FOP\Database::quote($item['state']) . '')->fetchColumn()))) { echo 'background: ' . htmlentities((\FOP\Util::FalseToNull(\FOP\Database::query('SELECT (CONCAT('.qi('iwTixL1B').'.'.qi('color').', \'22\')) FROM '.qi('aufgabeState').' '.qi('iwTixL1B').' WHERE '.qi('iwTixL1B').'.'.qi('ID').' = ' . \FOP\Database::quote($item['state']) . '')->fetchColumn()))) . '!important;'; } ?>cursor: text;' data-column='state' onclick='
															event.preventDefault();
															event.stopPropagation();
															var div = get_overlay(this, function () {
																// submit the form in overlay
																div.find(&apos;form&apos;).submit();
															});
															$.get(&apos;Tables/Aufgabe/stateEdit?id=&apos; + <?php echo json_encode($item['ID']); ?>).then(function (html) {
																div.html(html);
																var iframe = div.find(&apos;iframe&apos;)[0];
																if (iframe) iframe.onload = function () {
																	this.onload = function () {
																		div.close();
																		reloadreminderAufgabeNot_assigned();
																	}
																};
																div.find(&apos;input[type=text], input[type=checkbox], textarea&apos;).select().focus().keydown(function (event) {
																	if ([13/*, 37, 39, 38, 40*/, 9].includes(event.keyCode)) { // ENTER, left, right, up, down, tab
																		$(this).closest(&apos;form&apos;).submit();
																		event.preventDefault();
																		event.stopPropagation();
																	}
																});
															});
															div.text(&apos;🗘&apos;);
															return true;'><?php
	
	call_user_func(function () use ($item) {
	$id = $item['state'];
	$val = $item['state::description'];
	$canView = $item['state::canView'];
	if ($val !== null) {
		if ($canView) echo "<a tabindex=\"-1\" class=\"mdl-button mdl-button-small tbl-link\" data-tbl=\"aufgabeState\" data-id=\"".htmlentities($id)."\" onclick=\"event.stopPropagation(); event.preventDefault(); open_url(this.href, false);\" href=\"" . \TablesRouter\AufgabeState::viewURL($id, ['from' => \FOP\Util::getBackURL()]) . "\">(…)</a>";echo htmlentities($val);
	} else {
		echo htmlentities(_('') ?: '-');
	}
	});
	
?>
</div><?php
											};
											$columns['state']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='state'
													data-order='<?php echo intval($columns['state']['order']); ?>'
													data-width='<?php echo intval($columns['state']['width']); ?>'
													data-collapsed='<?php echo intval($columns['state']['collapsed']); ?>'
													style='width: <?php echo intval($columns['state']['width']); ?>px; <?php if ($columns['state']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='deadline'
												data-order='<?php echo intval($columns['deadline']['order']); ?>'
												data-width='<?php echo intval($columns['deadline']['width']); ?>'
												data-collapsed='<?php echo intval($columns['deadline']['collapsed']); ?>'
												style='width: <?php echo intval($columns['deadline']['width']); ?>px; <?php if ($columns['deadline']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}}, 600);
		date_filter(win, 'reminderAufgabeNot_assigned', 'deadline', <?php echo htmlentities(json_encode(_('period'))); ?>, <?php echo htmlentities(json_encode(\FOP\I18n::getShortLocale())); ?>, <?php echo htmlentities(json_encode(_('dateformat_moment'))); ?>, function() { reloadreminderAufgabeNot_assigned();  reloadreminderAufgabeNot_assigned(); });
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'deadline ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'deadline DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'deadline DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'deadline ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Deadline')); ?>'><?php echo(_('Deadline')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'deadline ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'deadline DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_deadline']) || isset($_GET['range_max_reminderAufgabeNot_assigned_deadline']) || isset($_GET['deps_reminderAufgabeNot_assigned_deadline']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_deadline']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_deadline']) || isset($_GET['search_reminderAufgabeNot_assigned_deadline']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_deadline']) || isset($_GET['filter_reminderAufgabeNot_assigned_deadline'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['deadline']['header'] = ob_get_contents(); ob_end_clean();
											$columns['deadline']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['deadline']['width']); ?>px; <?php if ($columns['deadline']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; cursor: text;' data-column='deadline' onclick='
															event.preventDefault();
															event.stopPropagation();
															var div = get_overlay(this, function () {
																// submit the form in overlay
																div.find(&apos;form&apos;).submit();
															});
															$.get(&apos;Tables/Aufgabe/deadlineEdit?id=&apos; + <?php echo json_encode($item['ID']); ?>).then(function (html) {
																div.html(html);
																var iframe = div.find(&apos;iframe&apos;)[0];
																if (iframe) iframe.onload = function () {
																	this.onload = function () {
																		div.close();
																		reloadreminderAufgabeNot_assigned();
																	}
																};
																div.find(&apos;input[type=text], input[type=checkbox], textarea&apos;).select().focus().keydown(function (event) {
																	if ([13/*, 37, 39, 38, 40*/, 9].includes(event.keyCode)) { // ENTER, left, right, up, down, tab
																		$(this).closest(&apos;form&apos;).submit();
																		event.preventDefault();
																		event.stopPropagation();
																	}
																});
															});
															div.text(&apos;🗘&apos;);
															return true;'><span class='overflow-text' title="<?php echo htmlentities(($item['deadline']) ? strftime(_('dateformat_php2'), intval($item['deadline'])) : ''); ?>"><?php echo htmlentities(($item['deadline']) ? strftime(_('dateformat_php2'), intval($item['deadline'])) : ''); ?></span></div><?php
											};
											$columns['deadline']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='deadline'
													data-order='<?php echo intval($columns['deadline']['order']); ?>'
													data-width='<?php echo intval($columns['deadline']['width']); ?>'
													data-collapsed='<?php echo intval($columns['deadline']['collapsed']); ?>'
													style='width: <?php echo intval($columns['deadline']['width']); ?>px; <?php if ($columns['deadline']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='assigned'
												data-order='<?php echo intval($columns['assigned']['order']); ?>'
												data-width='<?php echo intval($columns['assigned']['width']); ?>'
												data-collapsed='<?php echo intval($columns['assigned']['collapsed']); ?>'
												style='width: <?php echo intval($columns['assigned']['width']); ?>px; <?php if ($columns['assigned']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		
		win.append(getfilter_reminderAufgabeNot_assigned_assignedListMultiFilter()); win.find('input').first().focus();
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'assigned ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'assigned DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'assigned DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'assigned ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('zugewiesen an')); ?>'><?php echo(_('zugewiesen an')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'assigned ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'assigned DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_assigned']) || isset($_GET['range_max_reminderAufgabeNot_assigned_assigned']) || isset($_GET['deps_reminderAufgabeNot_assigned_assigned']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_assigned']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_assigned']) || isset($_GET['search_reminderAufgabeNot_assigned_assigned']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_assigned']) || isset($_GET['filter_reminderAufgabeNot_assigned_assigned'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['assigned']['header'] = ob_get_contents(); ob_end_clean();
											$columns['assigned']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['assigned']['width']); ?>px; <?php if ($columns['assigned']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='assigned'><?php
	
	call_user_func(function () use ($item) {
	$id = $item['assigned'];
	$val = $item['assigned::description'];
	$canView = $item['assigned::canView'];
	if ($val !== null) {
		if ($canView) echo "<a tabindex=\"-1\" class=\"mdl-button mdl-button-small tbl-link\" data-tbl=\"mitglied\" data-id=\"".htmlentities($id)."\" onclick=\"event.stopPropagation(); event.preventDefault(); open_url(this.href, true);\" href=\"" . \TablesRouter\Mitglied::viewURL($id, ['from' => \FOP\Util::getBackURL()]) . "\">(…)</a>";echo htmlentities($val);
	} else {
		echo htmlentities(_('Niemand zugewiesen') ?: '-');
	}
	});
	
?>
</div><?php
											};
											$columns['assigned']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='assigned'
													data-order='<?php echo intval($columns['assigned']['order']); ?>'
													data-width='<?php echo intval($columns['assigned']['width']); ?>'
													data-collapsed='<?php echo intval($columns['assigned']['collapsed']); ?>'
													style='width: <?php echo intval($columns['assigned']['width']); ?>px; <?php if ($columns['assigned']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='creation'
												data-order='<?php echo intval($columns['creation']['order']); ?>'
												data-width='<?php echo intval($columns['creation']['width']); ?>'
												data-collapsed='<?php echo intval($columns['creation']['collapsed']); ?>'
												style='width: <?php echo intval($columns['creation']['width']); ?>px; <?php if ($columns['creation']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}}, 600);
		date_filter(win, 'reminderAufgabeNot_assigned', 'creation', <?php echo htmlentities(json_encode(_('period'))); ?>, <?php echo htmlentities(json_encode(\FOP\I18n::getShortLocale())); ?>, <?php echo htmlentities(json_encode(_('dateformat_moment'))); ?>, function() { reloadreminderAufgabeNot_assigned();  reloadreminderAufgabeNot_assigned(); });
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'creation ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'creation DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'creation DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'creation ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Erstellung')); ?>'><?php echo(_('Erstellung')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'creation ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'creation DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_creation']) || isset($_GET['range_max_reminderAufgabeNot_assigned_creation']) || isset($_GET['deps_reminderAufgabeNot_assigned_creation']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_creation']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_creation']) || isset($_GET['search_reminderAufgabeNot_assigned_creation']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_creation']) || isset($_GET['filter_reminderAufgabeNot_assigned_creation'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['creation']['header'] = ob_get_contents(); ob_end_clean();
											$columns['creation']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['creation']['width']); ?>px; <?php if ($columns['creation']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='creation'><span class='overflow-text' title="<?php echo htmlentities(($item['creation']) ? strftime(_('dateformat_php2'), intval($item['creation'])) : ''); ?>"><?php echo htmlentities(($item['creation']) ? strftime(_('dateformat_php2'), intval($item['creation'])) : ''); ?></span></div><?php
											};
											$columns['creation']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='creation'
													data-order='<?php echo intval($columns['creation']['order']); ?>'
													data-width='<?php echo intval($columns['creation']['width']); ?>'
													data-collapsed='<?php echo intval($columns['creation']['collapsed']); ?>'
													style='width: <?php echo intval($columns['creation']['width']); ?>px; <?php if ($columns['creation']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='creator'
												data-order='<?php echo intval($columns['creator']['order']); ?>'
												data-width='<?php echo intval($columns['creator']['width']); ?>'
												data-collapsed='<?php echo intval($columns['creator']['collapsed']); ?>'
												style='width: <?php echo intval($columns['creator']['width']); ?>px; <?php if ($columns['creator']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		
		win.append(getfilter_reminderAufgabeNot_assigned_creatorListMultiFilter()); win.find('input').first().focus();
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'creator ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'creator DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'creator DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'creator ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Ersteller')); ?>'><?php echo(_('Ersteller')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'creator ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'creator DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_creator']) || isset($_GET['range_max_reminderAufgabeNot_assigned_creator']) || isset($_GET['deps_reminderAufgabeNot_assigned_creator']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_creator']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_creator']) || isset($_GET['search_reminderAufgabeNot_assigned_creator']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_creator']) || isset($_GET['filter_reminderAufgabeNot_assigned_creator'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['creator']['header'] = ob_get_contents(); ob_end_clean();
											$columns['creator']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['creator']['width']); ?>px; <?php if ($columns['creator']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='creator'><?php
	
	call_user_func(function () use ($item) {
	$id = $item['creator'];
	$val = $item['creator::description'];
	$canView = $item['creator::canView'];
	if ($val !== null) {
		if ($canView) echo "<a tabindex=\"-1\" class=\"mdl-button mdl-button-small tbl-link\" data-tbl=\"mitglied\" data-id=\"".htmlentities($id)."\" onclick=\"event.stopPropagation(); event.preventDefault(); open_url(this.href, true);\" href=\"" . \TablesRouter\Mitglied::viewURL($id, ['from' => \FOP\Util::getBackURL()]) . "\">(…)</a>";echo htmlentities($val);
	} else {
		echo htmlentities(_('') ?: '-');
	}
	});
	
?>
</div><?php
											};
											$columns['creator']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='creator'
													data-order='<?php echo intval($columns['creator']['order']); ?>'
													data-width='<?php echo intval($columns['creator']['width']); ?>'
													data-collapsed='<?php echo intval($columns['creator']['collapsed']); ?>'
													style='width: <?php echo intval($columns['creator']['width']); ?>px; <?php if ($columns['creator']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='details'
												data-order='<?php echo intval($columns['details']['order']); ?>'
												data-width='<?php echo intval($columns['details']['width']); ?>'
												data-collapsed='<?php echo intval($columns['details']['collapsed']); ?>'
												style='width: <?php echo intval($columns['details']['width']); ?>px; <?php if ($columns['details']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		
		var el = $('<div class=\'mdl-textfield mdl-js-textfield mdl-textfield--floating-label fop-floatsorter\' style=\'width: calc(100% - 42px);\'><input class=\'mdl-textfield__input\' style=\'display: inline-block;\' type=\'text\'><label class=\'mdl-textfield__input\'><?php echo(_('search')); ?></label></div>');
		win.append(el);
		var text = el.find('input');
		text.val(query['search_reminderAufgabeNot_assigned_details'])
		text.on('change keyup paste', function () { if (text.val()) { query['search_reminderAufgabeNot_assigned_details'] = text.val(); } else { delete query['search_reminderAufgabeNot_assigned_details']; } changed = true; });
		text.focus();
		text.select();
		text.keydown(function (event) {if ((event.keyCode || event.which) == 13) {$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();} if (event.key === 'Escape') { win.close(); }});

		var el2 = $('<div class=\'mdl-textfield mdl-js-textfield mdl-textfield--floating-label\'><input class=\'mdl-textfield__input\' style=\'display: inline-block;\' type=\'text\'><label class=\'mdl-textfield__input\'><?php echo(htmlentities(htmlentities(_('filter_contains_not')))); ?></label></div>');
		win.append(el2);
		var text2 = el2.find('input');
		text2.val(query['searchnot_reminderAufgabeNot_assigned_details'])
		text2.on('change keyup paste', function () { if (text2.val()) { query['searchnot_reminderAufgabeNot_assigned_details'] = text2.val(); } else { delete query['searchnot_reminderAufgabeNot_assigned_details']; } changed = true; });
		text2.keydown(function (event) {if ((event.keyCode || event.which) == 13) {$('#table_reminderAufgabeNot_assigned').find('.fop-table-row:first').click();} if (event.key === 'Escape') { win.close(); }});
	
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'details ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'details DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'details DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'details ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Details')); ?>'><?php echo(_('Details')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'details ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'details DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_details']) || isset($_GET['range_max_reminderAufgabeNot_assigned_details']) || isset($_GET['deps_reminderAufgabeNot_assigned_details']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_details']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_details']) || isset($_GET['search_reminderAufgabeNot_assigned_details']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_details']) || isset($_GET['filter_reminderAufgabeNot_assigned_details'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['details']['header'] = ob_get_contents(); ob_end_clean();
											$columns['details']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['details']['width']); ?>px; <?php if ($columns['details']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='details'><?php 
	$html = preg_replace('/^<!DOCTYPE.+?>/m', '', \FOP\Sanitizers::htmlentities_decode($item['details'])); ?>
	<span style="display: block;" onmouseenter='handleHTMLOverlay(event, &apos;#overlayFormdetails<?php echo htmlentities($item['ID'] ?? 'fail'); ?>&apos;);' onmouseleave='handleHTMLOverlayFade(event, &apos;#overlayFormdetails<?php echo htmlentities($item['ID'] ?? 'fail'); ?>&apos;);' ng-non-bindable><?php echo htmlentities(mb_substr(preg_replace('/[ \t\r\n]+/', ' ', strip_tags(preg_replace('/<style.*?\/style>/s', '', html_entity_decode($item['details'])))), 0, 50) . (strlen(preg_replace('/[ \t\r\n]+/', ' ', strip_tags(preg_replace('/<style.*?\/style>/s', '', html_entity_decode($item['details']))))) >= 50 ? '...' : ''));  ?></span>
	<div class="overlay-iframe" id="overlayFormdetails<?php echo $item['ID'] ?? 'fail'; ?>">
		<div class="iframe-container" id="iframecontainer">
			<?php echo \FOP\Util::SanitizeUserHtml($html); ?>
		</div>
	</div>
</div><?php
											};
											$columns['details']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='details'
													data-order='<?php echo intval($columns['details']['order']); ?>'
													data-width='<?php echo intval($columns['details']['width']); ?>'
													data-collapsed='<?php echo intval($columns['details']['collapsed']); ?>'
													style='width: <?php echo intval($columns['details']['width']); ?>px; <?php if ($columns['details']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='start'
												data-order='<?php echo intval($columns['start']['order']); ?>'
												data-width='<?php echo intval($columns['start']['width']); ?>'
												data-collapsed='<?php echo intval($columns['start']['collapsed']); ?>'
												style='width: <?php echo intval($columns['start']['width']); ?>px; <?php if ($columns['start']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}}, 600);
		date_filter(win, 'reminderAufgabeNot_assigned', 'start', <?php echo htmlentities(json_encode(_('period'))); ?>, <?php echo htmlentities(json_encode(\FOP\I18n::getShortLocale())); ?>, <?php echo htmlentities(json_encode(_('dateformat_moment'))); ?>, function() { reloadreminderAufgabeNot_assigned();  reloadreminderAufgabeNot_assigned(); });
	var icon, sortbtn	= $('<a class=\'mdl-button mdl-js-button mdl-button--icon mdl-button--colored\' style=\'display: inline-block;\'></a>')
		.append(icon = $('<i class=\'material-icons\'></i>').text('unfold_more'))
		.click(function() {
		 if (query['sort_reminderAufgabeNot_assigned'] == 'start ASC') {
			query['sort_reminderAufgabeNot_assigned'] = 'start DESC';
		 } else if (query['sort_reminderAufgabeNot_assigned'] == 'start DESC') {
		 	delete query['sort_reminderAufgabeNot_assigned'];
		 } else {
			query['sort_reminderAufgabeNot_assigned'] = 'start ASC';
		 }
		 reloadreminderAufgabeNot_assigned();
		 return false;
	});
	if (win.children().first().hasClass('fop-floatsorter')) {
		// floating layout
		win.prepend(sortbtn.css({float: 'right', margin: '0px'}));
	} else {
		// append to the end
		win.append(sortbtn);
	}
		return false;
	">
													<span class='title-title' title='<?php echo(_('Geplante Umsetzung')); ?>'><?php echo(_('Geplante Umsetzung')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'start ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'start DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_start']) || isset($_GET['range_max_reminderAufgabeNot_assigned_start']) || isset($_GET['deps_reminderAufgabeNot_assigned_start']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_start']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_start']) || isset($_GET['search_reminderAufgabeNot_assigned_start']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_start']) || isset($_GET['filter_reminderAufgabeNot_assigned_start'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['start']['header'] = ob_get_contents(); ob_end_clean();
											$columns['start']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['start']['width']); ?>px; <?php if ($columns['start']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='start'><span class='overflow-text' title="<?php echo htmlentities(($item['start']) ? strftime(_('dateformat_php2'), intval($item['start'])) : ''); ?>"><?php echo htmlentities(($item['start']) ? strftime(_('dateformat_php2'), intval($item['start'])) : ''); ?></span></div><?php
											};
											$columns['start']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='start'
													data-order='<?php echo intval($columns['start']['order']); ?>'
													data-width='<?php echo intval($columns['start']['width']); ?>'
													data-collapsed='<?php echo intval($columns['start']['collapsed']); ?>'
													style='width: <?php echo intval($columns['start']['width']); ?>px; <?php if ($columns['start']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									
										
										if(true){
											ob_start();
											?><div class="fop-table-column overlay"
												data-column='repeat'
												data-order='<?php echo intval($columns['repeat']['order']); ?>'
												data-width='<?php echo intval($columns['repeat']['width']); ?>'
												data-collapsed='<?php echo intval($columns['repeat']['collapsed']); ?>'
												style='width: <?php echo intval($columns['repeat']['width']); ?>px; <?php if ($columns['repeat']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
												<span class='title' onclick="
		var changed = false, win = dropDownFixPosition($(this), null, function() { if (changed) {
			
			reloadreminderAufgabeNot_assigned(); 
		}});
		win.append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned_repeat', '0') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned_repeat', '0', $(this).prop('checked')); changed=true;})).append('<span> </span><?php echo(_('keine Wiederholung')); ?><br/>').append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned_repeat', '11') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned_repeat', '11', $(this).prop('checked')); changed=true;})).append('<span> </span><?php echo(_('Wöchentlich')); ?><br/>').append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned_repeat', '12') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned_repeat', '12', $(this).prop('checked')); changed=true;})).append('<span> </span><?php echo(_('Monatlich')); ?><br/>').append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned_repeat', '13') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned_repeat', '13', $(this).prop('checked')); changed=true;})).append('<span> </span><?php echo(_('Quartärlich')); ?><br/>').append($('<input type=\'checkbox\'' + (querySet('filter_reminderAufgabeNot_assigned_repeat', '14') ? ' checked>': '>')).change(function (){querySet('filter_reminderAufgabeNot_assigned_repeat', '14', $(this).prop('checked')); changed=true;})).append('<span> </span><?php echo(_('Jährlich')); ?><br/>');
		return false;
	">
													<span class='title-title' title='<?php echo(_('Wiederholung')); ?>'><?php echo(_('Wiederholung')); ?></span>
													<?php // sort indicator
														if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'repeat ASC') {
															?><i class='material-icons fop-small'>keyboard_arrow_down</i><?php
														} else if (isset($_GET['sort_reminderAufgabeNot_assigned']) && $_GET['sort_reminderAufgabeNot_assigned'] == 'repeat DESC') {
															?><i class='material-icons fop-small'>keyboard_arrow_up</i><?php
														}
														if (isset($_GET['range_min_reminderAufgabeNot_assigned_repeat']) || isset($_GET['range_max_reminderAufgabeNot_assigned_repeat']) || isset($_GET['deps_reminderAufgabeNot_assigned_repeat']) || isset($_GET['fullsearch_reminderAufgabeNot_assigned_repeat']) || isset($_GET['dynamic_reminderAufgabeNot_assigned_repeat']) || isset($_GET['search_reminderAufgabeNot_assigned_repeat']) || isset($_GET['searchnot_reminderAufgabeNot_assigned_repeat']) || isset($_GET['filter_reminderAufgabeNot_assigned_repeat'])) {
															// filter indicator
															?><i class='material-icons fop-small'>filter_list</i><?php
														}
														// search indicator
														?><i class='material-icons fop-small'>search</i>
													</span>
												<div class='fop-column-handle'></div>
											</div><?php
											$columns['repeat']['header'] = ob_get_contents(); ob_end_clean();
											$columns['repeat']['render'] = function ($item) use (&$columns, $itemheight) {
												// Render-Callback für eine Zelle
												?><div class='fop-table-column'
													style='width: <?php echo intval($columns['repeat']['width']); ?>px; <?php if ($columns['repeat']['collapsed'] == 1) { echo ' display: none;'; } ?> height: <?php echo $itemheight; ?>px; ' data-column='repeat'><?php echo htmlentities(\Types\AufgabeRepeat::toStringShort($item['repeat'])); ?></div><?php
											};
											$columns['repeat']['renderSum'] = function ($item) use (&$columns) {
												// Render-Callback Summe
												?><div class='fop-table-column fop-table-column-aggregate'
													data-column='repeat'
													data-order='<?php echo intval($columns['repeat']['order']); ?>'
													data-width='<?php echo intval($columns['repeat']['width']); ?>'
													data-collapsed='<?php echo intval($columns['repeat']['collapsed']); ?>'
													style='width: <?php echo intval($columns['repeat']['width']); ?>px; <?php if ($columns['repeat']['collapsed'] == 1) { echo ' display: none;'; } ?>'>
													</div><?php
											};
										}
										
									

									// sort by order
									uasort($columns, function ($a, $b) {
										return $a['order'] - $b['order'];
									});
									?>
									<style type='text/css'>
										#reminderAufgabeNot_assigned-table .fop-table-header {
											height: <?php echo 32; ?>px;
										}
										#reminderAufgabeNot_assigned-table .fop-table-header .fop-table-column .title,
										#reminderAufgabeNot_assigned-table .fop-column-handle,
										#reminderAufgabeNot_assigned-table .fop-table-row,
										#reminderAufgabeNot_assigned-table .fop-table-row .fop-table-column,
										#reminderAufgabeNot_assigned-table .fop-table-column-multicontrol,
										#reminderAufgabeNot_assigned-table .fop-filter-button {
											height: 32px;
											line-height: 32px;
										}
										</style>
											<div class="fop-table" data-table-id="reminderAufgabeNot_assigned">
											<div class="fop-legend"></div>
											<div class="fop-filter-string-wrapper"><div class="fop-filter-string"><label>Filter:</label> <span><?php echo self::getFilterHTML($_GET); ?></span></div></div>
											
											<?php if (isset($_GET['select'])) { echo '<br>'; } ?>
											<div class="fop-table-header">
											<?php if (!isset($_GET['select'])) { ?>
												<div class="fop-table-column noprint" style="width: <?php echo json_encode($firstColumnWidth); ?>px;">
													
													<div class="fop-table-column-multicontrol">
													<label class="mdl-checkbox mdl-js-checkbox"  style='width: auto;' for="reminderAufgabeNot_assigned__all-checkbox">
														<input class="mdl-checkbox__input" id="reminderAufgabeNot_assigned__all-checkbox" type="checkbox" onchange="checkreminderAufgabeNot_assigned('all', 'ID', this.checked);">
														</label>
														<button type="button" class="mdl-button mdl-js-button mdl-button--icon reminderAufgabeNot_assigned__mass-action" style='visibility: hidden;' onclick="$.get('DataView/ReminderAufgabeNot_assigned/permissions?id=' + checkreminderAufgabeNot_assigned(null, 'ID'), function (data) { for (var method in data) if (method != '__cnt') { var btn = $('[data-interaction-name=&quot;' + method + '&quot;]'); if (data[method] >= 1) btn.show(); else btn.hide(); btn.find('.cnt').text(data[method]); }; }); dropDownFixPosition($(this), $(this).next())">
															<i class="material-icons">more_vert</i>
														</button>
														<ul class="mdl-list mdl-card mdl-shadow--4dp fop-scroll-menu">
															<?php
		if(true) { ?>
			<span class="mdl-list__item mdl-button">
				<span class="mdl-list__item mdl-button" data-interaction-name="filterall" style="margin-right:auto; text-align:left;"
					onclick="for (key in query) if (key.indexOf('range_min_reminderAufgabeNot_assigned_') == 0 || key.indexOf('range_max_reminderAufgabeNot_assigned_') == 0 || key.indexOf('deps_reminderAufgabeNot_assigned_') == 0 || key.indexOf('fullsearch_reminderAufgabeNot_assigned_') == 0 || key.indexOf('dynamic_reminderAufgabeNot_assigned_') == 0 || key.indexOf('search_reminderAufgabeNot_assigned_') == 0 || key.indexOf('searchnot_reminderAufgabeNot_assigned_') == 0 || key.indexOf('filter_reminderAufgabeNot_assigned_') == 0) delete query[key]; reloadreminderAufgabeNot_assigned(); $(this).closest('.overlay').click(); return false;">
					<span style="float:left;"><i class="material-icons">list</i></span><span class="fop-menu-caption" title="<?php echo(_('view all elements')); ?>"><?php echo(_('view all elements')); ?> 
					</span>
				</span>
			</span>
		<?php } ?><?php
		if(true) { ?>
			<span class="mdl-list__item mdl-button">
				<span class="mdl-list__item mdl-button" data-interaction-name="filteronly" style="margin-right:auto; text-align:left;"
					onclick="query['filter_reminderAufgabeNot_assigned_ID'] = checkreminderAufgabeNot_assigned(null, 'ID'); delete query['page_reminderAufgabeNot_assigned']; reloadreminderAufgabeNot_assigned(); $(this).closest('.overlay').click(); return false;">
					<span style="float:left;"><i class="material-icons">arrow_forward</i></span><span class="fop-menu-caption" title="<?php echo(_('view only these elements')); ?>"><?php echo(_('view only these elements')); ?> (<span class='cnt'></span>)
					</span>
				</span>
			</span>
		<?php } ?><?php
		if(true) { ?>
			<span class="mdl-list__item mdl-button">
				<span class="mdl-list__item mdl-button" data-interaction-name="filterrange" style="margin-right:auto; text-align:left;"
					onclick="
		var ticks = new IDList(checkreminderAufgabeNot_assigned(null, 'ID'));
		var range = prompt('Bitte geben Sie den Bereich ein', '1-' + ticks.count());
		var newticks = new IDList();
		if (range) {
			range = range.split('-');
			if (range.length == 1) {
				range.push(range[0]);
			}
			var skip = (range[0] || 1) - 1;
			var take = (range[1] || Infinity) - skip;
			for (var item of ticks.all()) {
				if (skip > 0) {
					skip--;
				} else if (take > 0) {
					newticks.push(item);
					take--;
				} else break;
			}
			checkreminderAufgabeNot_assigned(newticks, 'ID', 'set');
		} $(this).closest('.overlay').click(); return false;">
					<span style="float:left;"><i class="material-icons">colorize</i></span><span class="fop-menu-caption" title="<?php echo(_('limit range')); ?>"><?php echo(_('limit range')); ?> (<span class='cnt'></span>)
					</span>
				</span>
			</span>
		<?php } ?><?php
		if(true && (!\FOP\User::getIsGuest()) && (!\FOP\User::getIsGuest())) { ?>
			<span class="mdl-list__item mdl-button">
				<span class="mdl-list__item mdl-button" data-interaction-name="assign" style="margin-right:auto; text-align:left;"
					onclick="location.href = 'Tables/Aufgabe/assign?ajax&from=<?php echo urlencode(\FOP\Util::getBackUrl()); ?>&id=' + escape(checkreminderAufgabeNot_assigned(null, 'ID')); $(this).closest('.overlay').click(); return false;">
					<span style="float:left;"><i class="material-icons">person</i></span><span class="fop-menu-caption" title="<?php echo(_('Zuweisen')); ?>"><?php echo(_('Zuweisen')); ?> (<span class='cnt'></span>)
					</span>
				</span>
			</span>
		<?php } ?><?php
		if(true && (!\FOP\User::getIsGuest())) { ?>
			<span class="mdl-list__item mdl-button">
				<span class="mdl-list__item mdl-button" data-interaction-name="delete" style="margin-right:auto; text-align:left;"
					onclick="if(!confirm(<?php echo htmlentities(json_encode(_('confirmdelete'))); ?>)) return;$.get('Tables/Aufgabe/delete?ajax&from=<?php echo urlencode(\FOP\Util::getBackUrl()); ?>&id=' + escape(checkreminderAufgabeNot_assigned(null, 'ID'))).then(function () { reloadreminderAufgabeNot_assigned(); }, function (err) { if (err.responseText.startsWith('http')) { window.location.href = err.responseText; } else {alert(err.responseText); }}); $(this).closest('.overlay').click(); return false;">
					<span style="float:left;"><i class="material-icons">delete</i></span><span class="fop-menu-caption" title="<?php echo(_('delete')); ?>"><?php echo(_('delete')); ?> (<span class='cnt'></span>)
					</span>
				</span>
			</span>
		<?php } ?>
														</ul>
														<!-- column hide -->
														<button type="button" class="mdl-button mdl-js-button mdl-button--icon" onclick="dropDownFixPosition($(this), $(this).next())">
															<i class="material-icons">visibility</i>
														</button>
														<ul class="mdl-list mdl-card mdl-shadow--4dp fop-scroll-menu">
															<?php foreach ($columns AS $col) { ?>
																<li class="mdl-list__item mdl-button" onclick="
																	var isVisible = this.firstElementChild.innerText !== 'clear';
																	this.firstElementChild.innerText = isVisible ? 'clear' : 'visibility'; // switch icon
																	tableColumnVisibility('reminderAufgabeNot_assigned', <?php echo htmlentities(json_encode($col['id'])); ?>, !isVisible); // the rest is up to a helper function in layout/tables.fop
																	">
																	<i class="material-icons"><?php if ($col['collapsed']) { echo 'clear'; } else { echo 'visibility'; }?></i>
																	<?php echo htmlentities($col['desc']); ?>
																</li>
															<?php } ?>
															<li class="mdl-list__item mdl-button" onclick="
																$.get('FOP/Index/dataview?data='+encodeURIComponent(JSON.stringify({dataview: 'reminderAufgabeNot_assigned', reset: true}))).then(function () { location.reload(); });
																">
																<i class="material-icons">refresh</i>
																<?php echo _('reset all'); ?>
															</li>
														</ul>
													</div>
												</div><?php }
												
												foreach ($columns AS $col) {
													// Spalten-Überschrift rendern
													echo $col['header'];
												} ?>
											 </div>
											
											<div class="fop-table-body" id="table_reminderAufgabeNot_assigned" <?php \EasyEditor\Navigation::printScroll('dv.ReminderAufgabeNot_assigned', '/* scroll horiz */ this.previousElementSibling.firstElementChild.style.marginLeft = \'-\' + this.scrollLeft + \'px\';
												/* scroll verti */
												var self = this;
												if (window.DataViewScrollReloadTimeout) clearTimeout(window.DataViewScrollReloadTimeout);
												window.DataViewScrollReloadTimeout = setTimeout(function () {
													var currentPage = parseInt(query[\'page_reminderAufgabeNot_assigned\'] || 0);
													var paddingTop = parseInt( self.lastElementChild.style.paddingTop, 10);
													var wantedPage = Math.max(0, currentPage + Math.floor((self.scrollTop - paddingTop) / ' . ($itemheight * $itemsperpage) . '));
													if (wantedPage != currentPage) {
														query[\'page_reminderAufgabeNot_assigned\'] = wantedPage;
														reloadreminderAufgabeNot_assigned(undefined, undefined, true);
													}
												}, 50);
											'); ?>>
												<div class="fop-table-body-inner" style="min-height: <?php echo 12 + $itemheight * ($itemcount + $additionalLines); ?>px; padding-top: <?php echo $itemheight * $itemsperpage * $page; ?>px;">
												<?php foreach($arr as $itempos => $item) {
													?>
													<div class="fop-table-row" style="" data-aufgabe-id="<?php echo htmlentities($item['ID']); ?>"<?php if (isset($item['ID'])){
														if (isset($_GET['select']) && isset($_GET['from'])) {
															echo 'onclick="event.preventDefault(); if (!window.getSelection().toString()) window.location.href=' . htmlentities(json_encode($_GET['from'] . '&colvalue=' . urlencode($item['ID']))) . ';" ';
														} else {
															echo 'onclick="event.preventDefault(); if (!window.getSelection().toString()) open_url(reloadreminderAufgabeNot_assigned({action: \'open\', fop_table: \'aufgabe\', fop_id: ' .  htmlentities(json_encode($item['ID'])) . ', fop_from: location.href}, true), false);"';
														}
													}?> >

													<?php if (!isset($_GET['select'])) { ?>
													<div class='fop-table-column noprint' style="width: <?php echo json_encode($firstColumnWidth); ?>px;" onclick="$(this).find('input[type=checkbox]').first().click(); event.stopPropagation();">
													<label onclick="event.stopPropagation();" class="mdl-checkbox mdl-js-checkbox reminderAufgabeNot_assigned__checkbox reminderAufgabeNot_assigned__checkbox reminderAufgabeNot_assigned__checkbox-ID-<?php echo htmlentities($item['ID']); ?>" style="width: auto;" for="reminderAufgabeNot_assigned__<?php echo htmlentities($itempos); ?>-checkbox">
													<input class="mdl-checkbox__input" id="reminderAufgabeNot_assigned__<?php echo htmlentities($itempos); ?>-checkbox" type="checkbox" onchange="<?php if (isset($item['ID'])) echo 'checkreminderAufgabeNot_assigned(' . htmlentities(json_encode($item['ID'])) . ', \'ID\', this.checked); ' ?>">
													</label><button type="button" class="mdl-button mdl-js-button mdl-button--icon reminderAufgabeNot_assigned__action" onclick="
														event.stopPropagation();
														dropDownFixPosition($(this), $(this).next());
														">
														<i class="material-icons">more_vert</i>
													</button><ul class="mdl-list mdl-card mdl-shadow--4dp fop-scroll-menu" id="fop-scroll-menu-reminderAufgabeNot_assigned-action-<?php echo $item['ID'] ?? 0; ?>">
														<?php
		if(isset($item['ID']) && $item['operation::view']) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="view" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\Aufgabe::viewURL($item['ID'], ['from' => \FOP\Util::getBackUrl()])); ?>"
				onclick=" if (!event.ctrlKey) { open_url(reloadreminderAufgabeNot_assigned({action: 'open', fop_table: 'aufgabe', fop_id: <?php echo htmlentities(json_encode($item['ID'])); ?>, fop_from: location.href}, true), false); return false; } $(this).closest('.overlay').click(); return false;  
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">find_in_page</i></span><span class="fop-menu-caption" title="<?php echo(_('open')); ?>"><?php echo(_('open')); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && $item['operation::view'] && $item['operation::edit']) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="edit" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\Aufgabe::editURL($item['ID'], ['from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="   
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">edit</i></span><span class="fop-menu-caption" title="<?php echo(_('edit')); ?>"><?php echo(_('edit')); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && $item['operation::view'] && $item['operation::edit']) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="assign" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\Aufgabe::assignURL2(['id' => $item['ID'], 'from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="   
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">person</i></span><span class="fop-menu-caption" title="<?php echo(_('Zuweisen')); ?>"><?php echo(_('Zuweisen')); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && (!\FOP\User::getIsGuest())) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="create_aufgabeAnhang_parent" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\AufgabeAnhang::createURL2(['column_parent' => $item['ID'], 'from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="   
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">create</i></span><span class="fop-menu-caption" title="<?php echo(sprintf(_('create %s'), _('Datei-Anhang'))); ?>"><?php echo(sprintf(_('create %s'), _('Datei-Anhang'))); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && (!\FOP\User::getIsGuest())) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="create_aufgabeEvent_ticket" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\AufgabeEvent::createURL2(['column_ticket' => $item['ID'], 'from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="   
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">create</i></span><span class="fop-menu-caption" title="<?php echo(sprintf(_('create %s'), sprintf(_('%s-Ereignis'), _('Aufgabe')))); ?>"><?php echo(sprintf(_('create %s'), sprintf(_('%s-Ereignis'), _('Aufgabe')))); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && (!\FOP\User::getIsGuest())) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="create_aufgabeProperty_parent" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\AufgabeProperty::createURL2(['column_parent' => $item['ID'], 'from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="   
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">create</i></span><span class="fop-menu-caption" title="<?php echo(sprintf(_('create %s'), _('Eigenschaft'))); ?>"><?php echo(sprintf(_('create %s'), _('Eigenschaft'))); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && (!\FOP\User::getIsGuest())) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="event" style="margin-right:auto; text-align:left;" href="<?php echo htmlentities(\TablesRouter\AufgabeEvent::createURL2(['column_ticket' => $item['ID'], 'from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="   
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">keyboard_arrow_right</i></span><span class="fop-menu-caption" title="<?php echo(_('Ereignis')); ?>"><?php echo(_('Ereignis')); ?></span>
			</a>
		<?php } ?><?php
		if(isset($item['ID']) && $item['operation::delete']) { ?>
			<a class="mdl-list__item mdl-button" data-interaction-name="delete" style="margin-right:auto; text-align:left;" href="#"
				onclick="if(!confirm(<?php echo htmlentities(json_encode(_('confirmdelete'))); ?>)) return false;   $.get('Tables/Aufgabe/delete?ajax&id=<?php echo htmlentities($item['ID']);?>&from=<?php echo htmlentities(\FOP\Util::getBackUrl());?>').then(function () { reloadreminderAufgabeNot_assigned(); }, function (err) { if (err.responseText.startsWith('http')) { window.location.href = err.responseText; } else {alert(err.responseText); }}); $(this).closest('.overlay').click(); return false;
					open_url(this.href, false);
					$(this).closest('.overlay').click();
					return false;">
				<span><i class="material-icons">delete</i></span><span class="fop-menu-caption" title="<?php echo(_('delete')); ?>"><?php echo(_('delete')); ?></span>
			</a>
		<?php } ?>
													</ul><?php
		if(isset($item['ID']) && (!\FOP\User::getIsGuest())) {
			?><a class="mdl-button mdl-js-button mdl-button--icon tbl-link" data-tbl="aufgabe" data-id="<?php echo htmlentities($item['ID']); ?>" data-interaction-name="event" href="<?php echo htmlentities(\TablesRouter\AufgabeEvent::createURL2(['column_ticket' => $item['ID'], 'from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="event.stopPropagation();    reloadreminderAufgabeNot_assigned();
					$(this).closest('.overlay').click();
					if (this.href != '#') {
						open_url(this.href, false);
					}
					event.preventDefault();"
				title="<?php echo(_('Ereignis')); ?>">
				<i class="material-icons">keyboard_arrow_right</i>
			</a><?php } ?><?php
		if(isset($item['ID']) && $item['operation::view'] && $item['operation::edit']) {
			?><a class="mdl-button mdl-js-button mdl-button--icon tbl-link" data-tbl="aufgabe" data-id="<?php echo htmlentities($item['ID']); ?>" data-interaction-name="edit" href="<?php echo htmlentities(\TablesRouter\Aufgabe::editURL($item['ID'], ['from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="event.stopPropagation();    reloadreminderAufgabeNot_assigned();
					$(this).closest('.overlay').click();
					if (this.href != '#') {
						open_url(this.href, false);
					}
					event.preventDefault();"
				title="<?php echo(_('edit')); ?>">
				<i class="material-icons">edit</i>
			</a><?php } ?><?php
		if(isset($item['ID']) && $item['operation::view']) {
			?><a class="mdl-button mdl-js-button mdl-button--icon tbl-link" data-tbl="aufgabe" data-id="<?php echo htmlentities($item['ID']); ?>" data-interaction-name="view" href="<?php echo htmlentities(\TablesRouter\Aufgabe::viewURL($item['ID'], ['from' => \FOP\Util::getBackUrl()])); ?>"
				onclick="event.stopPropagation();  if (!event.ctrlKey) { open_url(reloadreminderAufgabeNot_assigned({action: 'open', fop_table: 'aufgabe', fop_id: <?php echo htmlentities(json_encode($item['ID'])); ?>, fop_from: location.href}, true), false); return false; }  reloadreminderAufgabeNot_assigned();
					$(this).closest('.overlay').click();
					if (this.href != '#') {
						open_url(this.href, false);
					}
					event.preventDefault();"
				title="<?php echo(_('open')); ?>">
				<i class="material-icons">find_in_page</i>
			</a><?php } ?>
													</div><?php } ?><?php
													
													foreach ($columns AS $col) {
														$col['render']($item);
													}
													?></div>
												 <?php }?>

													</div>
												</div>

												
												
												</div><?php
												
	
    
  }

  public static function getUnseenNotificationsForChannel($channel) { 
    
    
    // --- BLOCK: main ---
    
		// at first, remove items that are obsolete
		$sql = \FOP\Database::query('DELETE FROM fop_notification WHERE '.qi('dv').' = '.\FOP\Database::quote('reminderAufgabeNot_assigned').'  AND '.qi('user').' = '.intval(\FOP\User::getID()).' AND channel = '.\FOP\Database::quote($channel).' AND NOT id IN (SELECT t.'.qi('ID').' AS id ' . /* FROM */\DataView\ReminderAufgabeNot_assigned::getSQL([]) . ')');

		// limit = 100; when limit is reached, redo
		$sql = 'SELECT t.'.qi('ID').' AS id ' . /* FROM */\DataView\ReminderAufgabeNot_assigned::getSQL([]) . ' AND NOT EXISTS (SELECT * FROM fop_notification WHERE '.qi('dv').' = '.\FOP\Database::quote('reminderAufgabeNot_assigned').' AND '.qi('user').' = '.intval(\FOP\User::getID()).' AND id = t.'.qi('ID').' AND channel = '.\FOP\Database::quote($channel).') LIMIT 100';
		return \FOP\Database::query($sql)->fetchAll(\PDO::FETCH_COLUMN);
	
    
  }

  public static function getidsAction($col) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
			$q = \FOP\Database::query('SELECT t.'.qi($col).' '.self::getSQL($_GET));
			$result = new \FOP\IDList();
			while ($item = $q->fetchColumn()) {
				$result->push($item);
			}
			die($result->toString());

    
  }

  public static function permissionsAction($id) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
		$ids = new \FOP\IDList($id);
		header('Content-Type: application/json');
		
		$perms = \FOP\Database::query('SELECT COUNT(*) AS __cnt, SUM(CASE ('.(\FOP\User::getIsGuest() ? 'false' : 'true').') AND ('.(\FOP\User::getIsGuest() ? 'false' : 'true').') WHEN TRUE THEN 1 ELSE 0 END) AS '.qi('assign').', SUM(CASE (TRUE) WHEN TRUE THEN 1 ELSE 0 END) AS '.qi('filteronly').', SUM(CASE (TRUE) WHEN TRUE THEN 1 ELSE 0 END) AS '.qi('filterrange').', SUM(CASE (TRUE) WHEN TRUE THEN 1 ELSE 0 END) AS '.qi('filterall').', SUM(CASE ('.(\FOP\User::getIsGuest() ? 'false' : 'true').') WHEN TRUE THEN 1 ELSE 0 END) AS '.qi('delete').' FROM '.qi('aufgabe').' WHERE ' . $ids->toSQL(qi('ID')))->fetch(\PDO::FETCH_ASSOC);
		
		return $perms;
	
    
  }

  public static function getSQL($params) { 
    
    
    // --- BLOCK: main ---
    
								// returns a sql snippet 'FROM (...) AS t WHERE' where you can prepend your select clauses and append your ORDER LIMIT
								$sql = 'FROM (SELECT /* ID */ '.qi('ID').' AS '.qi('ID').',
									/* _ID */ '.qi('aufgabe').'.'.qi('ID').' AS '.qi('_ID').',
									/* _anhang */ EXISTS (SELECT (TRUE) FROM '.qi('aufgabeAnhang').' '.qi('XuVoGrVc').' WHERE '.qi('XuVoGrVc').'.'.qi('parent').' = '.qi('aufgabe').'.'.qi('ID').' LIMIT 1) AS '.qi('_anhang').',
									/* assigned */ '.qi('assigned').' AS '.qi('assigned').',
									/* assigned::canView */ '.qi('ref:assigned').'.'.qi('assigned:canView').' AS '.qi('assigned::canView').',
									/* assigned::description */ '.qi('ref:assigned').'.'.qi('assigned:description').' AS '.qi('assigned::description').',
									/* creation */ '.qi('creation').' AS '.qi('creation').',
									/* creator */ '.qi('creator').' AS '.qi('creator').',
									/* creator::canView */ '.qi('ref:creator').'.'.qi('creator:canView').' AS '.qi('creator::canView').',
									/* creator::description */ '.qi('ref:creator').'.'.qi('creator:description').' AS '.qi('creator::description').',
									/* deadline */ '.qi('deadline').' AS '.qi('deadline').',
									/* details */ '.qi('details').' AS '.qi('details').',
									/* operation::create */ '.(\FOP\User::getIsGuest() ? 'false' : 'true').' AS '.qi('operation::create').',
									/* operation::delete */ '.(\FOP\User::getIsGuest() ? 'false' : 'true').' AS '.qi('operation::delete').',
									/* operation::edit */ '.(\FOP\User::getIsGuest() ? 'false' : 'true').' AS '.qi('operation::edit').',
									/* operation::index */ ' . (!\FOP\User::getIsGuest() ? 1 : 0) . ' AS '.qi('operation::index').',
									/* operation::view */ '.(\FOP\User::getIsGuest() ? 'false' : 'true').' AS '.qi('operation::view').',
									/* repeat */ '.qi('repeat').' AS '.qi('repeat').',
									/* start */ '.qi('start').' AS '.qi('start').',
									/* state */ '.qi('state').' AS '.qi('state').',
									/* state::canView */ '.qi('ref:state').'.'.qi('state:canView').' AS '.qi('state::canView').',
									/* state::description */ '.qi('ref:state').'.'.qi('state:description').' AS '.qi('state::description').',
									/* title */ '.qi('title').' AS '.qi('title').',
									/* typ */ '.qi('typ').' AS '.qi('typ').',
									/* typ::canView */ '.qi('ref:typ').'.'.qi('typ:canView').' AS '.qi('typ::canView').',
									/* typ::description */ '.qi('ref:typ').'.'.qi('typ:description').' AS '.qi('typ::description').',
									1
								FROM '.qi('aufgabe').' '.qi('aufgabe').'
								LEFT JOIN (SELECT '.qi('ID').' AS '.qi('typ:ID').', '.qi('aufgabeType').'.'.qi('name').' AS '.qi('typ:description').', ('.(\FOP\User::getIsGuest() ? 'false' : 'true').') AS '.qi('typ:canView').' FROM '.qi('aufgabeType').') '.qi('ref:typ').' ON '.qi('ref:typ').'.'.qi('typ:ID').' = '.qi('typ').'
								LEFT JOIN (SELECT '.qi('ID').' AS '.qi('state:ID').', '.qi('aufgabeState').'.'.qi('name').' AS '.qi('state:description').', ('.(\FOP\User::getIsGuest() ? 'false' : 'true').') AS '.qi('state:canView').' FROM '.qi('aufgabeState').') '.qi('ref:state').' ON '.qi('ref:state').'.'.qi('state:ID').' = '.qi('state').'
								LEFT JOIN (SELECT '.qi('ID').' AS '.qi('creator:ID').', CONCAT('.qi('mitglied').'.'.qi('vorname').', \' \', '.qi('mitglied').'.'.qi('name').') AS '.qi('creator:description').', ((CASE WHEN '.\FOP\Database::quote(\FOP\User::getGruppe()).' THEN TRUE ELSE NOT (('.qi('mitglied').'.'.qi('ID').') <> ('.\FOP\Database::sessionVarSQL('user').')) END) AND (CASE WHEN '.\FOP\Database::quote(\FOP\User::getMitglied()).' THEN TRUE ELSE NOT ((('.qi('mitglied').'.'.qi('ID').') <> ('.\FOP\Database::sessionVarSQL('user').')) AND (NOT (EXISTS (SELECT (TRUE) FROM '.qi('gruppeItem').' '.qi('7sncgH3z').' WHERE '.qi('7sncgH3z').'.'.qi('item').' = '.qi('mitglied').'.'.qi('ID').' AND (EXISTS (SELECT (TRUE) FROM '.qi('gruppeVerantwortlich').' '.qi('eHueOsQC').' WHERE '.qi('eHueOsQC').'.'.qi('gruppe').' = '.qi('7sncgH3z').'.'.qi('list').' AND (('.qi('eHueOsQC').'.'.qi('mitglied').') = ('.\FOP\Database::sessionVarSQL('user').')) LIMIT 1)) LIMIT 1)))) END) AND (CASE WHEN '.\FOP\Database::quote(\FOP\User::getSuperadmin()).' THEN TRUE ELSE NOT ('.qi('mitglied').'.'.qi('superadmin').') END)) AS '.qi('creator:canView').' FROM '.qi('mitglied').') '.qi('ref:creator').' ON '.qi('ref:creator').'.'.qi('creator:ID').' = '.qi('creator').'
								LEFT JOIN (SELECT '.qi('ID').' AS '.qi('assigned:ID').', CONCAT('.qi('mitglied').'.'.qi('vorname').', \' \', '.qi('mitglied').'.'.qi('name').') AS '.qi('assigned:description').', ((CASE WHEN '.\FOP\Database::quote(\FOP\User::getGruppe()).' THEN TRUE ELSE NOT (('.qi('mitglied').'.'.qi('ID').') <> ('.\FOP\Database::sessionVarSQL('user').')) END) AND (CASE WHEN '.\FOP\Database::quote(\FOP\User::getMitglied()).' THEN TRUE ELSE NOT ((('.qi('mitglied').'.'.qi('ID').') <> ('.\FOP\Database::sessionVarSQL('user').')) AND (NOT (EXISTS (SELECT (TRUE) FROM '.qi('gruppeItem').' '.qi('7sncgH3z').' WHERE '.qi('7sncgH3z').'.'.qi('item').' = '.qi('mitglied').'.'.qi('ID').' AND (EXISTS (SELECT (TRUE) FROM '.qi('gruppeVerantwortlich').' '.qi('eHueOsQC').' WHERE '.qi('eHueOsQC').'.'.qi('gruppe').' = '.qi('7sncgH3z').'.'.qi('list').' AND (('.qi('eHueOsQC').'.'.qi('mitglied').') = ('.\FOP\Database::sessionVarSQL('user').')) LIMIT 1)) LIMIT 1)))) END) AND (CASE WHEN '.\FOP\Database::quote(\FOP\User::getSuperadmin()).' THEN TRUE ELSE NOT ('.qi('mitglied').'.'.qi('superadmin').') END)) AS '.qi('assigned:canView').' FROM '.qi('mitglied').') '.qi('ref:assigned').' ON '.qi('ref:assigned').'.'.qi('assigned:ID').' = '.qi('assigned').'
								WHERE (('.qi('aufgabe').'.'.qi('assigned').') IS NULL)
									AND (('.(\FOP\User::getIsGuest() ? 'false' : 'true').'))
									AND (' . (isset($_GET['select']) && $_GET['select'] == 'aufgabe' ? 'TRUE' : 'TRUE') . ')) AS t
								LEFT JOIN '.qi('mitglied').' AS '.qi('sorter-creator').' ON t.'.qi('creator').' = '.qi('sorter-creator').'.'.qi('ID').'
								LEFT JOIN '.qi('mitglied').' AS '.qi('sorter-assigned').' ON t.'.qi('assigned').' = '.qi('sorter-assigned').'.'.qi('ID').'
								LEFT JOIN '.qi('aufgabeType').' AS '.qi('sorter-typ').' ON t.'.qi('typ').' = '.qi('sorter-typ').'.'.qi('ID').'
								LEFT JOIN '.qi('aufgabeState').' AS '.qi('sorter-state').' ON t.'.qi('state').' = '.qi('sorter-state').'.'.qi('ID').'
								WHERE ' . (isset($params['range_min_reminderAufgabeNot_assigned__ID']) ? ($params['range_min_reminderAufgabeNot_assigned__ID'] !== '' && is_numeric($params['range_min_reminderAufgabeNot_assigned__ID']) ? 't.'.qi('_ID').' >= ' . \FOP\Database::quote($params['range_min_reminderAufgabeNot_assigned__ID']) . ' AND ' : '') : '') . 
								(isset($params['range_min_reminderAufgabeNot_assigned_deadline']) ? ($params['range_min_reminderAufgabeNot_assigned_deadline'] !== '' && is_numeric($params['range_min_reminderAufgabeNot_assigned_deadline']) ? 't.'.qi('deadline').' >= ' . \FOP\Database::quote($params['range_min_reminderAufgabeNot_assigned_deadline']) . ' AND ' : '') : '') . 
								(isset($params['range_min_reminderAufgabeNot_assigned_creation']) ? ($params['range_min_reminderAufgabeNot_assigned_creation'] !== '' && is_numeric($params['range_min_reminderAufgabeNot_assigned_creation']) ? 't.'.qi('creation').' >= ' . \FOP\Database::quote($params['range_min_reminderAufgabeNot_assigned_creation']) . ' AND ' : '') : '') . 
								(isset($params['range_min_reminderAufgabeNot_assigned_start']) ? ($params['range_min_reminderAufgabeNot_assigned_start'] !== '' && is_numeric($params['range_min_reminderAufgabeNot_assigned_start']) ? 't.'.qi('start').' >= ' . \FOP\Database::quote($params['range_min_reminderAufgabeNot_assigned_start']) . ' AND ' : '') : '') . 
								(isset($params['range_max_reminderAufgabeNot_assigned__ID']) ? ($params['range_max_reminderAufgabeNot_assigned__ID'] !== '' && is_numeric($params['range_max_reminderAufgabeNot_assigned__ID']) ? 't.'.qi('_ID').' <= ' . \FOP\Database::quote($params['range_max_reminderAufgabeNot_assigned__ID']) . ' AND ' : '') : '') . 
								(isset($params['range_max_reminderAufgabeNot_assigned_deadline']) ? ($params['range_max_reminderAufgabeNot_assigned_deadline'] !== '' && is_numeric($params['range_max_reminderAufgabeNot_assigned_deadline']) ? 't.'.qi('deadline').' <= ' . \FOP\Database::quote($params['range_max_reminderAufgabeNot_assigned_deadline']) . ' AND ' : '') : '') . 
								(isset($params['range_max_reminderAufgabeNot_assigned_creation']) ? ($params['range_max_reminderAufgabeNot_assigned_creation'] !== '' && is_numeric($params['range_max_reminderAufgabeNot_assigned_creation']) ? 't.'.qi('creation').' <= ' . \FOP\Database::quote($params['range_max_reminderAufgabeNot_assigned_creation']) . ' AND ' : '') : '') . 
								(isset($params['range_max_reminderAufgabeNot_assigned_start']) ? ($params['range_max_reminderAufgabeNot_assigned_start'] !== '' && is_numeric($params['range_max_reminderAufgabeNot_assigned_start']) ? 't.'.qi('start').' <= ' . \FOP\Database::quote($params['range_max_reminderAufgabeNot_assigned_start']) . ' AND ' : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_repeat']) ? ($params['filter_reminderAufgabeNot_assigned_repeat'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_repeat']))->toSQL('t.'.qi('repeat').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_assigned']) ? ($params['filter_reminderAufgabeNot_assigned_assigned'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_assigned']))->toSQL('t.'.qi('assigned').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_creator']) ? ($params['filter_reminderAufgabeNot_assigned_creator'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_creator']))->toSQL('t.'.qi('creator').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned__ID']) ? ($params['filter_reminderAufgabeNot_assigned__ID'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned__ID']))->toSQL('t.'.qi('_ID').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned__anhang']) ? ($params['filter_reminderAufgabeNot_assigned__anhang'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned__anhang']))->toSQL('t.'.qi('_anhang').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_typ']) ? ($params['filter_reminderAufgabeNot_assigned_typ'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_typ']))->toSQL('t.'.qi('typ').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_title']) ? ($params['filter_reminderAufgabeNot_assigned_title'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_title']))->toSQL('t.'.qi('title').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_state']) ? ($params['filter_reminderAufgabeNot_assigned_state'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_state']))->toSQL('t.'.qi('state').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_deadline']) ? ($params['filter_reminderAufgabeNot_assigned_deadline'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_deadline']))->toSQL('t.'.qi('deadline').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_creation']) ? ($params['filter_reminderAufgabeNot_assigned_creation'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_creation']))->toSQL('t.'.qi('creation').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_details']) ? ($params['filter_reminderAufgabeNot_assigned_details'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_details']))->toSQL('t.'.qi('details').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_start']) ? ($params['filter_reminderAufgabeNot_assigned_start'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_start']))->toSQL('t.'.qi('start').'') . ') AND ') : '') : '') . 
								(isset($params['filter_reminderAufgabeNot_assigned_ID']) ? ($params['filter_reminderAufgabeNot_assigned_ID'] !== '' ? ('(' . (new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_ID']))->toSQL('t.'.qi('ID').'') . ') AND ') : '') : '') . 
								(isset($params['search_reminderAufgabeNot_assigned_title']) ? 't.'.qi('title').' '.(\FOP\Database::getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE').' ' . \FOP\Database::quote('%' . $params['search_reminderAufgabeNot_assigned_title'] . '%') . ' AND ' : '') . 
								(isset($params['search_reminderAufgabeNot_assigned_details']) ? 't.'.qi('details').' '.(\FOP\Database::getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE').' ' . \FOP\Database::quote('%' . $params['search_reminderAufgabeNot_assigned_details'] . '%') . ' AND ' : '') . 
								(isset($params['searchnot_reminderAufgabeNot_assigned_title']) ? 'NOT t.'.qi('title').' '.(\FOP\Database::getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE').' ' . \FOP\Database::quote('%' . $params['searchnot_reminderAufgabeNot_assigned_title'] . '%') . ' AND ' : '') . 
								(isset($params['searchnot_reminderAufgabeNot_assigned_details']) ? 'NOT t.'.qi('details').' '.(\FOP\Database::getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE').' ' . \FOP\Database::quote('%' . $params['searchnot_reminderAufgabeNot_assigned_details'] . '%') . ' AND ' : '') . 
								(isset($params['search_reminderAufgabeNot_assigned']) ? '(' . 't.'.qi('title').' '.(\FOP\Database::getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE').' ' . \FOP\Database::quote('%' . $params['search_reminderAufgabeNot_assigned'] . '%') . ' OR ' . 't.'.qi('details').' '.(\FOP\Database::getDriver() == 'pgsql' ? 'ILIKE' : 'LIKE').' ' . \FOP\Database::quote('%' . $params['search_reminderAufgabeNot_assigned'] . '%') . ') AND ' : '') . 
								'
								 TRUE ';
								return $sql;
	
    
  }

  public static function getfilter_reminderAufgabeNot_assigned_typItemsByStringAction($fstr) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
		// Auf aktive DataView-Items einschränken
		$params = $_GET;
		unset($params['filter_reminderAufgabeNot_assigned_typ']);
		return \Types\AufgabeType::getItems(null, -1, $fstr, ''.qi('ID').' IN (SELECT DISTINCT t.'.qi('typ').''.self::getSQL($params).')');
	

    
  }

  public static function getfilter_reminderAufgabeNot_assigned_stateItemsByStringAction($fstr) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
		// Auf aktive DataView-Items einschränken
		$params = $_GET;
		unset($params['filter_reminderAufgabeNot_assigned_state']);
		return \Types\AufgabeState::getItems(null, -1, $fstr, ''.qi('ID').' IN (SELECT DISTINCT t.'.qi('state').''.self::getSQL($params).')');
	

    
  }

  public static function getfilter_reminderAufgabeNot_assigned_assignedItemsByStringAction($fstr) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
		// Auf aktive DataView-Items einschränken
		$params = $_GET;
		unset($params['filter_reminderAufgabeNot_assigned_assigned']);
		return \Types\MitgliedNullAssigned::getItems(null, -1, $fstr, ''.qi('ID').' IN (SELECT DISTINCT t.'.qi('assigned').''.self::getSQL($params).')');
	

    
  }

  public static function getfilter_reminderAufgabeNot_assigned_creatorItemsByStringAction($fstr) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
		// Auf aktive DataView-Items einschränken
		$params = $_GET;
		unset($params['filter_reminderAufgabeNot_assigned_creator']);
		return \Types\Mitglied::getItems(null, -1, $fstr, ''.qi('ID').' IN (SELECT DISTINCT t.'.qi('creator').''.self::getSQL($params).')');
	

    
  }

  public static function getData($sqladdon, $params, $stream = false ) { 
    
    
    // --- BLOCK: main ---
    
								$sql = self::getSQL($params);

								$order = (\FOP\Util::array_value(array(
									'creator ASC' => 'ORDER BY '.qi('sorter-creator').'.'.qi('name').' , '.qi('sorter-creator').'.'.qi('name').' , '.qi('sorter-creator').'.'.qi('name').' , '.qi('sorter-creator').'.'.qi('name').' , '.qi('sorter-creator').'.'.qi('name').' , '.qi('sorter-creator').'.'.qi('name').' , '.qi('sorter-creator').'.'.qi('vorname').' , '.qi('sorter-creator').'.'.qi('vorname').' , '.qi('sorter-creator').'.'.qi('vorname').' , '.qi('sorter-creator').'.'.qi('vorname').' , '.qi('sorter-creator').'.'.qi('vorname').' , '.qi('sorter-creator').'.'.qi('vorname').' ',
									'assigned ASC' => 'ORDER BY '.qi('sorter-assigned').'.'.qi('name').' , '.qi('sorter-assigned').'.'.qi('name').' , '.qi('sorter-assigned').'.'.qi('name').' , '.qi('sorter-assigned').'.'.qi('vorname').' , '.qi('sorter-assigned').'.'.qi('vorname').' , '.qi('sorter-assigned').'.'.qi('vorname').' ',
									'typ ASC' => 'ORDER BY '.qi('sorter-typ').'.'.qi('sortableOrder').' , '.qi('sorter-typ').'.'.qi('sortableOrder').' , '.qi('sorter-typ').'.'.qi('sortableOrder').' ',
									'state ASC' => 'ORDER BY '.qi('sorter-state').'.'.qi('sortableOrder').' , '.qi('sorter-state').'.'.qi('sortableOrder').' , '.qi('sorter-state').'.'.qi('sortableOrder').' , '.qi('sorter-state').'.'.qi('sortableOrder').' , '.qi('sorter-state').'.'.qi('sortableOrder').' ',
									'creator DESC' => 'ORDER BY '.qi('sorter-creator').'.'.qi('name').' DESC, '.qi('sorter-creator').'.'.qi('name').' DESC, '.qi('sorter-creator').'.'.qi('name').' DESC, '.qi('sorter-creator').'.'.qi('name').' DESC, '.qi('sorter-creator').'.'.qi('name').' DESC, '.qi('sorter-creator').'.'.qi('name').' DESC, '.qi('sorter-creator').'.'.qi('vorname').' DESC, '.qi('sorter-creator').'.'.qi('vorname').' DESC, '.qi('sorter-creator').'.'.qi('vorname').' DESC, '.qi('sorter-creator').'.'.qi('vorname').' DESC, '.qi('sorter-creator').'.'.qi('vorname').' DESC, '.qi('sorter-creator').'.'.qi('vorname').' DESC',
									'assigned DESC' => 'ORDER BY '.qi('sorter-assigned').'.'.qi('name').' DESC, '.qi('sorter-assigned').'.'.qi('name').' DESC, '.qi('sorter-assigned').'.'.qi('name').' DESC, '.qi('sorter-assigned').'.'.qi('vorname').' DESC, '.qi('sorter-assigned').'.'.qi('vorname').' DESC, '.qi('sorter-assigned').'.'.qi('vorname').' DESC',
									'typ DESC' => 'ORDER BY '.qi('sorter-typ').'.'.qi('sortableOrder').' DESC, '.qi('sorter-typ').'.'.qi('sortableOrder').' DESC, '.qi('sorter-typ').'.'.qi('sortableOrder').' DESC',
									'state DESC' => 'ORDER BY '.qi('sorter-state').'.'.qi('sortableOrder').' DESC, '.qi('sorter-state').'.'.qi('sortableOrder').' DESC, '.qi('sorter-state').'.'.qi('sortableOrder').' DESC, '.qi('sorter-state').'.'.qi('sortableOrder').' DESC, '.qi('sorter-state').'.'.qi('sortableOrder').' DESC',
									'details ASC' => 'ORDER BY t.'.qi('details').' ASC',
									'title ASC' => 'ORDER BY t.'.qi('title').' ASC',
									'_ID ASC' => 'ORDER BY t.'.qi('_ID').' ASC',
									'deadline ASC' => 'ORDER BY t.'.qi('deadline').' ASC',
									'creation ASC' => 'ORDER BY t.'.qi('creation').' ASC',
									'start ASC' => 'ORDER BY t.'.qi('start').' ASC',
									'details DESC' => 'ORDER BY t.'.qi('details').' DESC',
									'title DESC' => 'ORDER BY t.'.qi('title').' DESC',
									'_ID DESC' => 'ORDER BY t.'.qi('_ID').' DESC',
									'deadline DESC' => 'ORDER BY t.'.qi('deadline').' DESC',
									'creation DESC' => 'ORDER BY t.'.qi('creation').' DESC',
									'start DESC' => 'ORDER BY t.'.qi('start').' DESC',
									'' => ''), isset($params['sort_reminderAufgabeNot_assigned']) ? $params['sort_reminderAufgabeNot_assigned'] : '') ?: 'ORDER BY '.qi('t').'.'.qi('ID').' DESC');
								// wenn sqladdon bereits ein ORDER enthält, kein order aufbauen
								if (strpos($sqladdon, 'ORDER') !== false) {
									$order = '';
								}
								if ($stream) {
									// als Stream (währenddessen darf keine weitere SQL-Query laufen) für große Datenmengen und Statistiken
									$result = (function () use ($sql, $order, $sqladdon) {
										$stream = \FOP\Database::query('SELECT t.* ' . $sql . $order . $sqladdon);
										while ($item = $stream->fetch(\PDO::FETCH_ASSOC)) {
											$item['repeat'] = \FOP\Util::IntStringNull($item['repeat']);
											$item['assigned'] = \FOP\Sanitizers::null_converter($item['assigned']);
											$item['creator'] = \FOP\Sanitizers::null_converter($item['creator']);
											$item['_ID'] = \Types\Integer::unpack($item['_ID']);
											$item['_anhang'] = \FOP\Util::BoolSanitizer($item['_anhang']);
											$item['typ'] = \FOP\Sanitizers::null_converter($item['typ']);
											$item['state'] = \FOP\Sanitizers::null_converter($item['state']);
											$item['deadline'] = intval($item['deadline']);
											$item['creation'] = intval($item['creation']);
											$item['start'] = intval($item['start']);
											
											yield $item;
										}
									})();
								} else {
									// als RAM-Array
									$result = \FOP\Database::query('SELECT t.* ' . $sql . $order . $sqladdon);
									$arr = $result->fetchAll(\PDO::FETCH_ASSOC);
									$itemcount = count($arr);

									foreach($arr as $i => &$item){
										$item['repeat'] = \FOP\Util::IntStringNull($item['repeat']);
										$item['assigned'] = \FOP\Sanitizers::null_converter($item['assigned']);
										$item['creator'] = \FOP\Sanitizers::null_converter($item['creator']);
										$item['_ID'] = \Types\Integer::unpack($item['_ID']);
										$item['_anhang'] = \FOP\Util::BoolSanitizer($item['_anhang']);
										$item['typ'] = \FOP\Sanitizers::null_converter($item['typ']);
										$item['state'] = \FOP\Sanitizers::null_converter($item['state']);
										$item['deadline'] = intval($item['deadline']);
										$item['creation'] = intval($item['creation']);
										$item['start'] = intval($item['start']);
										
									}
									unset($item);

									$result = ["items" => $arr, "itemcount" => $itemcount];

									
								}

								return $result;
	
    
  }

  public static function getFilterHTML($params, $delimiter = ', ' , $showButton = true ) { 
    
    
    // --- BLOCK: main ---
    
		// Contract: ist showButton == false, sollten keine HTML-Tags im Output enthalten sein (Verwendung in Dateinamen!!)
		$filters = [];
		
	if (isset($params['range_min_reminderAufgabeNot_assigned__ID']) && isset($params['range_max_reminderAufgabeNot_assigned__ID'])) {
		array_push($filters, _('ID') . ': ' . (\Types\Integer::print($params['range_min_reminderAufgabeNot_assigned__ID'])
	) . ' ' . _('filters_between') . ' ' . (\Types\Integer::print($params['range_max_reminderAufgabeNot_assigned__ID'])
	));
	} else if (isset($params['range_min_reminderAufgabeNot_assigned__ID'])) {
		array_push($filters, _('ID') . ': ' . _('filters_from') . ' ' . (\Types\Integer::print($params['range_min_reminderAufgabeNot_assigned__ID'])
	));
	} else if (isset($params['range_max_reminderAufgabeNot_assigned__ID'])) {
		array_push($filters, _('ID') . ': ' . _('filters_to') . ' ' . (\Types\Integer::print($params['range_max_reminderAufgabeNot_assigned__ID'])
	));
	}
	
	if ( // Corner Case: Monat
		isset($params['range_min_reminderAufgabeNot_assigned_deadline'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_deadline'])
		&& (date('d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == '01') //check first day of month
		&& (date('d', $params['range_max_reminderAufgabeNot_assigned_deadline']) == date('t', $params['range_max_reminderAufgabeNot_assigned_deadline'])) //check last day of month
		&& (date('Y-m', $params['range_min_reminderAufgabeNot_assigned_deadline']) == date('Y-m', $params['range_max_reminderAufgabeNot_assigned_deadline'])) //check if same year and month
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('first day of last month', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day of last month', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('first day of next month', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day of next month', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Deadline') . ': ' . strftime('%B', $params['range_min_reminderAufgabeNot_assigned_deadline']) . ' ' . date('Y', $params['range_min_reminderAufgabeNot_assigned_deadline']))
		]);
	} else if ( // Corner Case: Tag
		isset($params['range_min_reminderAufgabeNot_assigned_deadline'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_deadline'])
		&& (date('Y-m-d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == (date('Y-m-d', $params['range_max_reminderAufgabeNot_assigned_deadline'])))
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('next day', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('next day', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Deadline') . ': ' . date('d.m.Y', $params['range_min_reminderAufgabeNot_assigned_deadline']))
		]);
	} else if ( // Corner Case: Jahr
		isset($params['range_min_reminderAufgabeNot_assigned_deadline'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_deadline'])
		&& (date('Y', $params['range_min_reminderAufgabeNot_assigned_deadline']) == (date('Y', $params['range_max_reminderAufgabeNot_assigned_deadline'])))
		&& ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == '01-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_deadline']) == '12-31'))
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('first day of January last year', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day of December last year', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('first day of January next year', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day of December next year', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Deadline') . ': ' . date('Y', $params['range_min_reminderAufgabeNot_assigned_deadline']))
		]);
	} else if ( // Corner Case: Quartal
		isset($params['range_min_reminderAufgabeNot_assigned_deadline'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_deadline'])
		&& ( (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == '01-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_deadline']) == '03-31')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == '04-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_deadline']) == '06-30')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == '07-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_deadline']) == '09-30')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_deadline']) == '10-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_deadline']) == '12-31')) )
	) ) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
					query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('first day of -3 months', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
					query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day of -3 months', $params['range_max_reminderAufgabeNot_assigned_deadline']).'&apos;;
					reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('first day of +3 months', $params['range_min_reminderAufgabeNot_assigned_deadline']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_deadline&apos;] = &apos;'.strtotime('last day of +3 months', $params['range_max_reminderAufgabeNot_assigned_deadline']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),	
			htmlentities(_('Deadline') . ': Q' . (ceil((date('m', $params['range_min_reminderAufgabeNot_assigned_deadline']))/3)) . ' (' . date('d.m.', $params['range_min_reminderAufgabeNot_assigned_deadline']) . ' - ' . date('d.m.Y', $params['range_max_reminderAufgabeNot_assigned_deadline']) . ')')
		]);
	}
	else if (isset($params['range_min_reminderAufgabeNot_assigned_deadline']) && isset($params['range_max_reminderAufgabeNot_assigned_deadline'])) {
		array_push($filters, _('Deadline') . ': ' . (($params['range_min_reminderAufgabeNot_assigned_deadline']) ? strftime(_('dateformat_php2'), intval($params['range_min_reminderAufgabeNot_assigned_deadline'])) : '') . ' ' . _('filters_between') . ' ' . (($params['range_max_reminderAufgabeNot_assigned_deadline']) ? strftime(_('dateformat_php2'), intval($params['range_max_reminderAufgabeNot_assigned_deadline'])) : ''));
	} else if (isset($params['range_min_reminderAufgabeNot_assigned_deadline'])) {
		array_push($filters, _('Deadline') . ': ' . _('filters_from') . ' ' . (($params['range_min_reminderAufgabeNot_assigned_deadline']) ? strftime(_('dateformat_php2'), intval($params['range_min_reminderAufgabeNot_assigned_deadline'])) : ''));
	} else if (isset($params['range_max_reminderAufgabeNot_assigned_deadline'])) {
		array_push($filters, _('Deadline') . ': ' . _('filters_to') . ' ' . (($params['range_max_reminderAufgabeNot_assigned_deadline']) ? strftime(_('dateformat_php2'), intval($params['range_max_reminderAufgabeNot_assigned_deadline'])) : ''));
	}
	
	if ( // Corner Case: Monat
		isset($params['range_min_reminderAufgabeNot_assigned_creation'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_creation'])
		&& (date('d', $params['range_min_reminderAufgabeNot_assigned_creation']) == '01') //check first day of month
		&& (date('d', $params['range_max_reminderAufgabeNot_assigned_creation']) == date('t', $params['range_max_reminderAufgabeNot_assigned_creation'])) //check last day of month
		&& (date('Y-m', $params['range_min_reminderAufgabeNot_assigned_creation']) == date('Y-m', $params['range_max_reminderAufgabeNot_assigned_creation'])) //check if same year and month
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('first day of last month', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day of last month', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('first day of next month', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day of next month', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Erstellung') . ': ' . strftime('%B', $params['range_min_reminderAufgabeNot_assigned_creation']) . ' ' . date('Y', $params['range_min_reminderAufgabeNot_assigned_creation']))
		]);
	} else if ( // Corner Case: Tag
		isset($params['range_min_reminderAufgabeNot_assigned_creation'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_creation'])
		&& (date('Y-m-d', $params['range_min_reminderAufgabeNot_assigned_creation']) == (date('Y-m-d', $params['range_max_reminderAufgabeNot_assigned_creation'])))
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('next day', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('next day', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Erstellung') . ': ' . date('d.m.Y', $params['range_min_reminderAufgabeNot_assigned_creation']))
		]);
	} else if ( // Corner Case: Jahr
		isset($params['range_min_reminderAufgabeNot_assigned_creation'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_creation'])
		&& (date('Y', $params['range_min_reminderAufgabeNot_assigned_creation']) == (date('Y', $params['range_max_reminderAufgabeNot_assigned_creation'])))
		&& ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_creation']) == '01-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_creation']) == '12-31'))
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('first day of January last year', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day of December last year', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('first day of January next year', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day of December next year', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Erstellung') . ': ' . date('Y', $params['range_min_reminderAufgabeNot_assigned_creation']))
		]);
	} else if ( // Corner Case: Quartal
		isset($params['range_min_reminderAufgabeNot_assigned_creation'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_creation'])
		&& ( (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_creation']) == '01-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_creation']) == '03-31')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_creation']) == '04-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_creation']) == '06-30')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_creation']) == '07-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_creation']) == '09-30')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_creation']) == '10-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_creation']) == '12-31')) )
	) ) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
					query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('first day of -3 months', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
					query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day of -3 months', $params['range_max_reminderAufgabeNot_assigned_creation']).'&apos;;
					reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('first day of +3 months', $params['range_min_reminderAufgabeNot_assigned_creation']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_creation&apos;] = &apos;'.strtotime('last day of +3 months', $params['range_max_reminderAufgabeNot_assigned_creation']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),	
			htmlentities(_('Erstellung') . ': Q' . (ceil((date('m', $params['range_min_reminderAufgabeNot_assigned_creation']))/3)) . ' (' . date('d.m.', $params['range_min_reminderAufgabeNot_assigned_creation']) . ' - ' . date('d.m.Y', $params['range_max_reminderAufgabeNot_assigned_creation']) . ')')
		]);
	}
	else if (isset($params['range_min_reminderAufgabeNot_assigned_creation']) && isset($params['range_max_reminderAufgabeNot_assigned_creation'])) {
		array_push($filters, _('Erstellung') . ': ' . (($params['range_min_reminderAufgabeNot_assigned_creation']) ? strftime(_('dateformat_php2'), intval($params['range_min_reminderAufgabeNot_assigned_creation'])) : '') . ' ' . _('filters_between') . ' ' . (($params['range_max_reminderAufgabeNot_assigned_creation']) ? strftime(_('dateformat_php2'), intval($params['range_max_reminderAufgabeNot_assigned_creation'])) : ''));
	} else if (isset($params['range_min_reminderAufgabeNot_assigned_creation'])) {
		array_push($filters, _('Erstellung') . ': ' . _('filters_from') . ' ' . (($params['range_min_reminderAufgabeNot_assigned_creation']) ? strftime(_('dateformat_php2'), intval($params['range_min_reminderAufgabeNot_assigned_creation'])) : ''));
	} else if (isset($params['range_max_reminderAufgabeNot_assigned_creation'])) {
		array_push($filters, _('Erstellung') . ': ' . _('filters_to') . ' ' . (($params['range_max_reminderAufgabeNot_assigned_creation']) ? strftime(_('dateformat_php2'), intval($params['range_max_reminderAufgabeNot_assigned_creation'])) : ''));
	}
	
	if ( // Corner Case: Monat
		isset($params['range_min_reminderAufgabeNot_assigned_start'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_start'])
		&& (date('d', $params['range_min_reminderAufgabeNot_assigned_start']) == '01') //check first day of month
		&& (date('d', $params['range_max_reminderAufgabeNot_assigned_start']) == date('t', $params['range_max_reminderAufgabeNot_assigned_start'])) //check last day of month
		&& (date('Y-m', $params['range_min_reminderAufgabeNot_assigned_start']) == date('Y-m', $params['range_max_reminderAufgabeNot_assigned_start'])) //check if same year and month
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('first day of last month', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day of last month', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('first day of next month', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day of next month', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Geplante Umsetzung') . ': ' . strftime('%B', $params['range_min_reminderAufgabeNot_assigned_start']) . ' ' . date('Y', $params['range_min_reminderAufgabeNot_assigned_start']))
		]);
	} else if ( // Corner Case: Tag
		isset($params['range_min_reminderAufgabeNot_assigned_start'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_start'])
		&& (date('Y-m-d', $params['range_min_reminderAufgabeNot_assigned_start']) == (date('Y-m-d', $params['range_max_reminderAufgabeNot_assigned_start'])))
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('next day', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('next day', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Geplante Umsetzung') . ': ' . date('d.m.Y', $params['range_min_reminderAufgabeNot_assigned_start']))
		]);
	} else if ( // Corner Case: Jahr
		isset($params['range_min_reminderAufgabeNot_assigned_start'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_start'])
		&& (date('Y', $params['range_min_reminderAufgabeNot_assigned_start']) == (date('Y', $params['range_max_reminderAufgabeNot_assigned_start'])))
		&& ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_start']) == '01-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_start']) == '12-31'))
	) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('first day of January last year', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day of December last year', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('first day of January next year', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day of December next year', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),
			htmlentities(_('Geplante Umsetzung') . ': ' . date('Y', $params['range_min_reminderAufgabeNot_assigned_start']))
		]);
	} else if ( // Corner Case: Quartal
		isset($params['range_min_reminderAufgabeNot_assigned_start'])
		&& isset($params['range_max_reminderAufgabeNot_assigned_start'])
		&& ( (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_start']) == '01-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_start']) == '03-31')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_start']) == '04-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_start']) == '06-30')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_start']) == '07-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_start']) == '09-30')) )
		|| (
		 ((date('m-d', $params['range_min_reminderAufgabeNot_assigned_start']) == '10-01'))
		&& ((date('m-d', $params['range_max_reminderAufgabeNot_assigned_start']) == '12-31')) )
	) ) {
		array_push($filters, [
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
					query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('first day of -3 months', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
					query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day of -3 months', $params['range_max_reminderAufgabeNot_assigned_start']).'&apos;;
					reloadreminderAufgabeNot_assigned(); ">remove_circle_outline</i>' : ''),
			($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="
				query[&apos;range_min_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('first day of +3 months', $params['range_min_reminderAufgabeNot_assigned_start']).'&apos;;
				query[&apos;range_max_reminderAufgabeNot_assigned_start&apos;] = &apos;'.strtotime('last day of +3 months', $params['range_max_reminderAufgabeNot_assigned_start']).'&apos;;
				reloadreminderAufgabeNot_assigned(); ">add_circle_outline</i>' : ''),	
			htmlentities(_('Geplante Umsetzung') . ': Q' . (ceil((date('m', $params['range_min_reminderAufgabeNot_assigned_start']))/3)) . ' (' . date('d.m.', $params['range_min_reminderAufgabeNot_assigned_start']) . ' - ' . date('d.m.Y', $params['range_max_reminderAufgabeNot_assigned_start']) . ')')
		]);
	}
	else if (isset($params['range_min_reminderAufgabeNot_assigned_start']) && isset($params['range_max_reminderAufgabeNot_assigned_start'])) {
		array_push($filters, _('Geplante Umsetzung') . ': ' . (($params['range_min_reminderAufgabeNot_assigned_start']) ? strftime(_('dateformat_php2'), intval($params['range_min_reminderAufgabeNot_assigned_start'])) : '') . ' ' . _('filters_between') . ' ' . (($params['range_max_reminderAufgabeNot_assigned_start']) ? strftime(_('dateformat_php2'), intval($params['range_max_reminderAufgabeNot_assigned_start'])) : ''));
	} else if (isset($params['range_min_reminderAufgabeNot_assigned_start'])) {
		array_push($filters, _('Geplante Umsetzung') . ': ' . _('filters_from') . ' ' . (($params['range_min_reminderAufgabeNot_assigned_start']) ? strftime(_('dateformat_php2'), intval($params['range_min_reminderAufgabeNot_assigned_start'])) : ''));
	} else if (isset($params['range_max_reminderAufgabeNot_assigned_start'])) {
		array_push($filters, _('Geplante Umsetzung') . ': ' . _('filters_to') . ' ' . (($params['range_max_reminderAufgabeNot_assigned_start']) ? strftime(_('dateformat_php2'), intval($params['range_max_reminderAufgabeNot_assigned_start'])) : ''));
	}if (isset($params['filter_reminderAufgabeNot_assigned_repeat'])) {
		if ($params['filter_reminderAufgabeNot_assigned_repeat'] == '_null') {
			array_push($filters, _('Wiederholung') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_repeat']))->all() AS $val) {
				$value = \Types\AufgabeRepeat::toString($val);
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Wiederholung') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned__ID'])) {
		if ($params['filter_reminderAufgabeNot_assigned__ID'] == '_null') {
			array_push($filters, _('ID') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned__ID']))->all() AS $val) {
				$value = \Types\Integer::print($val)
	;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('ID') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned__anhang'])) {
		if ($params['filter_reminderAufgabeNot_assigned__anhang'] == '_null') {
			array_push($filters, _('Anhang') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned__anhang']))->all() AS $val) {
				$value = $val;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Anhang') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_title'])) {
		if ($params['filter_reminderAufgabeNot_assigned_title'] == '_null') {
			array_push($filters, _('Betreff') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_title']))->all() AS $val) {
				$value = $val;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Betreff') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_deadline'])) {
		if ($params['filter_reminderAufgabeNot_assigned_deadline'] == '_null') {
			array_push($filters, _('Deadline') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_deadline']))->all() AS $val) {
				$value = ($val) ? strftime(_('dateformat_php2'), intval($val)) : '';
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Deadline') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_creation'])) {
		if ($params['filter_reminderAufgabeNot_assigned_creation'] == '_null') {
			array_push($filters, _('Erstellung') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_creation']))->all() AS $val) {
				$value = ($val) ? strftime(_('dateformat_php2'), intval($val)) : '';
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Erstellung') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_details'])) {
		if ($params['filter_reminderAufgabeNot_assigned_details'] == '_null') {
			array_push($filters, _('Details') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_details']))->all() AS $val) {
				$value = mb_substr(preg_replace('/[ \t\r\n]+/', ' ', strip_tags(preg_replace('/<style.*?\/style>/s', '', html_entity_decode($val)))), 0, 20) . (strlen($val) >= 20 ? '...' : '');
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Details') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_start'])) {
		if ($params['filter_reminderAufgabeNot_assigned_start'] == '_null') {
			array_push($filters, _('Geplante Umsetzung') . ': ' . 'NULL');
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_start']))->all() AS $val) {
				$value = ($val) ? strftime(_('dateformat_php2'), intval($val)) : '';
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Geplante Umsetzung') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_typ'])) {
		if ($params['filter_reminderAufgabeNot_assigned_typ'] == '_null') {
			array_push($filters, _('Typ') . ': ' . _(''));
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_typ']))->all() AS $val) {
				$value = 
  \FOP\Database::query('SELECT '.qi('aufgabeType').'.'.qi('name').' AS description FROM '.qi('aufgabeType').' WHERE '.qi('ID').' = ' . \FOP\Database::quote($val))->fetchColumn() ?: _('')
;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Typ') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_state'])) {
		if ($params['filter_reminderAufgabeNot_assigned_state'] == '_null') {
			array_push($filters, _('Zustand') . ': ' . _(''));
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_state']))->all() AS $val) {
				$value = 
  \FOP\Database::query('SELECT '.qi('aufgabeState').'.'.qi('name').' AS description FROM '.qi('aufgabeState').' WHERE '.qi('ID').' = ' . \FOP\Database::quote($val))->fetchColumn() ?: _('')
;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Zustand') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_assigned'])) {
		if ($params['filter_reminderAufgabeNot_assigned_assigned'] == '_null') {
			array_push($filters, _('zugewiesen an') . ': ' . _('Niemand zugewiesen'));
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_assigned']))->all() AS $val) {
				$value = 
  \FOP\Database::query('SELECT CONCAT('.qi('mitglied').'.'.qi('vorname').', \' \', '.qi('mitglied').'.'.qi('name').') AS description FROM '.qi('mitglied').' WHERE '.qi('ID').' = ' . \FOP\Database::quote($val))->fetchColumn() ?: _('Niemand zugewiesen')
;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('zugewiesen an') . ': ' . implode(', ', $values));
		}
	}if (isset($params['filter_reminderAufgabeNot_assigned_creator'])) {
		if ($params['filter_reminderAufgabeNot_assigned_creator'] == '_null') {
			array_push($filters, _('Ersteller') . ': ' . _(''));
		} else {
			$values = [];
			foreach ((new \FOP\IDList($params['filter_reminderAufgabeNot_assigned_creator']))->all() AS $val) {
				$value = 
  \FOP\Database::query('SELECT CONCAT('.qi('mitglied').'.'.qi('vorname').', \' \', '.qi('mitglied').'.'.qi('name').') AS description FROM '.qi('mitglied').' WHERE '.qi('ID').' = ' . \FOP\Database::quote($val))->fetchColumn() ?: _('')
;
				if ($value) array_push($values, $value);
			}
			array_push($filters, _('Ersteller') . ': ' . implode(', ', $values));
		}
	}if (isset($params['search_reminderAufgabeNot_assigned_title'])) {
		array_push($filters, _('title') . ' ' . _('filter_contains') . ' ' . $params['search_reminderAufgabeNot_assigned_title']);
	}if (isset($params['search_reminderAufgabeNot_assigned_details'])) {
		array_push($filters, _('details') . ' ' . _('filter_contains') . ' ' . $params['search_reminderAufgabeNot_assigned_details']);
	}if (isset($params['searchnot_reminderAufgabeNot_assigned_title'])) {
		array_push($filters, _('title') . ' ' . _('filter_contains_not') . ' ' . $params['searchnot_reminderAufgabeNot_assigned_title']);
	}if (isset($params['searchnot_reminderAufgabeNot_assigned_details'])) {
		array_push($filters, _('details') . ' ' . _('filter_contains_not') . ' ' . $params['searchnot_reminderAufgabeNot_assigned_details']);
	}
		if (count($filters)) {
			$result = implode($delimiter, array_map(function ($filter) {
				if (is_array($filter)) {
					return implode('', $filter);
				}
				return htmlentities($filter);
			}, $filters))
			// Button, um Filter zu entfernen
			. ($showButton ? '<i class="material-icons fop-small" style="cursor: pointer;" onclick="for (var q in query) {if (q.includes(\'_reminderAufgabeNot_assigned_\')) delete query[q];} reloadreminderAufgabeNot_assigned(); ">clear</i>' : '');
		} else {
			$result = _('no_filter');
		}
		return $result;
	
    
  }

  public static function openAction($fop_table, $fop_id, $fop_from) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    

if ($fop_table == 'aufgabe') {
	\FOP\Session::setPayload('dv-aufgabe', [
		'id' => 'reminderAufgabeNot_assigned',
		'tbl' => 'aufgabe',
		'idcol' => 'ID',
		'prev' => \DataViewRouter\ReminderAufgabeNot_assigned::stepURL('aufgabe', 'XXX', -1),
		'next' => \DataViewRouter\ReminderAufgabeNot_assigned::stepURL('aufgabe', 'XXX',  1),
		'from' => $fop_from
	]);
	
	if ($fop_id == '_') return; // nur Rückreferenz setzen, nicht öffnen
	$params = [];
	if (isset($_GET['popup'])) $params['popup'] = true;
	if (isset($_GET['from'])) $params['from'] = $_GET['from'];
	$params['id'] = $fop_id;
	
	$url = \TablesRouter\Aufgabe::viewURL2($params);
	header('Location: ' . $url);
}

die();
    
  }

  public static function stepAction($tbl, $id, $step) { 
    
    
    // --- BLOCK: access ---
    
    // --- BLOCK: main ---
    
	$dv = \FOP\Session::getPayload('dv-'.$tbl);
	$url = $dv['from'];
	$parts = parse_url($url);
	parse_str($parts['query'], $query);
	$data = self::getData('', $query);
	$col = $dv['idcol'];
	$ids = array_map(function ($x) use ($col) {return $x[$col];}, $data['items']);
	if (!count($ids)) {
		header('Location: ' . \FOP\Util::getCurrentBaseurl() . 'Tables/' . preg_replace('/[^a-zA-Z0-9_]/', '_', ucfirst($dv['tbl'])));
		die();
	}
	$idx = array_search($id, $ids);
	$idx += count($ids) + $step;
	$idx = $idx % count($ids);
	header('Location: ' . \FOP\Util::getCurrentBaseurl() . 'Tables/' . preg_replace('/[^a-zA-Z0-9_]/', '_', ucfirst($dv['tbl'])) . '/view?id=' . urlencode($ids[$idx]));
	die();

    
  }

  public static function viewAction() { 
    
    
    // --- BLOCK: access ---
    if(!((!\FOP\User::getIsGuest()))) throw new \FOP\AccessDeniedException();
    // --- BLOCK: main ---
    ?><?php
			header('Content-Type: text/html; charset=UTF-8');
			header('X-XSS-Protection: 1; mode=block');
			header('Strict-Transport-Security: max-age=63072000');
			header('X-Content-Type-Options: nosniff');
			header("Content-Security-Policy: default-src *  data: blob: 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * data: blob: 'unsafe-inline'; font-src * data: blob: 'unsafe-inline';");


		?><!DOCTYPE html><html><head><title><?php echo(_('Nicht zugewiesen')); ?></title><base href='<?php echo \FOP\Util::getCurrentBaseurl(); ?>'><meta name="google" content="notranslate"><meta http-equiv="Content-Language" content="<?php echo htmlentities(\FOP\I18n::getLocale()); ?>"><meta charset="utf-8"><link rel="stylesheet" type="text/css" href="style_dependencies.css?v=<?php echo(\FOP\Util::getVersionAppendix()); ?>"><link rel="stylesheet" type="text/css" href="style.css?v=<?php echo(\FOP\Util::getVersionAppendix()); ?>"><script type="text/javascript" src="js/script_dependencies.js?v=<?php echo(\FOP\Util::getVersionAppendix()); ?>"></script><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="mobile-web-app-capable" content="yes"><link rel="manifest" href="manifest.webmanifest"><script type="text/javascript">moment.locale('<?php echo(\FOP\I18n::getShortLocale()); ?>');</script><script type="text/javascript" src="js/form.js"></script><script type="text/javascript">window.globals = <?php
	echo json_encode(['user:superadmin' => /* TODO: resanitizer später mal */(integer) \FOP\User::getSuperadmin(), 'user:mitglied' => /* TODO: resanitizer später mal */(integer) \FOP\User::getMitglied(), 'user:gruppe' => /* TODO: resanitizer später mal */(integer) \FOP\User::getGruppe(), 'user:campaign' => /* TODO: resanitizer später mal */(integer) \FOP\User::getCampaign(), 'user:sammlung' => /* TODO: resanitizer später mal */(integer) \FOP\User::getSammlung(), 'user:protokoll' => /* TODO: resanitizer später mal */(integer) \FOP\User::getProtokoll(), 'user:ID' => /* TODO: resanitizer später mal */(integer) \FOP\User::getID(), 'user:buchhaltung' => /* TODO: resanitizer später mal */(integer) \FOP\User::getBuchhaltung()]);
?>;</script><script type="text/javascript" src="angular/<?php echo(\FOP\I18n::getShortLocale()); ?>/js/alltypes.js?v=<?php echo(\FOP\Util::getVersionAppendix()); ?>"></script><script type="text/javascript" src="angular/angular-i18n/angular-locale_<?php echo \FOP\I18n::getAngularLocale(); ?>.js"></script><script type="text/javascript" src="js/date-filter.js"></script><script type="text/javascript" src="js/dropdown.js"></script><script type="text/javascript" src="js/numeric.js"></script><script type="text/javascript" src="js/getparam.js"></script><script type="text/javascript" src="js/tables.js"></script>
		<script type="text/javascript" src="js/parsehash.js"></script><script type="text/javascript">
		window.query = <?php echo json_encode($_GET, JSON_FORCE_OBJECT); ?>;
		window.baseurl = <?php echo json_encode(\FOP\Util::getCurrentBaseurl()); ?>;

		window.i18n_weiter = <?php echo json_encode(_('Weiter'));?>;
		//Filter I18n:
		window.i18n_quartal = <?php echo json_encode(_('Quarter'));?>;
		window.i18n_alle = <?php echo json_encode(_('All'));?>;
		window.i18n_leere = <?php echo json_encode(_('Empty'));?>;
		window.i18n_tag = <?php echo json_encode(_('Tag'));?>;
		window.i18n_woche = <?php echo json_encode(_('Woche'));?>;
		window.i18n_zeitraum = <?php echo json_encode(_('Period'));?>;
		window.i18n_monat = <?php echo json_encode(_('Monat'));?>;
		window.i18n_jahr = <?php echo json_encode(_('Jahr'));?>;
		window.i18n_von = <?php echo json_encode(_('filters_from'));?>;
		window.i18n_bis = <?php echo json_encode(_('filters_to'));?>;
		window.i18n_tabButton = <?php echo json_encode(_('open_in_new_tab'));?>;
		window.i18n_closeButton = <?php echo json_encode(_('close'));?>;
		</script></head><script type="text/javascript">const fopPushPublicKey = '<?php echo(addslashes(\FOP\Configuration::getFOPPushPublicKey())); ?>';
        const fopUserID = <?php echo(intval(\FOP\User::getID())); ?>;
        var fopPushDisabled = false;
    </script><script type="text/javascript" src="js/serviceworkersetup.js"></script><body ng-app='app'>
		<div class='mdl-js-snackbar mdl-snackbar' id='snackbar'>
			<div class='mdl-snackbar__text'></div>
			<button class='mdl-snackbar__action' type='button'></button>
		</div>
		<script>
			var snackbar = document.querySelector('#snackbar');
			componentHandler.upgradeElement(snackbar, 'MaterialSnackbar');
			$(function () {
				setTimeout(function () {
					$('.fop-layout').scrollTop(0);
				}, 0);
			});
		</script>

		<?php if (isset($_GET['popup'])) { ?>
		<header class="fop-header mdl-layout__header mdl-layout__header mdl-layout__header--scroll">
				<div class="mdl-layout__header-row">
					<span class="mdl-layout-title"><?php echo(_('Nicht zugewiesen')); ?></span><div class="mdl-layout-spacer"></div><span class="noprint mdl-layout-title mdl-layout--large-screen-only"><div class="mdl-textfield mdl-js-textfield"><input id="supersearch" accesskey="f" class="mdl-textfield__input" type="text" onkeydown="if (event.keyCode == 13 && this.value) window.location.href = 'FOP/Index/searchURL?q=' + encodeURIComponent(this.value) + '&from=<?php echo htmlentities(urlencode(\FOP\Util::getBackUrl())); ?>';" value="<?php echo htmlentities($_GET['q'] ?? ''); ?>" style="border-bottom: 1px solid white;"/><label class="mdl-textfield__label" style="color: inherit"><?php echo(_('search')); ?> - <?php
		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) {
			// MAC: Control+ davor
			echo 'Control + ';
		}
		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== false) {
			// Firefox
			if (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) {
				// MAC: Control + Alt + key
				echo 'Alt + F';
			} else {
				echo 'Alt + Shift + F';
			}
		} else {
			// Internet Explorer, Chrome, Safari, Opera
			echo 'Alt + F';
		}
	?></label></div></span><i onclick='addFav(null)' class='material-icons fop-favorites' id='favorites_button'>star_border</i>
				</div>
      	</header>
			<style>
				.content {
					margin-top: 0px !important;
				}
			</style>
			<div id='content' class='popup' >
		<?php } else { ?>
			<div class="fop-layout mdl-layout mdl-js-layout mdl-layout--fixed-drawer mdl-layout--fixed-header">
			<header class="fop-header mdl-layout__header mdl-layout__header mdl-layout__header--scroll">
				<div class="mdl-layout__header-row">
					<span class="mdl-layout-title"><?php echo(_('Nicht zugewiesen')); ?></span><div class="mdl-layout-spacer"></div><span class="noprint mdl-layout-title mdl-layout--large-screen-only"><div class="mdl-textfield mdl-js-textfield"><input id="supersearch" accesskey="f" class="mdl-textfield__input" type="text" onkeydown="if (event.keyCode == 13 && this.value) window.location.href = 'FOP/Index/searchURL?q=' + encodeURIComponent(this.value) + '&from=<?php echo htmlentities(urlencode(\FOP\Util::getBackUrl())); ?>';" value="<?php echo htmlentities($_GET['q'] ?? ''); ?>" style="border-bottom: 1px solid white;"/><label class="mdl-textfield__label" style="color: inherit"><?php echo(_('search')); ?> - <?php
		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) {
			// MAC: Control+ davor
			echo 'Control + ';
		}
		if (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== false) {
			// Firefox
			if (strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false) {
				// MAC: Control + Alt + key
				echo 'Alt + F';
			} else {
				echo 'Alt + Shift + F';
			}
		} else {
			// Internet Explorer, Chrome, Safari, Opera
			echo 'Alt + F';
		}
	?></label></div></span><i onclick='addFav(null)' class='material-icons fop-favorites' id='favorites_button'>star_border</i>
				</div>
      		</header>


				<?php  \EasyEditor\Navigation::render(); ?>
      
				<main class="mdl-layout__content" id="content">
					<div class="fop-content">
						<?php } ?>
						
							<div class="content" id="1">
								

								<div
								 
								id="cardform-reminderAufgabeNot_assigned"
								style="width: 100%; height: 100%;"
								class='mdl-grid'
									ng-controller="FormReminderAufgabeNot_assigned" ng-init="form = <?php echo htmlentities(json_encode([]));
									?>;"
								>
								<?php
								 ?>
								<div id='fop-upbar'></div>
								<?php \DataView\ReminderAufgabeNot_assigned::renderScript(); ?>
									<?php
									$features = [];
									if (true && (true)) {
									$feature = [
										'id' => 'main_table',
										'title' => _('table'),
										'order' => '500-100', // 500-100 (50)
										'mode' => 'area', // area (51) / tab (50)
										'position' => 'full', // 
										'collapsed' => 0, // 0 (51) / 1 (50)
										'canEdit' => !\FOP\User::getIsGuest(),
										'visibility' => null
									];
									$features[$feature['id']] = $feature;
									}
									

									
									/* load order from database
										schema: fop_form_feature(user, form, subid, key, value)
										key = (order, mode, position, collapsed)
									*/
									$upbar_collapsed = false;
									// default values
									foreach (\FOP\Database::query('SELECT subid, '.qi('key').', (SELECT '.qi('value').' FROM fop_form_feature b WHERE a.subid = b.subid AND a.'.qi('key').' = b.'.qi('key').' AND '.qi('user').' = '.intval(\FOP\User::getID()).' GROUP BY '.qi('value').' ORDER BY COUNT(*) DESC LIMIT 1) AS '.qi('value').' FROM fop_form_feature a WHERE '.qi('user').' = '.intval(\FOP\User::getID()).' GROUP BY subid, '.qi('key'))->fetchAll(\PDO::FETCH_ASSOC) AS $setting) {
										if (isset($features[$setting['subid']])) {
											$features[$setting['subid']][$setting['key']] = $setting['value'];
										}
									}
									// form specific special values
									foreach (\FOP\Database::query('SELECT subid, '.qi('key').', '.qi('value').' FROM fop_form_feature a WHERE form = \'reminderAufgabeNot_assigned\' AND '.qi('user').' = '.intval(\FOP\User::getID()).'')->fetchAll(\PDO::FETCH_ASSOC) AS $setting) {
										if (isset($features[$setting['subid']])) {
											$features[$setting['subid']][$setting['key']] = $setting['value'];
										} else if ($setting['subid'] == 'upbar' && $setting['key'] == 'collapsed') {
											$upbar_collapsed = (bool) $setting['value'];
										}
									}

									/* fill in the content of the features */
									if (true && (true)) {
										ob_start();
										\EasyEditor\FormFeature::push($features['main_table']);
										?>
	<?php if ((!\FOP\User::getIsGuest())) { ?>
	<div id="reminderAufgabeNot_assigned-table" class="fop-dv"><?php
		if (\EasyEditor\FormFeature::isCollapsed()) {
			// #3198 lazy rendering:
			echo '<div class="fop-lazy-reload" onclick="reloadreminderAufgabeNot_assigned()"></div>'; // CSS class .fop-lazy-reload will be clicked after being showed
		} else {
			\DataView\ReminderAufgabeNot_assigned::renderTabTableAction();
		}
	?></div>
	<?php } ?>
	<?php
										\EasyEditor\FormFeature::pop();
										$features['main_table']['html'] = ob_get_contents();
										ob_end_clean();
									}
									

									uasort($features, function ($a, $b) {
										return strnatcmp($a['order'], $b['order']);
									});
									foreach ($features AS $feature) {
										\EasyEditor\FormFeature::render($feature);
									}
									?><script type='text/javascript'>
										$(function(){
											// bei Änderungen: prüfen, ob Form geändert wurde
											var formData = $('#cardform-reminderAufgabeNot_assigned').serialize();
											document.body.onbeforeunload = function () {
												if (formData != $('#cardform-reminderAufgabeNot_assigned').serialize()) {
													return 'Form data has changed - are you sure??';
												}
											};
											$('#cardform-reminderAufgabeNot_assigned').on('submit', function () {
												document.body.onbeforeunload = undefined;
											});
											<?php if ($upbar_collapsed) {
												?>$('#fop-bar-mainbutton').click();<?php
											} ?>
											$('#fop-bar-mainbutton').click(function () {
												setTimeout(function () {
													setCFF('upbar', 'collapsed', $('#fop-bar-container').is(':visible') ? 0 : 1);
												}, 440); /* perfect timing for fadeOut */
											});
										});
										
										function setCFF(id, key, value) {
											<?php if(!\FOP\User::getIsGuest()) { ?>
											$.get('FOP/Index/setCFF?form=reminderAufgabeNot_assigned&subid=' + encodeURIComponent(id) + '&key=' + encodeURIComponent(key) + '&value=' + encodeURIComponent(value)).then(function () {
												if (key == 'reset') {
													location.reload();
												}
											});
											<?php } /* EditAccess */ ?>
										}
										function setCFFOrder(fids) {
											<?php if(!\FOP\User::getIsGuest()) { ?>
											$.get('FOP/Index/setCFFOrder?form=reminderAufgabeNot_assigned&fids=' + encodeURIComponent(JSON.stringify(fids)));
											<?php } /* EditAccess */ ?>
										}
										$(function () {
											refreshTabHeaders($('#cardform-reminderAufgabeNot_assigned')); /* provided in js/form.js */
											// preselection
											if (location.hash.startsWith('#select:')) {
												$('[name="' + window.location.hash.slice(8) + '"]').focus().select();
											} else {
												$('#cardform-reminderAufgabeNot_assigned input[type!="hidden"],textarea,select[tabindex!="-1"]').not('.fop-disabled *').filter(':visible:first').focus().select();
											}
										});

										$(window).keydown(function(event) {
											 if (event.ctrlKey && String.fromCharCode(event.which).toLowerCase() == 's') {
												 event.preventDefault();
												 $('button[type=submit]').click();
												 return false;
											 }
										});

										
										$(document).on('keyup',function(evt) {
										   if (evt.keyCode == 27) {
												if (window.parent) {
													window.close(); // iframe:close
												} else {
													window.history.back();
												}
											}
												});
										
									</script>

							</div>
							

							</div>
							<div class="content" id="focus-supersearch">
		<script type='text/javascript'>
			$(function () {
				var focusfield = $('#supersearch');
				
				if (focusfield.length) {
					focusfield[0].focus();
					focusfield[0].select();
				}
			});
		</script>
	
							</div>
						<?php if (!isset($_GET['popup'])) { ?>
					</div>
				</main>
				
			</div>
		<?php } else { ?></div><?php } ?>
<?php if (!isset($_GET['popup'])) { ?><div class='fop-seal'></div><?php } ?></body></html><?php
    
  }


  
  

  
  
}



