Also split all queries into multi line ones Fixes in Form\Generate for TableArray Interface location move Update EditBase to new and old edit schema (scheme) file name
147 lines
3.4 KiB
PHP
147 lines
3.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace CoreLibs\Output\Form\TableArrays;
|
|
|
|
class EditGroups implements Interface\TableArraysInterface
|
|
{
|
|
/** @var \CoreLibs\Output\Form\Generate */
|
|
private $form;
|
|
|
|
/**
|
|
* constructor
|
|
* @param \CoreLibs\Output\Form\Generate $form base form class
|
|
*/
|
|
public function __construct(\CoreLibs\Output\Form\Generate $form)
|
|
{
|
|
$this->form = $form;
|
|
$this->form->log->debug('CLASS LOAD', __NAMESPACE__ . __CLASS__);
|
|
}
|
|
|
|
/**
|
|
* return the table array
|
|
*
|
|
* @return array<mixed>
|
|
*/
|
|
public function setTableArray(): array
|
|
{
|
|
return [
|
|
'table_array' => [
|
|
'edit_group_id' => [
|
|
'value' => $_POST['edit_group_id'] ?? '',
|
|
'pk' => 1,
|
|
'type' => 'hidden'
|
|
],
|
|
'enabled' => [
|
|
'value' => $_POST['enabled'] ?? '',
|
|
'output_name' => 'Enabled',
|
|
'int' => 1,
|
|
'type' => 'binary',
|
|
'element_list' => [
|
|
'1' => 'Yes',
|
|
'0' => 'No'
|
|
],
|
|
],
|
|
'name' => [
|
|
'value' => $_POST['name'] ?? '',
|
|
'output_name' => 'Group Name',
|
|
'type' => 'text',
|
|
'mandatory' => 1
|
|
],
|
|
'edit_access_right_id' => [
|
|
'value' => $_POST['edit_access_right_id'] ?? '',
|
|
'output_name' => 'Group Level',
|
|
'mandatory' => 1,
|
|
'int' => 1,
|
|
'type' => 'drop_down_db',
|
|
'query' => "SELECT edit_access_right_id, name "
|
|
. "FROM edit_access_right "
|
|
. "ORDER BY level"
|
|
],
|
|
'edit_scheme_id' => [
|
|
'value' => $_POST['edit_scheme_id'] ?? '',
|
|
'output_name' => 'Group Scheme',
|
|
'int_null' => 1,
|
|
'type' => 'drop_down_db',
|
|
'query' => "SELECT edit_scheme_id, name "
|
|
. "FROM edit_scheme "
|
|
. "WHERE enabled = 1 "
|
|
. "ORDER BY name"
|
|
],
|
|
'additional_acl' => [
|
|
'value' => $_POST['additional_acl'] ?? '',
|
|
'output_name' => 'Additional ACL (as JSON)',
|
|
'type' => 'textarea',
|
|
'error_check' => 'json',
|
|
'rows' => 10,
|
|
'cols' => 60
|
|
],
|
|
],
|
|
'load_query' => "SELECT edit_group_id, name, enabled "
|
|
. "FROM edit_group "
|
|
. "ORDER BY name",
|
|
'table_name' => 'edit_group',
|
|
'show_fields' => [
|
|
[
|
|
'name' => 'name'
|
|
],
|
|
[
|
|
'name' => 'enabled',
|
|
'binary' => ['Yes', 'No'],
|
|
'before_value' => 'Enabled: '
|
|
],
|
|
],
|
|
'element_list' => [
|
|
'edit_page_access' => [
|
|
'output_name' => 'Pages',
|
|
'mandatory' => 1,
|
|
'delete' => 0, // set then reference entries are deleted, else the 'enable' flag is only set
|
|
'enable_name' => 'enable_page_access',
|
|
'prefix' => 'epa',
|
|
'read_data' => [
|
|
'table_name' => 'edit_page',
|
|
'pk_id' => 'edit_page_id',
|
|
'name' => 'name',
|
|
'order' => 'order_number'
|
|
],
|
|
'elements' => [
|
|
'edit_page_access_id' => [
|
|
'type' => 'hidden',
|
|
'int' => 1,
|
|
'pk_id' => 1
|
|
],
|
|
'enabled' => [
|
|
'type' => 'checkbox',
|
|
'output_name' => 'Activate',
|
|
'int' => 1,
|
|
'element_list' => [1],
|
|
],
|
|
'edit_access_right_id' => [
|
|
'type' => 'drop_down_db',
|
|
'output_name' => 'Access Level',
|
|
'int' => 1,
|
|
'preset' => 1, // first of the select
|
|
'query' => "SELECT edit_access_right_id, name "
|
|
. "FROM edit_access_right "
|
|
. "ORDER BY level"
|
|
],
|
|
'edit_page_id' => [
|
|
'int' => 1,
|
|
'type' => 'hidden'
|
|
],
|
|
/*,
|
|
'edit_default' => [
|
|
'output_name' => 'Default',
|
|
'type' => 'radio',
|
|
'mandatory' => 1
|
|
],*/
|
|
],
|
|
], // edit pages ggroup
|
|
],
|
|
];
|
|
}
|
|
}
|
|
|
|
// __END__
|