OEModule\OphCiExamination\controllers\DefaultController::setComplexAttributes_Element_OphCiExamination_Diagnoses PHP Method

setComplexAttributes_Element_OphCiExamination_Diagnoses() protected method

Set the diagnoses against the Element_OphCiExamination_Diagnoses element.
protected setComplexAttributes_Element_OphCiExamination_Diagnoses ( Element_OphCiExamination_Diagnoses $element, $data, $index )
$element Element_OphCiExamination_Diagnoses
$data
$index
    protected function setComplexAttributes_Element_OphCiExamination_Diagnoses($element, $data, $index)
    {
        $diagnoses = array();
        $diagnosis_eyes = array();
        $model_name = \CHtml::modelName($element);
        if (isset($data[$model_name])) {
            foreach ($data[$model_name] as $key => $value) {
                if (preg_match('/^eye_id_[0-9]+$/', $key)) {
                    $diagnosis_eyes[] = $value;
                }
            }
        }
        if (is_array(@$data['selected_diagnoses'])) {
            foreach ($data['selected_diagnoses'] as $i => $disorder_id) {
                $diagnosis = new models\OphCiExamination_Diagnosis();
                $diagnosis->eye_id = $diagnosis_eyes[$i];
                $diagnosis->disorder_id = $disorder_id;
                $diagnosis->principal = @$data['principal_diagnosis'] == $disorder_id;
                $diagnoses[] = $diagnosis;
            }
        }
        $element->diagnoses = $diagnoses;
    }
DefaultController