/** * 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'); }
/** * Displays the series summary * @param bean $model The series summary model */ public function summary($model) { global $logger, $mainframe; $logger->debug(get_class($this) . "::summary({$model})"); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('series_summary.pat.tpl'); // page title + description $pg_title = "Series"; if ($model->getSeries()) { $pg_title = $model->getSeries()->getName(); $tmpl->addVar('series', 'description', $model->getSeries()->getDescription()); } $mainframe->setPageTitle("Program Series | " . $pg_title); $tmpl->addVar('intro', 'title', $pg_title); // announcment if ($model->getAnnouncement() != null) { $tmpl->addVar('intro', 'announcement', $model->getAnnouncement()); } $eventList = $model->getList(); usort($eventList, array('FrontSeriesPage', 'sort_by_date')); foreach ($eventList as $event) { // simple attributes $tmpl->addVars('program', BeanUtil::beanToArray($event, true)); // scalars only // primary genre $pg = $event->getPrimaryGenre(); if ($pg != null) { $tmpl->addVar('program', 'genre', $pg->getName()); } // activity level items $acts = $event->getChildren(); $next_act = $this->getNextActivity($acts); $time_display = ""; if ($next_act != null) { $schedule = $next_act->getSchedule(); if ($schedule != null) { // $time_display = strftime("%A, %B %d, %I:%M %p ",$schedule->getStartTime()); $time_display = date("l, F j, g:i a", $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(), $tc); } } $tmpl->addVar('program', 'time', $time_display); $tmpl->addVar('program', 'status_img', $ticket); // audience $tmpl->clearTemplate('show_audience'); $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); // image if ($event->getGallery() != null) { $images = $event->getGallery()->getImages(); $logger->debug('Number of images [1]: ' . count($images)); $img = $images[0]; $logger->debug('Class of img [Image]: ' . get_class($img)); $tmpl->addVar('program', 'imageurl', $img->getUrl()); $tmpl->addVar('program', 'imagecredit', $img->getAuthor()); } $tmpl->parseTemplate('program', "a"); } $tmpl->displayParsedTemplate('series'); // set the request for css ids and classes $_REQUEST['cce_scope'] = "programs"; // css file name / body id $_REQUEST['cce_page'] = ""; // body class $_REQUEST['cce_cols'] = "3"; // canvas div id $_REQUEST['cce_subtype'] = "general"; // canvas div class }
/** * 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'); }
/** * Renders the detail page for the given venue * @param bean DetailPageModel */ private function renderDetail($model) { global $logger; $logger->debug(get_class($this) . '::detail()'); $venue = $model->getDetail(); $events = $venue->getEvents(); $options = $model->getOptions(); $tmpl = $this->createPatTemplate(); $tmpl->readTemplatesFromInput('venue_detail.pat.tpl'); $tmpl->addGlobalVar('scope', 'Venue'); // Render the primary form fields $tmpl->addVars('venue_form', BeanUtil::beanToArray($venue, true)); // scalars only // Renders the editor field $dconf = $this->getEditorConfig(Editor::MEDIUM, 'description', $venue->getDescription()); $tmpl->addVar('venue_form', 'description_editor', $this->setEditor($dconf)); // PubState Select foreach ($options['pubState'] as $ps) { $tmpl->addVar('pubState_options', 'value', $ps->value); $logger->debug("current: " . $ps->value . " | selected " . $venue->getPubState()); if ($ps->value == $venue->getPubState()) { $tmpl->addVar('pubState_options', 'selected', 'selected'); } else { $tmpl->addVar('pubState_options', 'selected', ''); } $tmpl->parseTemplate('pubState_options', 'a'); } /// Address Elements $addr = $venue->getAddress(); $tmpl->addVar('address', 'oid', $addr->getOid()); $tmpl->addVar('address', 'street', $addr->getStreet()); $tmpl->addVar('address', 'unit', $addr->getUnit()); $tmpl->addVar('address', 'city', $addr->getCity()); $tmpl->addVar('address', 'state', $addr->getState()); $tmpl->addVar('address', 'postalCode', $addr->getPostalCode()); $tmpl->addVar('address', 'phone', $addr->getPhone()); // State Select $selectedState = DEFAULT_POSTAL_STATE_KEY; if ($venue->getAddress() != null && $venue->getAddress()->getState() != null) { $selectedState = $venue->getAddress()->getState(); } $logger->debug("Selected state: " . $selectedState); foreach (AddressUtil::getUsStates() as $key => $value) { $tmpl->addVar('state_options', 'code', $key); $tmpl->addVar('state_options', 'name', $value); if ($key == $selectedState) { $tmpl->addVar('state_options', 'selected', 'selected'); $logger->debug("Found matching state to select: " . $key); } else { $tmpl->addVar('state_options', 'selected', ''); } $tmpl->parseTemplate('state_options', 'a'); } $tmpl->displayParsedTemplate('venue_form'); // Render the Tabs $tabs = new mosTabs(1); //1 = use cookies to remember selected tab $tabs->startPane("links"); if ($venue->getOid() == null) { $tabs->startTab("Notice", "new-links"); echo "<br/><br/>To assign events, first save this new venue.<br/><br/>"; $tabs->endTab(); } else { $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($events) && $this->bean_in_array($exbt, $events)) { $tmpl->addVar('exhibition_options', 'selected', 'selected'); } else { $tmpl->addVar('exhibition_options', 'selected', ''); } $tmpl->parseTemplate('exhibition_options', 'a'); } $tmpl->displayParsedTemplate('exbtTab'); $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($events) && $this->bean_in_array($prgm, $events)) { $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 $crse) { $tmpl->addVar('course_options', 'oid', $crse->getOid()); $tmpl->addVar('course_options', 'title', $crse->getTitle()); if (isset($events) && $this->bean_in_array($crse, $events)) { $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['name']); if ( $glry['id'] == $venue->getGallery() ) { $tmpl->addVar('gallery_options','selected','selected'); } else { $tmpl->addVar('gallery_options','selected',''); } $tmpl->parseTemplate('gallery_options','a'); } $tmpl->displayParsedTemplate('glryTab'); $tabs->endTab(); */ } $tmpl->displayParsedTemplate('close_form'); }
/** * Displays the what's on overview (list of published genres) * @param bean $model The course summary model */ public function overview($model) { global $logger, $mainframe; $logger->debug(get_class($this) . "::overview({$model})"); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('course_overview.pat.tpl'); // page title $pg_title = "Learning For Life Overview"; $mainframe->setPageTitle($pg_title); $tmpl->addVar('intro', 'title', $pg_title); if ($model->getAnnouncement() != null) { $tmpl->addVar('intro', 'announcement', $model->getAnnouncement()); } $eventList = $model->getList(); // TODO: sort by primary genre\ $pgs = array(); foreach ($eventList as $event) { $pgs[] = $event->getPrimaryGenre(); } array_multisort($pgs, $eventList); // a temporary place to hold a comparison operator for group headings $prev_category_name = ""; $first = true; foreach ($eventList as $event) { // check group order for series and audience groupings $tmpl->setAttribute('group', 'visibility', 'hidden'); $sort_name = $event->getPrimaryGenre()->getName(); if ($sort_name != $prev_category_name) { $tmpl->addVar('group', 'group_heading', $sort_name); $tmpl->setAttribute('group', 'visibility', 'visible'); $prev_category_name = $sort_name; $first = true; } // simple attributes $tmpl->addVars('course', BeanUtil::beanToArray($event, true)); // scalars only $first_class = $first ? ' first' : ''; $tmpl->addVar('course', 'first_class', $first_class); $first = false; // detail link $dlink = $this->cceventSefUrl("index.php?option=com_ccevents&scope=crse&task=summary&filter=Genre&fid=" . $event->getPrimaryGenre()->getOid(), $event->getOid()); $tmpl->addVar('course', 'detail_link', $dlink); // venue $venues = $event->getVenues(); $dv = isset($venues[0]) ? $venues[0] : null; if ($dv != null) { $dv_link = $this->getVenueTitleLink($dv); // in the MasterPage $tmpl->addVar('course', 'venue', $dv_link); } // date description (Use scheduleNote or next activity time $date_desc = ''; if ($event->getScheduleNote() != null) { $date_desc = $event->getScheduleNote(); } else { $next = $this->getNextActivity($event->getChildren()); if ($next != null && $next->getSchedule() != null) { $date_desc = $this->formatDate($next->getSchedule()->getStartTime()); // in the master page class } } $tmpl->addVar('course', 'date_desc', $date_desc); // sessions if ($event->getChildren() != null) { $sessions = count($event->getChildren()); $ss = ' session'; if ($sessions > 1) { $ss = ' sessions'; } $tmpl->addVar('course', 'sessions', $sessions . $ss); } $tmpl->parseTemplate('course', "a"); } $tmpl->displayParsedTemplate('course_overview'); // set the request for css ids and classes $_REQUEST['cce_cols'] = "2"; // canvas div id $_REQUEST['cce_subtype'] = "general"; // canvas div class $_REQUEST['ccmenu'] = isset($_REQUEST['ccmenu']) ? $_REQUEST['ccmenu'] : ''; // menu }
/** * Displays the what's on overview (list of published genres) * @param bean $model The program summary model */ public function overview($model) { global $logger, $mainframe; $logger->debug(get_class($this) . "::summary({$model})"); $list = $model->getList(); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('program_overview.pat.tpl'); // page title $pg_title = PRGM_OVERVIEW_TITLE; $mainframe->setPageTitle($pg_title); $tmpl->addVar('intro', 'title', $pg_title); // announcement if ($model->getAnnouncement() != null) { $tmpl->addVar('intro', 'announcement', $model->getAnnouncement()); } // order the genres alphabetically $name = array(); foreach ($list as $key => $row) { $name[$key] = $row->getName(); } array_multisort($name, SORT_ASC, $list); // load the genre information foreach ($list as $genre) { if ($genre->getName() != '') { // protects against empty categories // simple attributes $tmpl->addVars('genre', BeanUtil::beanToArray($genre, true)); // scalars only // image $photo_url = $genre->getImage() != '' ? $genre->getImage() : DEFAULT_GENRE_IMAGE_URL; $tmpl->addVar('genre', 'photo_url', $photo_url); // link $link_url = "index.php?option=com_ccevents&scope=prgm&task=summary&filter=Genre&fid=" . $genre->getOid() . "&ccmenu=" . $_REQUEST['ccmenu']; $tmpl->addVar('genre', 'link_url', $this->cceventSefUrl($link_url)); $tmpl->parseTemplate('genre', "a"); } } $tmpl->displayParsedTemplate('program_overview'); // set the request for css ids and classes $_REQUEST['cce_scope'] = "whats_on"; // css file name / body id $_REQUEST['cce_page'] = "whats_on_at_the_skirball"; // body class $_REQUEST['cce_cols'] = "2"; // canvas div id $_REQUEST['cce_subtype'] = "overview"; // canvas div class $_REQUEST['ccmenu'] = isset($_REQUEST['ccmenu']) ? $_REQUEST['ccmenu'] : ''; // menu }
/** * Renders the detail page for the given home_page * @param bean DetailPageModel */ private function renderDetail($model) { global $logger; $logger->debug(get_class($this) . '::detail()'); $home_page = $model->getDetail(); $options = $model->getOptions(); $tmpl = $this->createPatTemplate(); $tmpl->readTemplatesFromInput('home_page_detail.pat.tpl'); $tmpl->addGlobalVar('scope', 'HomePage'); // Render the primary form fields $tmpl->addVars('home_page_form', BeanUtil::beanToArray($home_page, true)); // PubState Select foreach ($options['pubState'] as $ps) { $tmpl->addVar('pubState_options', 'value', $ps->value); $logger->debug("current: " . $ps->value . " | selected " . $home_page->getPubState()); if ($ps->value == $home_page->getPubState()) { $tmpl->addVar('pubState_options', 'selected', 'selected'); } else { $tmpl->addVar('pubState_options', 'selected', ''); } $tmpl->parseTemplate('pubState_options', 'a'); } // Date Selects $logger->debug("Size of months in page: " . count($options['month'])); $startTime = $home_page->getStartTime() > 0 ? $home_page->getStartTime() : time(); 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'); } 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'); } 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->displayParsedTemplate('home_page_form'); // Render the Tabs $tabs = new mosTabs(1); //1 = use cookies to remember selected tab $tabs->startPane("links"); if ($home_page->getOid() == null) { $tabs->startTab("Notice", "new-links"); echo "<br/><br/>To assign events, first save this new home page.<br/><br/>"; $tabs->endTab(); } else { $tabs->startTab("Exhibitions", "home_page_exhibitions"); for ($index = 1; $index <= 3; $index++) { $getter = 'getEvent' . $index; $eventIndex = $this->getPromoObject($home_page->{$getter}()); foreach ($options['exhibition'] as $event) { $tmpl->addVar('published_exhibition_options', 'type', $event->getScope()); $tmpl->addVar('published_exhibition_options', 'oid', $event->getOid()); $tmpl->addVar('published_exhibition_options', 'title', $event->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Exhibition' && $event->getOid() == $eventIndex->id) { $tmpl->addVar('published_exhibition_options', 'selected', 'selected'); } else { $tmpl->addVar('published_exhibition_options', 'selected', ''); } $tmpl->parseTemplate('published_exhibition_options', 'a'); } $tmpl->addVar('published_exhibitions', 'index', $index); $tmpl->parseTemplate('published_exhibitions', 'a'); $tmpl->clearTemplate('published_exhibition_options'); } $tmpl->displayParsedTemplate('exhibitions'); $tabs->endTab(); $tabs->startTab("Programs", "home_page_programs"); for ($index = 4; $index <= 9; $index++) { $getter = 'getEvent' . $index; $eventIndex = $this->getPromoObject($home_page->{$getter}()); foreach ($options['program'] as $event) { $tmpl->addVar('published_program_options', 'type', $event->getScope()); $tmpl->addVar('published_program_options', 'oid', $event->getOid()); $tmpl->addVar('published_program_options', 'title', $event->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Program' && $event->getOid() == $eventIndex->id) { $tmpl->addVar('published_program_options', 'selected', 'selected'); } else { $tmpl->addVar('published_program_options', 'selected', ''); } $tmpl->parseTemplate('published_program_options', 'a'); } foreach ($options['genre'] as $cat) { $tmpl->addVar('published_genre_options', 'type', $cat->getScope()); $tmpl->addVar('published_genre_options', 'oid', $cat->getOid()); $tmpl->addVar('published_genre_options', 'title', $cat->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Genre' && $cat->getOid() == $eventIndex->id) { $tmpl->addVar('published_genre_options', 'selected', 'selected'); } else { $tmpl->addVar('published_genre_options', 'selected', ''); } $tmpl->parseTemplate('published_genre_options', 'a'); } foreach ($options['audience'] as $cat) { $tmpl->addVar('published_audience_options', 'type', $cat->getScope()); $tmpl->addVar('published_audience_options', 'oid', $cat->getOid()); $tmpl->addVar('published_audience_options', 'title', $cat->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Audience' && $cat->getOid() == $eventIndex->id) { $tmpl->addVar('published_audience_options', 'selected', 'selected'); } else { $tmpl->addVar('published_audience_options', 'selected', ''); } $tmpl->parseTemplate('published_audience_options', 'a'); } foreach ($options['series'] as $cat) { $tmpl->addVar('published_series_options', 'type', $cat->getScope()); $tmpl->addVar('published_series_options', 'oid', $cat->getOid()); $tmpl->addVar('published_series_options', 'title', $cat->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Genre' && $cat->getOid() == $eventIndex->id) { $tmpl->addVar('published_series_options', 'selected', 'selected'); } else { $tmpl->addVar('published_series_options', 'selected', ''); } $tmpl->parseTemplate('published_series_options', 'a'); } /* foreach ($options['course'] as $event) { $tmpl->addVar('published_course_options','type',$event->getScope()); $tmpl->addVar('published_course_options','oid',$event->getOid()); $tmpl->addVar('published_course_options','title',$event->getTitle()); if ( !empty($eventIndex) && $eventIndex->scope == 'Course' && $event->getOid() == $eventIndex->id) { $tmpl->addVar('published_course_options','selected','selected'); } else { $tmpl->addVar('published_course_options','selected',''); } $tmpl->parseTemplate('published_course_options','a'); } */ $count = $index - 3; $tmpl->addVar('published_events', 'index', $index); $tmpl->addVar('published_events', 'count', $count); $tmpl->parseTemplate('published_events', 'a'); $tmpl->clearTemplate('published_program_options'); $tmpl->clearTemplate('published_genre_options'); $tmpl->clearTemplate('published_audience_options'); $tmpl->clearTemplate('published_series_options'); // $tmpl->clearTemplate('published_course_options'); } $tmpl->displayParsedTemplate('programs'); $tabs->endTab(); $tabs->startTab("Calendar", "calendar_promo"); for ($index = 10; $index <= 13; $index++) { $getter = 'getEvent' . $index; $eventIndex = $this->getPromoObject($home_page->{$getter}()); foreach ($options['exhibition'] as $event) { $tmpl->addVar('published_cal_exhibition_options', 'type', $event->getScope()); $tmpl->addVar('published_cal_exhibition_options', 'oid', $event->getOid()); $tmpl->addVar('published_cal_exhibition_options', 'title', $event->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Exhibition' && $event->getOid() == $eventIndex->id) { $tmpl->addVar('published_cal_exhibition_options', 'selected', 'selected'); } else { $tmpl->addVar('published_cal_exhibition_options', 'selected', ''); } $tmpl->parseTemplate('published_cal_exhibition_options', 'a'); } foreach ($options['program'] as $event) { $tmpl->addVar('published_cal_program_options', 'type', $event->getScope()); $tmpl->addVar('published_cal_program_options', 'oid', $event->getOid()); $tmpl->addVar('published_cal_program_options', 'title', $event->getTitle()); if (!empty($eventIndex) && $eventIndex->scope == 'Program' && $event->getOid() == $eventIndex->id) { $tmpl->addVar('published_cal_program_options', 'selected', 'selected'); } else { $tmpl->addVar('published_cal_program_options', 'selected', ''); } $tmpl->parseTemplate('published_cal_program_options', 'a'); } /* foreach ($options['course'] as $event) { $tmpl->addVar('published_course_options','type',$event->getScope()); $tmpl->addVar('published_course_options','oid',$event->getOid()); $tmpl->addVar('published_course_options','title',$event->getTitle()); if ( !empty($eventIndex) && $eventIndex->scope == 'Course' && $event->getOid() == $eventIndex->id) { $tmpl->addVar('published_course_options','selected','selected'); } else { $tmpl->addVar('published_course_options','selected',''); } $tmpl->parseTemplate('published_course_options','a'); } */ $count = $index - 9; $tmpl->addVar('published_calendar', 'index', $index); $tmpl->addVar('published_calendar', 'count', $count); $tmpl->parseTemplate('published_calendar', 'a'); $tmpl->clearTemplate('published_cal_program_options'); $tmpl->clearTemplate('published_cal_exhibition_options'); // $tmpl->clearTemplate('published_cal_course_options'); } $tmpl->displayParsedTemplate('calendar'); $tabs->endTab(); } $tmpl->displayParsedTemplate('close_form'); }
/** * Renders the flat text view. * @param bean $model The calendar summary model */ public function text($model) { global $logger; $logger->debug(get_class($this) . '::text()'); $this->setRequestFlags('text'); $list = $model->getList(); $selected = $model->getSelected(); $selectedTime = CalendarForm::getMonthStart($selected); $tmpl = $this->createPatTemplate(FRONT_TEMPLATE_DIR); $tmpl->readTemplatesFromInput('calendar_text.pat.tpl'); $tmpl->addVar('calendar', 'cal_type', 'text'); $this->renderControls($tmpl, $model); $logger->debug("Nuumber of events in the page:" . count($model->getList())); // render the list $days = $this->formatEntries($list); foreach ($days as $entry) { $start = $entry["start"]; $tmpl->addVar('day', 'day_num', date('j', $start)); $tmpl->addVar('day', 'day_name', date('l', $start)); $tmpl->clearTemplate('event'); foreach ($entry["schedules"] as $sched) { // load the event info $tmpl->addVars('event', BeanUtil::beanToArray($sched, true)); // scalars only // Format the start time $st = date("g:i a", $sched->getStartTime()); $tmpl->addVar('event', 'formatted_time', $st); // figure out the proper url if ($sched->getScope() == Event::EXHIBITION) { $tmpl->addVar('event', 'url', 'index.php?option=com_ccevents&scope=exbt&task=detail&oid=' . $sched->getOid()); } elseif ($sched->getScope() == Event::PROGRAM) { $tmpl->addVar('event', 'url', 'index.php?option=com_ccevents&scope=prgm&task=detail&oid=' . $sched->getOid()); } elseif ($sched->getScope() == Event::COURSE) { $tmpl->addVar('event', 'url', 'index.php?option=com_ccevents&scope=crse&task=summary&filter=Genre&fid=' . $sched->getFid()); } $tmpl->parseTemplate('event', 'a'); } $tmpl->parseTemplate('day', 'a'); } $cal_link = $this->cceventSefUrl('index.php?option=com_ccevents&scope=cldr&task=month&month=' . $selected->getMonth() . '&year=' . $selected->getYear()); $tmpl->addVar('calendar', 'cal_view_link', $cal_link); $tmpl->displayParsedTemplate('calendar'); }
/** * Convert this bean instance to an associative array. * * @return array An associative array */ public function toArray() { $result = array(); $vars = get_class_vars(get_class($this)); foreach ($vars as $key => $value) { // build the accessor names $getter = 'get' . ucfirst($key); if (!method_exists($this, $getter)) { $getter = 'get_' . $key; } // populate the array $val = $this->{$getter}(); if (is_object($val) || is_array($val)) { $result[$key] = BeanUtil::beanToArray($val); } else { $result[$key] = $val; } } return $result; }
/** * 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'); }
/** * This method will convert any bean object to a corresponding * associative array. * * @param bean Source bean object * @param boolean scalar only (no nested arrays or objects) * @return array An associative array */ public function beanToArray($bean = null, $scalar = false) { $result = array(); if (is_array($bean)) { foreach ($bean as $key => $value) { $result[$key] = BeanUtil::beanToArray($value, $scalar); } } else { if (is_object($bean)) { if (is_subclass_of($bean, 'BaseBean')) { $vars = get_class_vars(get_class($bean)); // copy over values from bean foreach ($vars as $key => $value) { // build the accessor names $getter = 'get' . ucfirst($key); if (!method_exists($bean, $getter)) { $getter = 'get_' . $key; } // populate the array $val = $bean->{$getter}(); if (!$scalar && (is_object($val) || is_array($val))) { $result[$key] = BeanUtil::beanToArray($val, $scalar); } elseif ($scalar && (is_object($val) || is_array($val))) { $result[$key] = null; } else { $result[$key] = $val; } } } else { $result = get_object_vars($bean); } } else { $result[] = $bean; } } return $result; }