"Bonus Video Material", 'h1title' => "", 'summary' => "Additional unaired video from Zola Levitt Presents and Our Jewish Roots", 'metadesc' => "Zola Levitt Ministries Television — Bonus Material", 'path' => 'tv', 'id' => 'tvbonus', 'cache' => 'tvshow', '+head' => << .choices {display: none; border: 1px dotted gray; font-size: 80%; width: 350px; margin-top: 0.5em; padding: 0.5em; background-color: #eee;} .playwindow {display: none; background-color: black; width: 320px; height: 260px; margin: 0.5em;} END ) ); ?> inList) { echo "$text\n"; $this->inList = true; } } public function endList() { if ($this->inList) { echo "\n\n\n"; $this->inList = false; } } public function heading($level, $text) { $lastText = isset($this->lastHead[$level]) ? $this->lastHead[$level] : ''; if ($lastText != $text) { $this->endList(); echo "<$level>$text\n"; } $this->lastHead[$level] = $text; } } function bonusEpisodes() { global $isLocal; // Collect the data in the desired order $collected = array(); // Iterate through shows in ascending order $head1 = $head2 = ''; foreach (new ShowData('bonus', 'prodnum', 'ascending') as $episode) { if ($episode->futureshow) continue; if (!$episode->hasMedia && !$isLocal) continue; $root = $episode->root_episode; if ($root) { //$head1 = seriesName($root); $head1 = $root->series->found ? $root->series->title(array('single-quotes'=>true)) : ''; $head2 = $root->title(array('show-series'=>false)); } // If first heading is blank, move them up a level if ($head1 == '') { $head1 = $head2; $head2 = ''; } $collected[$head1][$head2][] = $episode; } $collected = array_reverse($collected, true); $theList = new listHandler(); foreach ($collected as $head1 => $c ) { foreach ($c as $head2 => $itemlist) { foreach ($itemlist as $episode) { $theList->heading('h3', $head1); $theList->heading('h4', $head2); $theList->startList('