/** * Overrides _buildObjArr of LeaveQuota * Builds the Leave Summary from the resource * * @param resource $result * @return Array[][] LeaveSummary * @access protected * @author S.H.Mohanjith * */ protected function _buildObjArr($result) { $leaveObj = new Leave(); $leaveObj->setEmployeeId($this->getEmployeeId()); $objArr = null; $leveTypeObj = new LeaveType(); $leaveTypes = $leveTypeObj->fetchLeaveTypes(true); $objLeaveType = new LeaveType(); if (is_array($leaveTypes)) { foreach ($leaveTypes as $leaveType) { $tmpLeaveSummary = new LeaveSummary(); $tmpLeaveSummary->setLeaveTypeId($leaveType->getLeaveTypeId()); $tmpLeaveSummary->setLeaveTypeName($leaveType->getLeaveTypeName()); $tmpLeaveSummary->setNoOfDaysAllotted(0); $taken = $leaveObj->countLeave($tmpLeaveSummary->getLeaveTypeId(), $this->getYear()); $tmpLeaveSummary->setLeaveTaken($taken); $tmpLeaveSummary->setLeaveAvailable(0); $tmpLeaveSummary->setYear($this->getYear()); $tmpLeaveSummary->setLeaveTypeAvailable($leaveType->getLeaveTypeAvailable()); if ($tmpLeaveSummary->getLeaveTypeAvailable() == $objLeaveType->availableStatusFlag || $tmpLeaveSummary->getLeaveTaken() > 0) { $leaveTypeList[$leaveType->getLeaveTypeId()] = $tmpLeaveSummary; } } $objLeaveType = new LeaveType(); while ($row = mysql_fetch_row($result)) { if (isset($leaveTypeList[$row[1]])) { $tmpLeaveSummary = $leaveTypeList[$row[1]]; $leaveTypeAvailable = $tmpLeaveSummary->getLeaveTypeAvailable(); $tmpLeaveSummary->setNoOfDaysAllotted($row[3]); $taken = $tmpLeaveSummary->getLeaveTaken(); $alloted = $tmpLeaveSummary->getNoOfDaysAllotted(); $tmpLeaveSummary->setLeaveAvailable($alloted - $taken); $leaveTypeList[$row[1]] = $tmpLeaveSummary; } } if (isset($leaveTypeList)) { $objArr = $leaveTypeList; sort($objArr); } } return $objArr; }