示例#1
0
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'interface', 'caption' => 'Interface Style Option', 'description' => 'Choose the style of user interface, either dividing the form up onto separate tabs, ' . 'wizard pages or having all controls on a single page.', 'type' => 'select', 'options' => array('tabs' => 'Tabs', 'wizard' => 'Wizard', 'one_page' => 'All One Page'), 'group' => 'User Interface'), array('name' => 'tabProgress', 'caption' => 'Show Progress through Wizard/Tabs', 'description' => 'For Wizard or Tabs interfaces, check this option to show a progress summary above the controls.', 'type' => 'boolean', 'default' => false, 'group' => 'User Interface'), array('name' => 'emailShow', 'caption' => 'Show email field even if logged in', 'description' => 'If the survey requests an email address, it is sent implicitly for logged in users. Check this box to show it explicitly.', 'type' => 'boolean', 'default' => false, 'group' => 'User Interface'), array('name' => 'nameShow', 'caption' => 'Show first name and last name fields even if logged in', 'description' => 'If the survey requests first name and last name, these are ignored for logged in users where user id is sent instead. Check this box to show these fields.', 'type' => 'boolean', 'default' => false, 'group' => 'User Interface'), array('name' => 'clientSideValidation', 'caption' => 'Client Side Validation', 'description' => 'Enable client side validation of controls using JavaScript. Note that there are bugs in Internet Explorer which can cause errors when ' . 'clicking on the map if this box is ticked.', 'type' => 'boolean', 'default' => true, 'group' => 'User Interface'), array('name' => 'structure', 'caption' => 'Form Structure', 'description' => 'Define the structure of the form. Each component goes on a new line and is nested inside the previous component where appropriate. The following types of ' . "component can be specified. <br/>" . "<strong>=tab name=</strong> is used to specify the name of a tab. (Alpha-numeric characters only)<br/>" . "<strong>=*=</strong> indicates a placeholder for putting any custom attribute tabs not defined in this form structure. <br/>" . "<strong>[control name]</strong> indicates a predefined control is to be added to the form with the following predefined controls available: <br/>" . "&nbsp;&nbsp;<strong>[species]</strong> - a species grid or input control<br/>" . "&nbsp;&nbsp;<strong>[species_attributes]</strong> - any custom attributes for the occurrence, if not using the grid<br/>" . "&nbsp;&nbsp;<strong>[date]</strong><br/>" . "&nbsp;&nbsp;<strong>[map]</strong><br/>" . "&nbsp;&nbsp;<strong>[spatial reference]</strong><br/>" . "&nbsp;&nbsp;<strong>[location name]</strong><br/>" . "&nbsp;&nbsp;<strong>[location autocomplete]</strong><br/>" . "&nbsp;&nbsp;<strong>[location select]</strong><br/>" . "&nbsp;&nbsp;<strong>[place search]</strong><br/>" . "&nbsp;&nbsp;<strong>[recorder names]</strong><br/>" . "&nbsp;&nbsp;<strong>[record status]</strong><br/>" . "&nbsp;&nbsp;<strong>[sample comment]</strong>. <br/>" . "<strong>@option=value</strong> on the line(s) following any control allows you to override one of the options passed to the control. The options " . "available depend on the control. For example @label=Abundance would set the untranslated label of a control to Abundance. Where the " . "option value is an array, use valid JSON to encode the value. For example an array of strings could be passed as @occAttrClasses=[\"class1\",\"class2\"]. " . "Other common options include helpText (set to a piece of additional text to display alongside the control) and class (to add css " . "classes to the control such as control-width-3). <br/>" . "<strong>[*]</strong> is used to make a placeholder for putting any custom attributes that should be inserted into the current tab.<br/>" . "<strong>?help text?</strong> is used to define help text to add to the tab, e.g. ?Enter the name of the site.?", 'type' => 'textarea', 'default' => "=Species=\r\n" . "?Please enter the species you saw and any other information about them.?\r\n" . "[species]\r\n" . "[species attributes]\r\n" . "[*]\r\n" . "=Place=\r\n" . "?Please provide the spatial reference of the record. You can enter the reference directly, or search for a place then click on the map.?\r\n" . "[place search]\r\n" . "[spatial reference]\r\n" . "[map]\r\n" . "[*]\r\n" . "=Other Information=\r\n" . "?Please provide the following additional information.?\r\n" . "[date]\r\n" . "[sample comment]\r\n" . "[*]\r\n" . "=*=", 'group' => 'User Interface'), array('name' => 'attributeValidation', 'caption' => 'Attribute Validation Rules', 'description' => 'TBD.', 'type' => 'textarea', 'required' => false, 'group' => 'User Interface'), array('name' => 'no_grid', 'caption' => 'Skip initial grid of data', 'description' => 'If checked, then when initially loading the form the data entry form is immediately displayed, as opposed to ' . 'the default of displaying a grid of the user\'s data which they can add to.', 'type' => 'boolean', 'default' => false, 'group' => 'User Interface'), array('name' => 'grid_report', 'caption' => 'Grid Report', 'description' => 'Name of the report to use to populate the grid for selecting existing data from. The report must return a sample_id ' . 'field or occurrence_id field for linking to the data entry form. As a starting point, try reports_for_prebuilt_forms/simple_occurrence_list_1 or ' . 'reports_for_prebuilt_forms/simple_sample_list_1 for a list of occurrences or samples respectively.', 'type' => 'string', 'group' => 'User Interface', 'default' => 'reports_for_prebuilt_forms/simple_sample_list_1'), array('name' => 'save_button_below_all_pages', 'caption' => 'Save button below all pages?', 'description' => 'Should the save button be present below all the pages (checked), or should it be only on the last page (unchecked)? ' . 'Only applies to the Tabs interface style.', 'type' => 'boolean', 'default' => false, 'group' => 'User Interface'), array('name' => 'multiple_occurrence_mode', 'caption' => 'Single or multiple occurrences per sample', 'description' => 'Method of data entry, via a grid of occurrences, one occurrence at a time, or allow the user to choose.', 'type' => 'select', 'options' => array('single' => 'Only allow entry of one occurrence at a time', 'multi' => 'Only allow entry of multiple occurrences using a grid', 'either' => 'Allow the user to choose single or multiple occurrence data entry.'), 'default' => 'multi', 'group' => 'Species'), array('name' => 'species_ctrl', 'caption' => 'Single Species Selection Control Type', 'description' => 'The type of control that will be available to select a single species.', 'type' => 'select', 'options' => array('autocomplete' => 'Autocomplete', 'select' => 'Select', 'listbox' => 'List box', 'radio_group' => 'Radio group', 'treeview' => 'Treeview', 'tree_browser' => 'Tree browser'), 'default' => 'autocomplete', 'group' => 'Species'), array('name' => 'species_include_both_names', 'caption' => 'Include both names in species autocomplete and added rows', 'description' => 'When using a species grid with the ability to add new rows, the autocomplete control by default shows just the searched taxon name in the drop down. ' . 'Set this to include both the latin and common names, with the searched one first. This also controls the label when adding a new taxon row into the grid.', 'type' => 'boolean', 'group' => 'Species'), array('name' => 'species_include_taxon_group', 'caption' => 'Include taxon group name in species autocomplete and added rows', 'description' => 'When using a species grid with the ability to add new rows, the autocomplete control by default shows just the searched taxon name in the drop down. ' . 'Set this to include the taxon group title.  This also controls the label when adding a new taxon row into the grid.', 'type' => 'boolean', 'group' => 'Species'), array('name' => 'occurrence_comment', 'caption' => 'Occurrence Comment', 'description' => 'Should an input box be present for a comment against each occurrence?', 'type' => 'boolean', 'default' => false, 'group' => 'Species'), array('name' => 'occurrence_images', 'caption' => 'Occurrence Images', 'description' => 'Should occurrences allow images to be uploaded?', 'type' => 'boolean', 'default' => false, 'group' => 'Species'), array('name' => 'col_widths', 'caption' => 'Grid Column Widths', 'description' => 'Provide percentage column widths for each species checklist grid column as a comma separated list. To leave a column at its default with, put a blank ' . 'entry in the list. E.g. "25,,20" would set the first column to 25% width and the 3rd column to 20%, leaving the other columns as they are.', 'type' => 'string', 'group' => 'Species', 'required' => false), array('name' => 'list_id', 'caption' => 'Initial Species List ID', 'description' => 'The Indicia ID for the species list that species can be selected from. This list is pre-populated ' . 'into the grid when doing grid based data entry.', 'type' => 'int', 'required' => false, 'group' => 'Species'), array('name' => 'extra_list_id', 'caption' => 'Extra Species List ID', 'description' => 'The Indicia ID for the second species list that species can be selected from. This list is available for additional ' . 'taxa being added to the grid when doing grid based data entry.', 'type' => 'int', 'required' => false, 'group' => 'Species'), array('name' => 'species_names_filter', 'caption' => 'Species Names Filter', 'description' => 'Select the filter to apply to the species names which are available to choose from.', 'type' => 'select', 'options' => array('all' => 'All names are available', 'language' => 'Only allow selection of species using common names in the user\'s language', 'preferred' => 'Only allow selection of species using names which are flagged as preferred'), 'default' => 'autocomplete', 'group' => 'Species'), array('name' => 'link_species_popups', 'caption' => 'Create popups for certain species', 'description' => 'You can mark some blocks of the form to only be shown as a popup when a certain species is entered into the species grid. For each popup block, ' . 'put the species name on a newline, followed by | then the outer block name, followed by | then the inner block name if relevant. For example, ' . '"Lasius niger|Additional info|Colony info" pops up the controls from the block Additional Info > Colony info when a species is entered with this ' . 'name. For the species name, specify the preferred name from list.', 'type' => 'textarea', 'required' => false, 'group' => 'Species'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326).', 'type' => 'string', 'group' => 'Map'), array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID of the survey that data will be posted into.', 'type' => 'int'), array('name' => 'defaults', 'caption' => 'Default Values', 'description' => 'Supply default values for each field as required. On each line, enter fieldname=value. For custom attributes, ' . 'the fieldname is the untranslated caption. For other fields, it is the model and fieldname, e.g. occurrence.record_status. ' . 'For date fields, use today to dynamically default to today\'s date. NOTE, currently only supports occurrence:record_status and ' . 'sample:date but will be extended in future.', 'type' => 'textarea', 'default' => 'occurrence:record_status=C'), array('name' => 'includeLocTools', 'caption' => 'Include Location Tools', 'description' => 'Include a tab for the allocation of locations when displaying the initial grid.', 'type' => 'boolean', 'default' => false, 'group' => 'User Interface')));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     return array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'group' => 'General Form Settings', 'siteSpecific' => true), array('name' => 'edit_permission', 'caption' => 'Permission required for editing other people\'s data', 'description' => 'Set to the name of a permission which is required in order to be able to edit other people\'s data.', 'type' => 'text_input', 'required' => false, 'default' => 'indicia data admin'), array('name' => 'sample_tab_label', 'caption' => 'Sample Tab Title', 'description' => 'The title to be used on the main sample tab.', 'type' => 'string', 'required' => true, 'siteSpecific' => true, 'group' => 'General Form Settings'), array('name' => 'occurrence_tab_label', 'caption' => 'Species Tab Title', 'description' => 'The title to be used on the species checklist tab.', 'type' => 'string', 'required' => true, 'group' => 'General Form Settings', 'siteSpecific' => true), array('name' => 'media_tab_label', 'caption' => 'Media Tab Title', 'description' => 'The title to be used on the media tab.', 'type' => 'string', 'required' => true, 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'site_caption_template', 'caption' => 'Site caption template', 'description' => 'When generating the possible caption(s) for the site image(s), use this template. {name} is replaced with the location name, {nameNS} is replaced with the location name with all the spaces removed, and {diff} by the differentiator (see below).', 'type' => 'string', 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'site_caption_differentiator', 'caption' => 'Site caption differentiator', 'description' => 'When generating the possible caption(s) for the site image(s), use each of the members of this list as {diff} in the template above to produce individual options. CSV', 'type' => 'string', 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'quadrat_caption_template', 'caption' => 'Quadrat caption template', 'description' => 'When generating the possible caption(s) for the quadrat images, use this template. As well as the Site Template replacements detailed above (though with the quadrat differentiator detailed below), {N1} is replaced by the level 1 value, {caption1} by the level 1 attribute caption, {N2} by the level 2 value, {caption2} by the level 2 attribute caption, and {attr<x>} by the value of sample attribute <x> - subject to a possible mapping (also see below).', 'type' => 'string', 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'quadrat_caption_differentiator', 'caption' => 'Quadrat caption differentiator', 'description' => 'When generating the possible caption(s) for the quadrat images, use each of the members of this list as {diff} in the template above to produce individual options. CSV', 'type' => 'string', 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'quadrat_caption_attribute_mapping', 'caption' => 'Attribute mapping', 'description' => 'When generating the possible caption(s) for the quadrat images, use these definitions to map attribute values. Format is &lt;x&gt;:&lt;n&gt;=&lt;txt&gt;:&lt;n&gt;=&lt;txt&gt;[,&lt;x&gt;:&lt;n&gt;=&lt;txt&gt;:&lt;n&gt;=&lt;txt&gt;] where &lt;x&gt; is the attribute id, &lt;n&gt; is the attribute value, and &lt;txt&gt; is the replacement value to be used in the template.', 'type' => 'string', 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'media_tab_bumpf', 'caption' => 'Media Tab Helptext', 'type' => 'textarea', 'group' => 'Media Tab', 'siteSpecific' => true), array('name' => 'transect_level_sample_method_id', 'caption' => 'Transect Level Sample Method', 'description' => 'Select the term used for transect level sample method.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:sample_methods'), 'required' => true, 'group' => 'General Form Settings', 'siteSpecific' => true), array('name' => 'quadrat_level_sample_method_id', 'caption' => 'Quadrat Level Sample Method', 'description' => 'Select the term used for Quadrat level sample method.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:sample_methods'), 'required' => true, 'group' => 'General Form Settings', 'siteSpecific' => true), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'default' => 'default', 'group' => 'Other Map Settings', 'siteSpecific' => true), array('name' => 'defaults', 'caption' => 'Default Values', 'description' => 'Supply default values for each field as required. On each line, enter fieldname=value. For custom attributes, ' . 'the fieldname is the untranslated caption. For other fields, it is the model and fieldname, e.g. occurrence.record_status. ' . 'For date fields, use today to dynamically default to today\'s date. NOTE, currently only supports occurrence:record_status and ' . 'sample:date but will be extended in future.', 'type' => 'textarea', 'default' => 'occurrence:record_status=C', 'group' => 'General Form Settings', 'required' => false, 'siteSpecific' => true), array('name' => 'custom_attribute_options', 'caption' => 'Options for custom attributes', 'description' => 'A list of additional options to pass through to custom attributes, one per line. Each option should be specified as ' . 'the attribute name followed by | then the option name, followed by = then the value. For example, smpAttr:1|class=control-width-5.', 'type' => 'textarea', 'group' => 'General Form Settings', 'required' => false, 'siteSpecific' => true), array('name' => 'remove_options', 'caption' => 'Remove Options', 'description' => 'Comma separated list of option IDs to be removed from attribute drop down/radio lists.', 'type' => 'string', 'group' => 'General Form Settings', 'required' => false, 'siteSpecific' => true), array('name' => 'sample_attribute_id_1', 'caption' => 'First Sample Attribute', 'description' => 'The attribute used as the primary descriptor for the samples in the Species Grid', 'type' => 'select', 'table' => 'sample_attribute', 'extraParams' => array('data_type' => 'I'), 'captionField' => 'caption', 'valueField' => 'id', 'required' => true, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'sample_attribute_id_1_limit', 'caption' => 'First Sample Attribute Limit', 'description' => 'The normal top value (extended only to accommodate existing any data) for the first sample attribute in the Species Grid. ', 'type' => 'int', 'required' => true, 'default' => 6, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'sample_attribute_id_2', 'caption' => 'Second Sample Attribute', 'description' => 'The attribute used as the optional secondary descriptor for the samples in the Species Grid', 'type' => 'select', 'table' => 'sample_attribute', 'extraParams' => array('data_type' => 'I'), 'captionField' => 'caption', 'valueField' => 'id', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'sample_attribute_id_2_limit', 'caption' => 'Second Sample Attribute Limit', 'description' => 'The normal top value (extended only to accommodate existing any data) for the secondary sample attribute in the Species Grid. ', 'type' => 'int', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'level_1_attributes', 'caption' => 'Level 1 attributes', 'description' => 'A comma separated list of sample attribute IDs which have a single entry per Level 1.', 'type' => 'text_input', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'prefixTaxa', 'caption' => 'Standard Prefix Taxa', 'description' => 'A comma separated list of taxon definitions, which are placed BEFORE the taxa in the species packages. Each definition is a &lt;taxa_taxon_list_id&gt;:&lt;occurrence_attribute_id&gt; pair.', 'type' => 'text_input', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'suffixTaxa', 'caption' => 'Standard Suffix Taxa', 'description' => 'A comma separated list of taxon definitions, which are placed AFTER the taxa in the species packages. Each definition is a &lt;taxa_taxon_list_id&gt;:&lt;occurrence_attribute_id&gt; pair.', 'type' => 'text_input', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'taxon_headings_extras', 'caption' => 'Taxon Headings Extras', 'description' => 'A comma separated list on &quot;&lt;Attribute ID&gt;:&lt;Text&gt;&quot;, where &lt;Text&gt is added to the end of the taxon name in the Species Grid heading. This is used to give clarity over what the input attribute is for that taxon.', 'type' => 'text_input', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true), array('name' => 'fill_zeroes', 'caption' => 'Fill with Zeroes', 'description' => 'When set, if a field is filled in on the species grid, all unfilled in text fields will be set to zero on that row.', 'type' => 'boolean', 'required' => false, 'group' => 'Species Grid', 'siteSpecific' => true)));
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  * @todo: Implement this method
  */
 public static function get_parameters()
 {
     return array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'managerPermission', 'caption' => 'Drupal Permission for Manager mode', 'description' => 'Enter the Drupal permission name to be used to determine if this user is a manager. Entering this will allow the identified users to delete or modify the site even there are walks (samples) associated with it.', 'type' => 'string', 'required' => false), array('name' => 'branch_assignment_permission', 'label' => 'Drupal Permission name for Branch Manager', 'type' => 'string', 'description' => 'If you do not want to use the Branch Manager functionality, leave this blank. ' . 'Otherwise, specify the name of a permission to which when assigned to a user determines that the user is a branch manager. ' . '<br />Requires a single-value Branch CMS User ID integer attribute on the locations.', 'required' => false, 'group' => 'Transects Editor Settings'), array('name' => 'maxSectionCount', 'label' => 'Max. Section Count', 'type' => 'int', 'description' => 'The maximum number of sections a user is allowed to create for a transect site. If there is no user selectable attribute to set the number of sections, then the number is fixed at this value and the user will not be able to delete sections.', 'group' => 'Transects Editor Settings'), array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'sites_list_path', 'caption' => 'Site list page path', 'description' => 'Enter the path to the page which the site list is on.', 'type' => 'string', 'required' => true, 'group' => 'Transects Editor Settings'), array('name' => 'transect_type_term', 'caption' => 'Transect type term', 'description' => 'Select the term used for transect location types.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'term', 'extraParams' => array('termlist_external_key' => 'indicia:location_types'), 'required' => true, 'group' => 'Transects Editor Settings'), array('name' => 'section_type_term', 'caption' => 'Section type term', 'description' => 'Select the term used for section location types.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'term', 'extraParams' => array('termlist_external_key' => 'indicia:location_types'), 'required' => true, 'group' => 'Transects Editor Settings'), array('name' => 'bottom_blocks', 'caption' => 'Form blocks to place at bottom', 'description' => 'A list of the blocks which need to be placed at the bottom of the form, below the map.', 'type' => 'textarea', 'group' => 'Transects Editor Settings', 'siteSpecific' => true, 'required' => false), array('name' => 'site_help', 'caption' => 'Site Help Text', 'description' => 'Help text to be placed on the Site tab, before the attributes.', 'type' => 'textarea', 'group' => 'Transects Editor Settings', 'required' => false), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326).', 'type' => 'text_input', 'group' => 'Other Map Settings'), array('name' => 'maxPrecision', 'caption' => 'Max Sref Precision', 'description' => 'The maximum precision to be applied when determining the SREF. Leave blank to not set.', 'type' => 'int', 'required' => false, 'group' => 'Other Map Settings'), array('name' => 'minPrecision', 'caption' => 'Min Sref Precision', 'description' => 'The minimum precision to be applied when determining the SREF. Leave blank to not set.', 'type' => 'int', 'required' => false, 'group' => 'Other Map Settings'), array('name' => 'route_map_height', 'caption' => 'Your Route Map Height (px)', 'description' => 'Height in pixels of the map.', 'type' => 'int', 'group' => 'Initial Map View', 'default' => 600), array('name' => 'route_map_buffer', 'caption' => 'Your Route Map Buffer', 'description' => 'Factor to multiple the size of the site by, in order to generate a margin around the site when displaying the site on the Your Route tab.', 'type' => 'string', 'group' => 'Initial Map View', 'default' => '0.1'), array('name' => 'allow_user_assignment', 'label' => 'Allow users to be assigned to transects', 'type' => 'boolean', 'description' => 'Can administrators link users to transects that they are allowed to record at? Requires a multi-value CMS User ID attribute on the locations.', 'default' => true, 'required' => false, 'group' => 'Transects Editor Settings'), array('name' => 'autocalc_section_length_attr_id', 'caption' => 'Location attribute to autocalc section length', 'description' => 'Location attribute that stores the section length, if you want it to be autocalculated from the geometry.', 'type' => 'select', 'table' => 'location_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Transects Editor Settings', 'required' => false), array('name' => 'default_section_grid_ref', 'caption' => 'Default grid ref for a section?', 'description' => 'Default the grid ref for a section to what?', 'type' => 'select', 'lookupValues' => array('parent' => 'Same as parent transect', 'sectionCentroid100' => '100m grid square covering the centroid of the section', 'sectionStart100' => '100m grid square covering the start of the section'), 'default' => 'parent', 'group' => 'Transects Editor Settings'), array('name' => 'always_show_section_details', 'caption' => 'Always show the Section Details tab', 'description' => 'If ticked, then the section details tab is shown allowing the section map reference to be set, even when there are no attributes.', 'type' => 'checkbox', 'group' => 'Transects Editor Settings', 'required' => false)));
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     return array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'occurrence_attribute_ids', 'caption' => 'Occurrence Attribute', 'description' => 'Comma separated list of attribute IDs to be used in the species grids.', 'type' => 'string', 'required' => true, 'siteSpecific' => true), array('name' => 'percent_width', 'caption' => 'Map Percent Width', 'description' => 'The percentage width that the map will take on the front page.', 'type' => 'int', 'required' => true, 'default' => 50, 'siteSpecific' => true), array('name' => 'species_tab_1', 'caption' => 'Species Tab 1 Title', 'description' => 'The title to be used on the species checklist for the main tab.', 'type' => 'string', 'required' => true, 'group' => 'Species Tab 1'), array('name' => 'taxon_list_id_1', 'caption' => 'All Species List', 'description' => 'The species checklist used to populate the grid on the main grid when All Species is selected. Also used to drive the autocomplete when other options selected.', 'type' => 'select', 'table' => 'taxon_list', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true, 'group' => 'Species Tab 1'), array('name' => 'taxon_filter_field_1', 'caption' => 'All Species List: Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected All Species List, then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('taxon' => 'Taxon', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title'), 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 1'), array('name' => 'taxon_filter_1', 'caption' => 'All Species List: Taxon filter items', 'description' => 'When filtering the list of available taxa, taxa will not be available for recording unless they match one of the ' . 'values you input in this box. Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group.', 'type' => 'textarea', 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 1'), array('name' => 'species_tab_2', 'caption' => 'Species Tab 2 Title', 'description' => 'The title to be used on the species checklist for the second tab.', 'type' => 'string', 'required' => false, 'group' => 'Species Tab 2'), array('name' => 'taxon_list_id_2', 'caption' => 'Second Tab Species List', 'description' => 'The species checklist used to drive the autocomplete in the optional second grid. If not provided, the second grid and its tab are omitted.', 'type' => 'select', 'table' => 'taxon_list', 'captionField' => 'title', 'valueField' => 'id', 'required' => false, 'siteSpecific' => true, 'group' => 'Species Tab 2'), array('name' => 'taxon_filter_field_2', 'caption' => 'Second Tab Species List: Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected Species List, then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('taxon' => 'Taxon', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title'), 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 2'), array('name' => 'taxon_filter_2', 'caption' => 'Second Tab Species List: Taxon filter items', 'description' => 'When filtering the list of available taxa, taxa will not be available for recording unless they match one of the ' . 'values you input in this box. Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group.', 'type' => 'textarea', 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 2'), array('name' => 'species_tab_3', 'caption' => 'Species Tab 3 Title', 'description' => 'The title to be used on the species checklist for the third tab.', 'type' => 'string', 'required' => false, 'group' => 'Species Tab 3'), array('name' => 'taxon_list_id_3', 'caption' => 'Third Tab Species List', 'description' => 'The species checklist used to drive the autocomplete in the optional third grid. If not provided, the third grid and its tab are omitted.', 'type' => 'select', 'table' => 'taxon_list', 'captionField' => 'title', 'valueField' => 'id', 'required' => false, 'siteSpecific' => true, 'group' => 'Species Tab 3'), array('name' => 'taxon_filter_field_3', 'caption' => 'Third Tab Species List: Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected Species List, then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('taxon' => 'Taxon', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title'), 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 3'), array('name' => 'taxon_filter_3', 'caption' => 'Third Tab Species List: Taxon filter items', 'description' => 'When filtering the list of available taxa, taxa will not be available for recording unless they match one of the ' . 'values you input in this box. Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group.', 'type' => 'textarea', 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 3'), array('name' => 'species_tab_4', 'caption' => 'Fourth Species Tab Title', 'description' => 'The title to be used on the species checklist for the fourth tab.', 'type' => 'string', 'required' => false, 'group' => 'Species Tab 4'), array('name' => 'taxon_list_id_4', 'caption' => 'Fourth Tab Species List', 'description' => 'The species checklist used to drive the autocomplete in the optional fourth grid. If not provided, the fourth grid and its tab are omitted.', 'type' => 'select', 'table' => 'taxon_list', 'captionField' => 'title', 'valueField' => 'id', 'required' => 'false', 'siteSpecific' => true, 'group' => 'Species Tab 4'), array('name' => 'taxon_filter_field_4', 'caption' => 'Fourth Tab Species List: Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected Species List, then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('taxon' => 'Taxon', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title'), 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 4'), array('name' => 'taxon_filter_4', 'caption' => 'Fourth Tab Species List: Taxon filter items', 'description' => 'When filtering the list of available taxa, taxa will not be available for recording unless they match one of the ' . 'values you input in this box. Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group.', 'type' => 'textarea', 'siteSpecific' => true, 'required' => false, 'group' => 'Species Tab 4'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'default' => 'default', 'group' => 'Other Map Settings'), array('name' => 'locationType', 'caption' => 'Restrict locations to type', 'description' => 'When choosing the parent location, restrict the locations in the drop down to a particular location type.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:location_types')), array('name' => 'custom_attribute_options', 'caption' => 'Options for custom attributes', 'description' => 'A list of additional options to pass through to custom attributes, one per line. Each option should be specified as ' . 'the attribute name followed by | then the option name, followed by = then the value. For example, smpAttr:1|class=control-width-5.', 'type' => 'textarea', 'required' => false, 'siteSpecific' => true), array('name' => 'my_obs_page', 'caption' => 'Path to My Observations', 'description' => 'Path used to access the My Observations page after a successful submission.', 'type' => 'text_input', 'required' => true, 'siteSpecific' => true)));
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => '2nd_map_height', 'caption' => 'Second Map Height (px)', 'description' => 'Height in pixels of the second (focus on collection) map.', 'type' => 'int', 'group' => 'Initial Map View', 'default' => 300), array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID of the survey that data will be posted into.', 'type' => 'int'), array('name' => 'search_url', 'caption' => 'URL for Search WFS service', 'description' => 'The URL used for the WFS feature lookup when searching.', 'type' => 'string', 'group' => 'Search'), array('name' => 'search_prefix', 'caption' => 'Feature type prefix for Search', 'description' => 'The Feature type prefix used for the WFS feature lookup when searching.', 'type' => 'string', 'group' => 'Search'), array('name' => 'search_ns', 'caption' => 'Name space for Search', 'description' => 'The Name space used for the WFS feature lookup when searching.', 'type' => 'string', 'group' => 'Search'), array('name' => 'collectionsPerPage', 'caption' => 'Collections per page of search results', 'description' => 'Number of Collections per page of search results.', 'type' => 'int', 'default' => 5, 'group' => 'Search'), array('name' => 'insectsPerRow', 'caption' => 'Number of Insects per row.', 'description' => 'Number of Insects per row of search results and on collection insect list.', 'type' => 'int', 'default' => 3, 'group' => 'Search'), array('name' => 'insectsRowsPerPage', 'caption' => 'Number of rows of insects per page of search results', 'description' => 'Number of rows of insects per page of search results.', 'type' => 'int', 'default' => 3, 'group' => 'Search'), array('name' => 'max_features', 'caption' => 'Max number of items returned', 'description' => 'Maximum number of features returned by the WFS search.', 'type' => 'int', 'default' => 1000, 'group' => 'Search'), array('name' => 'INSEE_url', 'caption' => 'URL for INSEE Search WFS service', 'description' => 'The URL used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'INSEE_prefix', 'caption' => 'Feature type prefix for INSEE Search', 'description' => 'The Feature type prefix used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'INSEE_type', 'caption' => 'Feature type for INSEE Search', 'description' => 'The Feature type used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'INSEE_ns', 'caption' => 'Name space for INSEE Search', 'description' => 'The Name space used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'complete_attr_id', 'caption' => 'Completeness Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores whether the collection is complete.', 'type' => 'int', 'group' => 'Collection Attributes'), array('name' => 'uid_attr_id', 'caption' => 'User ID Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the CMS User ID.', 'type' => 'smpAttr', 'group' => 'Collection Attributes'), array('name' => 'username_attr_id', 'caption' => 'Username Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s username.', 'type' => 'smpAttr', 'group' => 'Collection Attributes'), array('name' => 'flower_type_attr_id', 'caption' => 'Flower Type Attribute ID', 'description' => 'Indicia ID for the occurrence attribute that stores how the flower got there.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'flower_type_dont_know', 'caption' => 'Flower Type Dont Know ID', 'description' => 'Indicia ID for the term meaning_id that shows a Flower type of dont know.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'habitat_attr_id', 'caption' => 'habitat Attribute ID', 'description' => 'Indicia ID for the location attribute that describes the habitat.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'start_time_attr_id', 'caption' => 'Start Time Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the start time.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'end_time_attr_id', 'caption' => 'End Time Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the end time.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'sky_state_attr_id', 'caption' => 'Sky State Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the state of the sky.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'temperature_attr_id', 'caption' => 'Temperature Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the temperature.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'wind_attr_id', 'caption' => 'Wind Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the Wind.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'shade_attr_id', 'caption' => 'Shade Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the shade.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'flower_list_id', 'caption' => 'Flower Species List ID', 'description' => 'The Indicia ID for the species list that flowers can be selected from.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'insect_list_id', 'caption' => 'Insect Species List ID', 'description' => 'The Indicia ID for the species list that insects can be selected from.', 'type' => 'int', 'group' => 'Insect Attributes'), array('name' => 'ID_tool_flower_url', 'caption' => 'Flower ID Tool URL', 'description' => 'The URL to call which triggers the Flower Identification Tool functionality.', 'type' => 'string', 'group' => 'ID Tool', 'default' => 'http://spipoll.org/identification/flore.php?requestId='), array('name' => 'ID_tool_flower_poll_dir', 'caption' => 'Flower ID Tool Module poll directory', 'description' => 'The directory which to poll for the results of the Flower ID Tool', 'type' => 'string', 'group' => 'ID Tool', 'default' => 'http://{HOST}/cgi-bin/proxy.cgi?url=http://ns367998.ovh.net/identification/resultats/flore/'), array('name' => 'ID_tool_insect_url', 'caption' => 'Insect ID Tool URL', 'description' => 'The URL to call which triggers the Insect Identification Tool functionality.', 'type' => 'string', 'group' => 'ID Tool', 'default' => 'http://spipoll.org/identification/insectes.php?requestId='), array('name' => 'ID_tool_insect_poll_dir', 'caption' => 'Insect ID Tool Module poll directory', 'description' => 'The directory which to poll for the results of the Insect ID Tool', 'type' => 'string', 'group' => 'ID Tool', 'default' => 'http://{HOST}/cgi-bin/proxy.cgi?url=http://ns367998.ovh.net/identification/resultats/insectes/'), array('name' => 'ID_tool_poll_interval', 'caption' => 'Time in ms between polls of results directory', 'description' => 'Time in ms between polls of results directory', 'type' => 'int', 'group' => 'ID Tool', 'default' => 1500), array('name' => 'ID_tool_poll_timeout', 'caption' => 'Time in ms before the ID Tool is aborted.', 'description' => 'Time in ms before the ID Tool is aborted.', 'type' => 'int', 'group' => 'ID Tool', 'default' => 1800000), array('name' => 'Flower_Image_Ratio', 'caption' => 'Flower image aspect ratio.', 'description' => 'Expected Ratio of width to height for flower images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '4/3'), array('name' => 'Environment_Image_Ratio', 'caption' => 'Environment image aspect ratio.', 'description' => 'Expected Ratio of width to height for environment images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '4/3'), array('name' => 'Insect_Image_Ratio', 'caption' => 'Insect image aspect ratio.', 'description' => 'Expected Ratio of width to height for insect images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '1/1'), array('name' => 'alert_js_function', 'caption' => 'Alert JS Function', 'description' => 'JS function called when an alert is generated', 'type' => 'string', 'group' => 'JS Calls', 'required' => false), array('name' => 'preferred_js_function', 'caption' => 'Preferred JS Function', 'description' => 'JS function called when an object is to be added to the users preferred list', 'type' => 'string', 'group' => 'JS Calls', 'required' => false)));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'interface', 'caption' => 'Interface Style Option', 'description' => 'Choose the style of user interface, either dividing the form up onto separate tabs, ' . 'wizard pages or having all controls on a single page.', 'type' => 'select', 'options' => array('tabs' => 'Tabs', 'wizard' => 'Wizard', 'one_page' => 'All One Page'), 'default' => 'wizard', 'group' => 'User Interface'), array('name' => 'tabProgress', 'caption' => 'Show Progress through Wizard/Tabs', 'description' => 'For Wizard or Tabs interfaces, check this option to show a progress summary above the controls.', 'type' => 'boolean', 'default' => true, 'required' => false, 'group' => 'User Interface'), array('name' => 'clientSideValidation', 'caption' => 'Client Side Validation', 'description' => 'Enable client side validation of controls using JavaScript.', 'type' => 'boolean', 'default' => true, 'required' => false, 'group' => 'User Interface'), array('name' => 'structure', 'caption' => 'Form Structure', 'description' => 'Define the structure of the form. Each component goes on a new line and is nested inside the previous component where appropriate. The following types of ' . "component can be specified. <br/>" . "<strong>=tab/page name=</strong> is used to specify the name of a tab or wizard page. (Alpha-numeric characters only)<br/>" . "<strong>=*=</strong> indicates a placeholder for putting any custom attribute tabs not defined in this form structure. <br/>" . "<strong>[control name]</strong> indicates a predefined control is to be added to the form with the following predefined controls available: <br/>" . "&nbsp;&nbsp;<strong>[recorder details]</strong><br/>" . "&nbsp;&nbsp;<strong>[date]</strong><br/>" . "&nbsp;&nbsp;<strong>[map]</strong><br/>" . "&nbsp;&nbsp;<strong>[spatial reference]</strong><br/>" . "&nbsp;&nbsp;<strong>[location name]</strong><br/>" . "&nbsp;&nbsp;<strong>[place search]</strong><br/>" . "&nbsp;&nbsp;<strong>[sample comment]</strong>. <br/>" . "&nbsp;&nbsp;<strong>[species identifier]</strong>. <br/>" . "&nbsp;&nbsp;<strong>[show added sample comments]</strong>. <br/>" . "&nbsp;&nbsp;<strong>[add sample comment]</strong>. <br/>" . "<strong>@option=value</strong> on the line(s) following any control allows you to override one of the options passed to the control. The options " . "available depend on the control. For example @label=Abundance would set the untranslated label of a control to Abundance. Where the " . "option value is an array, use valid JSON to encode the value. For example an array of strings could be passed as @occAttrClasses=[\"class1\",\"class2\"]. " . "Other common options include helpText (set to a piece of additional text to display alongside the control) and class (to add css " . "classes to the control such as control-width-3). <br/>" . "<strong>[*]</strong> is used to make a placeholder for putting any custom attributes that should be inserted into the current tab. When this option is " . "used, you can change any of the control options for an individual custom attribute control by putting @control|option=value on the subsequent line(s). " . "For example, if a control is for smpAttr:4 then you can update it's label by specifying @smpAttr:4|label=New Label on the line after the [*].<br/>" . "<strong>?help text?</strong> is used to define help text to add to the tab, e.g. ?Enter the name of the site.?", 'type' => 'textarea', 'default' => "=Who When and Where=\r\n" . "?Recorder details for this information.?\r\n" . "[recorder details]\r\n" . "?Please tell us when you saw the colour-marked bird.?\r\n" . "[date]\r\n" . "?Please tell us where you saw the marked bird. You can do this in any of the following ways:-<ol>" . "<li>enter GPS co-ordinates or an OS grid reference directly,</li>" . "<li>enter a place name and search for it,</li>" . "<li>search for the place on the map and then click to set it.</li>" . "</ol>?\r\n" . "[spatial reference]\r\n" . "[place search]\r\n" . "[map]\r\n" . "?What name do you know this location by?\r\n" . "[location name]\r\n" . "[*]\r\n" . "=Colour Marks=\r\n" . "?Please pick the species from the following list and enter the details for the colour identifiers.?\r\n" . "[species identifier]\r\n" . "[*]\r\n" . "=Added Comments=\r\n" . "?Please add any comments for review or editing of this report.?\r\n" . "[show added sample comments]\r\n" . "[add sample comment]\r\n" . "[*]\r\n" . "=*=", 'group' => 'User Interface'), array('name' => 'attribute_termlist_language_filter', 'caption' => 'Attribute Termlist Language filter', 'description' => 'Enable filtering of termlists for attributes using the iso language.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('name' => 'no_grid', 'caption' => 'Skip initial grid of data', 'description' => 'If checked, then when initially loading the form the data entry form is immediately displayed, as opposed to ' . 'the default of displaying a grid of the user\'s data which they can add to. By ticking this box, it is possible to use this form ' . 'for data entry by anonymous users though they cannot then list the data they have entered.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('name' => 'grid_report', 'caption' => 'Grid Report', 'description' => 'Name of the report to use to populate the grid for selecting existing data from. The report must return a sample_id ' . 'field and subject_observation_id field for linking to the data entry form. As a starting point, try reports_for_prebuilt_forms/simple_subject_observation_identifier_list_1 ' . 'for a list of subject observations.', 'type' => 'string', 'group' => 'User Interface', 'default' => 'reports_for_prebuilt_forms/simple_subject_observation_identifier_list_1'), array('name' => 'grid_num_rows', 'caption' => 'Number of rows displayed in grid', 'description' => 'Number of rows display on each page of the grid.', 'type' => 'int', 'default' => 10, 'group' => 'User Interface'), array('name' => 'save_button_below_all_pages', 'caption' => 'Save button below all pages?', 'description' => 'Should the save button be present below all the pages (checked), or should it be only on the last page (unchecked)? ' . 'Only applies to the Tabs interface style.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('fieldname' => 'list_id', 'label' => 'Species List ', 'helpText' => 'The species list that species can be selected from. This list is pre-populated ' . 'into the grid when doing grid based data entry, or provides the list which a species ' . 'can be picked from when doing single subject observation data entry.', 'type' => 'select', 'table' => 'taxon_list', 'valueField' => 'id', 'captionField' => 'title', 'required' => false, 'group' => 'Species', 'siteSpecific' => true), array('fieldname' => 'cache_lookup', 'label' => 'Cache lookups', 'helpText' => 'Tick this box to select to use a cached version of the lookup list when ' . 'searching for extra species names to add to the grid, or set to false to use the ' . 'live version (default). The latter is slower and places more load on the warehouse so should only be ' . 'used during development or when there is a specific need to reflect taxa that have only ' . 'just been added to the list.', 'type' => 'checkbox', 'required' => false, 'group' => 'Species', 'siteSpecific' => false), array('name' => 'species_ctrl', 'caption' => 'Single Species Selection Control Type', 'description' => 'The type of control that will be available to select a single species.', 'type' => 'select', 'options' => array('autocomplete' => 'Autocomplete', 'select' => 'Select'), 'default' => 'select', 'group' => 'Species'), array('name' => 'species_include_both_names', 'caption' => 'Include both names in species controls and added rows', 'description' => 'When using a species grid with the ability to add new rows, the autocomplete control by default shows just the searched taxon name in the drop down. ' . 'Set this to include both the latin and common names, with the searched one first. This also controls the label when adding a new taxon row into the grid.', 'type' => 'boolean', 'required' => false, 'group' => 'Species'), array('name' => 'species_include_taxon_group', 'caption' => 'Include taxon group name in species autocomplete and added rows', 'description' => 'When using a species grid with the ability to add new rows, the autocomplete control by default shows just the searched taxon name in the drop down. ' . 'Set this to include the taxon group title.  This also controls the label when adding a new taxon row into the grid.', 'type' => 'boolean', 'required' => false, 'group' => 'Species'), array('name' => 'taxon_filter_field', 'caption' => 'Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected list(s), then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('preferred_name' => 'Preferred name of the taxa', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title'), 'required' => false, 'group' => 'Species'), array('name' => 'taxon_filter', 'caption' => 'Taxon filter items', 'description' => 'When filtering the list of available taxa, taxa will not be available for recording unless they match one of the ' . 'values you input in this box. Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group. ' . 'If you provide a single taxon preferred name or taxon meaning ID in this box, then the form is set up for recording just this single ' . 'species. Therefore there will be no species picker control, and the form will always operate in the single record, non-grid mode. ' . 'As there is no visual indicator which species is recorded you may like to include information about what is being recorded in the ' . 'header. You may also want to configure the User Interface section of the form\'s Form Structure to move the [species] and [species] controls ' . 'to a different tab and remove the =species= tab, especially if there are no other occurrence attributes on the form.', 'type' => 'textarea', 'required' => false, 'group' => 'Species'), array('name' => 'species_names_filter', 'caption' => 'Species Names Filter', 'description' => 'Select the filter to apply to the species names which are available to choose from.', 'type' => 'select', 'options' => array('all' => 'All names are available', 'language' => 'Only allow selection of species using common names in the user\'s language', 'preferred' => 'Only allow selection of species using names which are flagged as preferred', 'excludeSynonyms' => 'Allow common names or preferred latin names'), 'default' => 'all', 'group' => 'Species'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'group' => 'Other Map Settings'), array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'sample_method_id', 'caption' => 'Sample Method', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:sample_methods'), 'required' => false, 'helpText' => 'The sample method that will be used for created samples.'), array('name' => 'subject_type_id', 'caption' => 'Subject Type', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:subject_type'), 'required' => true, 'helpText' => 'The subject type that will be used for created subject observations for each colour-marked individual.'), array('name' => 'defaults', 'caption' => 'Default Values', 'description' => 'Supply default values for each field as required. On each line, enter fieldname=value. For custom attributes, ' . 'the fieldname is the untranslated caption. For other fields, it is the model and fieldname, e.g. occurrence.record_status. ' . 'For date fields, use today to dynamically default to today\'s date. NOTE, currently only supports occurrence:record_status and ' . 'sample:date but will be extended in future.', 'type' => 'textarea', 'default' => 'occurrence:record_status=C'), array('name' => 'neck_collar_type', 'caption' => 'Neck Collar Type', 'description' => 'The type of identifier which indicates a neck collar.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_type'), 'required' => true, 'helpText' => 'The helptext. Todo: change this once you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'neck_collar_position', 'caption' => 'Neck Collar Position', 'description' => 'The body position to record for a neck collar.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_position', 'orderby' => 'sort_order'), 'required' => true, 'helpText' => 'The helptext. Todo: change this once you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'neck_collar_max_length', 'caption' => 'Neck collar maximum length', 'description' => 'Maximum length for a neck-collar identifier sequence.', 'type' => 'string', 'required' => false, 'group' => 'Identifiers'), array('name' => 'neck_collar_regex', 'caption' => 'Neck collar validation pattern', 'description' => 'The validation pattern (as a regular expression) for a neck-collar identifier sequence. ' . 'Eg. ^([A-Z]{2}[0-9]{2}|[A-Z]{3}[0-9])$ would only permit sequences of either 2 uppercase letters followed by 2 digits, ' . 'or 3 uppercase letters followed by 1 digit.', 'type' => 'string', 'required' => false, 'group' => 'Identifiers'), array('name' => 'enscribed_colour_ring_type', 'caption' => 'Enscribed Colour Ring Type', 'description' => 'The type of identifier which indicates an enscribed colour ring (\'darvic\').', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_type'), 'required' => true, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'right_enscribed_colour_ring_position', 'caption' => 'Right Leg Enscribed Colour Ring Position', 'description' => 'The body position to record for an enscribed colour ring (\'darvic\') on the right leg.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_position', 'orderby' => 'sort_order'), 'required' => true, 'helpText' => 'The helptext. Todo: change this once you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'left_enscribed_colour_ring_position', 'caption' => 'Left Leg Enscribed Colour Ring Position', 'description' => 'The body position to record for an enscribed colour ring (\'darvic\') on the left leg.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_position', 'orderby' => 'sort_order'), 'required' => true, 'helpText' => 'The helptext. Todo: change this once you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'enscribed_colour_ring_max_length', 'caption' => 'Colour ring maximum length', 'description' => 'Maximum length for an enscribed colour ring identifier sequence.', 'type' => 'string', 'required' => false, 'group' => 'Identifiers'), array('name' => 'enscribed_colour_ring_regex', 'caption' => 'Colour ring validation pattern', 'description' => 'The validation pattern (as a regular expression) for an enscribed colour ring identifier sequence. ' . 'Eg. ^([A-Z]{2}[0-9]{2}|[A-Z]{3}[0-9])$ would only permit sequences of either 2 uppercase letters followed by 2 digits, ' . 'or 3 uppercase letters followed by 1 digit.', 'type' => 'string', 'required' => false, 'group' => 'Identifiers'), array('name' => 'metal_ring_type', 'caption' => 'Metal Ring Type', 'description' => 'The type of identifier which indicates a metal ring.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_type'), 'required' => true, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'metal_ring_max_length', 'caption' => 'Metal ring maximum length', 'description' => 'Maximum length for a metal identifier sequence.', 'type' => 'string', 'required' => false, 'group' => 'Identifiers'), array('name' => 'metal_ring_regex', 'caption' => 'Metal ring validation pattern', 'description' => 'The validation pattern (as a regular expression) for a metal ring identifier sequence. ' . 'Eg. ^([A-Z]{2}[0-9]{2}|[A-Z]{3}[0-9])$ would only permit sequences of either 2 uppercase letters followed by 2 digits, ' . 'or 3 uppercase letters followed by 1 digit.', 'type' => 'string', 'required' => false, 'group' => 'Identifiers'), array('name' => 'base_colours', 'caption' => 'Base Colours', 'description' => 'The colours we want to let users record for the background of the coloured identifiers. Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:ring_colour'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'text_colours', 'caption' => 'Text Colours', 'description' => 'The colours we want to let users record for the text enscribed on the coloured identifiers. Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:ring_colour'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'position', 'caption' => 'Identifier Position', 'description' => 'The positions on the organism we want to let users record for the identifiers. Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_position', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'default_leg_vertical', 'caption' => 'Default Position on Leg', 'description' => 'If you are not specifying if a leg mark is above or below the \'knee\' in the above choices, ' . 'you can optionally specify a default position here.', 'type' => 'select', 'options' => array('?' => 'No Default', 'A' => 'Above the \'Knee\'', 'B' => 'Below the \'Knee\''), 'required' => false, 'group' => 'Identifiers'), array('name' => 'neck_collar_conditions', 'caption' => 'Neck Collar Conditions', 'description' => 'The identifier conditions we want to be reportable by recorders when observing a neck collar. Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_condition', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'coloured_ring_conditions', 'caption' => 'Coloured Ring Conditions', 'description' => 'The identifier conditions we want to be reportable by recorders when observing a coloured ring Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_condition', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'metal_ring_conditions', 'caption' => 'Metal Ring Conditions', 'description' => 'The identifier conditions we want to be reportable by recorders when observing a metal ring Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:identifier_condition', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Identifiers'), array('name' => 'other_devices', 'caption' => 'Other Devices', 'description' => 'What other devices (such as transmitters/trackers/loggers do you want to record? Tick all that apply.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:attachment_type'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'observation_comment', 'caption' => 'Allow Comment For Colour-marked Individual', 'description' => 'Tick this to allow a comment to be input for each reported colour-marked individual. ' . 'This comment is stored on the subject observation record', 'type' => 'boolean', 'required' => false, 'default' => false, 'group' => 'Subject observation'), array('name' => 'request_gender_values', 'caption' => 'Request Gender Values', 'description' => 'What (if any) gender options do you want to present for the colour-marked individual? ' . 'Leave un-ticked to hide all gender options.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:gender', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'default_gender', 'caption' => 'Default Gender', 'description' => 'What (if any) gender should be the default for the colour-marked individual?', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'blankText' => 'No default', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:gender', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'request_stage_values', 'caption' => 'Request Age Values', 'description' => 'What (if any) age/stage options do you want to present for the colour-marked individual? ' . 'Leave un-ticked to hide all age options.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:stage', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'default_stage', 'caption' => 'Default Age', 'description' => 'What (if any) age/stage should be the default for the colour-marked individual?', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'blankText' => 'No default', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:stage', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'request_life_status_values', 'caption' => 'Request Subject Status Values', 'description' => 'What (if any) life status options do you want to present for the colour-marked individual? ' . 'Leave un-ticked to hide all life status options.', 'type' => 'checkbox_group', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:life_status', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'default_life_status', 'caption' => 'Default Subject Status', 'description' => 'What (if any) subject status should be the default for the colour-marked individual?', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'blankText' => 'No default', 'extraParams' => array('termlist_external_key' => 'indicia:assoc:life_status', 'orderby' => 'sort_order'), 'required' => false, 'helpText' => 'The helptext. Todo: change this one you see where it shows on screen!!', 'group' => 'Subject observation'), array('name' => 'debug_info', 'caption' => 'Provide debug information', 'description' => 'Tick this to provide debug info on the form, DO NOT USE IN PRODUCTION!!!!', 'type' => 'boolean', 'required' => false, 'default' => false, 'group' => 'Debug')));
     return $retVal;
 }
示例#7
0
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'interface', 'caption' => 'Interface Style Option', 'description' => 'Choose the style of user interface, either dividing the form up onto separate tabs, ' . 'wizard pages or having all controls on a single page.', 'type' => 'select', 'options' => array('tabs' => 'Tabs', 'wizard' => 'Wizard', 'one_page' => 'All One Page'), 'group' => 'User Interface'), array('name' => 'structure', 'caption' => 'Form Structure', 'description' => 'Define the structure of the form. Each component goes on a new line and is nested inside the previous component where appropriate. The following types of ' . "component can be specified. <br/>" . "<strong>=tab name=</strong> is used to specify the name of a tab. <br/>" . "<strong>=*=</strong> indicates a placeholder for putting any custom attribute tabs not defined in this form structure. <br/>" . "<strong>[control name]</strong> indicates a predefined control is to be added to the form with the following predefined controls available: <br/>" . "&nbsp;&nbsp;<strong>[species]</strong> - a species grid or input control<br/>" . "&nbsp;&nbsp;<strong>[species_attributes]</strong> - any custom attributes for the occurrence, if not using the grid<br/>" . "&nbsp;&nbsp;<strong>[date]</strong><br/>" . "&nbsp;&nbsp;<strong>[map]</strong><br/>" . "&nbsp;&nbsp;<strong>[spatial reference]</strong><br/>" . "&nbsp;&nbsp;<strong>[location name]</strong><br/>" . "&nbsp;&nbsp;<strong>[location autocomplete</strong>br/>" . "&nbsp;&nbsp;<strong>[location select]</strong><br/>" . "&nbsp;&nbsp;<strong>[place search]</strong><br/>" . "&nbsp;&nbsp;<strong>[record status]</strong><br/>" . "&nbsp;&nbsp;<strong>[sample comment]</strong>. <br/>" . "<strong>@option=value</strong> on the line(s) following any control allows you to override one of the options passed to the control. The options " . "available depend on the control. For example @label=Abundance would set the untranslated label of a control to Abundance. " . "Other common options include helpText (set to a piece of additional text to display alongside the control) and class (to add css " . "classes to the control such as control-width-3). <br/>" . "<strong>[*]</strong> is used to make a placeholder for putting any custom attributes that should be inserted into the current tab.<br/>" . "<strong>?help text?</strong> is used to define help text to add to the tab, e.g. ?Enter the name of the site.?", 'type' => 'textarea', 'default' => "=Species=\r\n" . "?Please enter the species you saw and any other information about them.?\r\n" . "[species]\r\n" . "[species attributes]\r\n" . "[*]\r\n" . "=Place=\r\n" . "?Please provide the spatial reference of the record. You can enter the reference directly, or search for a place then click on the map.?\r\n" . "[place search]\r\n" . "[spatial reference]\r\n" . "[map]\r\n" . "[*]\r\n" . "=Other Information=\r\n" . "?Please provide the following additional information.?\r\n" . "[date]\r\n" . "[sample comment]\r\n" . "[*]\r\n" . "=*=", 'group' => 'User Interface'), array('name' => 'grid_report', 'caption' => 'Grid Report', 'description' => 'Name of the report to use to populate the grid for selecting existing data from. The report must return a sample_id ' . 'field for linking to the data entry form. As a starting point, try reports_for_prebuilt_forms/simple_occurrence_list_1 or ' . 'reports_for_prebuilt_forms/simple_sample_list_1 for a list of occurrences or samples respectively.', 'type' => 'string', 'group' => 'User Interface', 'default' => 'reports_for_prebuilt_forms/simple_sample_list_1'), array('name' => 'save_button_below_all_pages', 'caption' => 'Save button below all pages?', 'description' => 'Should the save button be present below all the pages (checked), or should it be only on the last page (unchecked)? ' . 'Only applies to the Tabs interface style.', 'type' => 'boolean', 'default' => 'false', 'group' => 'User Interface'), array('name' => 'multiple_occurrence_mode', 'caption' => 'Single or multiple occurrences per sample', 'description' => 'Method of data entry, via a grid of occurrences, one occurrence at a time, or allow the user to choose.', 'type' => 'select', 'options' => array('single' => 'Only allow entry of one occurrence at a time', 'multi' => 'Only allow entry of multiple occurrences using a grid', 'either' => 'Allow the user to choose single or multiple occurrence data entry.'), 'default' => 'multi', 'group' => 'Species'), array('name' => 'species_ctrl', 'caption' => 'Single Species Selection Control Type', 'description' => 'The type of control that will be available to select a single species.', 'type' => 'select', 'options' => array('autocomplete' => 'Autocomplete', 'select' => 'Select', 'listbox' => 'List box', 'radio_group' => 'Radio group', 'treeview' => 'Treeview', 'tree_browser' => 'Tree browser'), 'default' => 'autocomplete', 'group' => 'Species'), array('name' => 'occurrence_comment', 'caption' => 'Occurrence Comment', 'description' => 'Should an input box be present for a comment against each occurrence?', 'type' => 'boolean', 'default' => false, 'group' => 'Species'), array('name' => 'occurrence_images', 'caption' => 'Occurrence Images', 'description' => 'Should occurrences allow images to be uploaded?', 'type' => 'boolean', 'default' => false, 'group' => 'Species'), array('name' => 'list_id', 'caption' => 'Initial Species List ID', 'description' => 'The Indicia ID for the species list that species can be selected from. This list is pre-populated ' . 'into the grid when doing grid based data entry.', 'type' => 'int', 'required' => false, 'group' => 'Species'), array('name' => 'extra_list_id', 'caption' => 'Extra Species List ID', 'description' => 'The Indicia ID for the second species list that species can be selected from. This list is available for additional ' . 'taxa being added to the grid when doing grid based data entry.', 'type' => 'int', 'required' => false, 'group' => 'Species'), array('name' => 'species_names_filter', 'caption' => 'Species Names Filter', 'description' => 'Select the filter to apply to the species names which are available to choose from.', 'type' => 'select', 'options' => array('all' => 'All names are available', 'language' => 'Only allow selection of species using common names in the user\'s language', 'preferred' => 'Only allow selection of species using names which are flagged as preferred'), 'default' => 'autocomplete', 'group' => 'Species'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326).', 'type' => 'string', 'group' => 'Map'), array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID of the survey that data will be posted into.', 'type' => 'int'), array('name' => 'defaults', 'caption' => 'Default Values', 'description' => 'Supply default values for each field as required. On each line, enter fieldname=value. For custom attributes, ' . 'the fieldname is the untranslated caption. For other fields, it is the model and fieldname, e.g. occurrence.record_status. ' . 'For date fields, use today to dynamically default to today\'s date. NOTE, currently only supports occurrence:record_status and ' . 'sample:date but will be extended in future.', 'type' => 'textarea', 'default' => 'occurrence:record_status=C')));
     return $retVal;
 }
示例#8
0
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID of the survey that data will be posted into.', 'type' => 'int'), array('name' => 'percent_insects', 'caption' => 'Insect Identification Percentage', 'description' => 'The percentage of insects that must be identified before the collection may be completed.', 'type' => 'int'), array('name' => 'gallery_node', 'caption' => 'Gallery Node', 'description' => 'The DRUPAL node number for the Gallery/Filter node.', 'type' => 'int'), array('name' => 'protocol_attr_id', 'caption' => 'Protocol Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the Protocol.', 'type' => 'int', 'group' => 'Collection Attributes'), array('name' => 'complete_attr_id', 'caption' => 'Completeness Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores whether the collection is complete.', 'type' => 'int', 'group' => 'Collection Attributes'), array('name' => 'uid_attr_id', 'caption' => 'User ID Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the CMS User ID.', 'type' => 'smpAttr', 'group' => 'Collection Attributes'), array('name' => 'username_attr_id', 'caption' => 'Username Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s username.', 'type' => 'smpAttr', 'group' => 'Collection Attributes'), array('name' => 'email_attr_id', 'caption' => 'Email Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s email.', 'type' => 'smpAttr', 'group' => 'Collection Attributes'), array('name' => 'flower_list_id', 'caption' => 'Flower Species List ID', 'description' => 'The Indicia ID for the species list that flowers can be selected from.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'location_picture_camera_attr_id', 'caption' => 'Location Picture Camera Attribute ID', 'description' => 'Indicia ID for the location attribute that stores the Camera EXIF data for the location picture.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'location_picture_datetime_attr_id', 'caption' => 'Location Picture Datetime Attribute ID', 'description' => 'Indicia ID for the location attribute that stores the DateTime EXIF data for the location picture.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'occurrence_picture_camera_attr_id', 'caption' => 'Flower and Insect Picture Camera Attribute ID', 'description' => 'Indicia ID for the occurrence attribute that stores the Camera EXIF data for the flower and insect pictures.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'occurrence_picture_datetime_attr_id', 'caption' => 'Flower and Insect Picture Datetime Attribute ID', 'description' => 'Indicia ID for the occurrence attribute that stores the DateTime EXIF data for the flower and insect pictures.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'flower_type_attr_id', 'caption' => 'Flower Type Attribute ID', 'description' => 'Indicia ID for the occurrence attribute that stores how the flower got there.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'habitat_attr_id', 'caption' => 'habitat Attribute ID', 'description' => 'Indicia ID for the location attribute that describes the habitat.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'distance_attr_id', 'caption' => 'Distance Attribute ID', 'description' => 'Indicia ID for the location attribute that stores how far the nearest hive is.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'within50m_attr_id', 'caption' => 'within50m Attribute ID', 'description' => 'Indicia ID for the location attribute that describes whether the location is within 50m of a grand culture.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'start_time_attr_id', 'caption' => 'Start Time Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the start time.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'end_time_attr_id', 'caption' => 'End Time Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the end time.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'sky_state_attr_id', 'caption' => 'Sky State Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the state of the sky.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'temperature_attr_id', 'caption' => 'Temperature Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the temperature.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'wind_attr_id', 'caption' => 'Wind Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the Wind.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'shade_attr_id', 'caption' => 'Shade Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the shade.', 'type' => 'int', 'group' => 'Session Attributes'), array('name' => 'insect_list_id', 'caption' => 'Insect Species List ID', 'description' => 'The Indicia ID for the species list that insects can be selected from.', 'type' => 'int', 'group' => 'Insect Attributes'), array('name' => 'number_attr_id', 'caption' => 'Insect Number Attribute ID', 'description' => 'The Indicia ID for the occurrence attribute that stores the number of insects.', 'type' => 'int', 'group' => 'Insect Attributes'), array('name' => 'foraging_attr_id', 'caption' => 'Foraging Attribute ID', 'description' => 'The Indicia ID for the occurrence attribute that stores the foraging flag.', 'type' => 'int', 'group' => 'Insect Attributes'), array('name' => 'help_module', 'caption' => 'Help DRUPAL Module', 'description' => 'The DRUPAL module which contains the context sensitive help functionality.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_inclusion_function', 'caption' => 'Help Module inclusion function', 'description' => 'The DRUPAL PHP function which is used to include the relevant Javascript into the page.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_function', 'caption' => 'Help Module invocation function', 'description' => 'The Javascript function which is called when the help buttons are clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_collection_arg', 'caption' => 'Collection Help argument', 'description' => 'The argument(s) passed to the Help Module invocation function when the help button in "Create a collection" is clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_flower_arg', 'caption' => 'Flower Identification Help argument', 'description' => 'The argument(s) passed to the Help Module invocation function when the help button in "Flower Identification" is clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_environment_arg', 'caption' => 'Environment Identification Help argument', 'description' => 'The argument(s) passed to the Help Module invocation function when the help button in "Environment" is clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_location_arg', 'caption' => 'Location Help argument', 'description' => 'The argument(s) passed to the Help Module invocation function when the help button in "Location" is clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_session_arg', 'caption' => 'Session Help argument', 'description' => 'The argument(s) passed to the Help Module invocation function when the help button in "Session" is clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'help_insect_arg', 'caption' => 'Insect Identification Help argument', 'description' => 'The argument(s) passed to the Help Module invocation function when the help button in "Insect Identification" is clicked.', 'type' => 'string', 'group' => 'Help', 'required' => false), array('name' => 'ID_tool_insect_url', 'caption' => 'Insect ID Tool URL', 'description' => 'The URL to call which triggers the Insect Identification Tool functionality.', 'type' => 'string', 'group' => 'ID Tool'), array('name' => 'ID_tool_session_param', 'caption' => 'ID Tool session parameter', 'description' => 'The URL extension to be used in the request to the ID tool to pass the SPIPOLL session ID.', 'type' => 'string', 'group' => 'ID Tool', 'default' => '#spipollsessionid='), array('name' => 'ID_tool_insect_poll_dir', 'caption' => 'Insect ID Tool Module poll directory', 'description' => 'The directory which to poll for the results of the Insect ID Tool', 'type' => 'string', 'group' => 'ID Tool'), array('name' => 'ID_tool_poll_interval', 'caption' => 'Time in ms between polls of results directory', 'description' => 'Time in ms between polls of results directory', 'type' => 'int', 'group' => 'ID Tool', 'default' => 1500), array('name' => 'ID_tool_poll_timeout', 'caption' => 'Time in ms before the ID Tool is aborted.', 'description' => 'Time in ms before the ID Tool is aborted.', 'type' => 'int', 'group' => 'ID Tool', 'default' => 1800000), array('name' => 'INSEE_url', 'caption' => 'URL for INSEE Search WFS service', 'description' => 'The URL used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'INSEE_prefix', 'caption' => 'Feature type prefix for INSEE Search', 'description' => 'The Feature type prefix used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'INSEE_type', 'caption' => 'Feature type for INSEE Search', 'description' => 'The Feature type used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'INSEE_ns', 'caption' => 'Name space for INSEE Search', 'description' => 'The Name space used for the WFS feature lookup when search for INSEE numbers.', 'type' => 'string', 'group' => 'INSEE Search'), array('name' => 'Flower_Image_Ratio', 'caption' => 'Flower image aspect ratio.', 'description' => 'Expected Ratio of width to height for flower images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '4/3'), array('name' => 'Environment_Image_Ratio', 'caption' => 'Environment image aspect ratio.', 'description' => 'Expected Ratio of width to height for environment images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '4/3'), array('name' => 'Insect_Image_Ratio', 'caption' => 'Insect image aspect ratio.', 'description' => 'Expected Ratio of width to height for insect images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '1/1')));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $params = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'manager_permission', 'caption' => 'Drupal Permission for Manager mode', 'description' => 'Enter the Drupal permission name to be used to determine if this user is a manager: such people may modify the shape of an existing flight area.', 'type' => 'string', 'required' => false), array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'occurrence_attribute_id', 'caption' => 'Occurrence Attribute', 'description' => 'The attribute (typically an abundance attribute) that will be presented in the grid for input. Entry of an attribute value will create ' . ' an occurrence.', 'type' => 'select', 'table' => 'occurrence_attribute', 'captionField' => 'caption', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'taxon_list_id', 'caption' => 'Species List', 'description' => 'The species checklist used for the species autocomplete.', 'type' => 'select', 'table' => 'taxon_list', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true, 'group' => 'Species'), array('name' => 'taxon_filter_field', 'caption' => 'Species List: Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected Species List, then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('taxon' => 'Taxon', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title'), 'siteSpecific' => true, 'required' => false, 'group' => 'Species'), array('name' => 'taxon_filter', 'caption' => 'Species List: Taxon filter items', 'description' => 'When filtering the list of available taxa, taxa will not be available for recording unless they match one of the ' . 'values you input in this box. Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group.', 'type' => 'textarea', 'siteSpecific' => true, 'required' => false, 'group' => 'Species'), array('name' => 'custom_attribute_options', 'caption' => 'Options for custom attributes', 'description' => 'A list of additional options to pass through to custom attributes, one per line. Each option should be specified as ' . 'the attribute name followed by | then the option name, followed by = then the value. For example, smpAttr:1|class=control-width-5.', 'type' => 'textarea', 'required' => false, 'siteSpecific' => true), array('name' => 'summary_page', 'caption' => 'Path to summary page', 'description' => 'Path used to access the main page giving a summary of the entered time walks after a successful submission (e.g. a report_calendar_grid page).', 'type' => 'text_input', 'required' => true, 'siteSpecific' => true), array('name' => 'numberOfCounts', 'caption' => 'Max number of counts', 'description' => 'Max number of counts to be entered in this location.', 'type' => 'int', 'required' => true, 'siteSpecific' => true, 'default' => 2), array('name' => 'numberOfSpecies', 'caption' => 'Number of species', 'description' => 'The number of species that can be entered per count.', 'type' => 'int', 'required' => true, 'siteSpecific' => true, 'default' => 2), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'default' => 'default', 'group' => 'Other Map Settings'), array('name' => 'precision', 'caption' => 'Sref Precision', 'description' => 'The precision to be applied to the polygon centroid when determining the SREF. Leave blank to not set.', 'type' => 'int', 'required' => false, 'group' => 'Other Map Settings')));
     return $params;
 }
示例#10
0
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'interface', 'caption' => 'Interface Style Option', 'description' => 'Choose the style of user interface, either dividing the form up onto separate tabs, ' . 'wizard pages or having all controls on a single page.', 'type' => 'select', 'options' => array('tabs' => 'Tabs', 'wizard' => 'Wizard', 'one_page' => 'All One Page'), 'group' => 'User Interface', 'default' => 'tabs'), array('name' => 'tabProgress', 'caption' => 'Show Progress through Wizard/Tabs', 'description' => 'For Wizard or Tabs interfaces, check this option to show a progress summary above the controls.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('name' => 'force_next_previous', 'caption' => 'Next/previous buttons shown in tab mode?', 'description' => 'Should the wizard style Next & Previous buttons be shown even when in tab mode? This option does ' . 'not apply when the option "Submit button below all pages" is set.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('name' => 'clientSideValidation', 'caption' => 'Client Side Validation', 'description' => 'Enable client side validation of controls using JavaScript.', 'type' => 'boolean', 'default' => true, 'required' => false, 'group' => 'User Interface'), array('name' => 'attribute_termlist_language_filter', 'caption' => 'Internationalise lookups', 'description' => 'In lookup custom attribute controls, use the language associated with the current user account to filter to show only the terms in that language.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('name' => 'no_grid', 'caption' => 'Skip initial grid of data', 'description' => 'If checked, then when initially loading the form the data entry form is immediately displayed, as opposed to ' . 'the default of displaying a grid of the user\'s data which they can add to. By ticking this box, it is possible to use this form ' . 'for data entry by anonymous users though they cannot then list the data they have entered.', 'type' => 'boolean', 'default' => true, 'required' => false, 'group' => 'User Interface'), array('name' => 'grid_num_rows', 'caption' => 'Number of rows displayed in grid', 'description' => 'Number of rows display on each page of the grid.', 'type' => 'int', 'default' => 10, 'group' => 'User Interface'), array('name' => 'save_button_below_all_pages', 'caption' => 'Submit button below all pages?', 'description' => 'Should the submit button be present below all the pages (checked), or should it be only on the last page (unchecked)? ' . 'Only applies to the Tabs interface style.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'User Interface'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'default' => 'default', 'group' => 'Other Map Settings'), array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into and that defines custom attributes.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'high_volume', 'caption' => 'High volume reporting', 'description' => 'Tick this box to enable caching which prevents reporting pages with a high number of hits from generating ' . 'excessive server load. Currently compatible only with reporting pages that do not integrate with the user profile.', 'type' => 'boolean', 'default' => false, 'required' => false)));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     return array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), iform_user_get_user_parameters(), array(array('name' => 'interface', 'caption' => 'Interface Style Option', 'description' => 'Choose the style of user interface, either dividing the form up onto separate tabs, ' . 'wizard pages or having all controls on a single page.', 'type' => 'select', 'options' => array('tabs' => 'Tabs', 'wizard' => 'Wizard', 'one_page' => 'All One Page'), 'group' => 'User Interface'), array('name' => 'species_ctrl', 'caption' => 'Species Control Type', 'description' => 'The type of control that will be available to select a species.', 'type' => 'select', 'options' => array('autocomplete' => 'Autocomplete', 'select' => 'Select', 'listbox' => 'List box', 'radio_group' => 'Radio group', 'treeview' => 'Treeview', 'tree_browser' => 'Tree browser'), 'group' => 'User Interface'), array('name' => 'restrict_species_to_users_lang', 'caption' => 'Restrict species by user\'s language', 'description' => 'Only show species that are have common names in the user\'s selected language.', 'type' => 'boolean', 'group' => 'User Interface'), array('name' => 'preferred', 'caption' => 'Preferred species only?', 'description' => 'Should the selection of species be limited to preferred names only?', 'type' => 'boolean', 'group' => 'User Interface'), array('name' => 'abundance_ctrl', 'caption' => 'Abundance Control Type', 'description' => 'The type of control that will be available to select the approximate abundance.', 'type' => 'select', 'options' => array('select' => 'Select', 'listbox' => 'List box', 'radio_group' => 'Radio group'), 'group' => 'User Interface'), array('name' => 'abundance_overrides', 'caption' => 'Abundance Overrides by Species', 'description' => 'If a species should not use the default abundance attribute, list each species preferred name on a separate line, followed ' . 'by a colon then the attribute IDs, comma separated. This only works when loading the form with a preset species in the URL.', 'type' => 'textarea', 'group' => 'User Interface', 'required' => false), array('name' => 'list_id', 'caption' => 'Species List ID', 'description' => 'The Indicia ID for the species list that species can be selected from.', 'type' => 'int', 'group' => 'Misc'), array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID for the survey that data is saved into.', 'type' => 'int', 'group' => 'Misc'), array('name' => 'record_status', 'caption' => 'Record Status', 'description' => 'The initial record status for saved records.', 'type' => 'select', 'options' => array('C' => 'Records are flagged as data entry complete.', 'I' => 'Records are flagged as data entry in progress.', 'T' => 'Records are flagged as for testing purposes.'), 'default' => 'C', 'group' => 'Misc'), array('name' => 'first_name_attr_id', 'caption' => 'First Name Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s first name.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'surname_attr_id', 'caption' => 'Surname Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s surname.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'phone_attr_id', 'caption' => 'Phone Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s phone.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'contact_attr_id', 'caption' => 'Contactable Attribute ID', 'description' => 'Indicia ID for the sample attribute that if the user has opted in for being contacted regarding this record.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'abundance_attr_id', 'caption' => 'Abundance Attribute ID', 'description' => 'Indicia ID for the occurrence attribute that records the approximate abundance.', 'type' => 'occAttr', 'group' => 'Occurrence Attributes'), array('name' => 'abundance_termlist_id', 'caption' => 'Abundance Termlist ID', 'description' => 'Indicia ID for the termlist that contains the options to select from when specifying the approximate abundance.', 'type' => 'termlist', 'group' => 'Termlists'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'group' => 'Misc')));
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => '2nd_map_height', 'caption' => 'Second Map Height (px)', 'description' => 'Height in pixels of the second (focus on collection) map.', 'type' => 'int', 'group' => 'Initial Map View', 'default' => 300), array('name' => '2nd_map_zoom', 'caption' => 'Second Map Zoom', 'description' => 'Default Zoom when displaying a collection.', 'type' => 'int', 'group' => 'Initial Map View', 'required' => false), array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID of the survey that data will be posted into.', 'type' => 'int'), array('name' => 'search_url', 'caption' => 'URL for Search WFS service', 'description' => 'The URL used for the WFS feature lookup when searching.', 'type' => 'string', 'group' => 'Search'), array('name' => 'search_prefix', 'caption' => 'Feature type prefix for Search', 'description' => 'The Feature type prefix used for the WFS feature lookup when searching.', 'type' => 'string', 'group' => 'Search'), array('name' => 'search_ns', 'caption' => 'Name space for Search', 'description' => 'The Name space used for the WFS feature lookup when searching.', 'type' => 'string', 'group' => 'Search'), array('name' => 'search_collections_layer', 'caption' => 'Name layer for the Collections Search', 'description' => 'The Name of the Geoserver Layer used for the WFS feature lookup when searching Collections.', 'type' => 'string', 'group' => 'Search'), array('name' => 'search_insects_layer', 'caption' => 'Name layer for the Insects Search', 'description' => 'The Name of the Geoserver Layer used for the WFS feature lookup when searching Insects.', 'type' => 'string', 'group' => 'Search'), array('name' => 'collectionsPerPage', 'caption' => 'Collections per page of search results', 'description' => 'Number of Collections per page of search results.', 'type' => 'int', 'default' => 5, 'group' => 'Search'), array('name' => 'insectsPerRow', 'caption' => 'Number of Insects per row.', 'description' => 'Number of Insects per row of search results and on collection insect list.', 'type' => 'int', 'default' => 3, 'group' => 'Search'), array('name' => 'insectsRowsPerPage', 'caption' => 'Number of rows of insects per page of search results', 'description' => 'Number of rows of insects per page of search results.', 'type' => 'int', 'default' => 3, 'group' => 'Search'), array('name' => 'max_features', 'caption' => 'Max number of items returned', 'description' => 'Maximum number of features returned by the WFS search.', 'type' => 'int', 'default' => 1000, 'group' => 'Search'), array('name' => 'INSEE_url', 'caption' => 'URL for Localisation Searches WFS service', 'description' => 'The URL used for the SPIPOLL provided WFS feature lookup.', 'type' => 'string', 'group' => 'Localisation Search'), array('name' => 'INSEE_prefix', 'caption' => 'Feature type prefix for Localisation Search', 'description' => 'The Feature type prefix used for the SPIPOLL provided WFS feature lookup.', 'type' => 'string', 'group' => 'Localisation Search'), array('name' => 'INSEE_type', 'caption' => 'Feature type for INSEE Search', 'description' => 'The Feature type used for the WFS feature lookup when search for locaisation details when displaying collections and insects.', 'type' => 'string', 'group' => 'Localisation Search'), array('name' => 'Localisation_spec', 'caption' => 'Localisation Search Specification', 'description' => 'The Specification of the search methods: semi-colon separated list of following groups: Caption:featureType:geometryField:DisplayField:extraDataField:lookUpMaxFeatures:maxNumInMainSearch:SearchField1[like*|*like*|equal]{:SearchField2:[like*|*like*|equal]{..}}.', 'type' => 'textarea', 'group' => 'Localisation Search'), array('name' => 'INSEE_ns', 'caption' => 'Name space for Localisation Search', 'description' => 'The Name space used for the SPIPOLL provided WFS feature lookup.', 'type' => 'string', 'group' => 'Localisation Search'), array('name' => 'Feature_Colour', 'caption' => 'Localisation Search Feature Colour', 'description' => 'The Colour on the map of the features returned by the localisation lookup', 'type' => 'string', 'default' => 'Blue', 'group' => 'Localisation Search'), array('name' => 'Feature_Opacity', 'caption' => 'Localisation Search Feature Opacity', 'description' => 'The Fill Opacity on the map of the features returned by the localisation lookup', 'type' => 'string', 'default' => '0.1', 'group' => 'Localisation Search'), array('name' => 'Polygon_Colour', 'caption' => 'Polygon Layer Feature Colour', 'description' => 'The Colour on the map of the features created by the Polygon Tool', 'type' => 'string', 'default' => 'Blue', 'group' => 'Drawing'), array('name' => 'Polygon_Opacity', 'caption' => 'Polygon Layer Feature Opacity', 'description' => 'The Fill Opacity on the map of the features created by the Polygon Tool', 'type' => 'string', 'default' => '0.1', 'group' => 'Drawing'), array('name' => 'front_page_attr_id', 'caption' => 'Front page attribute ID', 'description' => 'Indicia ID for the sample attribute used to indicate that a collection is to be included on the front page. NB this is used by the DRUPAL front page to build the report request qnd should be left in place.', 'type' => 'int', 'default' => 29, 'group' => 'Collection Attributes'), array('name' => 'flower_type_dont_know', 'caption' => 'Flower Type Dont Know ID', 'description' => 'Indicia ID for the term meaning_id that shows a Flower type of dont know.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'flower_list_id', 'caption' => 'Flower Species List ID', 'description' => 'The Indicia ID for the species list that flowers can be selected from.', 'type' => 'int', 'group' => 'Floral Station Attributes'), array('name' => 'flower_data_entry_only', 'caption' => 'Data entry only flowers', 'description' => 'Only include in the filter those flowers which are flagged as data entry allowed.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'Floral Station Attributes'), array('name' => 'insect_list_id', 'caption' => 'Insect Species List ID', 'description' => 'The Indicia ID for the species list that insects can be selected from.', 'type' => 'int', 'group' => 'Insect Attributes'), array('name' => 'insect_data_entry_only', 'caption' => 'Data entry only insects', 'description' => 'Only include in the filter those insects which are flagged as data entry allowed.', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'Insect Attributes'), array('name' => 'deleteable_user_id', 'caption' => 'Deleteable User ID', 'description' => 'The Drupal User ID of the user who can delete determinations.', 'required' => false, 'type' => 'int', 'group' => 'User Interface'), array('name' => 'ID_tool_insect_url', 'caption' => 'Insect ID Tool URL', 'description' => 'The URL to call which triggers the Insect Identification Tool functionality.', 'type' => 'string', 'group' => 'ID Tool'), array('name' => 'ID_tool_session_param', 'caption' => 'ID Tool session parameter', 'description' => 'The URL extension to be used in the request to the ID tool to pass the SPIPOLL session ID.', 'type' => 'string', 'group' => 'ID Tool', 'default' => '#spipollsessionid='), array('name' => 'ID_tool_insect_poll_dir', 'caption' => 'Insect ID Tool Module poll directory', 'description' => 'The directory which to poll for the results of the Insect ID Tool', 'type' => 'string', 'group' => 'ID Tool'), array('name' => 'ID_tool_poll_interval', 'caption' => 'Time in ms between polls of results directory', 'description' => 'Time in ms between polls of results directory', 'type' => 'int', 'group' => 'ID Tool', 'default' => 1500), array('name' => 'ID_tool_poll_timeout', 'caption' => 'Time in ms before the ID Tool is aborted.', 'description' => 'Time in ms before the ID Tool is aborted.', 'type' => 'int', 'group' => 'ID Tool', 'default' => 1800000), array('name' => 'Flower_Image_Ratio', 'caption' => 'Flower image aspect ratio.', 'description' => 'Expected Ratio of width to height for flower images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '4/3'), array('name' => 'Environment_Image_Ratio', 'caption' => 'Environment image aspect ratio.', 'description' => 'Expected Ratio of width to height for environment images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '4/3'), array('name' => 'Insect_Image_Ratio', 'caption' => 'Insect image aspect ratio.', 'description' => 'Expected Ratio of width to height for insect images - 4/3 is horizontal, 3/4 is vertical.', 'type' => 'string', 'group' => 'Images', 'default' => '1/1'), array('name' => 'alert_js_function', 'caption' => 'Alert JS Function', 'description' => 'JS function called when an alert is generated', 'type' => 'string', 'group' => 'JS Calls', 'required' => false), array('name' => 'preferred_js_function', 'caption' => 'Preferred JS Function', 'description' => 'JS function called when an object is to be added to the users preferred list', 'type' => 'string', 'group' => 'JS Calls', 'required' => false)));
     return $retVal;
 }
示例#13
0
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     return array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'sites_list_path', 'caption' => 'Site list page path', 'description' => 'Enter the path to the page which the site list is on.', 'type' => 'string', 'required' => true, 'group' => 'General Settings'), array('name' => 'visit_path', 'caption' => 'Visit Data Entry page path', 'description' => 'Enter the path to the page which the Visit Data Entry is on.', 'type' => 'string', 'required' => true, 'group' => 'General Settings'), array('name' => 'location_type_term', 'caption' => 'Site location type term', 'description' => 'Select the term used for the main site location types.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'term', 'extraParams' => array('termlist_external_key' => 'indicia:location_types'), 'required' => true, 'group' => 'General Settings'), array('name' => 'tree_type_term', 'caption' => 'Tree location type term', 'description' => 'Select the term used for tree location types.', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'term', 'extraParams' => array('termlist_external_key' => 'indicia:location_types'), 'required' => true, 'group' => 'General Settings'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326).', 'type' => 'text_input', 'group' => 'Other Map Settings'), array('name' => 'maxPrecision', 'caption' => 'Max Sref Precision', 'description' => 'The maximum precision to be applied when determining the SREF. Leave blank to not set.', 'type' => 'int', 'required' => false, 'group' => 'Other Map Settings'), array('name' => 'minPrecision', 'caption' => 'Min Sref Precision', 'description' => 'The minimum precision to be applied when determining the SREF. Leave blank to not set.', 'type' => 'int', 'required' => false, 'group' => 'Other Map Settings'), array('name' => 'tree_map_height', 'caption' => 'Tree Map Height (px)', 'description' => 'Height in pixels of the map.', 'type' => 'int', 'group' => 'Initial Map View', 'default' => 600), array('name' => 'tree_map_buffer', 'caption' => 'Site Trees Map Buffer', 'description' => 'Factor to multiple the size of the site by, in order to generate a margin around the site when displaying the site on the Site Trees tab.', 'type' => 'string', 'group' => 'Initial Map View', 'default' => '0.1'), array('name' => 'allow_user_assignment', 'label' => 'Allow users to be assigned to Locations', 'type' => 'boolean', 'description' => 'Can administrators link users to Locations that they are allowed to record at? Requires a multi-value CMS User ID attribute on the locations.', 'default' => true, 'required' => false, 'group' => 'General Settings'), array('name' => 'manager_permission', 'caption' => 'Drupal Permission for Manager mode', 'description' => 'Enter the Drupal permission name to be used to determine if this user is a manager.', 'type' => 'string', 'required' => false), array('name' => 'standard_controls_trees', 'caption' => 'Controls to add to Tree map', 'description' => 'List of map controls, one per line. Select from layerSwitcher, zoomBox, panZoom, panZoomBar, drawPolygon, drawPoint, drawLine, ' . 'hoverFeatureHighlight, clearEditLayer, modifyFeature, graticule.', 'type' => 'textarea', 'group' => 'Other Map Settings', 'required' => false, 'default' => "layerSwitcher\npanZoomBar\nselectFeature\nhoverFeatureHighlight"), array('fieldname' => 'taxon_list_id', 'label' => 'Tree Species List ', 'helpText' => 'The species list that tree species can be selected from.', 'type' => 'select', 'table' => 'taxon_list', 'valueField' => 'id', 'captionField' => 'title', 'group' => 'Species', 'siteSpecific' => true), array('name' => 'species_ctrl', 'caption' => 'Species Selection Control Type', 'description' => 'The type of control that will be available to select the species.', 'type' => 'select', 'options' => array('species_autocomplete' => 'Autocomplete', 'select' => 'Select', 'listbox' => 'List box', 'radio_group' => 'Radio group', 'treeview' => 'Treeview', 'tree_browser' => 'Tree browser'), 'default' => 'select', 'group' => 'Species'), array('name' => 'speciesNameFilterMode', 'caption' => 'Species Names Filter', 'description' => 'Select the filter to apply to the species names which are available to choose from.', 'type' => 'select', 'options' => array('all' => 'All names are available', 'currentLanguage' => 'Only allow selection of species using common names in the user\'s language', 'preferred' => 'Only allow selection of species using names which are flagged as preferred', 'excludeSynonyms' => 'Allow common names or preferred latin names'), 'default' => 'all', 'group' => 'Species'), array('name' => 'taxon_filter_field', 'caption' => 'Field used to filter taxa', 'description' => 'If you want to allow recording for just part of the selected list(s), then select which field you will ' . 'use to specify the filter by.', 'type' => 'select', 'options' => array('id' => 'Taxon ID', 'taxon' => 'Common name of the taxa', 'preferred_name' => 'Preferred name of the taxa', 'taxon_meaning_id' => 'Taxon Meaning ID', 'taxon_group' => 'Taxon group title', 'external_key' => 'Taxon external key'), 'required' => false, 'group' => 'Species'), array('name' => 'taxon_filter', 'caption' => 'Taxon filter items', 'description' => 'Taxa can be filtered by entering values into this box. ' . 'Enter one value per line. E.g. enter a list of taxon group titles if you are filtering by taxon group. ' . 'If you provide a single taxon preferred name, taxon meaning ID or external key in this box, then the form is set up for recording just this single ' . 'species. Therefore there will be no species picker control or input grid, and the form will always operate in the single record, non-grid mode. ', 'type' => 'textarea', 'required' => false, 'group' => 'Species'), array('name' => 'attrOptions', 'caption' => 'Attribute Options', 'description' => 'Provides the ability to set the value of options used to generate the attribute controls. One setting per line, each of the format ' . '"{option}={value}" to apply to the entire control (e.g. "label=Grid Ref"), or "{attr}|{option}={value}" which apply to a specific ' . 'custom attribute (e.g. "smpAttr:3|label=Quantity").', 'type' => 'textarea', 'required' => false, 'group' => 'General Settings')));
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $retVal = array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326). ' . 'Set to "default" to use the settings defined in the IForm Settings page.', 'type' => 'string', 'group' => 'Map'), array('name' => 'interface', 'caption' => 'Interface Style Option', 'description' => 'Choose the style of user interface, either dividing the form up onto separate tabs, ' . 'wizard pages or having all controls on a single page.', 'type' => 'select', 'options' => array('tabs' => 'Tabs', 'wizard' => 'Wizard', 'one_page' => 'All One Page'), 'group' => 'User Interface'), array('name' => 'location_ctrl', 'caption' => 'Location Control Type', 'description' => 'The type of control that will be available to select a location.', 'type' => 'select', 'options' => array('location_autocomplete' => 'Autocomplete', 'location_select' => 'Select'), 'group' => 'User Interface'), array('name' => 'survey_id', 'caption' => 'Survey ID', 'description' => 'The Indicia ID of the survey that data will be posted into.', 'type' => 'int'), array('name' => 'list_id', 'caption' => 'Initial Species List ID', 'description' => 'The Indicia ID for the species list that species can be selected from. This list is pre-populated ' . 'into the grid.', 'type' => 'int'), array('name' => 'extra_list_id', 'caption' => 'Extra Species List ID', 'description' => 'The Indicia ID for the species list that species can be selected from. This list is available for additional ' . 'taxa being added to the grid.', 'type' => 'int', 'required' => false), array('name' => 'uid_attr_id', 'caption' => 'User ID Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the CMS User ID.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'username_attr_id', 'caption' => 'Username Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s username.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'email_attr_id', 'caption' => 'Email Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s email.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'first_name_attr_id', 'caption' => 'First Name Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s first name.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'surname_attr_id', 'caption' => 'Surname Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s surname.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'phone_attr_id', 'caption' => 'Phone Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the user\'s phone.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'biotope_attr_id', 'caption' => 'Biotope Attribute ID', 'description' => 'Indicia ID for the sample attribute that stores the Biotope.', 'type' => 'smpAttr', 'group' => 'Sample Attributes'), array('name' => 'checklist_attributes', 'caption' => 'Species Checklist Grid Contents', 'description' => 'List of Indicia IDs for occurrence attributes included in the species checklist grid, comma separated.', 'type' => 'string', 'group' => 'Species Checklist Attributes')));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  * @todo: Implement this method
  */
 public static function get_parameters()
 {
     // ensure that the lang class loads
     iform_load_helpers(array('data_entry_helper'));
     return array_merge(iform_map_get_map_parameters(), iform_map_get_georef_parameters(), array(array('name' => 'maxSectionCount', 'label' => lang::get('Max. Section Count'), 'type' => 'text_input', 'description' => lang::get('The maximum number of sections a user is allowed to create for a transect site.'), 'group' => 'UKBMS Settings'), array('name' => 'survey_id', 'caption' => 'Survey', 'description' => 'The survey that data will be posted into.', 'type' => 'select', 'table' => 'survey', 'captionField' => 'title', 'valueField' => 'id', 'siteSpecific' => true), array('name' => 'sites_list_path', 'caption' => 'Site list page path', 'description' => 'Enter the path to the page which the site list is on.', 'type' => 'text_input', 'group' => 'UKBMS Settings'), array('name' => 'section_edit_path', 'caption' => 'Section edit page path', 'description' => 'Enter the path to the page which the section editor is on.', 'type' => 'text_input', 'group' => 'UKBMS Settings'), array('name' => 'spatial_systems', 'caption' => 'Allowed Spatial Ref Systems', 'description' => 'List of allowable spatial reference systems, comma separated. Use the spatial ref system code (e.g. OSGB or the EPSG code number such as 4326).', 'type' => 'string', 'group' => 'Other Map Settings')));
 }