<?php 
echo form_fieldset_close();
echo form_fieldset(lang('selfservice_pps_heading'));
?>
<p><?php 
echo lang('selfservice_pps_help');
?>
</p>

<?php 
$tmpl = array('table_open' => '<table class="pure-table">');
$this->table->set_template($tmpl);
$this->table->set_heading(ucfirst(lang('child')), lang('gender'), lang('dob'), 'Babylab Utrecht', lang('other_babylabs'));
foreach ($participants as $p) {
    $this->table->add_row(name($p), gender_sex($p->gender), output_date($p->dateofbirth), form_checkbox('active_' . $p->id, TRUE, $p->activated), form_checkbox('other_' . $p->id, TRUE, $p->otherbabylabs));
}
echo $this->table->generate();
?>

<div class="pure-controls">
<?php 
echo form_submit('submit', lang('save_changes'), 'class="pure-button pure-button-primary"');
?>
 
<?php 
echo form_submit('register', lang('selfservice_reg_pp'), 'class="pure-button pure-button-primary"');
?>
</div>
<?php 
echo form_fieldset_close();
 /**
  * This method creates an e-mail by referring to a view and replacing the variables. 
  * TODO: refactor to use less parameters (all in one array)?
  */
 function email_replace($view, $participant = NULL, $participation = NULL, $experiment = NULL, $testinvite = NULL, $comb_experiment = NULL, $auto = FALSE, $message = "", $language = L::Dutch)
 {
     $CI =& get_instance();
     $user = $CI->userModel->get_user_by_id(current_user_id());
     reset_language($language);
     $message_data = array();
     $message_data['auto'] = $auto;
     $message_data['message'] = $message;
     $message_data['combination'] = FALSE;
     $message_data['longitudinal'] = FALSE;
     $message_data['survey_link'] = FALSE;
     if ($user) {
         $message_data['user_username'] = $user->username;
         $message_data['user_email'] = $user->email;
     }
     if ($participant) {
         $message_data['name'] = name($participant);
         $message_data['name_first'] = $participant->firstname;
         $message_data['name_parent'] = parent_name($participant);
         $message_data['gender'] = gender_child($participant->gender);
         $message_data['gender_pos'] = gender_pos($participant->gender);
         $message_data['gender_plural'] = gender_sex($participant->gender) . 's';
         $message_data['phone'] = $participant->phone;
     }
     if ($participation) {
         $leader = $CI->userModel->get_user_by_id($participation->user_id_leader);
         $message_data['appointment'] = format_datetime($participation->appointment);
         if ($leader) {
             $message_data['leader_name'] = $leader->firstname;
         }
     }
     if ($experiment) {
         $location = $CI->locationModel->get_location_by_experiment($experiment);
         $message_data['exp_name'] = $experiment->name;
         $message_data['type'] = $experiment->type;
         $message_data['duration'] = $experiment->duration;
         $message_data['duration_total'] = $experiment->duration + INSTRUCTION_DURATION;
         $message_data['description'] = $experiment->description;
         $message_data['location'] = sprintf('%s (%s)', $location->name, $location->roomnumber);
         $message_data['caller_contacts'] = extract_callers($experiment, $comb_experiment);
     }
     if ($comb_experiment) {
         $location = $CI->locationModel->get_location_by_experiment($comb_experiment);
         $comb_participation = $CI->participationModel->get_participation($comb_experiment->id, $participant->id);
         $relation = $CI->relationModel->get_relation_by_experiments($experiment->id, $comb_experiment->id);
         $message_data['combination'] = $relation->relation === RelationType::Combination;
         $message_data['longitudinal'] = $relation->relation === RelationType::Prerequisite;
         $message_data['comb_exp_name'] = $comb_experiment->name;
         $message_data['comb_type'] = $comb_experiment->type;
         $message_data['comb_duration'] = $comb_experiment->duration;
         $message_data['comb_duration_total'] = $comb_experiment->duration + INSTRUCTION_DURATION;
         $message_data['comb_description'] = $comb_experiment->description;
         $message_data['comb_location'] = sprintf('%s (%s)', $location->name, $location->roomnumber);
         $message_data['comb_appointment'] = format_datetime($comb_participation->appointment);
     }
     if ($participant && $experiment) {
         $data = get_min_max_days($participant, $experiment);
         $message_data['min_date'] = format_date($data['min_date_js']);
         $message_data['max_date'] = format_date($data['max_date_js']);
     }
     if ($testinvite) {
         $test = $CI->testInviteModel->get_test_by_testinvite($testinvite);
         $testsurvey = $CI->testInviteModel->get_testsurvey_by_testinvite($testinvite);
         $message_data['survey_name'] = testsurvey_name($testsurvey);
         $message_data['survey_link'] = survey_link($testsurvey->limesurvey_id, $testinvite->token);
         $message_data['results_link'] = results_link($test->code, $testinvite->token);
         $message_data['whennr'] = $testsurvey->whennr;
     }
     return $CI->load->view($view, $message_data, TRUE);
 }
Exemple #3
0
 public function vs_scores($test_code)
 {
     $table = array();
     $table['cols'] = array(array('label' => lang('testcat'), 'type' => 'string'), array('label' => lang('gender'), 'type' => 'string'), array('label' => lang('age'), 'type' => 'number'), array('label' => lang('score'), 'type' => 'number'), array('label' => '50e percentiel', 'type' => 'number'));
     $rows = array();
     $testcat_ids = $this->get_testcat_ids($test_code);
     $nr = 0;
     foreach ($testcat_ids as $testcat_id) {
         $scores = $this->testCatModel->total_score_per_testinvite($testcat_id);
         foreach ($scores as $score) {
             if ($score->score > 0) {
                 $testinvite = $this->testInviteModel->get_testinvite_by_id($score->testinvite_id);
                 $participant = $this->testInviteModel->get_participant_by_testinvite($testinvite);
                 $age = explode(';', age_in_months_and_days($participant->dateofbirth, $testinvite->datecompleted));
                 $age = $age[0] + $age[1] / 31;
                 // to evenly divide over months.
                 $testcat = $this->testCatModel->get_testcat_by_id($testcat_id);
                 // FIXME: quick and dirty fix for percentiles without gender...
                 $gender = in_array($testcat->code, array('w', 'z')) ? NULL : gender_sex($participant->gender);
                 $rows[$nr][0] = array('v' => $testcat->name);
                 $rows[$nr][1] = array('v' => $gender);
                 $rows[$nr][2] = array('v' => $age);
                 $rows[$nr][3] = array('v' => intval($score->score));
                 $rows[$nr][4] = array('v' => NULL);
                 $nr++;
             }
         }
     }
     $percentiles = $this->percentileModel->get_percentiles_by_testcats($testcat_ids, array(50));
     foreach ($percentiles as $percentile) {
         $testcat = $this->testCatModel->get_testcat_by_id($percentile->testcat_id)->name;
         $gender = !empty($percentile->gender) ? gender_sex($percentile->gender) : NULL;
         $rows[$nr][0] = array('v' => $testcat);
         $rows[$nr][1] = array('v' => $gender);
         $rows[$nr][2] = array('v' => $percentile->age);
         $rows[$nr][3] = array('v' => NULL);
         $rows[$nr][4] = array('v' => $percentile->score);
         $nr++;
     }
     //echo '<pre>' . var_dump($rows) . '</pre>';die;
     $table['rows'] = $this->flatten($rows);
     echo json_encode($table);
 }