Exemple #1
0
    /**
     * Render content.
     *
     * @return  string
     */
    public function content()
    {
        // Venue
        if ($this->event->venue_hidden) {
            $venue = __('Underground');
        } elseif ($venue = $this->event->venue()) {
            $venue = HTML::anchor(Route::model($venue), HTML::chars($venue->name));
        } else {
            $venue = HTML::chars($this->event->venue_name);
        }
        ob_start();
        ?>

	<span class="details"><?php 
        echo $this->event->price() . ($venue ? ' @ ' : '') . $venue;
        ?>
</span><br />
	<span class="djs"><?php 
        echo HTML::chars($this->event->dj);
        ?>
</span>

<?php 
        return ob_get_clean();
    }
Exemple #2
0
 /**
  * Create new view.
  *
  * @param  Model_Event  $event
  */
 public function __construct(Model_Event $event)
 {
     parent::__construct();
     $this->event = $event;
     $this->id = 'event-' . $event->id;
     $this->title = HTML::anchor(Route::model($event), HTML::chars($event->name));
     // Venue
     if ($this->event->venue_hidden) {
         $this->subtitle = __('Underground') . ', ' . HTML::chars($this->event->city_name);
     } elseif ($venue = $this->event->venue()) {
         $this->subtitle = HTML::anchor(Route::model($venue), HTML::chars($venue->name)) . ', ' . HTML::chars($venue->city_name);
     } else {
         $this->subtitle = HTML::chars($this->event->venue_name . ', ' . $this->event->city_name);
     }
     // Meta
     if ($tags = $event->tags()) {
         $this->meta = '<small>' . implode(', ', $tags) . '</small>';
     } else {
         if ($event->music) {
             $this->meta = '<small>' . $event->music . '</small>';
         }
     }
 }
Exemple #3
0
    /**
     * Add event subtitle.
     *
     * @param   Model_Event  $event
     * @return  string
     */
    protected function _event_subtitle(Model_Event $event)
    {
        $subtitle = array();
        // Date
        $subtitle[] = '<i class="icon-calendar icon-white"></i> ' . HTML::time(Date('l', $event->stamp_begin) . ', ' . Date::format(Date::DMY_LONG, $event->stamp_begin), $event->stamp_begin, true);
        // Time
        if ($event->stamp_begin != $event->stamp_end) {
            $subtitle[] = $event->stamp_end ? '<i class="icon-time icon-white"></i> ' . __(':from until :to', array(':from' => HTML::time(Date::format('HHMM', $event->stamp_begin), $event->stamp_begin), ':to' => HTML::time(Date::format('HHMM', $event->stamp_end), $event->stamp_end))) : '<i class="icon-time icon-white"></i> ' . __('From :from onwards', array(':from' => HTML::time(Date::format('HHMM', $event->stamp_begin), $event->stamp_begin)));
        }
        // Venue
        if ($_venue = $event->venue()) {
            // Venue found from db
            $venue = HTML::anchor(Route::model($_venue), HTML::chars($_venue->name));
            $address = HTML::chars($_venue->city_name);
            if ($_venue->latitude) {
                $map = array('marker' => HTML::chars($_venue->name), 'infowindow' => HTML::chars($_venue->address) . '<br />' . HTML::chars($_venue->city_name), 'lat' => $_venue->latitude, 'long' => $_venue->longitude);
                Widget::add('foot', HTML::script_source('
head.ready("anqh", function() {
	$("a[href=#map]").on("click", function toggleMap(event) {
		$("#map").toggle("fast", function openMap() {
			$("#map").googleMap(' . json_encode($map) . ');
		});

		return false;
	});
});
'));
            }
        } else {
            if ($event->venue_name) {
                // No venue in db
                $venue = $event->venue_url ? HTML::anchor($event->venue_url, HTML::chars($event->venue_name)) : HTML::chars($event->venue_name);
                $address = HTML::chars($event->city_name);
            } else {
                // Venue not set
                $venue = $event->venue_hidden ? __('Underground') : __('(Unknown)');
                $address = HTML::chars($event->city_name);
            }
        }
        $subtitle[] = '<i class="icon-map-marker icon-white"></i> ' . $venue . ($address ? ', ' . $address : '');
        if (isset($map)) {
            $subtitle[] = HTML::anchor('#map', __('Show map'));
            return implode(' &nbsp; ', $subtitle) . '<div id="map" style="display: none">' . __('Map loading') . '</div>';
        }
        return implode(' &nbsp; ', $subtitle);
    }
Exemple #4
0
 /**
  * Prepare event for data array
  *
  * @param   Model_Event  $event
  * @param   array        $fields
  * @return  array
  */
 protected function _prepare_event(Model_Event $event, array $fields = null)
 {
     $data = array();
     empty($fields) and $fields = self::$_fields;
     foreach ($fields as $field) {
         switch ($field) {
             // Raw value
             case 'age':
             case 'created':
             case 'favorite_count':
             case 'flyer_id':
             case 'dj':
             case 'id':
             case 'info':
             case 'modified':
             case 'name':
             case 'price':
             case 'price2':
             case 'stamp_begin':
             case 'stamp_end':
             case 'venue_id':
                 $data[$field] = $event->{$field};
                 break;
                 // Custom value
             // Custom value
             case 'venue':
                 $data[$field] = ($venue = $event->venue()) ? $venue->name : $event->venue_name;
                 break;
             case 'city':
                 $data[$field] = ($venue = $event->venue()) ? $venue->city_name : $event->city_name;
                 break;
             case 'flyer':
             case 'flyer_icon':
             case 'flyer_thumb':
                 if ($field === 'flyer_icon') {
                     $size = Model_Image::SIZE_ICON;
                 } else {
                     if ($field === 'flyer__thumb') {
                         $size = Model_Image::SIZE_THUMBNAIL;
                     } else {
                         $size = null;
                     }
                 }
                 $data[$field] = ($flyer = $event->flyer()) ? $flyer->image_url($size) : null;
                 break;
             case 'music':
                 if ($tags = $event->tags()) {
                     $music = implode(', ', $tags);
                 } else {
                     if (!empty($event->music)) {
                         $music = $event->music;
                     } else {
                         $music = null;
                     }
                 }
                 $data[$field] = $music;
                 break;
             case 'url':
                 $data[$field] = URL::site(Route::model($event), true);
                 break;
         }
     }
     return $data;
 }
Exemple #5
0
 /**
  * Prepare event for data array
  *
  * @param   Model_Event  $event
  * @param   array        $fields
  * @return  array
  */
 protected function _prepare_event(Model_Event $event, array $fields = null)
 {
     $data = array();
     empty($fields) and $fields = self::$_fields;
     foreach ($fields as $field) {
         switch ($field) {
             // Raw value
             case 'id':
             case 'name':
             case 'homepage':
             case 'stamp_begin':
             case 'stamp_end':
             case 'dj':
             case 'info':
             case 'age':
             case 'price':
             case 'price2':
             case 'created':
             case 'modified':
             case 'favorite_count':
                 $data[$field] = $event->{$field};
                 break;
                 // Custom value
             // Custom value
             case 'venue':
                 $data[$field] = ($venue = $event->venue()) ? $venue->name : $event->venue_name;
                 break;
             case 'city':
                 $data[$field] = ($city = $event->city()) ? $city->name : $event->city_name;
                 break;
             case 'country':
                 $data[$field] = ($country = $event->country()) ? $country->name : '';
                 break;
             case 'flyer_front':
             case 'flyer_back':
             case 'flyer_front_icon':
             case 'flyer_back_icon':
             case 'flyer_front_thumb':
             case 'flyer_back_thumb':
                 if (strpos($field, 'icon')) {
                     $column = str_replace('_icon', '', $field) . '_image_id';
                     $size = Model_Image::SIZE_ICON;
                 } else {
                     if (strpos($field, '_thumb')) {
                         $column = str_replace('_thumb', '', $field) . '_image_id';
                         $size = Model_Image::SIZE_THUMBNAIL;
                     } else {
                         $column = $field . '_image_id';
                         $size = null;
                     }
                 }
                 $image = new Model_Image($event->{$column});
                 $data[$field] = $image->loaded() ? $image->get_url($size) : null;
                 break;
             case 'music':
                 if ($tags = $event->tags()) {
                     $music = implode(', ', $tags);
                 } else {
                     if (!empty($event->music)) {
                         $music = $event->music;
                     } else {
                         $music = null;
                     }
                 }
                 $data[$field] = $music;
                 break;
             case 'url':
                 $data[$field] = URL::site(Route::model($event), true);
                 break;
         }
     }
     return $data;
 }
Exemple #6
0
    /**
     * Add event subtitle.
     *
     * @param   Model_Event  $event
     * @return  string
     */
    public static function _event_subtitle(Model_Event $event)
    {
        $subtitle = array();
        // Date
        if ($event->stamp_end - $event->stamp_begin > Date::DAY) {
            // Multi day event
            $subtitle[] = '<i class="fa fa-calendar"></i> ' . HTML::time(Date('l', $event->stamp_begin) . ', <strong>' . Date::format(Date::DM_LONG, $event->stamp_begin) . ' &ndash; ' . Date::format(Date::DMY_LONG, $event->stamp_end) . '</strong>', $event->stamp_begin, true);
        } else {
            // Single day event
            $subtitle[] = '<i class="fa fa-calendar"></i> ' . HTML::time(Date('l', $event->stamp_begin) . ', <strong>' . Date::format(Date::DMY_LONG, $event->stamp_begin) . '</strong>', $event->stamp_begin, true);
        }
        // Time
        if ($event->stamp_begin != $event->stamp_end) {
            $subtitle[] = $event->stamp_end ? '<i class="fa fa-clock-o"></i> ' . __('From :from until :to', array(':from' => '<strong>' . HTML::time(Date::format('HHMM', $event->stamp_begin), $event->stamp_begin) . '</strong>', ':to' => '<strong>' . HTML::time(Date::format('HHMM', $event->stamp_end), $event->stamp_end) . '</strong>')) : '<i class="fa fa-clock-o"></i> ' . __('From :from onwards', array(':from' => HTML::time(Date::format('HHMM', $event->stamp_begin), $event->stamp_begin)));
        }
        // Tickets
        $tickets = '';
        if ($event->price === 0 || $event->price > 0 || $event->ticket_url) {
            $tickets = '<i class="fa fa-ticket"></i> ';
        }
        if ($event->price === 0) {
            $tickets .= '<strong>' . __('Free entry') . '</strong> ';
        } else {
            if ($event->price > 0) {
                $tickets .= __('Tickets :price', array(':price' => '<strong>' . Num::currency($event->price, $event->stamp_begin) . '</strong>')) . ' ';
            }
        }
        if ($event->ticket_url) {
            $tickets .= HTML::anchor($event->ticket_url, __('Buy tickets'), array('target' => '_blank'));
        }
        if ($tickets) {
            $subtitle[] = $tickets;
        }
        // Age limit
        if ($event->age > 0) {
            $subtitle[] = '<i class="fa fa-user"></i> ' . __('Age limit') . ': <strong>' . $event->age . '</strong>';
        }
        // Homepage
        if (!empty($event->url)) {
            $subtitle[] = '<i class="fa fa-link"></i> ' . HTML::anchor($event->url, Text::limit_url($event->url, 25));
        }
        // Venue
        if ($_venue = $event->venue()) {
            // Venue found from db
            $venue = HTML::anchor(Route::model($_venue), HTML::chars($_venue->name));
            $address = HTML::chars($_venue->city_name);
            if ($_venue->latitude) {
                $map = array('marker' => HTML::chars($_venue->name), 'infowindow' => HTML::chars($_venue->address) . '<br />' . HTML::chars($_venue->city_name), 'lat' => $_venue->latitude, 'long' => $_venue->longitude);
                Widget::add('foot', HTML::script_source('
head.ready("anqh", function() {
	$("a[href=#map]").on("click", function toggleMap(event) {
		$("#map").toggle("fast", function openMap() {
			$("#map").googleMap(' . json_encode($map) . ');
		});

		return false;
	});
});
'));
            }
        } else {
            if ($event->venue_name) {
                // No venue in db
                $venue = $event->venue_url ? HTML::anchor($event->venue_url, HTML::chars($event->venue_name)) : HTML::chars($event->venue_name);
                $address = HTML::chars($event->city_name);
            } else {
                // Venue not set
                $venue = $event->venue_hidden ? __('Underground') : __('(Unknown)');
                $address = HTML::chars($event->city_name);
            }
        }
        $subtitle[] = '<br /><i class="fa fa-map-marker"></i> <strong>' . $venue . '</strong>' . ($address ? ', ' . $address : '');
        if (isset($map)) {
            $subtitle[] = HTML::anchor('#map', __('Show map'));
        }
        // Tags
        if ($tags = $event->tags()) {
            $subtitle[] = '<br /><i class="fa fa-music"></i> <em>' . implode(', ', $tags) . '</em>';
        } else {
            if (!empty($event->music)) {
                $subtitle[] = '<br /><i class="fa fa-music"></i> <em>' . $event->music . '</em>';
            }
        }
        return implode(' &nbsp; ', $subtitle) . (isset($map) ? '<div id="map" style="display: none">' . __('Map loading') . '</div>' : '');
    }