Selection::monthSelectorInTA($mon, $ta, $urlOnChange); ?> </div> </div> <?php //Mold::both("studensetup/absensi_legends",array("numDays"=>$numDays,"mon"=>$mon,"year"=>$year,"calendar"=>$calendar,"arrCl"=>$arrCl,"arrMacemAbsens"=>$arrMacemAbsens)); $cale = new Calendar(); $arrCl = $cale->arrCl; $abs = new Absensi(); $arrMacemAbsens = $abs->arrMacamAbsen; $limithari = 5; if (Schoolsetting::apaSabtuMasuk()) { $limithari = 6; } if (Schoolsetting::apaMingguMasuk()) { $limithari = 7; } ?> <style> .absennama { font-size: 15px; font-weight: bold; } .absenmasuk { background-color: #c1e2b3; } .absenabsen { background-color: #dFb5b4;
public function satukanEffDay($arrFirstDays, $arrHolidays, $arrRestDays) { //get actual tahun ajaran $ta = TahunAjaran::taInArray(); $jul = TahunAjaran::$bulanMulaiTA; $jun = $jul - 1; $returnArray = array(); $returnArray = self::verteiltDatum($arrFirstDays, $returnArray); $returnArray = self::verteiltDatum($arrHolidays, $returnArray); $returnArray = self::verteiltDatum($arrRestDays, $returnArray); // pr($returnArray); $strDateFrom = $ta[0] . "-0" . $jul . "-01"; $strDateTo = $ta[1] . "-0" . $jun . "-30"; $arrAllDates = TahunAjaran::createDateRangeArray($strDateFrom, $strDateTo); //apakah weekend masuk?? $arrWeekDay = array(1, 2, 3, 4, 5); //1 mon 5 fri if (Schoolsetting::apaSabtuMasuk()) { $arrWeekDay[] = 6; } if (Schoolsetting::apaMingguMasuk()) { $arrWeekDay[] = 7; } $newArr = array(); $newArrBulanan = array(); $cntEffDaySem = array(0, 0, 0, 0, 0); $cntTotalEffDay = 0; $semester = 0; $firstdayID = 0; $seconddayID = 0; $lastdayID = 0; foreach ($arrAllDates as $dtInMonth) { $insertArr = array(); $insertArr["type"] = array(); //set type as array $insertArr["eff"] = 0; //set eff day as 0 // check kl ada firstdays di tanggal2 ini if (isset($returnArray[$dtInMonth])) { $insertArr["activities"] = $returnArray[$dtInMonth]; //masukan jenis harinya foreach ($returnArray[$dtInMonth] as $act) { if (strstr($act->cal_id, "1stday")) { $insertArr["type"][] = "1stday"; $semester = 1; $firstdayID = $act->cal_id; } if (strstr($act->cal_id, "2ndday")) { $insertArr["type"][] = "2ndday"; $semester = 2; $seconddayID = $act->cal_id; } if (strstr($act->cal_id, "akhir")) { $insertArr["type"][] = "akhir"; $semester = 3; $insertArr["eff"] = 1; $lastdayID = $act->cal_id; } $insertArr["type"][] = $act->cal_type; } } //cari jenis hari list($tahun, $bulan, $hari) = explode("-", $dtInMonth); $jenishari = date("N", mktime(0, 0, 0, $bulan, $hari, $tahun)); $insertArr["jenishari"] = $jenishari; if (!in_array($jenishari, $arrWeekDay)) { $insertArr["type"][] = "weekend"; } //hitung counter if (in_array("holiday", $insertArr['type']) || in_array("weekend", $insertArr['type'])) { } else { $cntEffDaySem[$semester]++; //$cntTotalEffDay++; if ($semester > 0 && $semester < 3) { $insertArr["eff"] = 1; } } //cari bulanan $jenisbulan = date("n", mktime(0, 0, 0, $bulan, $hari, $tahun)); $newArrBulanan[$jenisbulan][$dtInMonth] = $insertArr; //harian $newArr[$dtInMonth] = $insertArr; } //totalnya di jumplah $cntTotalEffDay = $cntEffDaySem[1] + $cntEffDaySem[2]; $newArr['TotalEffDay'] = $cntTotalEffDay; $newArr['EffDaySem'] = $cntEffDaySem; $newArr['EffDay1'] = $cntEffDaySem[1]; $newArr['EffDay2'] = $cntEffDaySem[2]; $arrAwal = array("first" => $firstdayID, "second" => $seconddayID, "akhir" => $lastdayID); ksort($newArr); //pr($newArr); //pr($newArrBulanan); return array("harian" => $newArr, "bulanan" => $newArrBulanan, "awal" => $arrAwal); }