|
- <?php
-
- namespace Modules;
-
- class CConcert extends ContentType {
-
- public $keys = array(
- 'DATE' => 'date',
- 'TIME' => 'time',
- 'TITLE'=> 'title',
- 'DESCRIPTION' => 'description',
- 'DESCRIPTION2' => 'description2',
- 'LOCATION' => 'location',
- 'MARKER' => 'marker'
- );
- public $values;
- protected $layout;
- protected $layouts = array(
- 'toc' => 'view_in_toc',
- 'archive' => 'view_archive',
- 'archive_no_link' => 'view_archive_without_link',
- 'with_marker' => 'view_with_marker',
- 'short_reference' => 'only_name',
- 'header' => 'view_as_page_header',
- 'secondary' => 'rather_small',
- 'name_as_link' => 'view_name_as_link'
- );
-
- function __construct($keys,$config) {
- parent::__construct($keys,$config);
- }
-
-
-
- function view_in_toc() {
- $v = (object) $this->values;
- $TS = strtotime($v->date);
- $href = $this->href;
-
- $date = sprintf("<span class=\"month\">%s</span>"
- ."<span class=\"day-of-month\">%s</span>",
- $this->month_name(date('n',$TS)),
- date('d', $TS)
- );
-
- $description = sprintf("<h3><a href=\"/%s\">%s</a></h3>"
- ."<span>%s</span>"
- ."<footer>%s, %s</footer>",
- $href,
- $v->title,
- $v->description,
- $this->week_day_name(date('N',$TS)),
- $v->time
- );
-
- if (is_object($v->location)) {
- $v->location->set_layout("humble_two_liner");
- }
-
- return sprintf("<div class=\"entry concert toc\">"
- ."<div class=\"date\">%s</div>"
- ."<div class=\"description\">%s</div>"
- ."<div class=\"location\">%s</div>"
- ."</div>",
- $date,
- $description,
- $v->location
- );
- }
-
- function view_with_marker() {
- $v = (object) $this->values;
- $TS = strtotime($v->date);
- $href = $this->href;
-
- $date = sprintf("<span class=\"month\">%s</span>"
- ."<span class=\"day-of-month\">%s</span>",
- $this->month_name(date('n',$TS)),
- date('d', $TS)
- );
-
- $description = sprintf("<h3><a href=\"/%s\">%s</a> <span class=\"marker\">%s</span></h3>"
- ."<span>%s</span>"
- ."<footer>%s, %s</footer>",
- $href,
- $v->title,
- $v->marker,
- $v->description,
- $this->week_day_name(date('N',$TS)),
- $v->time
- );
-
- if (is_object($v->location)) {
- $v->location->set_layout("humble_two_liner");
- }
-
- return sprintf("<div class=\"entry marker\">"
- ."<div class=\"date\">%s</div>"
- ."<div class=\"description\">%s</div>"
- ."<div class=\"location\">%s</div>"
- ."</div>",
- $date,
- $description,
- $v->location
- );
- }
-
- function view_archive_without_link() {
- $v = (object) $this->values;
- $TS = strtotime($v->date);
-
- $date = sprintf("<span class=\"month\">%s</span>"
- ."<span class=\"day-of-month\">%s</span>",
- $this->month_name(date('n',$TS)),
- date('d', $TS)
- );
-
- $description = sprintf("<h3>%s</h3>"
- ."<span>%s</span>"
- ."<footer>%s</footer>",
- $v->title,
- $v->description,
- $v->description2
- );
-
- if (is_object($v->location)) {
- $v->location->set_layout("humble_two_liner");
- }
-
- return sprintf("<div class=\"entry concert archive\">"
- ."<div class=\"date\">%s</div>"
- ."<div class=\"description\">%s</div>"
- ."<div class=\"location\">%s</div>"
- ."</div>",
- $date,
- $description,
- $v->location
- );
- }
- function view_archive() {
- $v = (object) $this->values;
- $TS = strtotime($v->date);
-
- $date = sprintf("<span class=\"month\">%s</span>"
- ."<span class=\"day-of-month\">%s</span>",
- $this->month_name(date('n',$TS)),
- date('d', $TS)
- );
-
- $description = sprintf("<h3><a href=\"/%s\">%s</a></h3>"
- ."<span>%s</span>"
- ."<footer>%s</footer>",
- $this->href,
- $v->title,
- $v->description,
- $v->description2
- );
-
- if (is_object($v->location)) {
- $v->location->set_layout("humble_two_liner");
- }
-
- return sprintf("<div class=\"entry concert archive\">"
- ."<div class=\"date\">%s</div>"
- ."<div class=\"description\">%s</div>"
- ."<div class=\"location\">%s</div>"
- ."</div>",
- $date,
- $description,
- $v->location
- );
- }
-
- function view_as_page_header() {
- $v = (object) $this->values;
- $TS = strtotime($v->date);
-
- $time = sprintf("%s, %s - %s",
- $this->week_day_name(date('N',$TS)),
- date('d.m.y',$TS),
- $v->time
- );
-
- if (is_object($v->location)) {
- $v->location->set_layout('one_liner');
- }
-
- return sprintf("<div class=\"concert-info\">"
- ."<h1>%s</h1>"
- ."<h5>%s</h5>"
- ."<span class=\"time\">%s</span>"
- ."<span class=\"location\">%s</span>"
- ."</div>",
- $v->title,
- $v->description,
- $time,
- $v->location
- );
- }
-
- function rather_small() {
- $v = (object) $this->values;
- $TS = strtotime($v->date);
-
- $v->location->set_layout("town");
- $town = strip_tags(sprintf("%s",$v->location));
- $v->location->set_layout('collected_entry');
-
- return sprintf("<div class=\"entry-small\">"
- ."<h6 class=\"date-and-town\">%s %s<span class=\"time-in-header\"> - %s</span></h6>"
- ."<div class=\"venue\">%s</div>"
- ."<h5 class=\"name\"><a href=\"/%s\">%s</a></h5>"
- ."</div>",
- date("d.m.", $TS),
- $town,
- $v->time,
- $v->location,
- $this->href,
- $v->title
- );
- }
-
- function only_name() {
- $v = (object) $this->values;
- return sprintf("<h6><a href=\"/%s\">%s</a></h6>",
- $this->href,
- $v->title
- );
- }
-
- function view_name_as_link() {
- $v = (object) $this->values;
- return sprintf("<a href=\"/%s\">%s</a>",
- $this->href,
- $v->title
- );
- }
-
- }
|