all-in-one-event-calendar/app/model/event-compatibility.php
2017-11-09 17:36:04 +01:00

111 lines
2.4 KiB
PHP

<?php
/**
* Model representing an event or an event instance.
*
* @author Time.ly Network, Inc.
* @since 2.1
* @instantiator Ai1ec_Factory_Event.create_event_instance
* @package Ai1EC
* @subpackage Ai1EC.Model
*/
class Ai1ec_Event_Compatibility extends Ai1ec_Event {
/**
* Getter.
*
* @param string $name Property name.
*
* @return mixed Property value.
*/
public function __get( $name ) {
$value = $this->get( $name );
if ( null !== $value ) {
return $value;
}
return $this->get_runtime( $name );
}
/**
* Isset magic function.
*
* @param string $name Property name.
*
* @return bool True of false.
*/
public function __isset( $name ) {
$method_name = 'get' . $name;
if ( method_exists( $this, $method_name ) ) {
return false;
}
return ( null !== $this->$name );
}
/**
* Twig timespan short method.
*
* @return string Value.
*/
public function gettimespan_short() {
return $this->_registry->get( 'view.event.time' )
->get_timespan_html( $this, 'short' );
}
/**
* Twig is_allday method.
*
* @return bool Value.
*/
public function getis_allday() {
return $this->is_allday();
}
/**
* Twig is_multiday method.
*
* @return bool Value.
*/
public function getis_multiday() {
return $this->is_multiday();
}
/**
* Returns Event instance permalink for FER compatibility.
*
* @return string Event instance permalink.
*/
public function getpermalink() {
return $this->get_runtime( 'instance_permalink' );
}
/**
* Returns Event timespan for popup.
*
* @return string
*/
public function getpopup_timespan() {
return $this->_registry->get( 'twig.ai1ec-extension' )
->timespan( $this, 'short' );
}
/**
* Returns Avatar not wrapped in <a> tag.
*
* @return string
*/
public function getavatar_not_wrapped() {
return $this->getavatar( false );
}
/**
* Returns Event avatar URL.
*
* @return string Event avatar URL.
* @throws Ai1ec_Bootstrap_Exception
*/
public function getavatar_url() {
return $this->_registry->get(
'view.event.avatar'
)->get_event_avatar_url( $this );
}
}