src/Rhyme/WMassArtsHub/Resources/contao/dca/tl_artshub_submission_venue.php line 321

Open in your IDE?
  1. <?php
  2. /**
  3.  * Copyright (c) 2020 Rhyme Digital LLC (https://rhyme.digital)
  4.  *
  5.  * @license LGPL-3.0-or-later
  6.  */
  7. namespace {
  8.     use Rhyme\WMassArtsHub\Backend\SubmissionVenue\Callbacks;
  9.     use Contao\System;
  10.     System::loadLanguageFile('default');
  11.     /**
  12.      * Table tl_artshub_submission_venue
  13.      */
  14.     $GLOBALS['TL_DCA']['tl_artshub_submission_venue'] = array
  15.     (
  16.         // Config
  17.         'config' => array
  18.         (
  19.             'dataContainer'               => 'Table',
  20.             'enableVersioning'            => true,
  21.             'sql' => array
  22.             (
  23.                 'keys' => array
  24.                 (
  25.                     'id' => 'primary',
  26.                 )
  27.             )
  28.         ),
  29.         // List
  30.         'list' => array
  31.         (
  32.             'sorting' => array
  33.             (
  34.                 'mode'                    => 2,
  35.                 'flag'                    => 2,
  36.                 'fields'                  => ['title'],
  37.                 'panelLayout'             => 'sort,filter;search,limit'
  38.             ),
  39.             'label' => array
  40.             (
  41.                 'fields'                  => array('title'),
  42.                 'format'                  => '%s'
  43.             ),
  44.             'global_operations' => array
  45.             (
  46.                 'all' => array
  47.                 (
  48.                     'label'               => &$GLOBALS['TL_LANG']['MSC']['all'],
  49.                     'href'                => 'act=select',
  50.                     'class'               => 'header_edit_all',
  51.                     'attributes'          => 'onclick="Backend.getScrollOffset()" accesskey="e"'
  52.                 )
  53.             ),
  54.             'operations' => array
  55.             (
  56.                 'edit' => array
  57.                 (
  58.                     'label'               => &$GLOBALS['TL_LANG']['tl_artshub_submission_venue']['edit'],
  59.                     'href'                => 'act=edit',
  60.                     'icon'                => 'edit.gif'
  61.                 ),
  62.                 'copy' => array
  63.                 (
  64.                     'label'               => &$GLOBALS['TL_LANG']['tl_artshub_submission_venue']['copy'],
  65.                     'href'                => 'act=copy',
  66.                     'icon'                => 'copy.gif',
  67.                 ),
  68.                 'cut' => array
  69.                 (
  70.                     'label'               => &$GLOBALS['TL_LANG']['tl_page']['cut'],
  71.                     'href'                => 'act=paste&amp;mode=cut',
  72.                     'icon'                => 'cut.svg',
  73.                     'attributes'          => 'onclick="Backend.getScrollOffset()"',
  74.                 ),
  75.                 'delete' => array
  76.                 (
  77.                     'label'               => &$GLOBALS['TL_LANG']['tl_artshub_submission_venue']['delete'],
  78.                     'href'                => 'act=delete',
  79.                     'icon'                => 'delete.gif',
  80.                     'attributes'          => 'onclick="if(!confirm(\'' $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"',
  81.                 ),
  82.                 'toggle' => array
  83.                 (
  84.                     'label'               => &$GLOBALS['TL_LANG']['tl_artshub_submission_venue']['toggle'],
  85.                     'icon'                => 'visible.svg',
  86.                     'attributes'          => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
  87.                     'button_callback'     => array(Callbacks::class, 'toggleIcon')
  88.                 ),
  89.                 'show' => array
  90.                 (
  91.                     'label'               => &$GLOBALS['TL_LANG']['tl_artshub_submission_venue']['show'],
  92.                     'href'                => 'act=show',
  93.                     'icon'                => 'show.gif'
  94.                 )
  95.             )
  96.         ),
  97.         // Palettes
  98.         'palettes' => array
  99.         (
  100.             'default'                     => '{general_legend},title,alias,submissionDate,venue_type,submitted_by,status;{details_legend},description,profiles;{contact_legend},venue_phone,venue_email,venue_url;{location_legend},street,street_2,city,state,postal,latitude,longitude;{images_legend},images;{publishing_legend},published,start,stop;'
  101.         ),
  102.         // Subpalettes
  103.         'subpalettes' => array
  104.         (
  105.         ),
  106.         // Fields
  107.         'fields' => array
  108.         (
  109.             'id' => array
  110.             (
  111.                 'sql'                     => "int(10) unsigned NOT NULL auto_increment"
  112.             ),
  113.             'tstamp' => array
  114.             (
  115.                 'sql'                     => "int(10) unsigned NOT NULL default '0'"
  116.             ),
  117.             'lead_id' => array
  118.             (
  119.                 'sql'                     => "int(10) unsigned NOT NULL default '0'"
  120.             ),
  121.             'uuid' => array
  122.             (
  123.                 'sql'                     => "binary(16) NULL"
  124.             ),
  125.             'raw_uuid' => array
  126.             (
  127.                 'sql'                     => "varchar(64) NOT NULL default ''"
  128.             ),
  129.             'submissionDate' => array
  130.             (
  131.                 'exclude'                 => true,
  132.                 'sorting'                 => true,
  133.                 'default'                 => time(),
  134.                 'inputType'               => 'text',
  135.                 'eval'                    => array('rgxp'=>'date''mandatory'=>true'doNotCopy'=>true'datepicker'=>true'tl_class'=>'w50 wizard'),
  136.                 'sql'                     => "int(10) unsigned NULL"
  137.             ),
  138.             'title' => array
  139.             (
  140.                 'exclude'                 => true,
  141.                 'search'                  => true,
  142.                 'inputType'               => 'text',
  143.                 'eval'                    => array('mandatory'=>true'maxlength'=>255'tl_class'=>'w50'),
  144.                 'sql'                     => "varchar(255) NOT NULL default ''"
  145.             ),
  146.             'alias' => array
  147.             (
  148.                 'exclude'                 => true,
  149.                 'inputType'               => 'text',
  150.                 'eval'                    => array('rgxp'=>'alias''doNotCopy'=>true'maxlength'=>128'tl_class'=>'w50'),
  151.                 'save_callback' => array
  152.                 (
  153.                     array(Callbacks::class, 'generateAlias')
  154.                 ),
  155.                 'sql'                     => "varchar(128) BINARY NOT NULL default ''"
  156.             ),
  157.             'venue_type' => array
  158.             (
  159.                 'exclude' => true,
  160.                 'default' => '',
  161.                 'filter' => true,
  162.                 'inputType' => 'select',
  163.                 'options' => array(
  164.                     'church',
  165.                     'art_studio',
  166.                     'multi_purpose_room',
  167.                     'conference_meeting_room',
  168.                     'theater',
  169.                     'gallery_museum',
  170.                     'park',
  171.                     'auditorium',
  172.                     'lecture_hall',
  173.                     'recital_hall',
  174.                     'other',
  175.                 ),
  176.                 'reference' => $GLOBALS['TL_LANG']['tl_artshub_submission_venue'],
  177.                 'eval' => array('tl_class' => 'w50'),
  178.                 'sql' => "varchar(32) NOT NULL default ''"
  179.             ),
  180.             'submitted_by' => array
  181.             (
  182.                 'exclude' => true,
  183.                 'search' => true,
  184.                 'inputType' => 'text',
  185.                 'eval' => array('doNotCopy' => true'tl_class' => 'w50 clr'),
  186.                 'sql' => "varchar(255) NOT NULL default ''",
  187.             ),
  188.             'status' => array
  189.             (
  190.                 'exclude' => true,
  191.                 'default' => '',
  192.                 'filter' => true,
  193.                 'inputType' => 'select',
  194.                 'options' => array('''approved''rejected'),
  195.                 'reference' => $GLOBALS['TL_LANG']['MSC']['status_options'],
  196.                 'eval' => array('tl_class' => 'w50'),
  197.                 'sql' => "varchar(32) NOT NULL default ''"
  198.             ),
  199.             'profiles' => array
  200.             (
  201.                 'exclude' => true,
  202.                 'search' => true,
  203.                 'filter' => true,
  204.                 'inputType' => 'artshubProfileItemSelector',
  205.                 'foreignKey' => 'tl_artshub_profile_item.name',
  206.                 'eval' => array('multiple' => true'chosen' => true'includeBlankOption' => true'tl_class' => 'w50'),
  207.                 'sql' => "blob NULL",
  208.                 'relation' => array('type' => 'hasMany''load' => 'lazy'),
  209.             ),
  210.             'venue_phone' => array
  211.             (
  212.                 'exclude' => true,
  213.                 'search' => true,
  214.                 'inputType' => 'text',
  215.                 'eval' => array('maxlength' => 255'tl_class' => 'w50'),
  216.                 'sql' => "varchar(32) NOT NULL default ''"
  217.             ),
  218.             'venue_email' => array
  219.             (
  220.                 'exclude' => true,
  221.                 'search' => true,
  222.                 'inputType' => 'text',
  223.                 'eval' => array('maxlength' => 255'tl_class' => 'w50'),
  224.                 'sql' => "varchar(255) NOT NULL default ''"
  225.             ),
  226.             'venue_url' => array
  227.             (
  228.                 'exclude' => true,
  229.                 'search' => true,
  230.                 'inputType' => 'text',
  231.                 'eval' => array('maxlength' => 255'tl_class' => 'w50'),
  232.                 'sql' => "varchar(255) NOT NULL default ''"
  233.             ),
  234.             'description' => array
  235.             (
  236.                 'exclude'                 => true,
  237.                 'search'                  => true,
  238.                 'inputType'               => 'textarea',
  239.                 'eval'                    => array('mandatory'=>true'rte'=>'tinyMCE''helpwizard'=>true),
  240.                 'attributes'              => array('fe_search'=>true),
  241.                 'explanation'             => 'insertTags',
  242.                 'sql'                     => "mediumtext NULL"
  243.             ),
  244.             'street' => array
  245.             (
  246.                 'exclude'                 => true,
  247.                 'search'                  => true,
  248.                 'inputType'               => 'text',
  249.                 'eval'                    => array('maxlength'=>255'tl_class'=>'w50'),
  250.                 'sql'                     => "varchar(255) NOT NULL default ''"
  251.             ),
  252.             'postal' => array
  253.             (
  254.                 'exclude'                 => true,
  255.                 'search'                  => true,
  256.                 'inputType'               => 'text',
  257.                 'eval'                    => array('maxlength'=>32,  'tl_class'=>'w50'),
  258.                 'sql'                     => "varchar(32) NOT NULL default ''"
  259.             ),
  260.             'city' => array
  261.             (
  262.                 'exclude'                 => true,
  263.                 'filter'                  => true,
  264.                 'search'                  => true,
  265.                 'sorting'                 => true,
  266.                 'inputType'               => 'text',
  267.                 'default'                 => '',
  268.                 'eval'                    => array('maxlength'=>255'tl_class'=>'w50'),
  269.                 'sql'                     => "varchar(255) NOT NULL default ''"
  270.             ),
  271.             'county' => array
  272.             (
  273.                 'exclude'                 => true,
  274.                 'filter'                  => true,
  275.                 'search'                  => true,
  276.                 'sorting'                 => true,
  277.                 'inputType'               => 'text',
  278.                 'default'                 => '',
  279.                 'eval'                    => array('maxlength'=>255'tl_class'=>'w50'),
  280.                 'sql'                     => "varchar(255) NOT NULL default ''"
  281.             ),
  282.             'state' => array
  283.             (
  284.                 'exclude'                 => true,
  285.                 'sorting'                 => true,
  286.                 'inputType'               => 'text',
  287.                 'default'                 => 'MA',
  288.                 'eval'                    => array('maxlength'=>2'tl_class'=>'w50'),
  289.                 'sql'                     => "varchar(2) NOT NULL default ''"
  290.             ),
  291.             'latitude' => array
  292.             (
  293.                 'exclude'                 => true,
  294.                 'search'                  => true,
  295.                 'inputType'               => 'text',
  296.                 'eval'                    => array('maxlength'=>255'tl_class'=>'w50' ),
  297.                 'sql'                     => "varchar(255) NOT NULL default ''"
  298.             ),
  299.             'longitude' => array
  300.             (
  301.                 'exclude'                 => true,
  302.                 'search'                  => true,
  303.                 'inputType'               => 'text',
  304.                 'eval'                    => array('maxlength'=>255'tl_class'=>'w50' ),
  305.                 'sql'                     => "varchar(255) NOT NULL default ''"
  306.             ),
  307.             'images' => array
  308.             (
  309.                 'exclude'                 => true,
  310.                 'inputType'               => 'fileTree',
  311.                 'eval'                    => array('multiple'=>true'fieldType'=>'checkbox''orderField'=>'orderImages''files'=>true'isGallery'=>true'extensions'=>\Contao\Config::get('validImageTypes'), 'tl_class'=>'clr''path'=>\Contao\Config::get('uploadPath').'/media'),
  312.                 'sql'                     => "blob NULL",
  313.             ),
  314.             'orderImages' => array
  315.             (
  316.                 'label'                   => &$GLOBALS['TL_LANG']['MSC']['sortOrder'],
  317.                 'sql'                     => "blob NULL"
  318.             ),
  319.             'published' => array
  320.             (
  321.                 'exclude'                 => true,
  322.                 'filter'                  => true,
  323.                 'inputType'               => 'checkbox',
  324.                 'eval'                    => array('tl_class'=>'w50 m12'),
  325.                 'sql'                     => "char(1) NOT NULL default ''"
  326.             ),
  327.             'start' => array
  328.             (
  329.                 'exclude'                 => true,
  330.                 'inputType'               => 'text',
  331.                 'eval'                    => array('rgxp'=>'datim''datepicker'=>true'tl_class'=>'clr w50 wizard'),
  332.                 'sql'                     => "varchar(10) NOT NULL default ''"
  333.             ),
  334.             'stop' => array
  335.             (
  336.                 'exclude'                 => true,
  337.                 'inputType'               => 'text',
  338.                 'eval'                    => array('rgxp'=>'datim''datepicker'=>true'tl_class'=>'w50 wizard'),
  339.                 'sql'                     => "varchar(10) NOT NULL default ''"
  340.             ),
  341.         )
  342.     );
  343. }