/** * Builds Calendar_Week objects for the Month. Note that Calendar_Week * builds Calendar_Day object in tabular form (with Calendar_Day->empty) * @param array (optional) Calendar_Week objects representing selected dates * @return boolean * @access public */ function build($sDates = array()) { require_once CALENDAR_ROOT . 'Table' . DIRECTORY_SEPARATOR . 'Helper.php'; $this->tableHelper =& new Calendar_Table_Helper($this, $this->firstDay); require_once CALENDAR_ROOT . 'Week.php'; $numWeeks = $this->tableHelper->getNumWeeks(); for ($i = 1, $d = 1; $i <= $numWeeks; $i++, $d += $this->cE->getDaysInWeek($this->thisYear(), $this->thisMonth(), $this->thisDay())) { $this->children[$i] = new Calendar_Week($this->year, $this->month, $d, $this->tableHelper->getFirstDay()); } //used to set empty days $this->children[1]->setFirst(true); $this->children[$numWeeks]->setLast(true); // Handle selected weeks here if (count($sDates) > 0) { $this->setSelection($sDates); } return true; }
function testGetNumWeeks() { $Helper = new Calendar_Table_Helper($this->mockcal); $this->assertEqual($Helper->getNumWeeks(), 5); }