/** * Renders the program detail template * * @param bean $model a DetailPageModel bean * @return void */ private function renderDetailPageModel($model) { global $logger; $logger->debug(get_class($this) . "::renderDetailPageModel({$model})"); $cat = $model->getDetail(); $options = $model->getOptions(); $tmpl = $this->createPatTemplate(); $tmpl->readTemplatesFromInput('audience_detail.pat.tpl'); // Render the primary form fields $tmpl->addVars('audience_detail', BeanUtil::beanToArray($cat, true)); // scalars only // Render the editor field $dconf = $this->getEditorConfig(Editor::MEDIUM, 'description', $cat->getDescription()); $tmpl->addVar('audience_detail', 'desc_editor', $this->setEditor($dconf)); // PubState Select foreach ($options['pubState'] as $ps) { $tmpl->addVar('pubState_options', 'value', $ps->value); $logger->debug("current: " . $ps->value . " | selected " . $cat->getPubState()); if ($ps->value == $cat->getPubState()) { $tmpl->addVar('pubState_options', 'selected', 'selected'); } else { $tmpl->addVar('pubState_options', 'selected', ''); } $tmpl->parseTemplate('pubState_options', 'a'); } $tmpl->displayParsedTemplate('audience_detail'); // Render the tabs // TODO: Consider this later /* $tabs = new mosTabs(0); //1 = use cookies to remember selected tab $tabs->startPane("links"); if( $cat->getOid() == null ) { $tabs->startTab("Notice","new-links"); echo "<br/><br/>To assign a Programs, first save this new Series.<br/><br/>"; $tabs->endTab(); } else { $tmpl->addVar('program_select','scope','Series'); $tabs->startTab("Programs","prgm-links"); foreach ($options['program'] as $prgm) { $tmpl->addVar('program_select','oid',$prgm->getOid()); $tmpl->addVar('program_select','title',$prgm->getTitle()); if ( isset($venues) && $this->bean_in_array($ven,$venues) ) { $tmpl->addVar('venue_options','selected','selected'); } else { $tmpl->addVar('venue_options','selected',''); } $tmpl->parseTemplate('venue_options','a'); } $tmpl->displayParsedTemplate('vnueTab'); $tabs->endTab(); $tmpl->displayParsedTemplate( 'prgmTab' ); */ // Close the form $tmpl->displayParsedTemplate('close_form'); }
/** * Displays the venue detail * @param bean $model The program detail model */ public function detail($model) { global $logger, $mainframe; $logger->debug(get_class($this) . "::detail({$model})"); $venue = $model->getDetail(); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('venue_detail.pat.tpl'); // simple attributes $tmpl->addVars('venue', BeanUtil::beanToArray($venue, true)); // scalars only // page title $mainframe->setPageTitle("Facilities Tour | " . $venue->getName()); // Gallery if ($venue->getGallery() != null) { $gal = $venue->getGallery(); $logger->debug("Type of gallery [Gallery]: " . get_class($gal)); $images = $gal->getImages(); $tmpl->addVar('photo', 'gallery', true); foreach ($images as $img) { $logger->debug('Class of img [Image]: ' . get_class($img) . $img); $tmpl->addVar('photo', 'url', $img->getUrl()); $tmpl->addVar('photo', 'author', $img->getAuthor()); $tmpl->addVar('photo', 'title', $img->getTitle()); $tmpl->parseTemplate('photo', "a"); } } // address if ($venue->getAddress() != null && $venue->getAddress()->getStreet() != "") { $logger->debug("Type of address [Address]: " . gettype($venue->getAddress())); $addr = $venue->getAddress(); $astr = ""; if ($addr->getPhone() != null) { $astr .= "<strong>" . $addr->getPhone() . "</strong><br/>"; } $astr .= $addr->getStreet() . "<br/>"; if ($addr->getUnit() != null) { $astr .= $addr->getUnit() . "<br/>"; } if ($addr->getCity() != null) { $astr .= $addr->getCity() . ", "; } $astr .= $addr->getState() . " " . $addr->getPostalCode(); $tmpl->addVar('venue', 'address', $astr); } $tmpl->displayParsedTemplate('venue'); }
/** * Renders the program detail template * * @param bean $model a DetailPageModel bean * @return void */ private function renderDetailPageModel($model) { global $logger; $logger->debug(get_class($this) . "::renderDetailPageModel({$model})"); $program = $model->getDetail(); $options = $model->getOptions(); $exhibitions = $program->getExhibitions(); $courses = $program->getCourses(); $categories = $program->getCategories(); $tmpl = $this->createPatTemplate(); //in the MasterPage class $tmpl->readTemplatesFromInput('program_detail.pat.tpl'); $tmpl->addGlobalVar('scope', 'Program'); // Render the primary form fields $tmpl->addVars('program_form', BeanUtil::beanToArray($program, true)); // scalars only // Renders the editor fields $sconf = $this->getEditorConfig(Editor::SMALL, 'summary', $program->getSummary()); $tmpl->addVar('program_form', 'summary_editor', $this->setEditor($sconf)); $dconf = $this->getEditorConfig(Editor::MEDIUM, 'description', $program->getDescription()); $tmpl->addVar('program_form', 'description_editor', $this->setEditor($dconf)); $cconf = $this->getEditorConfig(Editor::SMALL, 'credit', $program->getCredit()); $tmpl->addVar('program_form', 'credit_editor', $this->setEditor($cconf)); $aconf = $this->getEditorConfig(Editor::SMALL, 'addinfo', $program->getAddinfo()); $tmpl->addVar('program_form', 'addinfo_editor', $this->setEditor($aconf)); $a2conf = $this->getEditorConfig(Editor::SMALL, 'addinfo2', $program->getAddinfo2()); $tmpl->addVar('program_form', 'addinfo2_editor', $this->setEditor($a2conf)); // PubState Select foreach ($options['pubState'] as $ps) { $tmpl->addVar('pubState_options', 'value', $ps->value); $logger->debug("current: " . $ps->value . " | selected " . $program->getPubState()); if ($ps->value == $program->getPubState()) { $tmpl->addVar('pubState_options', 'selected', 'selected'); } else { $tmpl->addVar('pubState_options', 'selected', ''); } $tmpl->parseTemplate('pubState_options', 'a'); } // Primary Genre Select $genre = $program->getPrimaryGenre(); foreach ($options['genre'] as $gc) { $tmpl->addVar('primaryGenre_options', 'oid', $gc->getOid()); $tmpl->addVar('primaryGenre_options', 'name', $gc->getName()); if (!empty($genre) && $gc->getOid() == $genre->getOid()) { $tmpl->addVar('primaryGenre_options', 'selected', 'selected'); } else { $tmpl->addVar('primaryGenre_options', 'selected', ''); } $tmpl->parseTemplate('primaryGenre_options', 'a'); } // DefaultVenue Select $venues = $program->getVenues(); $venue = isset($venues[0]) ? $venues[0] : null; foreach ($options['venue'] as $dv) { $tmpl->addVar('defaultVenue_options', 'oid', $dv->getOid()); $tmpl->addVar('defaultVenue_options', 'name', $dv->getName()); if (!empty($venue) && $dv->getOid() == $venue->getOid()) { $tmpl->addVar('defaultVenue_options', 'selected', 'selected'); } else { $tmpl->addVar('defaultVenue_options', 'selected', ''); } $tmpl->parseTemplate('defaultVenue_options', 'a'); } // Press Release Article Select $proptions = $options['pressrelease']; foreach ($proptions as $pra) { $tmpl->addVar('pressrelease_options', 'value', $pra->getId()); $tmpl->addVar('pressrelease_options', 'title', $pra->getTitle()); if ($pra->getId() == $program->getPressRelease()) { $tmpl->addVar('pressrelease_options', 'selected', 'selected'); } else { $tmpl->addVar('pressrelease_options', 'selected', ''); } $tmpl->parseTemplate('pressrelease_options', 'a'); } // Comment Article Select $caoptions = $options['commentarticle']; foreach ($caoptions as $ca) { $tmpl->addVar('commentarticle_options', 'value', $ca->getId()); $tmpl->addVar('commentarticle_options', 'title', $ca->getTitle()); if ($ca->getId() == $program->getCommentArticle()) { $tmpl->addVar('commentarticle_options', 'selected', 'selected'); } else { $tmpl->addVar('commentarticle_options', 'selected', ''); } $tmpl->parseTemplate('commentarticle_options', 'a'); } // Related Content Category $relatedoptions = $options['relatedcategory']; foreach ($relatedoptions as $rca) { $tmpl->addVar('relatedcategory_options', 'value', $rca->getId()); $tmpl->addVar('relatedcategory_options', 'title', $rca->getTitle()); if ($rca->getId() == $program->getRelatedArticles()) { $tmpl->addVar('relatedcategory_options', 'selected', 'selected'); } else { $tmpl->addVar('relatedcategory_options', 'selected', ''); } $tmpl->parseTemplate('relatedcategory_options', 'a'); } // Render the Main Template $tmpl->displayParsedTemplate('program_form'); $logger->debug("program form template parsed"); // Render the Tabs $tabs = new mosTabs(1); //1 = use cookies to remember selected tab $tabs->startPane("links"); if ($program->getOid() == null) { $tabs->startTab("Notice", "new-links"); echo "<br/><br/>To assign a performance, first save this new program.<br/><br/>"; $tabs->endTab(); } else { $tabs->startTab("Performances", "perf-links"); $tmpl->addVar('activity_tab', 'scope', 'Performance'); // Date Selects $logger->debug("Size of months in page: " . count($options['month'])); foreach ($options['month'] as $key => $value) { $tmpl->addVar('start_month_options', 'value', $key); $tmpl->addVar('start_month_options', 'text', $value); $tmpl->parseTemplate('start_month_options', 'a'); $tmpl->addVar('end_month_options', 'value', $key); $tmpl->addVar('end_month_options', 'text', $value); $tmpl->parseTemplate('end_month_options', 'a'); } foreach ($options['day'] as $value) { $tmpl->addVar('start_day_options', 'value', $value); $tmpl->parseTemplate('start_day_options', 'a'); $tmpl->addVar('end_day_options', 'value', $value); $tmpl->parseTemplate('end_day_options', 'a'); } foreach ($options['year'] as $value) { $tmpl->addVar('start_year_options', 'value', $value); $tmpl->parseTemplate('start_year_options', 'a'); $tmpl->addVar('end_year_options', 'value', $value); $tmpl->parseTemplate('end_year_options', 'a'); } foreach ($options['hour'] as $value) { $tmpl->addVar('start_hour_options', 'value', $value); $tmpl->parseTemplate('start_hour_options', 'a'); $tmpl->addVar('end_hour_options', 'value', $value); $tmpl->parseTemplate('end_hour_options', 'a'); } foreach ($options['minute'] as $value) { $tmpl->addVar('start_minute_options', 'value', $value); $tmpl->parseTemplate('start_minute_options', 'a'); $tmpl->addVar('end_minute_options', 'value', $value); $tmpl->parseTemplate('end_minute_options', 'a'); } foreach ($options['ampm'] as $value) { $tmpl->addVar('start_ampm_options', 'value', $value); $tmpl->parseTemplate('start_ampm_options', 'a'); $tmpl->addVar('end_ampm_options', 'value', $value); $tmpl->parseTemplate('end_ampm_options', 'a'); } foreach ($options['venue'] as $av) { $tmpl->addVar('activityVenue_options', 'oid', $av->getOid()); $tmpl->addVar('activityVenue_options', 'name', $av->getName()); if (!empty($venue) && $av->getOid() == $venue->getOid()) { $tmpl->addVar('activityVenue_options', 'selected', 'selected'); } else { $tmpl->addVar('activityVenue_options', 'selected', ''); } $tmpl->parseTemplate('activityVenue_options', 'a'); } foreach ($options['eventStatus'] as $es) { $tmpl->addVar('activityStatus_options', 'value', $es->value); $tmpl->parseTemplate('activityStatus_options', 'a'); } $activities = $program->getChildren(); if (!empty($activities)) { $delim = $activityStartTime = $activityEndTime = $activityVenueId = $activityVenueName = $activityStatus = $activityTicketCode = ''; foreach ($activities as $activity) { $schedule = $activity->getSchedule(); $ststr = date("Y-n-j H:i:s", $schedule->getStartTime()); $etstr = date("Y-n-j H:i:s", $schedule->getEndTime()); $activityStartTime .= $delim . $ststr; $activityEndTime .= $delim . $etstr; $activityVenueId .= $delim . $activity->getVenue()->getOid(); $activityVenueName .= $delim . $activity->getVenue()->getName(); $activityStatus .= $delim . $activity->getActivityStatus()->getValue(); $activityTicketCode .= $delim . $activity->getTicketCode(); $delim = '|'; } $tmpl->addVar('activity_tab', 'start_time', $activityStartTime); $tmpl->addVar('activity_tab', 'end_time', $activityEndTime); $tmpl->addVar('activity_tab', 'venue_id', $activityVenueId); $tmpl->addVar('activity_tab', 'venue_name', $activityVenueName); $tmpl->addVar('activity_tab', 'activity_status', $activityStatus); $tmpl->addVar('activity_tab', 'activity_ticket', $activityTicketCode); } $tmpl->displayParsedTemplate('perfTab'); $tabs->endTab(); $tabs->startTab("Genres", "cat-links"); foreach ($options['audience'] as $aud) { $tmpl->addVar('audience_options', 'oid', $aud->getOid()); $tmpl->addVar('audience_options', 'name', $aud->getName()); if (isset($categories['Audience']) && $this->bean_in_array($aud, $categories['Audience'])) { $tmpl->addVar('audience_options', 'selected', 'selected'); } else { $tmpl->addVar('audience_options', 'selected', ''); } $tmpl->parseTemplate('audience_options', 'a'); } foreach ($options['genre'] as $gen) { $tmpl->addVar('genre_options', 'oid', $gen->getOid()); $tmpl->addVar('genre_options', 'name', $gen->getName()); if (isset($categories['Genre']) && $this->bean_in_array($gen, $categories['Genre'])) { $tmpl->addVar('genre_options', 'selected', 'selected'); } else { $tmpl->addVar('genre_options', 'selected', ''); } $tmpl->parseTemplate('genre_options', 'a'); } $tmpl->displayParsedTemplate('catsTab'); $tabs->endTab(); $tabs->startTab("Series", "series-links"); foreach ($options['series'] as $ser) { $tmpl->addVar('series_options', 'oid', $ser->getOid()); $tmpl->addVar('series_options', 'name', $ser->getName()); if (isset($categories['Series']) && $this->bean_in_array($ser, $categories['Series'])) { $tmpl->addVar('series_options', 'selected', 'selected'); } else { $tmpl->addVar('series_options', 'selected', ''); } $tmpl->parseTemplate('series_options', 'a'); } $tmpl->displayParsedTemplate('sersTab'); $tabs->endTab(); $tabs->startTab("Exhibits", "exbt-links"); foreach ($options['exhibition'] as $exbt) { $tmpl->addVar('exhibition_options', 'oid', $exbt->getOid()); $tmpl->addVar('exhibition_options', 'title', $exbt->getTitle()); if (isset($exhibitions) && $this->bean_in_array($exbt, $exhibitions)) { $tmpl->addVar('exhibition_options', 'selected', 'selected'); } else { $tmpl->addVar('exhibition_options', 'selected', ''); } $tmpl->parseTemplate('exhibition_options', 'a'); } $tmpl->displayParsedTemplate('exbtTab'); $tabs->endTab(); $tabs->startTab("Courses", "crse-links"); foreach ($options['course'] as $prgm) { $tmpl->addVar('course_options', 'oid', $prgm->getOid()); $tmpl->addVar('course_options', 'title', $prgm->getTitle()); if (isset($courses) && $this->bean_in_array($prgm, $courses)) { $tmpl->addVar('course_options', 'selected', 'selected'); } else { $tmpl->addVar('course_options', 'selected', ''); } $tmpl->parseTemplate('course_options', 'a'); } $tmpl->displayParsedTemplate('crseTab'); $tabs->endTab(); $tabs->startTab("Gallery", "glry-links"); foreach ($options['gallery'] as $glry) { $tmpl->addVar('gallery_options', 'gid', $glry->id); $tmpl->addVar('gallery_options', 'name', $glry->title); if ($glry->id == $program->getGallery()) { $tmpl->addVar('gallery_options', 'selected', 'selected'); } else { $tmpl->addVar('gallery_options', 'selected', ''); } $tmpl->parseTemplate('gallery_options', 'a'); } $tmpl->displayParsedTemplate('glryTab'); $tabs->endTab(); } $logger->debug("parsing template"); $tmpl->displayParsedTemplate('close_form'); }
/** * Renders the exhibition detail template * * @param bean $model a DetailPageModel bean * @return void */ private function renderDetailPageModel($model) { global $logger; $logger->debug(get_class($this) . "::renderDetailPageModel({$model})"); $exbt = $model->getDetail(); $options = $model->getOptions(); $programs = $exbt->getPrograms(); $courses = $exbt->getCourses(); $artists = $exbt->getArtists(); $categories = $exbt->getCategories(); $venues = $exbt->getVenues(); $artifacts = explode(",", $exbt->getArtifacts()); $logger->debug("Number of artists for exhibition in page: " . count($artists)); $tmpl = $this->createPatTemplate(); //in the MasterPage class $tmpl->readTemplatesFromInput('exhibition_detail.pat.tpl'); $tmpl->addGlobalVar('scope', 'Exhibition'); // Render the primary form fields $tmpl->addVars('exhibition_form', BeanUtil::beanToArray($exbt, true)); // scalars only // Renders the editor fields $sconf = $this->getEditorConfig(Editor::SMALL, 'summary', $exbt->getSummary()); $tmpl->addVar('exhibition_form', 'summary_editor', $this->setEditor($sconf)); $dconf = $this->getEditorConfig(Editor::MEDIUM, 'description', $exbt->getDescription()); $tmpl->addVar('exhibition_form', 'description_editor', $this->setEditor($dconf)); $cconf = $this->getEditorConfig(Editor::SMALL, 'credit', $exbt->getCredit()); $tmpl->addVar('exhibition_form', 'credit_editor', $this->setEditor($cconf)); $aconf = $this->getEditorConfig(Editor::SMALL, 'addinfo', $exbt->getAddinfo()); $tmpl->addVar('exhibition_form', 'addinfo_editor', $this->setEditor($aconf)); $a2conf = $this->getEditorConfig(Editor::SMALL, 'addinfo2', $exbt->getAddinfo2()); $tmpl->addVar('exhibition_form', 'addinfo2_editor', $this->setEditor($a2conf)); // PubState Select foreach ($options['pubState'] as $ps) { $tmpl->addVar('pubState_options', 'value', $ps->value); $logger->debug("current: " . $ps->value . " | selected " . $exbt->getPubState()); if ($ps->value == $exbt->getPubState()) { $tmpl->addVar('pubState_options', 'selected', 'selected'); } else { $tmpl->addVar('pubState_options', 'selected', ''); } $tmpl->parseTemplate('pubState_options', 'a'); } // Event Status Select foreach ($options['eventStatus'] as $es) { $tmpl->addVar('eventStatus_options', 'value', $es->value); if ($es->value == $exbt->getEventStatus()) { $tmpl->addVar('eventStatus_options', 'selected', 'selected'); } else { $tmpl->addVar('eventStatus_options', 'selected', ''); } $tmpl->parseTemplate('eventStatus_options', 'a'); } // Date Selects $logger->debug("Size of months in page: " . count($options['month'])); $schedule = $exbt->getSchedule(); if (empty($schedule)) { $schedule = new Schedule(); } $tmpl->addVar('exhibition_form', 'scheduleOid', $schedule->getOid()); $startTime = $schedule->getStartTime() > 0 ? $schedule->getStartTime() : time(); // set the end time functionality if ($schedule->getEndTime() > 0) { $endTime = $schedule->getEndTime(); $tmpl->addVar('close_form', 'show_closing', '1'); } else { $endTime = time(); $tmpl->addVar('close_form', 'show_closing', '0'); } foreach ($options['month'] as $key => $value) { $tmpl->addVar('start_month_options', 'value', $key); $tmpl->addVar('start_month_options', 'text', $value); if ($key == date("n", $startTime)) { $tmpl->addVar('start_month_options', 'selected', 'selected'); } else { $tmpl->addVar('start_month_options', 'selected', ''); } $tmpl->parseTemplate('start_month_options', 'a'); $tmpl->addVar('end_month_options', 'value', $key); $tmpl->addVar('end_month_options', 'text', $value); if ($key == date("n", $endTime)) { $tmpl->addVar('end_month_options', 'selected', 'selected'); } else { $tmpl->addVar('end_month_options', 'selected', ''); } $tmpl->parseTemplate('end_month_options', 'a'); } foreach ($options['day'] as $value) { $tmpl->addVar('start_day_options', 'value', $value); if (intval($value) == date("j", $startTime)) { $tmpl->addVar('start_day_options', 'selected', 'selected'); } else { $tmpl->addVar('start_day_options', 'selected', ''); } $tmpl->parseTemplate('start_day_options', 'a'); $tmpl->addVar('end_day_options', 'value', $value); if (intval($value) == date("j", $endTime)) { $tmpl->addVar('end_day_options', 'selected', 'selected'); } else { $tmpl->addVar('end_day_options', 'selected', ''); } $tmpl->parseTemplate('end_day_options', 'a'); } foreach ($options['year'] as $value) { $tmpl->addVar('start_year_options', 'value', $value); if (intval($value) == date("Y", $startTime)) { $tmpl->addVar('start_year_options', 'selected', 'selected'); } else { $tmpl->addVar('start_year_options', 'selected', ''); } $tmpl->parseTemplate('start_year_options', 'a'); $tmpl->addVar('end_year_options', 'value', $value); if (intval($value) == date("Y", $endTime)) { $tmpl->addVar('end_year_options', 'selected', 'selected'); } else { $tmpl->addVar('end_year_options', 'selected', ''); } $tmpl->parseTemplate('end_year_options', 'a'); } // Press Release Article Select $proptions = $options['pressrelease']; foreach ($proptions as $pra) { $tmpl->addVar('pressrelease_options', 'value', $pra->getId()); $tmpl->addVar('pressrelease_options', 'title', substr($pra->getTitle(), 0, 60)); if ($pra->getId() == $exbt->getPressRelease()) { $tmpl->addVar('pressrelease_options', 'selected', 'selected'); } else { $tmpl->addVar('pressrelease_options', 'selected', ''); } $tmpl->parseTemplate('pressrelease_options', 'a'); } // Comment Article Select $caoptions = $options['commentarticle']; foreach ($caoptions as $ca) { $tmpl->addVar('commentarticle_options', 'value', $ca->getId()); $tmpl->addVar('commentarticle_options', 'title', $ca->getTitle()); if ($ca->getId() == $exbt->getCommentArticle()) { $tmpl->addVar('commentarticle_options', 'selected', 'selected'); } else { $tmpl->addVar('commentarticle_options', 'selected', ''); } $tmpl->parseTemplate('commentarticle_options', 'a'); } // Related Content Category $relatedoptions = $options['relatedcategory']; foreach ($relatedoptions as $rca) { $tmpl->addVar('relatedcategory_options', 'value', $rca->getId()); $tmpl->addVar('relatedcategory_options', 'title', $rca->getTitle()); if ($rca->getId() == $exbt->getRelatedArticles()) { $tmpl->addVar('relatedcategory_options', 'selected', 'selected'); } else { $tmpl->addVar('relatedcategory_options', 'selected', ''); } $tmpl->parseTemplate('relatedcategory_options', 'a'); } // Render the Main Template $tmpl->displayParsedTemplate('exhibition_form'); // Render the Tabs $tabs = new mosTabs(1); //1 = use cookies to remember selected tab $tabs->startPane("links"); if ($exbt->getOid() == null) { $tabs->startTab("Notice", "new-links"); echo "<br/><br/>To assign a Venue, first save this new Exhibition.<br/><br/>"; $tabs->endTab(); } else { $tabs->startTab("Venues", "vnue-links"); foreach ($options['venue'] as $ven) { $tmpl->addVar('venue_options', 'oid', $ven->getOid()); $tmpl->addVar('venue_options', 'name', $ven->getName()); if (isset($venues) && $this->bean_in_array($ven, $venues)) { $tmpl->addVar('venue_options', 'selected', 'selected'); } else { $tmpl->addVar('venue_options', 'selected', ''); } $tmpl->parseTemplate('venue_options', 'a'); } $tmpl->displayParsedTemplate('vnueTab'); $tabs->endTab(); $tabs->startTab("Genres", "cat-links"); foreach ($options['audience'] as $aud) { $tmpl->addVar('audience_options', 'oid', $aud->getOid()); $tmpl->addVar('audience_options', 'name', $aud->getName()); if (isset($categories['Audience']) && $this->bean_in_array($aud, $categories['Audience'])) { $tmpl->addVar('audience_options', 'selected', 'selected'); } else { $tmpl->addVar('audience_options', 'selected', ''); } $tmpl->parseTemplate('audience_options', 'a'); } foreach ($options['genre'] as $gen) { $tmpl->addVar('genre_options', 'oid', $gen->getOid()); $tmpl->addVar('genre_options', 'name', $gen->getName()); if (isset($categories['Genre']) && $this->bean_in_array($gen, $categories['Genre'])) { $tmpl->addVar('genre_options', 'selected', 'selected'); } else { $tmpl->addVar('genre_options', 'selected', ''); } $tmpl->parseTemplate('genre_options', 'a'); } $tmpl->displayParsedTemplate('catsTab'); $tabs->endTab(); $tabs->startTab("Programs", "prgm-links"); foreach ($options['program'] as $prgm) { $tmpl->addVar('program_options', 'oid', $prgm->getOid()); $tmpl->addVar('program_options', 'title', $prgm->getTitle()); if (isset($programs) && $this->bean_in_array($prgm, $programs)) { $tmpl->addVar('program_options', 'selected', 'selected'); } else { $tmpl->addVar('program_options', 'selected', ''); } $tmpl->parseTemplate('program_options', 'a'); } $tmpl->displayParsedTemplate('prgmTab'); $tabs->endTab(); $tabs->startTab("Courses", "crse-links"); foreach ($options['course'] as $prgm) { $tmpl->addVar('course_options', 'oid', $prgm->getOid()); $tmpl->addVar('course_options', 'title', $prgm->getTitle()); if (isset($courses) && $this->bean_in_array($prgm, $courses)) { $tmpl->addVar('course_options', 'selected', 'selected'); } else { $tmpl->addVar('course_options', 'selected', ''); } $tmpl->parseTemplate('course_options', 'a'); } $tmpl->displayParsedTemplate('crseTab'); $tabs->endTab(); $tabs->startTab("Gallery", "glry-links"); foreach ($options['gallery'] as $glry) { $tmpl->addVar('gallery_options', 'gid', $glry->id); $tmpl->addVar('gallery_options', 'name', $glry->title); if ($glry->id == $exbt->getGallery()) { $tmpl->addVar('gallery_options', 'selected', 'selected'); } else { $tmpl->addVar('gallery_options', 'selected', ''); } $tmpl->parseTemplate('gallery_options', 'a'); } $tmpl->displayParsedTemplate('glryTab'); $tabs->endTab(); $tabs->startTab("Artists", "pers-links"); foreach ($options['person'] as $pers) { $artistName = $pers->getLastName() ? $pers->getLastName() . ", " . $pers->getFirstName() : $pers->getFriendlyName(); $tmpl->addVar('person_options', 'oid', $pers->getOid()); $tmpl->addVar('person_options', 'title', $artistName); if (isset($artists) && $this->bean_in_array($pers, $artists)) { $tmpl->addVar('person_options', 'selected', 'selected'); } else { $tmpl->addVar('person_options', 'selected', ''); } $tmpl->parseTemplate('person_options', 'a'); } foreach ($options['artifact'] as $album) { foreach ($album->getImages() as $image) { $large = $image->getLarge(); if ($large) { $tmpl->addVar('object_options', 'oid', $large->getId()); $tmpl->addVar('object_options', 'name', $image->getTitle()); if (isset($artifacts) && in_array($large->getId(), $artifacts)) { $tmpl->addVar('object_options', 'selected', 'selected'); } else { $tmpl->addVar('object_options', 'selected', ''); } $tmpl->parseTemplate('object_options', 'a'); } } } $tmpl->displayParsedTemplate('persTab'); $tabs->endTab(); } $tmpl->displayParsedTemplate('close_form'); }
/** * Renders the detail of a given exhibition * @param bean $model The exhibition detail model */ function detail($model) { global $logger, $mainframe; $logger->debug(get_class($this) . "::detail({$model})"); $event = $model->getDetail(); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('exhibition_detail.pat.tpl'); $mainframe->setPageTitle("Exhibition | " . $event->getTitle()); $tmpl->addVars('exbt_detail', BeanUtil::beanToArray($event, true)); // scalars only // schedule $time_display = ""; if ($event->getScheduleNote()) { $time_display = $event->getScheduleNote(); } elseif ($event->getSchedule() != null) { $st = $event->getSchedule()->getStartTime(); $et = $event->getSchedule()->getEndTime(); $time_display = $this->formatDate($st, 'tiny'); if ($et > $st) { $time_display .= " - " . $this->formatDate($et, 'tiny'); $time_display .= date(", Y", $et); } } $tmpl->addVar('exbt_detail', 'time_display', $time_display); // Event Status & Tickets $tmpl->addVar('exbt_detail', 'status', $event->getEventStatus()); if ($event->getTicketUrl() != null) { $tmpl->addVar('ticket_link', 'ticketurl', $this->getTicketUrl($event->getTicketUrl())); } // venues if ($event->getVenues() != null) { $tmpl->clearTemplate('venues'); $logger->debug("type of venue collection [array]: " . gettype($event->getVenues())); foreach ($event->getVenues() as $venue) { $logger->debug("Venue is of class [Venue]: " . get_class($venue)); $vlink = $this->getVenueTitleLink($venue); $tmpl->addVar('venues', 'venue_link', $vlink); $tmpl->parseTemplate('venues', "a"); } } // gallery images if ($event->getGallery() != null) { $tmpl->addVar('photoArea', 'displayPhotos', true); $images = $event->getGallery()->getImages(); $logger->debug('Number of images: ' . count($images)); foreach ($images as $img) { $tmpl->addVar('photo', 'imageurl', $img->getUrl()); $tmpl->addVar('photo', 'caption', $img->getAuthor()); $tmpl->parseTemplate('photo', 'a'); } } // related $tmpl->clearTemplate('show_related'); $tmpl->setAttribute("show_related", "visibility", "hidden"); $tmpl->clearTemplate('related'); if ($event->getPrograms() != null) { $res = $event->getPrograms(); if (count($res) > 0) { foreach ($res as $prg) { // only show published programs if ($prg->getPubState() == 'Published') { if (count($prg->getChildren()) > 0) { $next = $this->getNextActivity($prg->getChildren()); if ($next) { $tmpl->addVar('related', 'oid', $prg->getOid()); $tmpl->addVar('related', 'title', $prg->getTitle()); $schedule = $next->getSchedule(); $startTime = "(" . $this->formatDate($schedule->getStartTime()) . ")"; $tmpl->addVar('related', 'startTime', $startTime); $tmpl->parseTemplate('related', "a"); $tmpl->setAttribute("show_related", "visibility", "visible"); } } } } } } $tmpl->displayParsedTemplate('exbt_detail'); }
/** * Displays the program detail * @param bean $model The program detail model */ public function detail($model) { global $logger, $mainframe; $logger->debug(get_class($this) . "::detail({$model})"); $event = $model->getDetail(); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('program_detail.pat.tpl'); if ($model->getAnnouncement() != null) { $tmpl->addVar('intro', 'announcement', $model->getAnnouncement()); } // simple attributes $tmpl->addVars('program', BeanUtil::beanToArray($event, true)); // scalars only // page title $pt = ""; if ($event->getPrimaryGenre()) { $genre = $event->getPrimaryGenre(); $tmpl->addVar('program', 'genre', $genre->getName()); $pt .= $genre->getName() . " | "; } $mainframe->setPageTitle($pt . $event->getTitle()); // gallery images if ($event->getGallery() != null) { $images = $event->getGallery()->getImages(); $logger->debug('Number of images: ' . count($images)); foreach ($images as $img) { $tmpl->addVar('photo', 'imageurl', $img->getUrl()); $tmpl->addVar('photo', 'caption', $img->getAuthor()); $tmpl->parseTemplate('photo', 'a'); } } // Determine if there should be an column for images or media links... if ($event->audioClip || $event->videoClip || count($images) > 0) { $tmpl->addVar('mediacolumn', 'display', true); } // venues $logger->debug("Number of venues for event ID " . $event->getOid() . ": " . count($event->getVenues())); if ($event->getVenues() != null) { $tmpl->clearTemplate('venues'); $logger->debug("type of venue collection [array]: " . gettype($event->getVenues())); foreach ($event->getVenues() as $venue) { $logger->debug("Venue is of class [Venue]: " . get_class($venue)); $vlink = $this->getVenueTitleLink($venue); $tmpl->addVar('venues', 'venue_link', $vlink); $tmpl->parseTemplate('venues', "a"); } } // performances (load in array, then sort by start time) $logger->debug("Number of performances: " . count($event->getChildren())); $perfs = array(); $sts = array(); // Track whether a performance has a ticket code, sold out, cancelled, etc. $show_dates = false; foreach ($event->getChildren() as $perf) { $logger->debug("Performance is of class: " . get_class($perf)); //tickets if ($perf->getActivityStatus() != null) { // get the ticket code $tc = null; if ($perf->getTicketCode() != null) { $tc = $perf->getTicketCode(); } else { $tc = $event->getTicketUrl(); } $ticket = $this->getStatusImage($perf->getActivityStatus()->getValue(), $tc); } if (!empty($ticket)) { $show_dates = true; } $perfs[] = array('starttime' => $perf->getSchedule()->getStartTime(), 'status_image' => $ticket); $sts[] = $perf->getSchedule()->getStartTime(); } array_multisort($sts, SORT_ASC, $perfs); foreach ($perfs as $perf) { $time_display = date("l, F j, g:i a", $perf['starttime']); $tmpl->addVar('performance', 'time', $time_display); $tmpl->addVar('performance', 'status_image', $perf['status_image']); $tmpl->parseTemplate('performance', 'a'); } // If any performance has a ticket code or a note, show all performances. // If there is a date override and there are NO perfs with notes, etc. show date override if ($show_dates || $event->getScheduleNote() == '') { $tmpl->addVar('program', 'show_dates', true); } else { $tmpl->addVar('program', 'time_display', $event->getScheduleNote()); } // audience $tmpl->clearTemplate('show_audience'); $tmpl->setAttribute('show_audience', 'visibility', 'hidden'); $tmpl->clearTemplate('audience'); $family = false; $cats = $event->getCategories(); if (isset($cats[Category::AUDIENCE])) { foreach ($cats[Category::AUDIENCE] as $aud) { if ($aud->getFamily()) { $family = true; } $tmpl->addVar('audience', 'name', $aud->getName()); $tmpl->parseTemplate('audience', 'a'); $tmpl->setAttribute("show_audience", "visibility", "visible"); } } $tmpl->addVar('program', 'family', $family); // series $tmpl->clearTemplate('series'); if (isset($cats[Category::SERIES])) { foreach ($cats[Category::SERIES] as $ser) { $slink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=sers&task=summary&oid=" . $ser->getOid()); $tmpl->addVar('series', 'series_link', $slink); $tmpl->addVar('series', 'name', $ser->getName()); $tmpl->parseTemplate('series', 'a'); $tmpl->setAttribute("series", "visibility", "visible"); // related events $tmpl->setAttribute("series_related", "visibility", "hidden"); $revents = $ser->getEvents(); if (isset($revents) && count($revents) > 0) { foreach ($revents as $sprg) { $plink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=prgm&task=detail&oid=" . $sprg->getOid()); $tmpl->addVar('related', 'prgm_link', $plink); $tmpl->addVar('related', 'title', $sprg->getTitle()); $tmpl->addVar('related', 'starttime', time()); $tmpl->parseTemplate('related', 'a'); $tmpl->setAttribute("series_related", "visibility", "visible"); } } } } // exhibitions $tmpl->setAttribute("exhibition", "visibility", "hidden"); $rexbt = $event->getExhibitions(); if (isset($rexbt) && count($rexbt) > 0) { foreach ($rexbt as $exbt) { $elink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=exbt&task=detail&oid=" . $exbt->getOid()); $tmpl->addVar('exhibit', 'exbt_link', $elink); $tmpl->addVar('exhibit', 'title', $exbt->getTitle()); $tmpl->parseTemplate('exhibit', 'a'); $tmpl->setAttribute("exhibition", "visibility", "visible"); } } $tmpl->displayParsedTemplate('program'); // set the request for css ids and classes $_REQUEST['cce_scope'] = "programs"; // css file name / body id $_REQUEST['cce_page'] = strtolower($genre->getName()); // body class $_REQUEST['cce_cols'] = "3"; // canvas div id $_REQUEST['cce_subtype'] = "details"; // canvas div class $_REQUEST['ccmenu'] = isset($_REQUEST['ccmenu']) ? $_REQUEST['ccmenu'] : ''; }
/** * The default render method. Displays the summary list * @param bean $model The exhibition summary model */ public function render($model) { global $logger, $mainframe; $logger->debug(get_class($this) . '::render()'); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('homepage_events.pat.tpl'); $title = HOMEPAGE_TITLE; $mainframe->setPageTitle($title); $tmpl->addVar('intro', 'title', $title); if ($model->getAnnouncement() != null) { $tmpl->addVar('intro', 'announcement', $model->getAnnouncement()); } $hp = $model->getDetail(); // cycle through the 9 slots for ($i = 1; $i < 10; $i++) { $getter = "getEvent" . $i; $event = $hp->{$getter}(); // if there is a published event in the slot, render it $time_display = null; $genre = null; $ticket = null; if ($event != null && $event->getPubState() == PublicationState::PUBLISHED) { // load the image $gallery = $event->getGallery(); $images = $gallery->getImages(); $image = $images[0]; $img_src = ""; $img_alt = $event->getTitle(); if ($image != null) { $img_src = $image->getUrl(); $img_alt = $image->getTitle() != null ? $images[0]->getTitle() : $event->getTitle(); } // set the differences between event types if (get_class($event) == Event::EXHIBITION) { // set the genre $genre = Event::EXHIBITION; // figure the proper link url $elink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=exbt&task=detail&ccmenu=v2hhdcdzie9u&oid=" . $event->getOid()); // get the time if ($event->getScheduleNote()) { $time_display = $event->getScheduleNote(); } else { $schedule = $event->getSchedule(); if ($schedule != null) { $time_display = $this->formatDate($schedule->getStartTime()); if ($schedule->getEndTime() > 0) { $time_display .= $this->formatDate($schedule->getEndTime()); } } } // get the status/tickets image $ticket = $this->getStatusImage($event->getEventStatus(), $event->getTicketUrl()); } else { // genre if ($event->getPrimaryGenre() != null) { $genre = $event->getPrimaryGenre()->getName(); } // figure the proper link url if (get_class($event) == Event::PROGRAM) { $elink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=prgm&task=detail&ccmenu=v2hhdcdzie9u&oid=" . $event->getOid()); } else { if (get_class($event) == Event::COURSE) { $elink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=crse&task=summary&filter=Genre&fid=" . $event->getPrimaryGenre()->getOid(), $event->getOid()); } } // actvity level items if ($event->getScheduleNote()) { $time_display = $event->getScheduleNote(); } else { $acts = $event->getChildren(); $next_act = $this->getNextActivity($acts); if ($next_act != null) { $schedule = $next_act->getSchedule(); if ($schedule != null) { $time_display = $this->formatDate($schedule->getStartTime()); } if ($next_act->getActivityStatus() != null) { // get the ticket code $tc = null; if ($next_act->getTicketCode() != null) { $tc = $next_act->getTicketCode(); } else { $tc = $event->getTicketUrl(); } $ticket = $this->getStatusImage($next_act->getActivityStatus()->getValue(), $next_act->getTicketCode()); } } } } // load the template $tmpl->addVar('event', 'title', $event->getTitle()); $tmpl->addVar('event', 'img_src', $img_src); $tmpl->addVar('event', 'img_alt', $img_alt); $tmpl->addVar('event', 'genre', $genre); $tmpl->addVar('event', 'event_link', $this->cceventSefUrl($elink)); $tmpl->addVar('event', 'time', $time_display); $tmpl->addVar('event', 'status_img', $ticket); $tmpl->parseTemplate('event', "a"); } } $tmpl->displayParsedTemplate('homepage'); // set the request for css ids and classes $_REQUEST['cce_scope'] = "home"; // css file name / body id $_REQUEST['cce_page'] = "welcome"; // body class $_REQUEST['cce_cols'] = "3"; // canvas div id $_REQUEST['cce_subtype'] = "home"; // canvas div class }
/** * Renders the program detail template * * @param bean $model a DetailPageModel bean * @return void */ private function renderDetailPageModel($model) { global $logger; $logger->debug(get_class($this) . "::renderDetailPageModel({$model})"); $person = $model->getDetail(); $options = $model->getOptions(); $exhibitions = $person->getExhibitions(); $tmpl = $this->createPatTemplate(); $tmpl->readTemplatesFromInput('person_detail.pat.tpl'); // Render the primary form fields $tmpl->addVars('person_detail', BeanUtil::beanToArray($person, true)); // scalars only // Render the editor fields $sconf = $this->getEditorConfig(Editor::SMALL, 'summary', $person->getSummary()); $tmpl->addVar('person_detail', 'summary_editor', $this->setEditor($sconf)); // PubState Select foreach ($options['pubState'] as $ps) { $tmpl->addVar('pubState_options', 'value', $ps->value); $logger->debug("current: " . $ps->value . " | selected " . $person->getPubState()); if ($ps->value == $person->getPubState()) { $tmpl->addVar('pubState_options', 'selected', 'selected'); } else { $tmpl->addVar('pubState_options', 'selected', ''); } $tmpl->parseTemplate('pubState_options', 'a'); } $tmpl->displayParsedTemplate('person_detail'); // Render the Tabs $tabs = new mosTabs(1); //1 = use cookies to remember selected tab $tabs->startPane("links"); if ($person->getOid() == null) { $tabs->startTab("Notice", "new-links"); echo "<br/><br/>To assign a gallery, first save this new person.<br/><br/>"; $tabs->endTab(); } else { $tabs->startTab("Gallery", "glry-links"); foreach ($options['gallery'] as $glry) { $tmpl->addVar('gallery_options', 'gid', $glry->id); $tmpl->addVar('gallery_options', 'name', $glry->title); if ($glry->id == $person->getGallery()) { $tmpl->addVar('gallery_options', 'selected', 'selected'); } else { $tmpl->addVar('gallery_options', 'selected', ''); } $tmpl->parseTemplate('gallery_options', 'a'); } $tmpl->displayParsedTemplate('glryTab'); $tabs->endTab(); $tabs->startTab("Exhibitions", "exbt-links"); foreach ($options['exhibition'] as $exbt) { $tmpl->addVar('exhibition_options', 'oid', $exbt->getOid()); $tmpl->addVar('exhibition_options', 'title', $exbt->getTitle()); if (isset($exhibitions) && $this->bean_in_array($exbt, $exhibitions)) { $tmpl->addVar('exhibition_options', 'selected', 'selected'); } else { $tmpl->addVar('exhibition_options', 'selected', ''); } $tmpl->parseTemplate('exhibition_options', 'a'); } $tmpl->displayParsedTemplate('exbtTab'); $tabs->endTab(); } // Close the form $tmpl->displayParsedTemplate('close_form'); }