/** * @Override Model::getCSV * Get a CSV formatted for for this internship. */ public function getCSV() { $csv = array(); // Student data $csv['Banner ID'] = $this->banner; $csv['First Name'] = $this->first_name; $csv['Middle Name'] = $this->middle_name; $csv['Last Name'] = $this->last_name; // Academic Info $csv['Level'] = $this->getLevel(); if ($this->getLevel() == 'ugrad') { $csv['Undergrad Major'] = $this->getUgradMajor()->getName(); $csv['Grduate Program'] = ''; } else { if ($this->getLevel() == 'grad') { $csv['Undergrad Major'] = ''; $csv['Graduate Program'] = $this->getGradProgram()->getName(); } else { $csv['Undergrad Major'] = ''; $csv['Grduate Program'] = ''; } } $csv['GPA'] = $this->getGpa(); $csv['Campus'] = $this->getCampus(); // Status Info $csv['Status'] = $this->getWorkflowState()->getFriendlyName(); $csv['OIED Certified'] = $this->isOiedCertified() == 1 ? 'Yes' : 'No'; // Student Academic Info $csv['Phone #'] = $this->phone; $csv['Email'] = $this->email; // Student Address $csv['Student Address'] = $this->student_address; $csv['Student City'] = $this->student_city; $csv['Student State'] = $this->student_state; $csv['Student Zip'] = $this->student_zip; // Emergency Contact $csv['Emergency Contact Name'] = $this->getEmergencyContactName(); $csv['Emergency Contact Relation'] = $this->getEmergencyContactRelation(); $csv['Emergency Contact Phone'] = $this->getEmergencyContactPhoneNumber(); // Internship Data $csv['Term'] = Term::rawToRead($this->term, false); $csv['Start Date'] = $this->getStartDate(true); $csv['End Date'] = $this->getEndDate(true); $csv['Credits'] = $this->credits; $csv['Average Hours Per Week'] = $this->avg_hours_week; $csv['Paid'] = $this->paid == 1 ? 'Yes' : 'No'; $csv['Stipend'] = $this->stipend == 1 ? 'Yes' : 'No'; $csv['Unpaid'] = $this->unpaid == 1 ? 'Yes' : 'No'; // Internship Type $csv['Experience Type'] = $this->getExperienceType(); // Internship location data $csv['Domestic'] = $this->isDomestic() ? 'Yes' : 'No'; $csv['International'] = $this->isInternational() ? 'Yes' : 'No'; $csv['Location Address'] = $this->loc_address; $csv['Location City'] = $this->loc_city; $csv['Location State'] = $this->loc_state; $csv['Location Zip'] = $this->loc_zip; $csv['Province'] = $this->loc_province; $csv['Country'] = $this->loc_country; // Course Info $csv['Multi-part'] = $this->isMultipart() ? 'Yes' : 'No'; $csv['Secondary Part'] = $this->isSecondaryPart() ? 'Yes' : 'No'; $csv['Course Subject'] = $this->getSubject()->getName(); $csv['Course Number'] = $this->course_no; $csv['Course Section'] = $this->course_sect; $csv['Course Title'] = $this->course_title; // Get external objects $a = $this->getAgency(); $f = $this->getFaculty(); $d = $this->getDepartment(); $c = $this->getDocuments(); // Merge data from other objects. $csv = array_merge($csv, $a->getCSV()); if (count($c) > 0) { $csv['Document Uploaded'] = 'Yes'; } else { $csv['Document Uploaded'] = 'No'; } if ($f instanceof Faculty) { $csv = array_merge($csv, $f->getCSV()); } else { $csv = array_merge($csv, Faculty::getEmptyCsvRow()); } $csv = array_merge($csv, $d->getCSV()); return $csv; }