public function attendanceAction() { $department_id = $this->_getParam('department_id'); $subject_code = $this->_getParam('subject_code'); $subject_mode_id = $this->_getParam('subject_mode_id'); $lowerThreshold = $this->_getParam('lower', 65); $upperThreshold = $this->_getParam('upper', 75); $filterBelow = $this->_getParam('filter_below'); $filterAbove = $this->_getParam('filter_above'); $dateFrom = $this->_getParam('date_from'); $dateUpto = $this->_getParam('date_upto'); $status = $this->_getParam('status'); $group = $this->_getParam('group'); $subject_mode_id = $this->_getParam('subject_mode_id'); $format = $this->_getParam('format', 'html'); if (!((string) $lowerThreshold === (string) (int) $lowerThreshold) or !((string) $upperThreshold === (string) (int) $upperThreshold) or !($upperThreshold > $lowerThreshold)) { throw new Exception('Check lower and upper threshold parameters, Hint: "Upper"(i.e. ' . $upperThreshold . ') must be greater then "lower"(i.e. ' . $lowerThreshold . ')', Zend_Log::ERR); } if ($subject_code and $department_id) { $subject = new Acad_Model_Course_Subject(); $subject->setSubject_code($subject_code)->setDepartment_id($department_id)->setSubject_mode_id($subject_mode_id); $attendanceSet = $subject->getStudentAttendance($dateFrom, $dateUpto, $status, $group, $filterBelow, $filterAbove); $attendanceTotal = $subject->getAttendanceTotal(); $facultySet = $subject->getFaculty($dateFrom, $dateUpto); $stat = $subject->getStudentAttendanceStat(); $summary = $subject->attendanceSummary($lowerThreshold, $upperThreshold); $stuModeWiseAtt = $subject->attendanceStuModeWise(); $subject_name = $subject->getSubject_name(); } /* ELSE part is mentioned in view section. * else { throw new Exception('<b>Department Id</b>(department_id) as well as <b>Subject code</b>(subject_code) are <b>required</b>.', Zend_Log::INFO); }*/ switch (strtolower($format)) { case 'test': $this->_helper->logger($summary); $this->_helper->logger($attendanceSet); return; case 'html': $this->_helper->viewRenderer->setNoRender(false); $this->_helper->layout()->enableLayout(); $this->view->assign('department_id', $this->view->escape($department_id)); $this->view->assign('subject_code', $this->view->escape($subject_code)); $this->view->assign('subject_mode_id', $this->view->escape($subject_mode_id)); $this->view->assign('lowerThreshold', $lowerThreshold); $this->view->assign('upperThreshold', $upperThreshold); $this->view->assign('filterBelow', $filterBelow); $this->view->assign('filterAbove', $filterAbove); $this->view->assign('date_from', $dateFrom); $this->view->assign('date_upto', $dateUpto); $this->view->assign('stat', $stat); $this->view->assign('attendanceSet', $attendanceSet); $this->view->assign('subjectModes', array_keys($attendanceSet)); $this->view->assign('subject_name', $subject_name); $this->view->assign('summary', $summary); $this->view->assign('stuModeWiseAtt', $stuModeWiseAtt); $session_startdate = Acad_Model_DbTable_AcademicSession::getSessionStartDate(); $this->view->assign('session_startdate', $session_startdate); return; case 'json': echo $this->_helper->json($this->summary, false); return; } }