/**
  * 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(parent::get_parameters(), array(array('name' => 'observer_name', 'caption' => 'Observer Name', 'description' => 'Indicia ID for the sample attribute that is the name of the observer.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'observer_email', 'caption' => 'Observer Email', 'description' => 'Indicia ID for the sample attribute that is the email of the observer.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'observer_phone_number', 'caption' => 'Observer Phone Number', 'description' => 'Indicia ID for the sample attribute that is the phone number of the observer.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'start_time', 'caption' => 'Start time', 'description' => 'Indicia ID for the sample attribute that records the start time of the watch.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'end_time', 'caption' => 'End time', 'description' => 'Indicia ID for the sample attribute that records the end time of the watch.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'cetaceans_seen', 'caption' => 'Cetaceans seen?', 'description' => 'Indicia ID for the sample attribute that records whether Cetaceans have been seen.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'cetaceans_seen_yes', 'caption' => 'Cetaceans Seen Yes Answer', 'description' => 'Indicia ID for the termlists_term that stores the Yes answer for Cetaceans Seen?.', 'type' => 'string', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'sea_state', 'caption' => 'Sea state?', 'description' => 'Indicia ID for the sample attribute that records sea state.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'visibility', 'caption' => 'Visibility?', 'description' => 'Indicia ID for the sample attribute that records visibility.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'non_cetacean_marine_animals_seen', 'caption' => 'Non cetacean marine animals seen?', 'description' => 'Indicia ID for the sample attribute that records whether non-cetacean marine animals have been seen.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'feeding_birds_seen', 'caption' => 'Feeding birds seen?', 'description' => 'Indicia ID for the sample attribute that records whether feeding birds have been seen.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'number_of_people_spoken_to_during_watch', 'caption' => 'Number of people spoken to during watch?', 'description' => 'Indicia ID for the sample attribute that records the number of people spoken to during the watch.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'wdcs_newsletter', 'caption' => 'WDCS newsletter opt-in', 'description' => 'Indicia ID for the sample attribute that records whether a guest has chosen to receive
         the WDCS newsletter.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Sample Attributes'), array('name' => 'bearing_to_sighting', 'caption' => 'Bearing to sighting', 'description' => 'Indicia ID for the occurrence attribute that stores the bearing to the sighting.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'reticules', 'caption' => 'Reticules', 'description' => 'Indicia ID for the occurrence attribute that holds the number of reticules.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'reticules_from', 'caption' => 'Reticules from', 'description' => 'Indicia ID for the occurrence attribute that stores whether the Reticules value
         is from the land or sky.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'distance_estimate', 'caption' => 'Distance Estimate', 'description' => 'Indicia ID for the occurrence attribute that stores the distance estimate to the sighting.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'adults', 'caption' => 'Adults', 'description' => 'Indicia ID for the occurrence attribute that stores the number of adults associated with the sighting.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'calves', 'caption' => 'Calves', 'description' => 'Indicia ID for the occurrence attribute that stores the number of Calves associated with the sighting.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'activity', 'caption' => 'Activity', 'description' => 'Indicia ID for the occurrence attribute that stores whether a sighting is travelling or staying.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Occurrence Attributes'), array('name' => 'behaviour', 'caption' => 'Behaviour', 'description' => 'Indicia ID for the occurrence attribute that stores whether a sighting is calm or active.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Occurrence Attributes'), array('name' => 'platform_height', 'caption' => 'Platform Height', 'description' => 'Indicia ID for the location attribute that stores the platform height.', 'type' => 'select', 'table' => 'location_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Shorewatch Location Attributes'), array('name' => 'effort', 'caption' => 'Effort', 'description' => 'Indicia ID for the termlists_term that stores the effort sample method id.', 'type' => 'select', 'table' => 'termlists_term', 'valueField' => 'id', 'captionField' => 'term', 'group' => 'Shorewatch Sample Methods'), array('name' => 'reticule_sighting', 'caption' => 'Reticule Sighting', 'description' => 'Indicia ID for the termlists_term that stores the reticule sighting sample method id.', 'type' => 'select', 'table' => 'termlists_term', 'valueField' => 'id', 'captionField' => 'term', 'group' => 'Shorewatch Sample Methods'), array('name' => 'adhocMode', 'caption' => 'Run the page in ad-hoc mode?', 'description' => 'Select if you wish to run the page in ad-hoc mode', 'type' => 'boolean', 'default' => false, 'required' => false, 'group' => 'Shorewatch Page Configuration')));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $r = array_merge(parent::get_parameters(), array(array('fieldname' => 'season_start', 'label' => 'Season Start', 'helpText' => 'Date which always falls in the first week of the recording season, in ddmm format.', 'type' => 'text_input', 'default' => '2803', 'group' => 'Weekly Counts'), array('fieldname' => 'weekday', 'label' => 'Start week on ', 'helpText' => 'Day of week that the recording week starts on.', 'type' => 'select', 'default' => 'Monday', 'options' => array('Sunday' => lang::get('Sunday'), 'Monday' => lang::get('Monday'), 'Tuesday' => lang::get('Tuesday'), 'Wednesday' => lang::get('Wednesday'), 'Thursday' => lang::get('Thursday'), 'Friday' => lang::get('Friday'), 'Saturday' => lang::get('Saturday')), 'group' => 'Weekly Counts'), array('fieldname' => 'weeks', 'label' => 'Weeks', 'helpText' => 'Number of weeks in the recording season.', 'type' => 'text_input', 'default' => '26', 'group' => 'Weekly Counts'), array('fieldname' => 'headings', 'label' => 'Grid heading row formats', 'helpText' => 'Formats for each grid heading row. Specify a comma separated list of format specifiers, one per heading row required. ' . 'A format specifier can contain "week" to output the week number, "start" followed by a PHP date format character to output the date or part of the ' . 'date at the start of the week, or "end" followed by a date format character to output the date or part of the date at the end of the week. Values are ' . 'automatically only output when there is a change from the previous column.', 'type' => 'text_input', 'default' => 'week,startY,startM,startd-endd', 'group' => 'Weekly Counts')));
     foreach ($r as $idx => $param) {
         if ($param['fieldname'] === 'extra_list_id') {
             unset($r[$idx]);
         }
     }
     return $r;
 }
 /**
  * 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(parent::get_parameters(), array(array('name' => 'habitat_smpAttr_cluster_ids', 'caption' => ' Habitat Attribute Cluster Ids', 'description' => 'Id of the first sample attribute associated with a habitat. Required so the system knows how to create habitat attribute groupings.
       Enter the Ids in the order they will appear on the Habitats tab where the attribute at the top appears first.', 'type' => 'string', 'group' => 'Other Settings'), array('name' => 'in_progress_sample_attr_id', 'caption' => 'In Progress Sample Atrribute Id', 'description' => 'The id of the custom attribute that holds whether a sample is in progress.', 'type' => 'string', 'group' => 'Other Settings'), array('name' => 'gpx_data_attr_id', 'caption' => 'GPX Data Atrribute Id', 'description' => 'The id of the custom attribute that holds the GPX file data that is uploaded.', 'type' => 'string', 'group' => 'Other Settings'), array('name' => 'dive_duration_attr_id', 'caption' => 'Dive Duration Attribute Id', 'description' => 'The id of the custom attribute that holds the dive duration.', 'type' => 'string', 'group' => 'Other Settings'), array('name' => 'dive_start_time_attr_id', 'caption' => 'Dive Start Time Attribute Id', 'description' => 'The id of the custom attribute that holds the dive start time.', 'type' => 'string', 'group' => 'Other Settings'), array('name' => 'exif_date_time_attr_id', 'caption' => 'Exif date time attr id', 'description' => 'The id of the custom attribute that holds the date and times from the photo exifs. Although already stored in the media database tables, this allows for quick access by Javascript.', 'type' => 'string', 'group' => 'Other Settings'), array('name' => 'gps_sync_warning', 'caption' => 'GPS Sync Warning', 'description' => 'Warning displayed to the user if they try to upload a GPX file, it should warn them that
             the time needs to be synchronised between the camera and the GPS device otherwise the automatic GPS selection for images will fail.
             If this option is not filled in then the warning will not be displayed.', 'type' => 'textarea', 'group' => 'Other Settings'), array('name' => 'no_photos_with_date_warning', 'caption' => 'No Photos With Date Warning', 'description' => 'Warning displayed to user if they change the dive date to a date that is not associated with any of the photos.
             Note that the user is able to continue anyway, it is simply a warning.
             If this option is not filled in, then the warning will not be displayed.', 'type' => 'textarea', 'group' => 'Other Settings'), array('name' => 'dive_start_outside_one_hour_warning', 'caption' => 'Dive Start Outside One Hour Warning', 'description' => 'Warning that is displayed if the Dive Start Time is set to be beyond one hour either side of the first photo time.
             Note that the user is able to continue anyway, it is simply a warning.
             If this option is not filled in, then the warning will not be displayed.', 'type' => 'textarea', 'group' => 'Other Settings')));
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $parentVal = parent::get_parameters();
     $retVal = array();
     foreach ($parentVal as $param) {
         if ($param['name'] == 'structure') {
             $param['default'] = "=About the visit=\r\n" . "?Before inputting your data, please tell us who you are, confirm the date of the visit and which farm you visited.?\r\n" . "[recorder names]\r\n" . "@validation=required\r\n" . "[date]\r\n" . "@default=09/06/2013\r\n" . "@helpText=Click in this box to select the date if it was not Open Farm Sunday.\r\n" . "[place search]\r\n" . "@fieldname=sample:location_name\r\n" . "@validation=required\r\n" . "@helpText=Type in the farm name or grid reference to search for\r\n" . "[farm]\r\n" . "[spatial reference]\r\n" . "@helpText=If you know the exact grid reference then please type it in here, or you can click on the map where you did the survey to set your exact location.\r\n" . "[map]\r\n" . "[*]\r\n" . "=Crop Habitat=\r\n" . "[*]\r\n" . "=Tallies=\r\n" . "[species]\r\n" . "[species attributes]\r\n" . "[sample comment]\r\n" . "[*]\r\n" . "=*=\r\n";
         }
         if ($param['name'] != 'remembered' && $param['name'] != 'extra_list_id') {
             $retVal[] = $param;
         }
     }
     return $retVal;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $r = array_merge(parent::get_parameters(), array(array('name' => 'habitat_sample_method_id', 'caption' => 'Habitat sample method', 'description' => 'Select the sample method type for the habitat data.', 'required' => true, 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:sample_methods'), 'group' => 'Attribute Setup'), array('name' => 'sacforp_attr_id', 'caption' => 'SACFORP attribute', 'description' => 'Custom attribute used for recording SACFORP for each record.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Attribute Setup')));
     return $r;
 }
 /**
  * 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(parent::get_parameters(), array(array('name' => 'headerAndFooter', 'caption' => 'Use Header and Footer', 'description' => 'Include MNHNL header and footer html.', 'type' => 'boolean', 'group' => 'User Interface', '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()
 {
     $r = array_merge(parent::get_parameters(), array(array('fieldname' => 'section_id_attribute', 'label' => 'Section ID attribute', 'helpText' => 'Choose the custom occurrence attribute which is used to store the section ID.', 'type' => 'select', 'table' => 'occurrence_attribute', 'captionField' => 'caption', 'valueField' => 'id', 'group' => 'Species')));
     return $r;
 }
 /**
  * Get the list of parameters for this form.
  * @return array List of parameters that this form requires.
  */
 public static function get_parameters()
 {
     $r = array_merge(parent::get_parameters(), array(array('name' => 'transect_count_attr_ids', 'caption' => 'Transect count attribute IDs', 'description' => 'Comma separated list of sample attribute IDs. Specify each attribute that can contain a count of transects surveyed ' . '(e.g. low shore, middle shore, high shore). For each attribute, n transects will be available for data input.', 'type' => 'textfield', 'required' => true, 'group' => 'Big Sea setup'), array('name' => 'transect_captions', 'caption' => 'Transect captions', 'description' => 'Comma separated list of captions to use for each of the above attributes, in the same order.', 'type' => 'textfield', 'required' => true, 'group' => 'Big Sea setup'), array('name' => 'child_sample_zone_attr_id', 'caption' => 'Child sample zone attribute ID', 'description' => 'A text attribute used to store the zone in the child sample.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Big Sea setup'), array('name' => 'child_sample_transect_attr_id', 'caption' => 'Child sample transect attribute ID', 'description' => 'An integer attribute used to store the transect in the child sample.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Big Sea setup'), array('name' => 'search_species_transect_attr_id', 'caption' => 'Parent sample search species attribute ID', 'description' => 'An integer multivalut attribute used to store the search species list in the parent attribute.', 'type' => 'select', 'table' => 'sample_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Big Sea setup'), array('name' => 'front_page_path', 'caption' => 'Front page path', 'description' => 'Path to the front page input form.', 'type' => 'textfield', 'required' => true, 'group' => 'Big Sea setup'), array('name' => 'parent_sample_method_id', 'caption' => 'Parent 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 visit samples.', 'group' => 'Big Sea setup')));
     return $r;
 }
 public static function get_parameters()
 {
     return array_merge(parent::get_parameters(), array(array('name' => 'survey_1_attr', 'caption' => 'Survey 1 attribute ID', 'description' => 'The sample attribute ID that will store the ID of survey 1.', 'type' => 'string', 'group' => 'Other IForm Parameters', 'required' => true), array('name' => 'locking_date', 'caption' => 'Locking Date', 'description' => 'The date to lock the form from. Samples "created on" earlier than this date are read-only (use format yyyy-mm-dd)', 'type' => 'string', 'group' => 'Locking Date', 'required' => false), array('name' => 'plot_number_attr_id', 'caption' => 'Plot number/label attribute id', 'description' => 'The attribute which holds the plot number/label.', 'type' => 'select', 'table' => 'location_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Other IForm Parameters', 'required' => false)));
 }
 /**
  * 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(parent::get_parameters(), array(array('name' => 'reg_sample_method_id', 'caption' => 'Registration Sample Method', 'type' => 'select', 'table' => 'termlists_term', 'captionField' => 'term', 'valueField' => 'id', 'extraParams' => array('termlist_external_key' => 'indicia:sample_methods'), 'required' => true, 'helpText' => 'The sample method used to register the tree species in the Location form.')));
     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(parent::get_parameters(), array(array('name' => 'tree_occ_attrs', 'caption' => 'Tree Occurrence Attributes', 'description' => 'The occcurrence attribute that hold the Epiphyte count for trees 1 to 10 as a comma seperated list. The list should be in the correct order with tree 1 first e.g. 34,35,36,37,38,39,40,41,42,43', 'required' => true, 'type' => 'string', 'group' => 'Attribute Setup'), array('name' => 'tree_grid_ref_occ_attr_id', 'caption' => 'Tree Grid Reference Occurrence Attribute', 'description' => 'The occurrence attribute relating to a tree\'s grid reference', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Attribute Setup'), array('name' => 'occurrence_record_grid_id', 'caption' => 'Occurrence Record Grid Occurrence Attribute', 'description' => 'The occurrence attribute which holds the id of the grid that occurrences will be loaded onto in edit mode.', 'type' => 'select', 'table' => 'occurrence_attribute', 'valueField' => 'id', 'captionField' => 'caption', 'group' => 'Attribute Setup')));
     return $retVal;
 }