예제 #1
0
 public function executeUpdateParent()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     $counseling_id = $this->getRequestParameter('counseling_id');
     $counseling = CounselingPeer::retrieveByPK($counseling_id);
     $this->forward404Unless($counseling);
     $accal_id = $this->getRequestParameter('academic_calendar_id');
     $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id);
     $this->forward404Unless($academic_calendar);
     $student_detail = StudentDetailPeer::retrieveByPk($this->getRequestParameter('student_detail_id'));
     $this->forward404Unless($student_detail);
     $student_detail->setFather($this->getRequestParameter('father'));
     $student_detail->setMother($this->getRequestParameter('mother'));
     $student_detail->save();
     $student = StudentPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student);
     $father = StudentParentsPeer::retrieveByPK($this->getRequestParameter('father_id'));
     if ($father == null) {
         $father = new StudentParents();
     }
     $father->setId($this->getRequestParameter('father_id'));
     $father->setStudent($student);
     $father->setRelation(StudentParents::RELATION_FATHER);
     $father->setName($this->getRequestParameter('father'));
     $father->setPob($this->getRequestParameter('father_pob'));
     if ($this->getRequestParameter('father_dob')) {
         $father->setDob($this->getRequestParameter('father_dob'));
     }
     $father->setReligionId($this->getRequestParameter('religion_father'));
     $father->setCountryId($this->getRequestParameter('father_country'));
     $father->setDegreeId($this->getRequestParameter('degree_father'));
     $father->setJob($this->getRequestParameter('father_job'));
     $father->setNoteDetail($this->getRequestParameter('father_notedetail'));
     $father->setMonthlyRevenue($this->getRequestParameter('father_revenue'));
     $father->setOfficePhone($this->getRequestParameter('father_officephone'));
     $father->setEmail($this->getRequestParameter('father_email'));
     $father->setAddress($this->getRequestParameter('father_address'));
     $father->setCellphone($this->getRequestParameter('father_cellphone'));
     $father->save();
     $mother = StudentParentsPeer::retrieveByPK($this->getRequestParameter('mother_id'));
     if ($mother == null) {
         $mother = new StudentParents();
     }
     $mother->setId($this->getRequestParameter('mother_id'));
     $mother->setStudent($student);
     $mother->setRelation(StudentParents::RELATION_MOTHER);
     $mother->setName($this->getRequestParameter('mother'));
     $mother->setPob($this->getRequestParameter('mother_pob'));
     if ($this->getRequestParameter('mother_dob')) {
         $mother->setDob($this->getRequestParameter('mother_dob'));
     }
     $mother->setReligionId($this->getRequestParameter('religion_mother'));
     $mother->setCountryId($this->getRequestParameter('mother_country'));
     $mother->setDegreeId($this->getRequestParameter('degree_mother'));
     $mother->setJob($this->getRequestParameter('mother_job'));
     $mother->setNoteDetail($this->getRequestParameter('mother_notedetail'));
     $mother->setMonthlyRevenue($this->getRequestParameter('mother_revenue'));
     $mother->setOfficePhone($this->getRequestParameter('mother_officephone'));
     $mother->setEmail($this->getRequestParameter('mother_email'));
     $mother->setAddress($this->getRequestParameter('mother_address'));
     $mother->setCellphone($this->getRequestParameter('mother_cellphone'));
     $mother->save();
     return $this->redirect('counseling_sd/listStudent?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId());
 }
예제 #2
0
 public function executeUpdateParent()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     $student = StudentPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student);
     $student_detail = StudentDetailPeer::retrieveByPk($this->getRequestParameter('student_detail_id'));
     $this->forward404Unless($student_detail);
     $c = new Criteria();
     $c->add(StudentParentsPeer::STUDENT_ID, $student->getId());
     $c->add(StudentParentsPeer::RELATION, StudentParents::RELATION_FATHER);
     $father = StudentParentsPeer::doSelectOne($c);
     if ($father == null) {
         $father = new StudentParents();
     }
     $father->setRelation(StudentParents::RELATION_FATHER);
     $father->setStudentId($student->getId());
     $father->setName($this->getRequestParameter('father_name'));
     $father->setPob($this->getRequestParameter('father_pob'));
     if ($this->getRequestParameter('father_dob')) {
         $father->setDob($this->getRequestParameter('father_dob'));
     }
     $father->setJob($this->getRequestParameter('father_job_note'));
     $father->setDegreeId($this->getRequestParameter('father_degree'));
     $father->setMonthlyRevenue($this->getRequestParameter('father_revenue'));
     $father->setAddress($this->getRequestParameter('father_address'));
     $father->setPostCode($this->getRequestParameter('father_postcode'));
     $father->setHomePhone($this->getRequestParameter('father_homephone'));
     $father->save();
     $ct = new Criteria();
     $ct->add(StudentParentsPeer::STUDENT_ID, $student->getId());
     $ct->add(StudentParentsPeer::RELATION, StudentParents::RELATION_MOTHER);
     $mother = StudentParentsPeer::doSelectOne($ct);
     if ($mother == null) {
         $mother = new StudentParents();
     }
     $mother->setRelation(StudentParents::RELATION_MOTHER);
     $mother->setStudentId($student->getId());
     $mother->setName($this->getRequestParameter('mother_name'));
     $mother->setPob($this->getRequestParameter('mother_pob'));
     if ($this->getRequestParameter('mother_dob')) {
         $mother->setDob($this->getRequestParameter('mother_dob'));
     }
     $mother->setJob($this->getRequestParameter('mother_job_note'));
     $mother->setDegreeId($this->getRequestParameter('mother_degree'));
     $mother->setMonthlyRevenue($this->getRequestParameter('mother_revenue'));
     $mother->setAddress($this->getRequestParameter('mother_address'));
     $mother->setPostCode($this->getRequestParameter('mother_postcode'));
     $mother->setHomePhone($this->getRequestParameter('mother_homephone'));
     $mother->save();
     $cr = new Criteria();
     $cr->add(StudentParentsPeer::STUDENT_ID, $student->getId());
     $cr->add(StudentParentsPeer::RELATION, StudentParents::RELATION_GUARDIAN);
     $guardian = StudentParentsPeer::doSelectOne($cr);
     if ($guardian == null) {
         $guardian = new StudentParents();
     }
     $guardian->setRelation(StudentParents::RELATION_GUARDIAN);
     $guardian->setStudentId($student->getId());
     $guardian->setName($this->getRequestParameter('guardian_name'));
     $guardian->setPob($this->getRequestParameter('guardian_pob'));
     if ($this->getRequestParameter('guardian_dob')) {
         $guardian->setDob($this->getRequestParameter('guardian_dob'));
     }
     $guardian->setJob($this->getRequestParameter('guardian_job_note'));
     $guardian->setDegreeId($this->getRequestParameter('guardian_degree'));
     $guardian->setMonthlyRevenue($this->getRequestParameter('guardian_revenue'));
     $guardian->setAddress($this->getRequestParameter('guardian_address'));
     $guardian->setPostCode($this->getRequestParameter('guardian_postcode'));
     $guardian->setHomePhone($this->getRequestParameter('guardian_homephone'));
     $guardian->save();
     $student_detail->setFather($father->getName());
     $student_detail->setMother($mother->getName());
     $student_detail->setFatherJob($this->getRequestParameter('father_job'));
     $student_detail->setMotherJob($this->getRequestParameter('mother_job'));
     $student_detail->setDetailFatherJob($this->getRequestParameter('detail_father_job'));
     $student_detail->setDetailMotherJob($this->getRequestParameter('detail_mother_job'));
     $student_detail->save();
     return $this->redirect('scholar/listPhysical?id=' . $student->getId());
 }
예제 #3
0
 public function executeUpdateStudent()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     // add/update member_detail
     if ($action_type == $action_i18n || !$this->getRequestParameter('member_detail_id')) {
         $member_detail = new MemberDetail();
     } else {
         $member_detail = MemberDetailPeer::retrieveByPk($this->getRequestParameter('member_detail_id'));
         $this->forward404Unless($member_detail);
     }
     $member_detail->setId($this->getRequestParameter('member_detail_id'));
     $member_detail->setPob($this->getRequestParameter('pob'));
     if ($this->getRequestParameter('dob')) {
         $member_detail->setDob($this->getRequestParameter('dob'));
     }
     $member_detail->setSex($this->getRequestParameter('sex'));
     $member_detail->setAddress($this->getRequestParameter('address'));
     $member_detail->setRegionId($this->getRequestParameter('region_id'));
     $member_detail->setPostCode($this->getRequestParameter('post_code'));
     $member_detail->setPhone($this->getRequestParameter('phone'));
     $member_detail->setCellphone($this->getRequestParameter('cellphone'));
     $member_detail->setReligionId($this->getRequestParameter('religion_id'));
     $member_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin'));
     $member_detail->setGraduationYear($this->getRequestParameter('graduation_year'));
     $member_detail->setGraduationGrade($this->getRequestParameter('graduation_grade'));
     $member_detail->setCompany($this->getRequestParameter('company'));
     $member_detail->setJobTitle($this->getRequestParameter('job_title'));
     $member_detail->setCollegeOfOrigin($this->getRequestParameter('college_of_origin'));
     $member_detail->setDepartmentOfOrigin($this->getRequestParameter('department_of_origin'));
     $member_detail->setRegYear($this->getRequestParameter('reg_year'));
     $member_detail->setParentName($this->getRequestParameter('parent_name'));
     $member_detail->save();
     // add student detail
     if ($action_type == $action_i18n || !$this->getRequestParameter('student_detail_id')) {
         $student_detail = new StudentDetail();
     } else {
         $student_detail = StudentDetailPeer::retrieveByPk($this->getRequestParameter('student_detail_id'));
         $this->forward404Unless($student_detail);
     }
     $student_detail->setId($this->getRequestParameter('student_detail_id'));
     $student_detail->setPob($this->getRequestParameter('pob'));
     if ($this->getRequestParameter('dob')) {
         $student_detail->setDob($this->getRequestParameter('dob'));
     }
     $student_detail->setSex($this->getRequestParameter('sex'));
     $student_detail->setAddress($this->getRequestParameter('address'));
     $student_detail->setRegionId($this->getRequestParameter('region_id'));
     $student_detail->setPostCode($this->getRequestParameter('post_code'));
     $student_detail->setPhone($this->getRequestParameter('phone'));
     $student_detail->setCellphone($this->getRequestParameter('cellphone'));
     $student_detail->setReligionId($this->getRequestParameter('religion_id'));
     $student_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin'));
     $student_detail->setGraduationYear($this->getRequestParameter('graduation_year'));
     $student_detail->setGraduationGrade($this->getRequestParameter('graduation_grade'));
     $student_detail->setCompany($this->getRequestParameter('company'));
     $student_detail->setJobTitle($this->getRequestParameter('job_title'));
     $student_detail->setCollegeOfOrigin($this->getRequestParameter('college_of_origin'));
     $student_detail->setDepartmentOfOrigin($this->getRequestParameter('department_of_origin'));
     $student_detail->setRegYear($this->getRequestParameter('reg_year'));
     $student_detail->setParentName($this->getRequestParameter('parent_name'));
     $student_detail->save();
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $member = new Member();
     } else {
         $member = MemberPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($member);
     }
     $member->setId($this->getRequestParameter('id'));
     $member->setCode($this->getRequestParameter('code'));
     $member->setNoReg($this->getRequestParameter('no_reg'));
     $member->setName($this->getRequestParameter('name'));
     $member->setClassName($this->getRequestParameter('class_name'));
     $member->setDepartmentId($this->getRequestParameter('department_id'));
     $old_status = $member->getStatus();
     $member->setStatus($this->getRequestParameter('status'));
     $member->setType('1');
     $member->setMemberDetail($member_detail);
     if ($this->getRequestParameter('password') != null && strlen($this->getRequestParameter('password')) > 0) {
         // password set
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('password'));
         if ($member->getPassword() != $crypted && strlen($this->getRequestParameter('password')) > 0) {
             // password changed
             $member->setPassword($crypted);
         }
     } elseif ($member->getPassword() == null || $member->getPassword() == '') {
         // create
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('code') . $member_detail->getDob('dm'));
         $member->setPassword($crypted);
     }
     $member->save();
     if ($action_type == $action_i18n || !$this->getRequestParameter('student_id')) {
         $student = new Student();
     } else {
         $student = StudentPeer::retrieveByPk($this->getRequestParameter('student_id'));
         $this->forward404Unless($student);
     }
     $student->setId($this->getRequestParameter('student_id'));
     $student->setCode($this->getRequestParameter('code'));
     $student->setName($this->getRequestParameter('name'));
     $old_status = $student->getStatus();
     $student->setMemberId($member);
     $student->setStatus($this->getRequestParameter('status'));
     $student->setStudentDetail($student_detail);
     if ($this->getRequestParameter('password') != null && strlen($this->getRequestParameter('password')) > 0) {
         // password set
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('password'));
         if ($student->getPassword() != $crypted && strlen($this->getRequestParameter('password')) > 0) {
             // password changed
             $student->setPassword($crypted);
         }
     } elseif ($student->getPassword() == null || $student->getPassword() == '') {
         // create
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('code') . $student_detail->getDob('dm'));
         $student->setPassword($crypted);
     }
     $student->save();
     // save member photo
     $photo_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     if ($this->hasRequestParameter('photoFile') && $this->getRequestParameter('photoFile') != '' && $this->getRequestParameter('photoFile') != null) {
         // get photo content
         $photo_file = $photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile');
         $content = file_get_contents($photo_file);
         $im = imagecreatefromstring($content);
         list($w, $h) = getimagesize($photo_file);
         // generate photo
         $photo = imagecreatetruecolor(150, 200);
         imagecopyresized($photo, $im, 0, 0, 0, 0, 150, 200, $w, $h);
         // generate thumbnail
         $thumb = imagecreatetruecolor(100, 150);
         imagecopyresized($thumb, $im, 0, 0, 0, 0, 100, 150, $w, $h);
         // get photo record
         $c = new Criteria();
         $c->add(MemberPhotoPeer::MEMBER_ID, $member->getId());
         $member_photo = MemberPhotoPeer::doSelectOne($c);
         if ($member_photo == null) {
             $member_photo = new MemberPhoto();
             $member_photo->setMember($member);
         }
         // save photo
         imagepng($photo, $photo_file);
         $member_photo->setPhoto(base64_encode(file_get_contents($photo_file)));
         imagepng($thumb, $photo_file);
         $member_photo->setThumbnail(base64_encode(file_get_contents($photo_file)));
         $member_photo->save();
         unlink($photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile'));
     }
     // save student photo
     $photo_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     if ($this->hasRequestParameter('photoFile') && $this->getRequestParameter('photoFile') != '' && $this->getRequestParameter('photoFile') != null) {
         // get photo content
         $photo_file = $photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile');
         $content = file_get_contents($photo_file);
         $im = imagecreatefromstring($content);
         list($w, $h) = getimagesize($photo_file);
         // generate photo
         $photo = imagecreatetruecolor(150, 195);
         imagecopyresized($photo, $im, 0, 0, 0, 0, 150, 195, $w, $h);
         // generate thumbnail
         $thumb = imagecreatetruecolor(100, 130);
         imagecopyresized($thumb, $im, 0, 0, 0, 0, 100, 130, $w, $h);
         // get photo record
         $c = new Criteria();
         $c->add(StudentPhotoPeer::STUDENT_ID, $student->getId());
         $student_photo = StudentPhotoPeer::doSelectOne($c);
         if ($student_photo == null) {
             $student_photo = new StudentPhoto();
             $student_photo->setStudent($student);
         }
         // save photo
         imagepng($photo, $photo_file);
         $student_photo->setPhoto(base64_encode(file_get_contents($photo_file)));
         imagepng($thumb, $photo_file);
         $student_photo->setThumbnail(base64_encode(file_get_contents($photo_file)));
         $student_photo->save();
         unlink($photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile'));
     }
     if ($this->hasRequestParameter('filter_noreg') && $this->getRequestParameter('filter_noreg') != '' && $this->getRequestParameter('filter_noreg') != null) {
         return $this->redirect('member/listStudent?filters[NO_REG]=' . $this->getRequestParameter('no_reg'));
     } elseif ($this->hasRequestParameter('filter_code') && $this->getRequestParameter('filter_code') != '' && $this->getRequestParameter('filter_code') != null) {
         return $this->redirect('member/listStudent?filters[CODE]=' . $this->getRequestParameter('filter_code'));
     } elseif ($this->hasRequestParameter('filter_deptid') && $this->getRequestParameter('filter_deptid') != '' && $this->getRequestParameter('filter_deptid') != null) {
         return $this->redirect('member/listStudent?filters[DEPARTMENT_ID]=' . $this->getRequestParameter('filter_deptid'));
     } elseif ($this->hasRequestParameter('filter_status') && $this->getRequestParameter('filter_status') != '' && $this->getRequestParameter('filter_status') != null) {
         return $this->redirect('member/listStudent?filters[STATUS]=' . $this->getRequestParameter('filter_status'));
     } elseif ($this->hasRequestParameter('filter_name') && $this->getRequestParameter('filter_name') != '' && $this->getRequestParameter('filter_name') != null) {
         return $this->redirect('member/listStudent?filters[NAME]=' . $this->getRequestParameter('name'));
     } else {
         return $this->redirect('member/listStudent');
     }
 }
예제 #4
0
 public function executeUpdateStudent()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     $counseling_id = $this->getRequestParameter('counseling_id');
     $counseling = CounselingPeer::retrieveByPK($counseling_id);
     $this->forward404Unless($counseling);
     $accal_id = $this->getRequestParameter('accal_id');
     $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id);
     $this->forward404Unless($academic_calendar);
     // add/update student_detail
     if ($action_type == $action_i18n || !$this->getRequestParameter('student_detail_id')) {
         $student_detail = new StudentDetail();
     } else {
         $student_detail = StudentDetailPeer::retrieveByPk($this->getRequestParameter('student_detail_id'));
         $this->forward404Unless($student_detail);
     }
     $student_detail->setId($this->getRequestParameter('student_detail_id'));
     $student_detail->setShortName($this->getRequestParameter('short_name'));
     $student_detail->setPob($this->getRequestParameter('pob'));
     if ($this->getRequestParameter('dob')) {
         $student_detail->setDob($this->getRequestParameter('dob'));
     }
     $student_detail->setSex($this->getRequestParameter('sex'));
     $student_detail->setReligionId($this->getRequestParameter('religion_id'));
     $student_detail->setCountryId($this->getRequestParameter('country_id'));
     $student_detail->setNativeLanguage($this->getRequestParameter('native_language'));
     $student_detail->setFather($this->getRequestParameter('father'));
     $student_detail->setMother($this->getRequestParameter('mother'));
     $student_detail->setFatherJob($this->getRequestParameter('father_job'));
     $student_detail->setMotherJob($this->getRequestParameter('mother_job'));
     $student_detail->setDetailFatherJob($this->getRequestParameter('detail_father_job'));
     $student_detail->setDetailMotherJob($this->getRequestParameter('detail_mother_job'));
     $student_detail->setAddress($this->getRequestParameter('address'));
     $student_detail->setPostCode($this->getRequestParameter('post_code'));
     $student_detail->setRegionId($this->getRequestParameter('region_id'));
     $student_detail->setPhone($this->getRequestParameter('phone'));
     $student_detail->setCellphone($this->getRequestParameter('cellphone'));
     $student_detail->setCompany($this->getRequestParameter('company'));
     $student_detail->setParentName($this->getRequestParameter('father'));
     $student_detail->setJobTitle($this->getRequestParameter('job_title'));
     $student_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin'));
     $student_detail->setSchoolOfOriginAddress($this->getRequestParameter('school_of_origin_address'));
     $student_detail->setRegNote($this->getRequestParameter('reg_note'));
     $student_detail->setChildNumber($this->getRequestParameter('child_number'));
     $student_detail->setBloodSiblings($this->getRequestParameter('blood_siblings'));
     $student_detail->setStepSiblings($this->getRequestParameter('step_siblings'));
     $student_detail->setOrphanageStatus($this->getRequestParameter('orphanage_status'));
     $student_detail->setResidenceStatus($this->getRequestParameter('residence_status'));
     $student_detail->setHomeDistance($this->getRequestParameter('home_distance'));
     $student_detail->setTransport($this->getRequestParameter('transport'));
     $student_detail->setAcademicCalendarId($this->getRequestParameter('department2'));
     $student_detail->setIllness($this->getRequestParameter('illness'));
     $student_detail->setIllnessNote($this->getRequestParameter('illness_note'));
     $student_detail->setGraduationGrade($this->getRequestParameter('graduation_grade'));
     $student_detail->setGraduationYear($this->getRequestParameter('graduation_year'));
     $student_detail->setBloodType($this->getRequestParameter('blood_type'));
     $student_detail->setTall($this->getRequestParameter('tall'));
     $student_detail->setDepartmentOfOrigin($this->getRequestParameter('department_of_origin'));
     $student_detail->setWeight($this->getRequestParameter('weight'));
     $student_detail->save();
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $student = new Student();
     } else {
         $student = StudentPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($student);
     }
     $student->setId($this->getRequestParameter('id'));
     $student->setCode($this->getRequestParameter('code'));
     $student->setCode2($this->getRequestParameter('code2'));
     $student->setCode3($this->getRequestParameter('code3'));
     $student->setName($this->getRequestParameter('name'));
     $student->setClassName($this->getRequestParameter('class_name'));
     $student->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
     $student->setCurriculumId($this->getRequestParameter('curriculum_id'));
     $student->setClassGroupId($this->getRequestParameter('class_group_id'));
     $student->setStatus($this->getRequestParameter('status'));
     $student->setStudentDetail($student_detail);
     if ($this->getRequestParameter('password') != null && strlen($this->getRequestParameter('password')) > 0) {
         // password set
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('password'));
         if ($student->getPassword() != $crypted && strlen($this->getRequestParameter('password')) > 0) {
             // password changed
             $student->setPassword($crypted);
         }
     } elseif ($student->getPassword() == null || $student->getPassword() == '') {
         // create
         $crypted = sha1(sfConfig::get('app_salt') . $student_detail->getDob('dmY'));
         $student->setPassword($crypted);
     }
     $student->save();
     if ($student->getStatus() == Student::STATUS_GRADUATE) {
         $student->setGraduationDate(date('Y/m/d'));
         $student->save();
     }
     // save photo
     $photo_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     if ($this->hasRequestParameter('photoFile') && $this->getRequestParameter('photoFile') != '' && $this->getRequestParameter('photoFile') != null) {
         // get photo content
         $photo_file = $photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile');
         $content = file_get_contents($photo_file);
         $im = imagecreatefromstring($content);
         list($w, $h) = getimagesize($photo_file);
         // generate photo
         $photo = imagecreatetruecolor(150, 195);
         imagecopyresized($photo, $im, 0, 0, 0, 0, 150, 195, $w, $h);
         // generate thumbnail
         $thumb = imagecreatetruecolor(100, 130);
         imagecopyresized($thumb, $im, 0, 0, 0, 0, 100, 130, $w, $h);
         // get photo record
         $c = new Criteria();
         $c->add(StudentPhotoPeer::STUDENT_ID, $student->getId());
         $student_photo = StudentPhotoPeer::doSelectOne($c);
         if ($student_photo == null) {
             $student_photo = new StudentPhoto();
             $student_photo->setStudent($student);
         }
         // save photo
         imagepng($photo, $photo_file);
         $student_photo->setPhoto(base64_encode(file_get_contents($photo_file)));
         imagepng($thumb, $photo_file);
         $student_photo->setThumbnail(base64_encode(file_get_contents($photo_file)));
         $student_photo->save();
         unlink($photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile'));
     }
     if ($student_detail->getDetailFatherJob() == 1) {
         $father_job = 'Guru / Pengajar / Karyawan AlAzhar';
     } elseif ($student_detail->getDetailFatherJob() == 2) {
         $father_job = 'Guru / Pengajar Non ALAzhar';
     } elseif ($student_detail->getDetailFatherJob() == 3) {
         $father_job = 'Pegawai Swasta';
     } elseif ($student_detail->getDetailFatherJob() == 4) {
         $father_job = 'Pegawai Negeri Sipil';
     } elseif ($student_detail->getDetailFatherJob() == 5) {
         $father_job = 'Wiraswasta';
     } elseif ($student_detail->getDetailFatherJob() == 6) {
         $father_job = 'Tidak Bekerja';
     } else {
         $father_job = '';
     }
     if ($student_detail->getDetailMotherJob() == 1) {
         $mother_job = 'Guru / Pengajar / Karyawan AlAzhar';
     } elseif ($student_detail->getDetailMotherJob() == 2) {
         $mother_job = 'Guru / Pengajar Non ALAzhar';
     } elseif ($student_detail->getDetailMotherJob() == 3) {
         $mother_job = 'Pegawai Swasta';
     } elseif ($student_detail->getDetailMotherJob() == 4) {
         $mother_job = 'Pegawai Negeri Sipil';
     } elseif ($student_detail->getDetailMotherJob() == 5) {
         $mother_job = 'Wiraswasta';
     } elseif ($student_detail->getDetailMotherJob() == 6) {
         $mother_job = 'Tidak Bekerja';
     } else {
         $mother_job = '';
     }
     #Data Orang Tua (Ayah)
     $student_father = StudentParentsPeer::retrieveByPk($this->getRequestParameter('father_id'));
     $this->forward404Unless($student_father);
     $student_father->setId($this->getRequestParameter('father_id'));
     $student_father->setName($this->getRequestParameter('father'));
     $student_father->setStudent($student);
     $student_father->setPob($this->getRequestParameter('father_pob'));
     if ($this->getRequestParameter('father_dob')) {
         $student_father->setDob($this->getRequestParameter('father_dob'));
     }
     $student_father->setReligionId($this->getRequestParameter('religion_father'));
     $student_father->setDegreeId($this->getRequestParameter('degree_father'));
     $student_father->setJob($father_job);
     $student_father->setAddress($this->getRequestParameter('father_address'));
     $student_father->setOfficePhone($this->getRequestParameter('father_office_phone'));
     $student_father->setPostCode($this->getRequestParameter('post_code'));
     $student_father->setRegionId($this->getRequestParameter('region_id'));
     $student_father->setHomePhone($this->getRequestParameter('home_phone'));
     $student_father->setCellphone($this->getRequestParameter('father_cellphone'));
     $student_father->setCountryId($this->getRequestParameter('father_country'));
     $student_father->setMonthlyRevenue($this->getRequestParameter('father_revenue'));
     $student_father->setEmail($this->getRequestParameter('father_email'));
     $student_father->setNote($this->getRequestParameter('father_note'));
     $student_father->setNoteDetail($this->getRequestParameter('father_note_detail'));
     if ($this->getRequestParameter('father_date_note')) {
         $student_father->setNoteDate($this->getRequestParameter('father_date_note'));
     }
     $student_father->setRelation(StudentParents::RELATION_FATHER);
     $student_father->save();
     #Data Orang Tua (Ibu)
     $student_mother = StudentParentsPeer::retrieveByPk($this->getRequestParameter('mother_id'));
     $this->forward404Unless($student_mother);
     $student_mother->setId($this->getRequestParameter('mother_id'));
     $student_mother->setName($this->getRequestParameter('mother'));
     $student_mother->setStudent($student);
     if ($this->getRequestParameter('mother_dob')) {
         $student_mother->setDob($this->getRequestParameter('mother_dob'));
     }
     $student_mother->setPob($this->getRequestParameter('mother_pob'));
     $student_mother->setReligionId($this->getRequestParameter('religion_mother'));
     $student_mother->setDegreeId($this->getRequestParameter('degree_mother'));
     $student_mother->setJob($mother_job);
     $student_mother->setAddress($this->getRequestParameter('mother_address'));
     $student_mother->setOfficePhone($this->getRequestParameter('mother_office_phone'));
     $student_mother->setPostCode($this->getRequestParameter('post_code'));
     $student_mother->setRegionId($this->getRequestParameter('region_id'));
     $student_mother->setHomePhone($this->getRequestParameter('home_phone'));
     $student_mother->setCellphone($this->getRequestParameter('mother_cellphone'));
     $student_mother->setCountryId($this->getRequestParameter('mother_country'));
     $student_mother->setMonthlyRevenue($this->getRequestParameter('mother_revenue'));
     $student_mother->setEmail($this->getRequestParameter('mother_email'));
     $student_mother->setNote($this->getRequestParameter('mother_note'));
     $student_mother->setNoteDetail($this->getRequestParameter('mother_note_detail'));
     if ($this->getRequestParameter('mother_date_note')) {
         $student_mother->setNoteDate($this->getRequestParameter('mother_date_note'));
     }
     $student_mother->setRelation(StudentParents::RELATION_MOTHER);
     $student_mother->save();
     return $this->redirect('counseling/listStudentByEmployee?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId());
 }
예제 #5
0
 public function executeUpdate()
 {
     $student_detail = StudentDetailPeer::retrieveByPk($this->getRequestParameter('student_detail_id'));
     $student_detail->setId($this->getRequestParameter('student_detail_id'));
     $student_detail->setShortName($this->getRequestParameter('short_name'));
     $student_detail->setPob($this->getRequestParameter('pob'));
     if ($this->getRequestParameter('dob')) {
         $student_detail->setDob($this->getRequestParameter('dob'));
     }
     $student_detail->setSex($this->getRequestParameter('sex'));
     $student_detail->setReligionId($this->getRequestParameter('religion_id'));
     $student_detail->setCountryId($this->getRequestParameter('country_id'));
     $student_detail->setNativeLanguage($this->getRequestParameter('native_language'));
     $student_detail->setFather($this->getRequestParameter('father'));
     $student_detail->setMother($this->getRequestParameter('mother'));
     $student_detail->setFatherJob($this->getRequestParameter('father_job'));
     $student_detail->setMotherJob($this->getRequestParameter('mother_job'));
     $student_detail->setDetailFatherJob($this->getRequestParameter('detail_father_job'));
     $student_detail->setDetailMotherJob($this->getRequestParameter('detail_mother_job'));
     $student_detail->setAddress($this->getRequestParameter('address'));
     $student_detail->setPostCode($this->getRequestParameter('post_code'));
     $student_detail->setRegionId($this->getRequestParameter('region_id'));
     $student_detail->setPhone($this->getRequestParameter('phone'));
     $student_detail->setCellphone($this->getRequestParameter('cellphone'));
     $student_detail->setCompany($this->getRequestParameter('company'));
     $student_detail->setParentName($this->getRequestParameter('father'));
     $student_detail->setJobTitle($this->getRequestParameter('job_title'));
     $student_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin'));
     $student_detail->setSchoolOfOriginAddress($this->getRequestParameter('school_of_origin_address'));
     $student_detail->setRegNote($this->getRequestParameter('reg_note'));
     $student_detail->setChildNumber($this->getRequestParameter('child_number'));
     $student_detail->setBloodSiblings($this->getRequestParameter('blood_siblings'));
     $student_detail->setStepSiblings($this->getRequestParameter('step_siblings'));
     $student_detail->setOrphanageStatus($this->getRequestParameter('orphanage_status'));
     $student_detail->setResidenceStatus($this->getRequestParameter('residence_status'));
     $student_detail->setHomeDistance($this->getRequestParameter('home_distance'));
     $student_detail->setTransport($this->getRequestParameter('transport'));
     $student_detail->setAcademicCalendarId($this->getRequestParameter('department2'));
     $student_detail->setIllness($this->getRequestParameter('illness'));
     $student_detail->setIllnessNote($this->getRequestParameter('illness_note'));
     $student_detail->setGraduationGrade($this->getRequestParameter('graduation_grade'));
     $student_detail->setGraduationYear($this->getRequestParameter('graduation_year'));
     $student_detail->setBloodType($this->getRequestParameter('blood_type'));
     $student_detail->setTall($this->getRequestParameter('tall'));
     $student_detail->setDepartmentOfOrigin($this->getRequestParameter('department_of_origin'));
     $student_detail->setWeight($this->getRequestParameter('weight'));
     $student_detail->save();
     $student = StudentPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student);
     $student->setId($this->getRequestParameter('id'));
     $student->setCode($this->getRequestParameter('code'));
     $student->setCode2($this->getRequestParameter('code2'));
     $student->setCode3($this->getRequestParameter('code3'));
     $student->setName($this->getRequestParameter('name'));
     $student->setClassName($this->getRequestParameter('class_name'));
     $student->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
     $student->setCurriculumId($this->getRequestParameter('curriculum_id'));
     $student->setClassGroupId($this->getRequestParameter('class_group_id'));
     $student->setStatus($this->getRequestParameter('status'));
     $student->setStudentDetail($student_detail);
     if ($this->getRequestParameter('password') != null && strlen($this->getRequestParameter('password')) > 0) {
         // password set
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('password'));
         if ($student->getPassword() != $crypted && strlen($this->getRequestParameter('password')) > 0) {
             // password changed
             $student->setPassword($crypted);
         }
     } elseif ($student->getPassword() == null || $student->getPassword() == '') {
         // create
         $crypted = sha1(sfConfig::get('app_salt') . $student_detail->getDob('dmY'));
         $student->setPassword($crypted);
     }
     $student->save();
     if ($student_detail->getDetailFatherJob() == 1) {
         $father_job = 'Guru / Pengajar / Karyawan AlAzhar';
     } elseif ($student_detail->getDetailFatherJob() == 2) {
         $father_job = 'Guru / Pengajar Non ALAzhar';
     } elseif ($student_detail->getDetailFatherJob() == 3) {
         $father_job = 'Pegawai Swasta';
     } elseif ($student_detail->getDetailFatherJob() == 4) {
         $father_job = 'Pegawai Negeri Sipil';
     } elseif ($student_detail->getDetailFatherJob() == 5) {
         $father_job = 'Wiraswasta';
     } elseif ($student_detail->getDetailFatherJob() == 6) {
         $father_job = 'Tidak Bekerja';
     } else {
         $father_job = '';
     }
     if ($student_detail->getDetailMotherJob() == 1) {
         $mother_job = 'Guru / Pengajar / Karyawan AlAzhar';
     } elseif ($student_detail->getDetailMotherJob() == 2) {
         $mother_job = 'Guru / Pengajar Non ALAzhar';
     } elseif ($student_detail->getDetailMotherJob() == 3) {
         $mother_job = 'Pegawai Swasta';
     } elseif ($student_detail->getDetailMotherJob() == 4) {
         $mother_job = 'Pegawai Negeri Sipil';
     } elseif ($student_detail->getDetailMotherJob() == 5) {
         $mother_job = 'Wiraswasta';
     } elseif ($student_detail->getDetailMotherJob() == 6) {
         $mother_job = 'Tidak Bekerja';
     } else {
         $mother_job = '';
     }
     #Data Orang Tua (Ayah)
     $student_father = StudentParentsPeer::retrieveByPk($this->getRequestParameter('father_id'));
     $this->forward404Unless($student_father);
     $student_father->setId($this->getRequestParameter('father_id'));
     $student_father->setName($this->getRequestParameter('father'));
     $student_father->setStudent($student);
     $student_father->setPob($this->getRequestParameter('father_pob'));
     if ($this->getRequestParameter('father_dob')) {
         $student_father->setDob($this->getRequestParameter('father_dob'));
     }
     $student_father->setReligionId($this->getRequestParameter('religion_father'));
     $student_father->setDegreeId($this->getRequestParameter('degree_father'));
     $student_father->setJob($father_job);
     $student_father->setAddress($this->getRequestParameter('father_address'));
     $student_father->setOfficePhone($this->getRequestParameter('father_office_phone'));
     $student_father->setPostCode($this->getRequestParameter('post_code'));
     $student_father->setRegionId($this->getRequestParameter('region_id'));
     $student_father->setHomePhone($this->getRequestParameter('home_phone'));
     $student_father->setCellphone($this->getRequestParameter('father_cellphone'));
     $student_father->setCountryId($this->getRequestParameter('father_country'));
     $student_father->setMonthlyRevenue($this->getRequestParameter('father_revenue'));
     $student_father->setEmail($this->getRequestParameter('father_email'));
     $student_father->setNote($this->getRequestParameter('father_note'));
     $student_father->setNoteDetail($this->getRequestParameter('father_note_detail'));
     if ($this->getRequestParameter('father_date_note')) {
         $student_father->setNoteDate($this->getRequestParameter('father_date_note'));
     }
     $student_father->setRelation(StudentParents::RELATION_FATHER);
     $student_father->save();
     #Data Orang Tua (Ibu)
     $student_mother = StudentParentsPeer::retrieveByPk($this->getRequestParameter('mother_id'));
     $this->forward404Unless($student_mother);
     $student_mother->setId($this->getRequestParameter('mother_id'));
     $student_mother->setName($this->getRequestParameter('mother'));
     $student_mother->setStudent($student);
     if ($this->getRequestParameter('mother_dob')) {
         $student_mother->setDob($this->getRequestParameter('mother_dob'));
     }
     $student_mother->setPob($this->getRequestParameter('mother_pob'));
     $student_mother->setReligionId($this->getRequestParameter('religion_mother'));
     $student_mother->setDegreeId($this->getRequestParameter('degree_mother'));
     $student_mother->setJob($mother_job);
     $student_mother->setAddress($this->getRequestParameter('mother_address'));
     $student_mother->setOfficePhone($this->getRequestParameter('mother_office_phone'));
     $student_mother->setPostCode($this->getRequestParameter('post_code'));
     $student_mother->setRegionId($this->getRequestParameter('region_id'));
     $student_mother->setHomePhone($this->getRequestParameter('home_phone'));
     $student_mother->setCellphone($this->getRequestParameter('mother_cellphone'));
     $student_mother->setCountryId($this->getRequestParameter('mother_country'));
     $student_mother->setMonthlyRevenue($this->getRequestParameter('mother_revenue'));
     $student_mother->setEmail($this->getRequestParameter('mother_email'));
     $student_mother->setNote($this->getRequestParameter('mother_note'));
     $student_mother->setNoteDetail($this->getRequestParameter('mother_note_detail'));
     if ($this->getRequestParameter('mother_date_note')) {
         $student_mother->setNoteDate($this->getRequestParameter('mother_date_note'));
     }
     $student_mother->setRelation(StudentParents::RELATION_MOTHER);
     $student_mother->save();
     return $this->redirect('user_profile/index');
 }
예제 #6
0
 public function executeUpdateProfile()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     // add/update student_detail
     if ($action_type == $action_i18n || !$this->getRequestParameter('student_detail_id')) {
         $student_detail = new StudentDetail();
     } else {
         $student_detail = StudentDetailPeer::retrieveByPk($this->getRequestParameter('student_detail_id'));
         #$this->forward404Unless($student_detail);
     }
     $student_detail->setId($this->getRequestParameter('student_detail_id'));
     $student_detail->setPob($this->getRequestParameter('pob'));
     if ($this->getRequestParameter('dob')) {
         $student_detail->setDob($this->getRequestParameter('dob'));
     }
     $student_detail->setSex($this->getRequestParameter('sex'));
     $student_detail->setAddress($this->getRequestParameter('address'));
     $student_detail->setRegionId($this->getRequestParameter('region_id'));
     $student_detail->setPostCode($this->getRequestParameter('post_code'));
     $student_detail->setParentName($this->getRequestParameter('parent_name'));
     $student_detail->setPhone($this->getRequestParameter('phone'));
     $student_detail->setCellphone($this->getRequestParameter('cellphone'));
     $student_detail->setReligionId($this->getRequestParameter('religion_id'));
     $student_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin'));
     $student_detail->setGraduationYear($this->getRequestParameter('graduation_year'));
     $student_detail->setGraduationGrade($this->getRequestParameter('graduation_grade'));
     $student_detail->setCompany($this->getRequestParameter('company'));
     $student_detail->setJobTitle($this->getRequestParameter('job_title'));
     $student_detail->setCollegeOfOrigin($this->getRequestParameter('college_of_origin'));
     $student_detail->setDepartmentOfOrigin($this->getRequestParameter('department_of_origin'));
     $student_detail->setRegYear($this->getRequestParameter('reg_year'));
     $student_detail->setResidenceStatus($this->getRequestParameter('residence_status'));
     $student_detail->setHomeDistance($this->getRequestParameter('home_distance'));
     $student_detail->setTransport($this->getRequestParameter('transport'));
     $student_detail->setNativeLanguage($this->getRequestParameter('native_language'));
     $student_detail->setChildNumber($this->getRequestParameter('child_number'));
     $student_detail->setBloodSiblings($this->getRequestParameter('blood_siblings'));
     $student_detail->setStepSiblings($this->getRequestParameter('step_siblings'));
     $student_detail->setAdoptSiblings($this->getRequestParameter('adopt_siblings'));
     $student_detail->setOrphanageStatus($this->getRequestParameter('orphanage_status'));
     $student_detail->setNationality($this->getRequestParameter('nationality'));
     $student_detail->setShortName($this->getRequestParameter('short_name'));
     $student_detail->setIntelligency($this->getRequestParameter('intelligency'));
     if ($this->getRequestParameter('test_date') != '') {
         $student_detail->setTestDate($this->getRequestParameter('test_date'));
     }
     $student_detail->save();
     ### Member Detail ###
     if ($action_type == $action_i18n || !$this->getRequestParameter('member_detail_id')) {
         $member_detail = new MemberDetail();
     } else {
         $member_detail = MemberDetailPeer::retrieveByPk($this->getRequestParameter('member_detail_id'));
         #$this->forward404Unless($member_detail);
     }
     $member_detail->setId($this->getRequestParameter('member_detail_id'));
     $member_detail->setPob($this->getRequestParameter('pob'));
     if ($this->getRequestParameter('dob')) {
         $member_detail->setDob($this->getRequestParameter('dob'));
     }
     $member_detail->setSex($this->getRequestParameter('sex'));
     $member_detail->setAddress($this->getRequestParameter('address'));
     $member_detail->setRegionId($this->getRequestParameter('region_id'));
     $member_detail->setPostCode($this->getRequestParameter('post_code'));
     $member_detail->setPhone($this->getRequestParameter('phone'));
     $member_detail->setCellphone($this->getRequestParameter('cellphone'));
     $member_detail->setReligionId($this->getRequestParameter('religion_id'));
     $member_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin'));
     $member_detail->setGraduationYear($this->getRequestParameter('graduation_year'));
     $member_detail->setGraduationGrade($this->getRequestParameter('graduation_grade'));
     $member_detail->setCompany($this->getRequestParameter('company'));
     $member_detail->setJobTitle($this->getRequestParameter('job_title'));
     $member_detail->setCollegeOfOrigin($this->getRequestParameter('college_of_origin'));
     $member_detail->setDepartmentOfOrigin($this->getRequestParameter('department_of_origin'));
     $member_detail->setRegYear($this->getRequestParameter('reg_year'));
     $member_detail->setResidenceStatus($this->getRequestParameter('residence_status'));
     $member_detail->setHomeDistance($this->getRequestParameter('home_distance'));
     $member_detail->setTransport($this->getRequestParameter('transport'));
     $member_detail->setNativeLanguage($this->getRequestParameter('native_language'));
     $member_detail->setChildNumber($this->getRequestParameter('child_number'));
     $member_detail->setBloodSiblings($this->getRequestParameter('blood_siblings'));
     $member_detail->setStepSiblings($this->getRequestParameter('step_siblings'));
     $member_detail->setAdoptSiblings($this->getRequestParameter('adopt_siblings'));
     $member_detail->setOrphanageStatus($this->getRequestParameter('orphanage_status'));
     $member_detail->setNationality($this->getRequestParameter('nationality'));
     $member_detail->setShortName($this->getRequestParameter('short_name'));
     $member_detail->setIntelligency($this->getRequestParameter('intelligency'));
     if ($this->getRequestParameter('test_date') != '') {
         $member_detail->setTestDate($this->getRequestParameter('test_date'));
     }
     $member_detail->save();
     if ($action_type == $action_i18n || !$this->getRequestParameter('member_id')) {
         $member = new Member();
     } else {
         $member = MemberPeer::retrieveByPk($this->getRequestParameter('member_id'));
         #$this->forward404Unless($member);
     }
     $member->setId($this->getRequestParameter('member_id'));
     $member->setCode($this->getRequestParameter('code'));
     $member->setName($this->getRequestParameter('name'));
     $old_status = $member->getStatus();
     $member->setStatus($this->getRequestParameter('status'));
     $member->setType('1');
     $member->setMemberDetail($member_detail);
     if ($this->getRequestParameter('password') != null && strlen($this->getRequestParameter('password')) > 0) {
         // password set
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('password'));
         if ($member->getPassword() != $crypted && strlen($this->getRequestParameter('password')) > 0) {
             // password changed
             $member->setPassword($crypted);
         }
     } elseif ($member->getPassword() == null || $member->getPassword() == '') {
         // create
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('code') . $member_detail->getDob('dm'));
         $member->setPassword($crypted);
     }
     $member->save();
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $student = new Student();
     } else {
         $student = StudentPeer::retrieveByPk($this->getRequestParameter('id'));
         #$this->forward404Unless($student);
     }
     $student->setId($this->getRequestParameter('id'));
     $student->setCode($this->getRequestParameter('code'));
     $student->setCode2($this->getRequestParameter('code2'));
     $student->setName($this->getRequestParameter('name'));
     $student->setClassName($this->getRequestParameter('class_name'));
     $student->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
     $student->setClassGroupId($this->getRequestParameter('class_group_id'));
     $student->setTestApplicantId($this->getRequestParameter('test_applicant_id'));
     $old_status = $student->getStatus();
     $student->setStatus($this->getRequestParameter('status'));
     $student->setStudentDetail($student_detail);
     $student->setMember($member);
     if ($this->getRequestParameter('password') != null && strlen($this->getRequestParameter('password')) > 0) {
         // password set
         $crypted = sha1(sfConfig::get('app_salt') . $this->getRequestParameter('password'));
         if ($student->getPassword() != $crypted && strlen($this->getRequestParameter('password')) > 0) {
             // password changed
             $student->setPassword($crypted);
         }
     } elseif ($student->getPassword() == null || $student->getPassword() == '') {
         // create
         $crypted = sha1(sfConfig::get('app_salt') . $student_detail->getDob('dmY'));
         $student->setPassword($crypted);
     }
     $student->save();
     if ($student->getStatus() == Student::STATUS_FINAL) {
         $c = new Criteria();
         $c->add(SubjectPeer::IS_COMPREHENSIVE_SUBJECT, true);
         $c->addJoin(SubjectPeer::ID, SubjectAccalPeer::SUBJECT_ID);
         $c->addJoin(SubjectAccalPeer::ID, StudentCoursePeer::SUBJECT_ACCAL_ID);
         $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_ACTIVE);
         $c->add(StudentCoursePeer::STUDENT_ID, $student->getId());
         $sc = StudentCoursePeer::doSelectOne($c);
         if ($sc) {
             $accal_id = $sc->getSubjectAccal()->getAcademicCalendarId();
             $st = new StudentThesis();
             $st->setStudentid($student->getId());
             $st->setStatus(StudentThesis::STATUS_ACTIVE);
             $st->setAcademicCalendarId($accal_id);
             $st->save();
         } else {
             $student->setStatus($old_status);
             $student->save();
         }
     } elseif ($student->getStatus() == Student::STATUS_GRADUATE) {
         $student->setGraduationDate(date('Y/m/d'));
         $student->save();
     }
     // save photo
     $photo_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     if ($this->hasRequestParameter('photoFile') && $this->getRequestParameter('photoFile') != '' && $this->getRequestParameter('photoFile') != null) {
         // get photo content
         $photo_file = $photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile');
         $content = file_get_contents($photo_file);
         $im = imagecreatefromstring($content);
         list($w, $h) = getimagesize($photo_file);
         // generate photo
         $photo = imagecreatetruecolor(150, 195);
         imagecopyresized($photo, $im, 0, 0, 0, 0, 150, 195, $w, $h);
         // generate thumbnail
         $thumb = imagecreatetruecolor(100, 130);
         imagecopyresized($thumb, $im, 0, 0, 0, 0, 100, 130, $w, $h);
         // get photo record
         $c = new Criteria();
         $c->add(StudentPhotoPeer::STUDENT_ID, $student->getId());
         $student_photo = StudentPhotoPeer::doSelectOne($c);
         if ($student_photo == null) {
             $student_photo = new StudentPhoto();
             $student_photo->setStudent($student);
         }
         // save photo
         imagepng($photo, $photo_file);
         $student_photo->setPhoto(base64_encode(file_get_contents($photo_file)));
         imagepng($thumb, $photo_file);
         $student_photo->setThumbnail(base64_encode(file_get_contents($photo_file)));
         $student_photo->save();
         unlink($photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile'));
     }
     // save member photo
     $photo_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     if ($this->hasRequestParameter('photoFile') && $this->getRequestParameter('photoFile') != '' && $this->getRequestParameter('photoFile') != null) {
         // get photo content
         $photo_file = $photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile');
         $content = file_get_contents($photo_file);
         $im = imagecreatefromstring($content);
         list($w, $h) = getimagesize($photo_file);
         // generate photo
         $photo = imagecreatetruecolor(150, 200);
         imagecopyresized($photo, $im, 0, 0, 0, 0, 150, 200, $w, $h);
         // generate thumbnail
         $thumb = imagecreatetruecolor(100, 150);
         imagecopyresized($thumb, $im, 0, 0, 0, 0, 100, 150, $w, $h);
         // get photo record
         $c = new Criteria();
         $c->add(MemberPhotoPeer::MEMBER_ID, $member->getId());
         $member_photo = MemberPhotoPeer::doSelectOne($c);
         if ($member_photo == null) {
             $member_photo = new MemberPhoto();
             $member_photo->setMember($member);
         }
         // save photo
         imagepng($photo, $photo_file);
         $member_photo->setPhoto(base64_encode(file_get_contents($photo_file)));
         imagepng($thumb, $photo_file);
         $member_photo->setThumbnail(base64_encode(file_get_contents($photo_file)));
         $member_photo->save();
         unlink($photo_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('photoFile'));
     }
     $filter_class = $this->getRequestParameter('filter_class');
     $filter_name = $this->getRequestParameter('filter_name');
     $filter_code = $this->getRequestParameter('filter_code');
     $filter_code2 = $this->getRequestParameter('filter_code2');
     if ($filter_class) {
         return $this->redirect('student/listProfile?filters[CLASS_NAME]=' . $filter_class);
     } elseif ($filter_name) {
         return $this->redirect('student/listProfile?filters[NAME]=' . $filter_name);
     } elseif ($filter_code) {
         return $this->redirect('student/listProfile?filters[CODE]=' . $filter_code);
     } elseif ($filter_code2) {
         return $this->redirect('student/listProfile?filters[CODE2]=' . $filter_code2);
     } else {
         return $this->redirect('student/listProfile');
     }
 }