/** * Returns the source choices in an array. * * @param boolean $validAfter True if it concerns _valid_after_ dates * @param boolean $firstRound List for first round * @param boolean $detailed Return extended info * @return array source_name => label */ protected function getSourceList($validAfter, $firstRound, $detailed = true) { if (!($validAfter || $this->project->isValidUntilRequired())) { $results[self::NO_TABLE] = array($this->_('Does not expire')); } if (!($validAfter && $firstRound)) { $results[self::ANSWER_TABLE] = array($this->_('Answers'), $this->_('Use an answer from a survey.')); } if ($this->_fieldsDefinition->hasAppointmentFields()) { $results[self::APPOINTMENT_TABLE] = array($this->_('Appointment'), $this->_('Use an appointment linked to this track.')); } if (!($validAfter && $firstRound)) { $results[self::TOKEN_TABLE] = array($this->_('Token'), $this->_('Use a standard token date.')); } $results[self::RESPONDENT_TRACK_TABLE] = array($this->_('Track'), $this->_('Use a track level date.')); if ($detailed) { foreach ($results as $key => $value) { if (is_array($value)) { $results[$key] = \MUtil_Html::raw(sprintf('<strong>%s</strong> %s', reset($value), next($value))); } } } else { foreach ($results as $key => $value) { if (is_array($value)) { $results[$key] = reset($value); } } } return $results; }