echo lang('filter_location');
?>
">
		<?php 
foreach (location_options($locations) as $id => $option) {
    echo '<option value="' . $id . '">' . $option . '</option>\\n';
}
?>
	</select>

	<select class="chosen-select select-leader" multiple data-placeholder="<?php 
echo lang('filter_leader');
?>
">
		<?php 
foreach (leader_options($leaders) as $id => $option) {
    echo '<option value="' . $id . '">' . $option . '</option>\\n';
}
?>
	</select>

	<span class="fc-button fc-state-default"
		id="clearall" style="vertical-align: middle; -moz-user-select: none;">
			<?php 
echo lang('clear_filters');
?>
	</span>
	
	<div style="margin-top: 10px;"><label id="exclude-canceled-label" style="vertical-align: middle;">
		<input type="checkbox" name="exclude-canceled" style="vertical-align: middle;" checked="checked" id="exclude-canceled" />
		&nbsp;<?php 
 /**
  *
  * Shows the page for calling a participant
  * @param integer $participant_id
  * @param integer $experiment_id
  * @param integer $weeks_ahead
  */
 public function call($participant_id, $experiment_id, $weeks_ahead = WEEKS_AHEAD)
 {
     // Retrieve entities
     $participant = $this->participantModel->get_participant_by_id($participant_id);
     $experiment = $this->experimentModel->get_experiment_by_id($experiment_id);
     // Check current user is caller for experiment
     if (!$this->callerModel->is_caller_for_experiment(current_user_id(), $experiment_id)) {
         $data['error'] = sprintf(lang('not_caller'), $experiment->name);
         $this->load->view('templates/error', $data);
         return;
     }
     // Check current participant is callable for experiment
     if (!in_array($participant, $this->participantModel->find_participants($experiment, $weeks_ahead))) {
         $data['error'] = sprintf(lang('not_callable_for'), name($participant), $experiment->name);
         $this->load->view('templates/error', $data);
         return;
     }
     // Check current participant is not being called
     if ($this->participationModel->is_locked_participant($participant_id, $experiment_id)) {
         $data['error'] = sprintf(lang('in_conversation'), name($participant));
         $this->load->view('templates/error', $data);
         return;
     }
     // Retrieve links
     $comments = $this->commentModel->get_comments_by_participant($participant_id);
     $impediments = $this->impedimentModel->get_impediments_by_participant($participant_id);
     $experiments = $this->experimentModel->get_experiments_by_participant($participant_id);
     $participations = $this->participationModel->get_participations_by_experiment($experiment_id);
     $leaders = $this->leaderModel->get_leader_users_by_experiments($experiment_id);
     $first_visit = count($this->participationModel->get_participations_by_participant($participant_id, TRUE)) == 0;
     // Retrieve or create participation record
     $participation = $this->participationModel->get_participation($experiment_id, $participant_id);
     if ($participation) {
         $participation_id = $participation->id;
     } else {
         $participation_id = $this->participationModel->create_participation($experiment, $participant);
         $participation = $this->participationModel->get_participation_by_id($participation_id);
     }
     // Find the previous call (if is exists)
     $previous_call = $this->callModel->last_call($participation_id);
     // Lock the participation record
     $this->participationModel->lock($participation_id);
     // Create call record
     $call_id = $this->callModel->create_call($participation_id);
     // Find possible combined experiment, first check combinations
     $combinations = $this->relationModel->get_relation_ids_by_experiment($experiment->id, RelationType::Combination);
     $comb_exp = $combinations ? $this->experimentModel->get_experiment_by_id($combinations[0]) : FALSE;
     if (!$comb_exp) {
         // Then check prerequisites
         $prereqs = $this->relationModel->get_relation_ids_by_experiment($experiment->id, RelationType::Prerequisite);
         $comb_exp = $prereqs ? $this->experimentModel->get_experiment_by_id($prereqs[0]) : FALSE;
     }
     // Check if participation to combined experiment already exists
     $comb_part = $comb_exp ? $this->participationModel->get_participation($comb_exp->id, $participant_id) : FALSE;
     if ($comb_part) {
         $comb_exp = FALSE;
     }
     $comb_leaders = $comb_exp ? $this->leaderModel->get_leader_users_by_experiments($comb_exp->id) : array();
     // Create page data
     $data = get_min_max_days($participant, $experiment);
     $data['participant'] = $participant;
     $data['experiment'] = $experiment;
     $data['participation'] = $participation;
     $data['participation_id'] = $participation_id;
     $data['leaders'] = leader_options($leaders);
     $data['call_id'] = $call_id;
     $data['previous_call'] = $previous_call;
     $data['comment_size'] = count($comments);
     $data['impediment_table'] = create_impediment_table($impediments);
     $data['impediment_size'] = count($impediments);
     $data['last_experiment'] = $this->participantModel->last_experiment($participant_id);
     $data['last_called'] = $this->participantModel->last_called($participant_id);
     $data['nr_participations'] = count($participations);
     $data['verify_languages'] = language_check($participant);
     $data['verify_dyslexia'] = dyslexia_check($participant);
     $data['first_visit'] = $first_visit;
     $data['combination_exp'] = $comb_exp;
     $data['combination_leaders'] = leader_options($comb_leaders);
     $data['page_title'] = sprintf(lang('call_participant'), name($participant));
     $this->load->view('templates/header', $data);
     $this->load->view('participation_call', $data);
     $this->load->view('templates/footer');
 }
 /** Specifies the contents of the edit experiment page */
 public function edit($experiment_id)
 {
     if (is_leader() && !$this->leaderModel->is_leader_for_experiment(current_user_id(), $experiment_id)) {
         show_error("You are not a leader for this experiment.");
     }
     $experiment = $this->experimentModel->get_experiment_by_id($experiment_id);
     $leaders = array_merge($this->userModel->get_all_leaders(), $this->userModel->get_all_admins());
     $callers = $this->userModel->get_all_users();
     $experiments = $this->experimentModel->get_all_experiments(TRUE, $experiment_id);
     $data['page_title'] = lang('edit_experiment');
     $data['action'] = 'experiment/edit_submit/' . $experiment_id;
     $data = add_fields($data, 'experiment', $experiment);
     $data['date_start'] = output_date($experiment->date_start, TRUE);
     $data['date_end'] = output_date($experiment->date_end, TRUE);
     $data['locations'] = $this->locationModel->get_all_locations();
     $data['callers'] = caller_options($callers);
     $data['leaders'] = leader_options($leaders);
     $data['experiments'] = experiment_options($experiments);
     $data['location_id'] = $this->locationModel->get_location_by_experiment($experiment)->id;
     $data['current_caller_ids'] = $this->callerModel->get_caller_ids_by_experiment($experiment_id);
     $data['current_leader_ids'] = $this->leaderModel->get_leader_ids_by_experiment($experiment_id);
     $data['current_prerequisite_ids'] = $this->relationModel->get_relation_ids_by_experiment($experiment_id, RelationType::Prerequisite);
     $data['current_exclude_ids'] = $this->relationModel->get_relation_ids_by_experiment($experiment_id, RelationType::Excludes);
     $data['current_combination_ids'] = $this->relationModel->get_relation_ids_by_experiment($experiment_id, RelationType::Combination);
     $this->load->view('templates/header', $data);
     $this->load->view('experiment_edit_view', $data);
     $this->load->view('templates/footer');
 }