/** * Instantiates an Exhibition bean object and copies all * valid incoming form elements to the bean object * @return The valid Exhibition bean */ protected function getBeanFromRequest() { global $logger; $logger->debug(get_class($this) . "::getBeanFromRequest()"); $service = $this->getEventService(); // TODO: Add validator here $exhibit = new Exhibition($_REQUEST); $logger->debug("exhibition object: {$exhibit}"); if (isset($_REQUEST['displayOrder']) && intval($_REQUEST['displayOrder']) > 0) { $exhibit->setDisplayOrder($_REQUEST['displayOrder']); } // Format the times $logger->debug("Start Time: " . $_REQUEST['startMonth'] . "," . $_REQUEST['startDay'] . "," . $_REQUEST['startYear']); $startTime = mktime(0, 0, 0, $_REQUEST['startMonth'], $_REQUEST['startDay'], $_REQUEST['startYear']); $logger->debug("Start Time (mktime)" . $startTime); // find out if this is a recurring event $endTime = mktime(0, 0, 0, $_REQUEST['endMonth'], $_REQUEST['endDay'], $_REQUEST['endYear']); if ($_REQUEST['close_type'] == 'ongoing') { $endTime = 0; } // load the schedule $schedule = new Schedule(); if (isset($_REQUEST['scheduleOid'])) { $schedule->setOid(intval($_REQUEST['scheduleOid'])); } $schedule->setStartTime($startTime); $schedule->setEndTime($endTime); $exhibit->setSchedule($schedule); // venues if (isset($_REQUEST['venue'])) { $venues = array(); foreach ($_REQUEST['venue'] as $oid) { $venue = new Venue(); $venue->setOid($oid); $venues[] = $venue; } $logger->debug("Number of venues in the form: " . count($venues)); $exhibit->setVenues($venues); } // categories $cats = array(); if (isset($_REQUEST['audience'])) { foreach ($_REQUEST['audience'] as $oid) { $category = new Audience(); $category->setOid($oid); $cats['audience'][] = $category; } } if (isset($_REQUEST['genre'])) { foreach ($_REQUEST['genre'] as $oid) { $category = new Genre(); $category->setOid($oid); $cats['genre'][] = $category; } } if (isset($cats['audience'])) { $logger->debug("Number of audience categories in the form: " . count($cats['audience'])); } if (isset($cats['genre'])) { $logger->debug("Number of genre categories in the form: " . count($cats['genre'])); } if (isset($cats['audience']) || isset($cats['genre'])) { $exhibit->setCategories($cats); } // related events $events = array(); if (isset($_REQUEST['program'])) { foreach ($_REQUEST['program'] as $oid) { $program = new Program(); $program->setOid($oid); $events[] = $program; } } if (isset($events)) { $logger->debug("Number of related programs in the form: " . count($events)); $exhibit->setPrograms($events); } $events = array(); if (isset($_REQUEST['course'])) { foreach ($_REQUEST['course'] as $oid) { $course = new Course(); $course->setOid($oid); $events[] = $course; } } if (isset($events)) { $logger->debug("Number of related courses in the form: " . count($events)); $exhibit->setCourses($events); } // gallery if (isset($_REQUEST['gallery'])) { $exhibit->setGallery($_REQUEST['gallery']); } // artists if (isset($_REQUEST['person'])) { $persons = array(); foreach ($_REQUEST['person'] as $oid) { $person = new Artist(); $person->setOid($oid); $persons[] = $person; } $logger->debug("Number of persons in the form: " . count($persons)); $exhibit->setArtists($persons); } // artifacts if (isset($_REQUEST['artifact'])) { $artifacts = array(); foreach ($_REQUEST['artifact'] as $id) { $artifacts[] = $id; } $artlist = implode(",", $artifacts); $logger->debug("Number of persons in the form: " . count($artifacts)); $exhibit->setArtifacts($artlist); } return $exhibit; }