@@ -232,8 +232,9 @@ discard block |
||
232 | 232 | |
233 | 233 | case 0x0d: |
234 | 234 | // Yearly |
235 | - if (strlen($rdata) < 16) |
|
236 | - return $ret; |
|
235 | + if (strlen($rdata) < 16) { |
|
236 | + return $ret; |
|
237 | + } |
|
237 | 238 | |
238 | 239 | $data = unpack("Vmonth/Veveryn/Vregen/Vmonthday", $rdata); |
239 | 240 | |
@@ -564,8 +565,9 @@ discard block |
||
564 | 565 | function saveRecurrence() |
565 | 566 | { |
566 | 567 | // Only save if a message was passed |
567 | - if(!isset($this->message)) |
|
568 | - return; |
|
568 | + if(!isset($this->message)) { |
|
569 | + return; |
|
570 | + } |
|
569 | 571 | |
570 | 572 | // Abort if no recurrence was set |
571 | 573 | if(!isset($this->recur["type"], $this->recur["subtype"], $this->recur["start"], $this->recur["end"], $this->recur["startocc"], $this->recur["endocc"])) { |
@@ -622,8 +624,9 @@ discard block |
||
622 | 624 | $dayskip = -1; |
623 | 625 | for($j = 0; $j < 7; $j++) { |
624 | 626 | if(((int) $this->recur["weekdays"]) & (1<<( ($dayofweek+$j)%7)) ) { |
625 | - if($dayskip == -1) |
|
626 | - $dayskip = $j; |
|
627 | + if($dayskip == -1) { |
|
628 | + $dayskip = $j; |
|
629 | + } |
|
627 | 630 | |
628 | 631 | $daycount++; |
629 | 632 | } |
@@ -633,8 +636,9 @@ discard block |
||
633 | 636 | // $daycount is the number of days per week that an occurrence occurs |
634 | 637 | |
635 | 638 | $weekskip = 0; |
636 | - if(($dayofweek < $weekstart && $dayskip > 0) || ($dayofweek+$dayskip) > 6) |
|
637 | - $weekskip = 1; |
|
639 | + if(($dayofweek < $weekstart && $dayskip > 0) || ($dayofweek+$dayskip) > 6) { |
|
640 | + $weekskip = 1; |
|
641 | + } |
|
638 | 642 | |
639 | 643 | // Check if the recurrence ends after a number of occurences, in that case we must calculate the |
640 | 644 | // remaining occurences based on the start of the recurrence. |
@@ -662,10 +666,11 @@ discard block |
||
662 | 666 | |
663 | 667 | $firstocc -= (((int) gmdate("w", (int) $this->recur["start"])) - 1) * 24 * 60; |
664 | 668 | |
665 | - if ($this->recur["regen"]) |
|
666 | - $rdata .= pack("VVV", $firstocc, (int) $this->recur["everyn"], 1); |
|
667 | - else |
|
668 | - $rdata .= pack("VVVV", $firstocc, (int) $this->recur["everyn"], 0, (int) $this->recur["weekdays"]); |
|
669 | + if ($this->recur["regen"]) { |
|
670 | + $rdata .= pack("VVV", $firstocc, (int) $this->recur["everyn"], 1); |
|
671 | + } else { |
|
672 | + $rdata .= pack("VVVV", $firstocc, (int) $this->recur["everyn"], 0, (int) $this->recur["weekdays"]); |
|
673 | + } |
|
669 | 674 | break; |
670 | 675 | case 0x0C: |
671 | 676 | // Monthly |
@@ -680,7 +685,7 @@ discard block |
||
680 | 685 | |
681 | 686 | if($term == 0x0C /*monthly*/) { |
682 | 687 | $everyn = (int) $this->recur["everyn"]; |
683 | - }else { |
|
688 | + } else { |
|
684 | 689 | $everyn = $this->recur["regen"] ? ((int) $this->recur["everyn"]) * 12 : 12; |
685 | 690 | } |
686 | 691 | |
@@ -800,17 +805,18 @@ discard block |
||
800 | 805 | if($nday == 5) { |
801 | 806 | // Set date on the last day of the last month |
802 | 807 | $monthbegindow += (gmdate("t", $monthbegindow ) - gmdate("j", $monthbegindow )) * 24 * 60 * 60; |
803 | - }else { |
|
808 | + } else { |
|
804 | 809 | // Set on the first day of the month |
805 | 810 | $monthbegindow -= ((gmdate("j", $monthbegindow )-1) * 24 * 60 * 60); |
806 | 811 | } |
807 | 812 | |
808 | 813 | if($term == 0x0D /*yearly*/) { |
809 | 814 | // Set on right month |
810 | - if($selmonth < $curmonth) |
|
811 | - $tmp = 12 - $curmonth + $selmonth; |
|
812 | - else |
|
813 | - $tmp = ($selmonth - $curmonth); |
|
815 | + if($selmonth < $curmonth) { |
|
816 | + $tmp = 12 - $curmonth + $selmonth; |
|
817 | + } else { |
|
818 | + $tmp = ($selmonth - $curmonth); |
|
819 | + } |
|
814 | 820 | |
815 | 821 | for($i=0; $i < $tmp; $i++) { |
816 | 822 | $monthbegindow += $this->getMonthInSeconds($curyear, $curmonth); |
@@ -822,7 +828,7 @@ discard block |
||
822 | 828 | $curmonth++; |
823 | 829 | } |
824 | 830 | |
825 | - }else { |
|
831 | + } else { |
|
826 | 832 | // Check or you exist in the right month |
827 | 833 | |
828 | 834 | $dayofweek = gmdate("w", $monthbegindow); |
@@ -830,7 +836,7 @@ discard block |
||
830 | 836 | if($nday == 5 && (($dayofweek-$i)%7 >= 0) && (1<<( ($dayofweek-$i)%7) ) & $weekdays) { |
831 | 837 | $day = gmdate("j", $monthbegindow) - $i; |
832 | 838 | break; |
833 | - }else if($nday != 5 && (1<<( ($dayofweek+$i)%7) ) & $weekdays) { |
|
839 | + } else if($nday != 5 && (1<<( ($dayofweek+$i)%7) ) & $weekdays) { |
|
834 | 840 | $day = (($nday-1)*7) + ($i+1); |
835 | 841 | break; |
836 | 842 | } |
@@ -872,15 +878,16 @@ discard block |
||
872 | 878 | if($nday == 5 && (($dayofweek-$i)%7) >= 0&& (1<<(($dayofweek-$i)%7) ) & $weekdays) { |
873 | 879 | $day = $i; |
874 | 880 | break; |
875 | - }else if($nday != 5 && (1<<( ($dayofweek+$i)%7) ) & $weekdays) { |
|
881 | + } else if($nday != 5 && (1<<( ($dayofweek+$i)%7) ) & $weekdays) { |
|
876 | 882 | $day = ($nday - 1) * 7 + ($i+1); |
877 | 883 | break; |
878 | 884 | } |
879 | 885 | } |
880 | - if($nday == 5) |
|
881 | - $monthbegindow -= $day * 24 * 60 *60; |
|
882 | - else |
|
883 | - $monthbegindow += ($day-1) * 24 * 60 *60; |
|
886 | + if($nday == 5) { |
|
887 | + $monthbegindow -= $day * 24 * 60 *60; |
|
888 | + } else { |
|
889 | + $monthbegindow += ($day-1) * 24 * 60 *60; |
|
890 | + } |
|
884 | 891 | |
885 | 892 | $firstocc = 0; |
886 | 893 | |
@@ -955,15 +962,17 @@ discard block |
||
955 | 962 | // Merge deleted and changed items into one list |
956 | 963 | $items = $deleted_items; |
957 | 964 | |
958 | - foreach($changed_items as $changed_item) |
|
959 | - array_push($items, $changed_item["basedate"]); |
|
965 | + foreach($changed_items as $changed_item) { |
|
966 | + array_push($items, $changed_item["basedate"]); |
|
967 | + } |
|
960 | 968 | |
961 | 969 | sort($items); |
962 | 970 | |
963 | 971 | // Add the merged list in to the rdata |
964 | 972 | $rdata .= pack("V", count($items)); |
965 | - foreach($items as $item) |
|
966 | - $rdata .= pack("V", $this->unixDataToRecurData($item)); |
|
973 | + foreach($items as $item) { |
|
974 | + $rdata .= pack("V", $this->unixDataToRecurData($item)); |
|
975 | + } |
|
967 | 976 | |
968 | 977 | // Loop through the changed exceptions (not deleted) |
969 | 978 | $rdata .= pack("V", count($changed_items)); |
@@ -977,8 +986,9 @@ discard block |
||
977 | 986 | sort($items); |
978 | 987 | |
979 | 988 | // Add the changed items list int the rdata |
980 | - foreach($items as $item) |
|
981 | - $rdata .= pack("V", $this->unixDataToRecurData($item)); |
|
989 | + foreach($items as $item) { |
|
990 | + $rdata .= pack("V", $this->unixDataToRecurData($item)); |
|
991 | + } |
|
982 | 992 | |
983 | 993 | // Set start date |
984 | 994 | $rdata .= pack("V", $this->unixDataToRecurData((int) $this->recur["start"])); |
@@ -1014,8 +1024,9 @@ discard block |
||
1014 | 1024 | |
1015 | 1025 | $j++; |
1016 | 1026 | |
1017 | - if($restocc <= 0) |
|
1018 | - break; |
|
1027 | + if($restocc <= 0) { |
|
1028 | + break; |
|
1029 | + } |
|
1019 | 1030 | |
1020 | 1031 | $occenddate += 24*60*60; |
1021 | 1032 | } |
@@ -1039,8 +1050,9 @@ discard block |
||
1039 | 1050 | for($j = 1; $restocc>0; $j++) |
1040 | 1051 | { |
1041 | 1052 | // Jump to the next week (which may be N weeks away) when going over the week boundary |
1042 | - if((($dayofweek+$j)%7) == $weekstart) |
|
1043 | - $occenddate += (((int) $this->recur["everyn"])-1) * 7 * 24*60*60; |
|
1053 | + if((($dayofweek+$j)%7) == $weekstart) { |
|
1054 | + $occenddate += (((int) $this->recur["everyn"])-1) * 7 * 24*60*60; |
|
1055 | + } |
|
1044 | 1056 | |
1045 | 1057 | // If this is a matching day, once less occurrence to process |
1046 | 1058 | if(((int) $this->recur["weekdays"]) & (1<<(($dayofweek+$j)%7)) ) { |
@@ -1079,10 +1091,11 @@ discard block |
||
1079 | 1091 | if(((int) $this->recur["monthday"]) >=28 && ((int) $this->recur["monthday"]) <= 31 && |
1080 | 1092 | gmdate("j", $occenddate) < ((int) $this->recur["monthday"])) |
1081 | 1093 | { |
1082 | - if(gmdate("j", $occenddate) < 28) |
|
1083 | - $occenddate -= gmdate("j", $occenddate) * 24 * 60 *60; |
|
1084 | - else |
|
1085 | - $occenddate += (gmdate("t", $occenddate) - gmdate("j", $occenddate)) * 24 * 60 *60; |
|
1094 | + if(gmdate("j", $occenddate) < 28) { |
|
1095 | + $occenddate -= gmdate("j", $occenddate) * 24 * 60 *60; |
|
1096 | + } else { |
|
1097 | + $occenddate += (gmdate("t", $occenddate) - gmdate("j", $occenddate)) * 24 * 60 *60; |
|
1098 | + } |
|
1086 | 1099 | } |
1087 | 1100 | |
1088 | 1101 | |
@@ -1108,7 +1121,7 @@ discard block |
||
1108 | 1121 | if($nday == 5) { |
1109 | 1122 | // Set date on the last day of the last month |
1110 | 1123 | $occenddate += (gmdate("t", $occenddate ) - gmdate("j", $occenddate )) * 24 * 60 * 60; |
1111 | - }else { |
|
1124 | + } else { |
|
1112 | 1125 | // Set date on the first day of the last month |
1113 | 1126 | $occenddate -= (gmdate("j", $occenddate )-1) * 24 * 60 * 60; |
1114 | 1127 | } |
@@ -1118,7 +1131,7 @@ discard block |
||
1118 | 1131 | if($nday == 5 && (($dayofweek-$i)%7) >= 0&& (1<<(($dayofweek-$i)%7) ) & $weekdays) { |
1119 | 1132 | $occenddate -= $i * 24 * 60 * 60; |
1120 | 1133 | break; |
1121 | - }else if($nday != 5 && (1<<(($dayofweek+$i)%7) ) & $weekdays) { |
|
1134 | + } else if($nday != 5 && (1<<(($dayofweek+$i)%7) ) & $weekdays) { |
|
1122 | 1135 | $occenddate += ($i + (($nday-1) *7)) * 24 * 60 * 60; |
1123 | 1136 | break; |
1124 | 1137 | } |
@@ -1131,8 +1144,9 @@ discard block |
||
1131 | 1144 | |
1132 | 1145 | } |
1133 | 1146 | |
1134 | - if (defined("PHP_INT_MAX") && $occenddate > PHP_INT_MAX) |
|
1135 | - $occenddate = PHP_INT_MAX; |
|
1147 | + if (defined("PHP_INT_MAX") && $occenddate > PHP_INT_MAX) { |
|
1148 | + $occenddate = PHP_INT_MAX; |
|
1149 | + } |
|
1136 | 1150 | |
1137 | 1151 | $this->recur["end"] = $occenddate; |
1138 | 1152 | |
@@ -1419,8 +1433,9 @@ discard block |
||
1419 | 1433 | $day = 30; |
1420 | 1434 | } else { |
1421 | 1435 | $day = 28; |
1422 | - if( $this->isLeapYear($year) == 1 ) |
|
1423 | - $day++; |
|
1436 | + if( $this->isLeapYear($year) == 1 ) { |
|
1437 | + $day++; |
|
1438 | + } |
|
1424 | 1439 | } |
1425 | 1440 | return $day * 24 * 60 * 60; |
1426 | 1441 | } |
@@ -1453,8 +1468,9 @@ discard block |
||
1453 | 1468 | // if we are in the next month, then back up a week, because week '5' means |
1454 | 1469 | // 'last week of month' |
1455 | 1470 | |
1456 | - if($gmdate["tm_mon"]+1 != $month) |
|
1457 | - $date -= 7 * 24 * 60 * 60; |
|
1471 | + if($gmdate["tm_mon"]+1 != $month) { |
|
1472 | + $date -= 7 * 24 * 60 * 60; |
|
1473 | + } |
|
1458 | 1474 | |
1459 | 1475 | return $date; |
1460 | 1476 | } |
@@ -1466,8 +1482,9 @@ discard block |
||
1466 | 1482 | function getTimezone($tz, $date) |
1467 | 1483 | { |
1468 | 1484 | // No timezone -> GMT (+0) |
1469 | - if(!isset($tz["timezone"])) |
|
1470 | - return 0; |
|
1485 | + if(!isset($tz["timezone"])) { |
|
1486 | + return 0; |
|
1487 | + } |
|
1471 | 1488 | |
1472 | 1489 | $dst = false; |
1473 | 1490 | $gmdate = $this->gmtime($date); |
@@ -1511,8 +1528,9 @@ discard block |
||
1511 | 1528 | */ |
1512 | 1529 | function parseTimezone($data) |
1513 | 1530 | { |
1514 | - if(strlen($data) < 48) |
|
1515 | - return; |
|
1531 | + if(strlen($data) < 48) { |
|
1532 | + return; |
|
1533 | + } |
|
1516 | 1534 | |
1517 | 1535 | $tz = unpack("ltimezone/lunk/ltimezonedst/lunk/ldstendmonth/vdstendweek/vdstendhour/lunk/lunk/vunk/ldststartmonth/vdststartweek/vdststarthour/lunk/vunk", $data); |
1518 | 1536 | return $tz; |
@@ -1550,8 +1568,9 @@ discard block |
||
1550 | 1568 | * toGMT returns a timestamp in GMT time for the time and timezone given |
1551 | 1569 | */ |
1552 | 1570 | function toGMT($tz, $date) { |
1553 | - if(!isset($tz['timezone'])) |
|
1554 | - return $date; |
|
1571 | + if(!isset($tz['timezone'])) { |
|
1572 | + return $date; |
|
1573 | + } |
|
1555 | 1574 | $offset = $this->getTimezone($tz, $date); |
1556 | 1575 | |
1557 | 1576 | return $date + $offset * 60; |
@@ -1627,21 +1646,24 @@ discard block |
||
1627 | 1646 | // Loop through all changed exceptions |
1628 | 1647 | foreach($this->recur["changed_occurences"] as $exception) { |
1629 | 1648 | // Check reminder set |
1630 | - if(!isset($exception["reminder"]) || $exception["reminder"] == false) |
|
1631 | - continue; |
|
1649 | + if(!isset($exception["reminder"]) || $exception["reminder"] == false) { |
|
1650 | + continue; |
|
1651 | + } |
|
1632 | 1652 | |
1633 | 1653 | // Convert to GMT |
1634 | 1654 | $occstart = $this->toGMT($this->tz, $exception["start"]); // seb changed $tz to $this->tz |
1635 | 1655 | $occend = $this->toGMT($this->tz, $exception["end"]); // seb changed $tz to $this->tz |
1636 | 1656 | |
1637 | 1657 | // Check range criterium |
1638 | - if($occstart > $end || $occend < $start) |
|
1639 | - continue; |
|
1658 | + if($occstart > $end || $occend < $start) { |
|
1659 | + continue; |
|
1660 | + } |
|
1640 | 1661 | |
1641 | 1662 | // OK, add to items. |
1642 | 1663 | array_push($items, $this->getExceptionProperties($exception)); |
1643 | - if($limit && (count($items) == $limit)) |
|
1644 | - break; |
|
1664 | + if($limit && (count($items) == $limit)) { |
|
1665 | + break; |
|
1666 | + } |
|
1645 | 1667 | } |
1646 | 1668 | |
1647 | 1669 | uasort($items, array($this, "sortStarttime")); |
@@ -1674,8 +1696,9 @@ discard block |
||
1674 | 1696 | { |
1675 | 1697 | case 10: |
1676 | 1698 | // Daily |
1677 | - if($this->recur["everyn"] <= 0) |
|
1678 | - $this->recur["everyn"] = 1440; |
|
1699 | + if($this->recur["everyn"] <= 0) { |
|
1700 | + $this->recur["everyn"] = 1440; |
|
1701 | + } |
|
1679 | 1702 | |
1680 | 1703 | if($this->recur["subtype"] == 0) { |
1681 | 1704 | // Every Nth day |
@@ -1695,11 +1718,14 @@ discard block |
||
1695 | 1718 | break; |
1696 | 1719 | case 11: |
1697 | 1720 | // Weekly |
1698 | - if($this->recur["everyn"] <= 0) |
|
1699 | - $this->recur["everyn"] = 1; |
|
1721 | + if($this->recur["everyn"] <= 0) { |
|
1722 | + $this->recur["everyn"] = 1; |
|
1723 | + } |
|
1700 | 1724 | |
1701 | 1725 | // If sliding flag is set then move to 'n' weeks |
1702 | - if ($this->recur['regen']) $daystart += (60 * 60 * 24 * 7 * $this->recur["everyn"]); |
|
1726 | + if ($this->recur['regen']) { |
|
1727 | + $daystart += (60 * 60 * 24 * 7 * $this->recur["everyn"]); |
|
1728 | + } |
|
1703 | 1729 | |
1704 | 1730 | for($now = $daystart; $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += (60 * 60 * 24 * 7 * $this->recur["everyn"])) |
1705 | 1731 | { |
@@ -1723,8 +1749,9 @@ discard block |
||
1723 | 1749 | break; |
1724 | 1750 | case 12: |
1725 | 1751 | // Monthly |
1726 | - if($this->recur["everyn"] <= 0) |
|
1727 | - $this->recur["everyn"] = 1; |
|
1752 | + if($this->recur["everyn"] <= 0) { |
|
1753 | + $this->recur["everyn"] = 1; |
|
1754 | + } |
|
1728 | 1755 | |
1729 | 1756 | // Loop through all months from start to end of occurrence, starting at beginning of first month |
1730 | 1757 | for($now = $this->monthStartOf($daystart); $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += $this->daysInMonth($now, $this->recur["everyn"]) * 24 * 60 * 60 ) |
@@ -1739,11 +1766,11 @@ discard block |
||
1739 | 1766 | if ($daynow <= $dayend){ |
1740 | 1767 | $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
1741 | 1768 | } |
1742 | - } |
|
1743 | - else if(isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] of every N months |
|
1769 | + } else if(isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] of every N months |
|
1744 | 1770 | // Sanitize input |
1745 | - if($this->recur["weekdays"] == 0) |
|
1746 | - $this->recur["weekdays"] = 1; |
|
1771 | + if($this->recur["weekdays"] == 0) { |
|
1772 | + $this->recur["weekdays"] = 1; |
|
1773 | + } |
|
1747 | 1774 | |
1748 | 1775 | // If nday is not set to the last day in the month |
1749 | 1776 | if ($this->recur["nday"] < 5) { |
@@ -1766,7 +1793,7 @@ discard block |
||
1766 | 1793 | } |
1767 | 1794 | // $firstday is the day of the month on which the asked pattern of nth weekday matches |
1768 | 1795 | $daynow = $now + $firstday * 60 * 60 * 24; |
1769 | - }else{ |
|
1796 | + } else{ |
|
1770 | 1797 | // Find last day in the month ($now is the firstday of the month) |
1771 | 1798 | $NumDaysInMonth = $this->daysInMonth($now, 1); |
1772 | 1799 | $daynow = $now + (($NumDaysInMonth-1) * 24*60*60); |
@@ -1796,8 +1823,9 @@ discard block |
||
1796 | 1823 | break; |
1797 | 1824 | case 13: |
1798 | 1825 | // Yearly |
1799 | - if($this->recur["everyn"] <= 0) |
|
1800 | - $this->recur["everyn"] = 12; |
|
1826 | + if($this->recur["everyn"] <= 0) { |
|
1827 | + $this->recur["everyn"] = 12; |
|
1828 | + } |
|
1801 | 1829 | |
1802 | 1830 | for($now = $this->yearStartOf($daystart); $now <= $dayend && ($limit == 0 || count($items) < $limit); $now += $this->daysInMonth($now, $this->recur["everyn"]) * 24 * 60 * 60 ) |
1803 | 1831 | { |
@@ -1806,12 +1834,13 @@ discard block |
||
1806 | 1834 | $month = $this->monthOfYear($this->recur["month"]); // $month is now month of year [0..11] |
1807 | 1835 | $monthday = $this->recur["monthday"]; // $monthday is day of the month [1..31] |
1808 | 1836 | $monthstart = $now + $this->daysInMonth($now, $month) * 24 * 60 * 60; // $monthstart is the timestamp of the beginning of the month |
1809 | - if($monthday > $this->daysInMonth($monthstart, 1)) |
|
1810 | - $monthday = $this->daysInMonth($monthstart, 1); // Cap $monthday on month length (eg 28 feb instead of 29 feb) |
|
1837 | + if($monthday > $this->daysInMonth($monthstart, 1)) { |
|
1838 | + $monthday = $this->daysInMonth($monthstart, 1); |
|
1839 | + } |
|
1840 | + // Cap $monthday on month length (eg 28 feb instead of 29 feb) |
|
1811 | 1841 | $daynow = $monthstart + ($monthday-1) * 24 * 60 * 60; |
1812 | 1842 | $this->processOccurrenceItem($items, $start, $end, $daynow, $this->recur["startocc"], $this->recur["endocc"], $this->tz, $remindersonly); |
1813 | - } |
|
1814 | - else if(isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] in month X of every N years |
|
1843 | + } else if(isset($this->recur["nday"], $this->recur["weekdays"])) { // Nth [weekday] in month X of every N years |
|
1815 | 1844 | |
1816 | 1845 | // Go the correct month |
1817 | 1846 | $monthnow = $now + $this->daysInMonth($now, $this->monthOfYear($this->recur["month"])) * 24 * 60 * 60; |
@@ -1848,8 +1877,9 @@ discard block |
||
1848 | 1877 | } |
1849 | 1878 | } |
1850 | 1879 | //to get all exception items |
1851 | - if (!empty($this->recur['changed_occurences'])) |
|
1852 | - $this->processExceptionItems($items, $start, $end); |
|
1880 | + if (!empty($this->recur['changed_occurences'])) { |
|
1881 | + $this->processExceptionItems($items, $start, $end); |
|
1882 | + } |
|
1853 | 1883 | } |
1854 | 1884 | |
1855 | 1885 | // sort items on starttime |
@@ -22,8 +22,9 @@ |
||
22 | 22 | */ |
23 | 23 | public function getDisplayMessage() |
24 | 24 | { |
25 | - if(!empty($this->displayMessage)) |
|
26 | - return $this->displayMessage; |
|
25 | + if(!empty($this->displayMessage)) { |
|
26 | + return $this->displayMessage; |
|
27 | + } |
|
27 | 28 | |
28 | 29 | switch($this->getCode()) |
29 | 30 | { |
@@ -76,14 +76,20 @@ discard block |
||
76 | 76 | $this->recur = $recur; |
77 | 77 | $this->action =& $recur; |
78 | 78 | |
79 | - if(!isset($this->recur["changed_occurences"])) |
|
80 | - $this->recur["changed_occurences"] = Array(); |
|
79 | + if(!isset($this->recur["changed_occurences"])) { |
|
80 | + $this->recur["changed_occurences"] = Array(); |
|
81 | + } |
|
81 | 82 | |
82 | - if(!isset($this->recur["deleted_occurences"])) |
|
83 | - $this->recur["deleted_occurences"] = Array(); |
|
83 | + if(!isset($this->recur["deleted_occurences"])) { |
|
84 | + $this->recur["deleted_occurences"] = Array(); |
|
85 | + } |
|
84 | 86 | |
85 | - if (!isset($this->recur['startocc'])) $this->recur['startocc'] = 0; |
|
86 | - if (!isset($this->recur['endocc'])) $this->recur['endocc'] = 0; |
|
87 | + if (!isset($this->recur['startocc'])) { |
|
88 | + $this->recur['startocc'] = 0; |
|
89 | + } |
|
90 | + if (!isset($this->recur['endocc'])) { |
|
91 | + $this->recur['endocc'] = 0; |
|
92 | + } |
|
87 | 93 | |
88 | 94 | // Save recurrence because we need proper startrecurrdate and endrecurrdate |
89 | 95 | $this->saveRecurrence(); |
@@ -109,7 +115,7 @@ discard block |
||
109 | 115 | // Check if it is already the first occurrence |
110 | 116 | if($this->action['start'] == $this->recur["start"]){ |
111 | 117 | return; |
112 | - }else{ |
|
118 | + } else{ |
|
113 | 119 | $items = $this->getNextOccurrence(); |
114 | 120 | |
115 | 121 | $props = array(); |
@@ -171,8 +177,9 @@ discard block |
||
171 | 177 | |
172 | 178 | $props[$this->proptags["dead_occurrence"]] = false; |
173 | 179 | } else { |
174 | - if (isset($this->action['deleteOccurrence']) && $this->action['deleteOccurrence']) |
|
175 | - return false; |
|
180 | + if (isset($this->action['deleteOccurrence']) && $this->action['deleteOccurrence']) { |
|
181 | + return false; |
|
182 | + } |
|
176 | 183 | |
177 | 184 | // Didn't get next occurrence, probably this is the last one, so recurrence ends here |
178 | 185 | $props[$this->proptags["dead_occurrence"]] = true; |
@@ -224,8 +231,12 @@ discard block |
||
224 | 231 | // Get all properties |
225 | 232 | $taskItemProps = mapi_getprops($this->message); |
226 | 233 | |
227 | - if (isset($this->action["subject"])) $taskItemProps[$this->proptags["subject"]] = $this->action["subject"]; |
|
228 | - if (isset($this->action["importance"])) $taskItemProps[$this->proptags["importance"]] = $this->action["importance"]; |
|
234 | + if (isset($this->action["subject"])) { |
|
235 | + $taskItemProps[$this->proptags["subject"]] = $this->action["subject"]; |
|
236 | + } |
|
237 | + if (isset($this->action["importance"])) { |
|
238 | + $taskItemProps[$this->proptags["importance"]] = $this->action["importance"]; |
|
239 | + } |
|
229 | 240 | if (isset($this->action["startdate"])) { |
230 | 241 | $taskItemProps[$this->proptags["startdate"]] = $this->action["startdate"]; |
231 | 242 | $taskItemProps[$this->proptags["commonstart"]] = $this->action["startdate"]; |
@@ -380,8 +391,9 @@ discard block |
||
380 | 391 | $props[$this->proptags['reset_reminder']] = false; |
381 | 392 | } |
382 | 393 | |
383 | - if (!empty($props)) |
|
384 | - mapi_setprops($this->message, $props); |
|
394 | + if (!empty($props)) { |
|
395 | + mapi_setprops($this->message, $props); |
|
396 | + } |
|
385 | 397 | } |
386 | 398 | |
387 | 399 | /** |
@@ -14,7 +14,9 @@ discard block |
||
14 | 14 | |
15 | 15 | require_once 'vendor/autoload.php'; |
16 | 16 | |
17 | -if (!defined('ZPUSH_CONFIG')) define('ZPUSH_CONFIG', 'config.php'); |
|
17 | +if (!defined('ZPUSH_CONFIG')) { |
|
18 | + define('ZPUSH_CONFIG', 'config.php'); |
|
19 | +} |
|
18 | 20 | include_once(ZPUSH_CONFIG); |
19 | 21 | |
20 | 22 | // Attempt to set maximum execution time |
@@ -33,8 +35,9 @@ discard block |
||
33 | 35 | Request::GetCommand(), Request::GetDeviceType(), Request::GetDeviceID(), Request::GetGETUser(), Request::GetRemoteAddr(), @constant('GROMMUNIOSYNC_VERSION'), Request::GetMethod() )); |
34 | 36 | |
35 | 37 | // always request the authorization header |
36 | - if (! Request::HasAuthenticationInfo() || !Request::GetGETUser()) |
|
37 | - throw new AuthenticationRequiredException("Access denied. Please send authorisation information"); |
|
38 | + if (! Request::HasAuthenticationInfo() || !Request::GetGETUser()) { |
|
39 | + throw new AuthenticationRequiredException("Access denied. Please send authorisation information"); |
|
40 | + } |
|
38 | 41 | |
39 | 42 | ZPush::CheckAdvancedConfig(); |
40 | 43 | |
@@ -48,8 +51,9 @@ discard block |
||
48 | 51 | } |
49 | 52 | |
50 | 53 | // Check required GET parameters |
51 | - if(Request::IsMethodPOST() && (Request::GetCommandCode() === false || !Request::GetDeviceID() || !Request::GetDeviceType())) |
|
52 | - throw new FatalException("Requested the grommunio-sync URL without the required GET parameters"); |
|
54 | + if(Request::IsMethodPOST() && (Request::GetCommandCode() === false || !Request::GetDeviceID() || !Request::GetDeviceType())) { |
|
55 | + throw new FatalException("Requested the grommunio-sync URL without the required GET parameters"); |
|
56 | + } |
|
53 | 57 | |
54 | 58 | // Load the backend |
55 | 59 | $backend = ZPush::GetBackend(); |
@@ -58,17 +62,20 @@ discard block |
||
58 | 62 | if (PROVISIONING === true && Request::IsMethodPOST() && ZPush::CommandNeedsProvisioning(Request::GetCommandCode()) && |
59 | 63 | ((Request::WasPolicyKeySent() && Request::GetPolicyKey() == 0) || ZPush::GetProvisioningManager()->ProvisioningRequired(Request::GetPolicyKey())) && |
60 | 64 | (LOOSE_PROVISIONING === false || |
61 | - (LOOSE_PROVISIONING === true && Request::WasPolicyKeySent()))) |
|
62 | - //TODO for AS 14 send a wbxml response |
|
65 | + (LOOSE_PROVISIONING === true && Request::WasPolicyKeySent()))) { |
|
66 | + //TODO for AS 14 send a wbxml response |
|
63 | 67 | throw new ProvisioningRequiredException(); |
68 | + } |
|
64 | 69 | |
65 | 70 | // most commands require an authenticated user |
66 | - if (ZPush::CommandNeedsAuthentication(Request::GetCommandCode())) |
|
67 | - RequestProcessor::Authenticate(); |
|
71 | + if (ZPush::CommandNeedsAuthentication(Request::GetCommandCode())) { |
|
72 | + RequestProcessor::Authenticate(); |
|
73 | + } |
|
68 | 74 | |
69 | 75 | // Do the actual processing of the request |
70 | - if (Request::IsMethodGET()) |
|
71 | - throw new NoPostRequestException("This is the grommunio-sync location and can only be accessed by Microsoft ActiveSync-capable devices", NoPostRequestException::GET_REQUEST); |
|
76 | + if (Request::IsMethodGET()) { |
|
77 | + throw new NoPostRequestException("This is the grommunio-sync location and can only be accessed by Microsoft ActiveSync-capable devices", NoPostRequestException::GET_REQUEST); |
|
78 | + } |
|
72 | 79 | |
73 | 80 | // Do the actual request |
74 | 81 | header(ZPush::GetServerHeader()); |
@@ -110,36 +117,35 @@ discard block |
||
110 | 117 | // data send as a 'normal' packet. If the output packet exceeds 1MB (see ob_start) |
111 | 118 | // then it will be sent as a chunked packet anyway because PHP will have to flush |
112 | 119 | // the buffer. |
113 | - if(!headers_sent()) |
|
114 | - header("Content-Length: $len"); |
|
120 | + if(!headers_sent()) { |
|
121 | + header("Content-Length: $len"); |
|
122 | + } |
|
115 | 123 | |
116 | 124 | // send vnd.ms-sync.wbxml content type header if there is no content |
117 | 125 | // otherwise text/html content type is added which might break some devices |
118 | - if (!headers_sent() && $len == 0) |
|
119 | - header("Content-Type: application/vnd.ms-sync.wbxml"); |
|
126 | + if (!headers_sent() && $len == 0) { |
|
127 | + header("Content-Type: application/vnd.ms-sync.wbxml"); |
|
128 | + } |
|
120 | 129 | |
121 | 130 | print $data; |
122 | 131 | |
123 | 132 | // destruct backend after all data is on the stream |
124 | 133 | $backend->Logoff(); |
125 | - } |
|
126 | - |
|
127 | - catch (NoPostRequestException $nopostex) { |
|
134 | + } catch (NoPostRequestException $nopostex) { |
|
128 | 135 | if ($nopostex->getCode() == NoPostRequestException::OPTIONS_REQUEST) { |
129 | 136 | header(ZPush::GetServerHeader()); |
130 | 137 | header(ZPush::GetSupportedProtocolVersions()); |
131 | 138 | header(ZPush::GetSupportedCommands()); |
132 | 139 | ZLog::Write(LOGLEVEL_INFO, $nopostex->getMessage()); |
140 | + } else if ($nopostex->getCode() == NoPostRequestException::GET_REQUEST) { |
|
141 | + if (Request::GetUserAgent()) { |
|
142 | + ZLog::Write(LOGLEVEL_INFO, sprintf("User-agent: '%s'", Request::GetUserAgent())); |
|
143 | + } |
|
144 | + if (!headers_sent() && $nopostex->showLegalNotice()) { |
|
145 | + ZPush::PrintGrommunioSyncLegal('GET not supported', $nopostex->getMessage()); |
|
146 | + } |
|
133 | 147 | } |
134 | - else if ($nopostex->getCode() == NoPostRequestException::GET_REQUEST) { |
|
135 | - if (Request::GetUserAgent()) |
|
136 | - ZLog::Write(LOGLEVEL_INFO, sprintf("User-agent: '%s'", Request::GetUserAgent())); |
|
137 | - if (!headers_sent() && $nopostex->showLegalNotice()) |
|
138 | - ZPush::PrintGrommunioSyncLegal('GET not supported', $nopostex->getMessage()); |
|
139 | - } |
|
140 | - } |
|
141 | - |
|
142 | - catch (Exception $ex) { |
|
148 | + } catch (Exception $ex) { |
|
143 | 149 | // Extract any previous exception message for logging purpose. |
144 | 150 | $exclass = get_class($ex); |
145 | 151 | $exception_message = $ex->getMessage(); |
@@ -150,20 +156,23 @@ discard block |
||
150 | 156 | } while($current_exception->getPrevious()); |
151 | 157 | } |
152 | 158 | |
153 | - if (Request::GetUserAgent()) |
|
154 | - ZLog::Write(LOGLEVEL_INFO, sprintf("User-agent: '%s'", Request::GetUserAgent())); |
|
159 | + if (Request::GetUserAgent()) { |
|
160 | + ZLog::Write(LOGLEVEL_INFO, sprintf("User-agent: '%s'", Request::GetUserAgent())); |
|
161 | + } |
|
155 | 162 | |
156 | 163 | ZLog::Write(LOGLEVEL_FATAL, sprintf('Exception: (%s) - %s', $exclass, $exception_message)); |
157 | 164 | |
158 | 165 | if(!headers_sent()) { |
159 | 166 | if ($ex instanceof ZPushException) { |
160 | 167 | header('HTTP/1.1 '. $ex->getHTTPCodeString()); |
161 | - foreach ($ex->getHTTPHeaders() as $h) |
|
162 | - header($h); |
|
168 | + foreach ($ex->getHTTPHeaders() as $h) { |
|
169 | + header($h); |
|
170 | + } |
|
163 | 171 | } |
164 | 172 | // something really unexpected happened! |
165 | - else |
|
166 | - header('HTTP/1.1 500 Internal Server Error'); |
|
173 | + else { |
|
174 | + header('HTTP/1.1 500 Internal Server Error'); |
|
175 | + } |
|
167 | 176 | } |
168 | 177 | |
169 | 178 | if ($ex instanceof AuthenticationRequiredException) { |
@@ -175,8 +184,9 @@ discard block |
||
175 | 184 | } |
176 | 185 | |
177 | 186 | // log the failed login attempt e.g. for fail2ban |
178 | - if (defined('LOGAUTHFAIL') && LOGAUTHFAIL != false) |
|
179 | - ZLog::Write(LOGLEVEL_WARN, sprintf("IP: %s failed to authenticate user '%s'", Request::GetRemoteAddr(), Request::GetAuthUser()? Request::GetAuthUser(): Request::GetGETUser() )); |
|
187 | + if (defined('LOGAUTHFAIL') && LOGAUTHFAIL != false) { |
|
188 | + ZLog::Write(LOGLEVEL_WARN, sprintf("IP: %s failed to authenticate user '%s'", Request::GetRemoteAddr(), Request::GetAuthUser()? Request::GetAuthUser(): Request::GetGETUser() )); |
|
189 | + } |
|
180 | 190 | } |
181 | 191 | |
182 | 192 | // This could be a WBXML problem.. try to get the complete request |
@@ -195,16 +205,18 @@ discard block |
||
195 | 205 | } |
196 | 206 | |
197 | 207 | // Announce exception to process loop detection |
198 | - if (ZPush::GetDeviceManager(false)) |
|
199 | - ZPush::GetDeviceManager()->AnnounceProcessException($ex); |
|
208 | + if (ZPush::GetDeviceManager(false)) { |
|
209 | + ZPush::GetDeviceManager()->AnnounceProcessException($ex); |
|
210 | + } |
|
200 | 211 | |
201 | 212 | // Announce exception if the TopCollector if available |
202 | 213 | ZPush::GetTopCollector()->AnnounceInformation(get_class($ex), true); |
203 | 214 | } |
204 | 215 | |
205 | 216 | // save device data if the DeviceManager is available |
206 | - if (ZPush::GetDeviceManager(false)) |
|
207 | - ZPush::GetDeviceManager()->Save(); |
|
217 | + if (ZPush::GetDeviceManager(false)) { |
|
218 | + ZPush::GetDeviceManager()->Save(); |
|
219 | + } |
|
208 | 220 | |
209 | 221 | // end gracefully |
210 | 222 | ZLog::Write(LOGLEVEL_INFO, |