IPSCONTENT;
$date = ( $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) == NULL ) ? $event->lastOccurrence() : $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->container()->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
if ( $event->container()->allow_comments ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $event->comments, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<container()->allow_reviews ):
$return .= <<getTemplate( "global", "core", 'front' )->rating( 'large', $event->rating, \IPS\Settings::i()->reviews_rating_out_of );
$return .= <<
IPSCONTENT;
return $return;
}
function embedEvent( $item, $url, $image=NULL ) {
$return = '';
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "embed", "core" )->embedHeader( $item, $item->mapped('title'), $item->mapped('date'), $url );
$return .= <<map( 500, 270 ) ):
$return .= <<
{$item->map( 500, 270 )}
IPSCONTENT;
elseif ( $item->coverPhoto() && $item->coverPhoto()->file ):
$return .= <<coverPhoto()->file;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$nextOccurrence = $item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ?: $item->lastOccurrence( 'startDate' );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $nextOccurrence->monthNameShort, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $nextOccurrence->mday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
if ( $item->_end_date ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'from', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'until', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
else:
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
if ( $item->rsvp ):
$return .= <<
attendees();
$return .= <<
IPSCONTENT;
if ( isset( $attendees[1][ \IPS\Member::loggedIn()->member_id ] ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'you_are_going', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
elseif ( isset( $attendees[0][ \IPS\Member::loggedIn()->member_id ] ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'you_arent_going', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
elseif ( $item->can('rsvp') && !( $item->rsvp_limit > 0 AND \count($attendees[1]) >= $item->rsvp_limit ) ):
$return .= <<
setQueryString( 'action', 'yes' )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_attend_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
if ( $item->rsvp_limit == -1 ):
$return .= <<
setQueryString( 'action', 'maybe' )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_maybe_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
setQueryString( 'action', 'no' )->csrf(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_notgoing_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$pluralize = array( \count($attendees[1]) ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'x_users_going', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<getTemplate( "embed", "core" )->embedItemStats( $item );
$return .= <<
IPSCONTENT;
return $return;
}
function embedEventComment( $comment, $item, $url ) {
$return = '';
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "embed", "core" )->embedHeader( $comment, $item->mapped('title'), $comment->mapped('date'), $url );
$return .= <<
IPSCONTENT;
if ( $item->map( 500, 100 ) ):
$return .= <<
{$item->map( 500, 100 )}
IPSCONTENT;
elseif ( $item->coverPhoto() && $item->coverPhoto()->file ):
$return .= <<coverPhoto()->file;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$nextOccurrence = $item->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ?: $item->lastOccurrence( 'startDate' );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $nextOccurrence->monthNameShort, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $nextOccurrence->mday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "embed", "core" )->embedOriginalItem( $item, FALSE, \IPS\Theme::i()->getTemplate( 'global', 'calendar' )->embedEventItemSnippet( $item ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->rating( 'veryLarge', $comment->mapped('rating') );
$return .= <<mapped('votes_total') ):
$return .= <<{$comment->helpfulLine()}
IPSCONTENT;
endif;
$return .= <<
{$comment->truncated(TRUE)}
IPSCONTENT;
if ( \IPS\Settings::i()->reputation_enabled AND \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) AND \count( $comment->reactions() ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->reactionOverview( $comment, TRUE, 'small' );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
return $return;
}
function manageFollowRow( $table, $headers, $rows, $includeFirstCommentInCommentCount=TRUE ) {
$return = '';
$return .= <<unread() ):
$return .= <<_followData['follow_rel_id'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
if ( $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ):
$return .= <<mysqlDatetime(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
else:
$return .= <<mysqlDatetime(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->lastOccurrence( 'startDate' )->monthNameShort, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->lastOccurrence( 'startDate' )->mday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
foreach ( $row->badges() as $badge ):
$return .= <<
prefix() ):
$return .= <<getTemplate( "global", "core" )->prefix( $row->prefix( TRUE ), $row->prefix() );
$return .= <<
IPSCONTENT;
if ( method_exists( $row, 'tableDescription' ) ):
$return .= <<
{$row->tableDescription()}
IPSCONTENT;
else:
$return .= <<
IPSCONTENT;
$htmlsprintf = array($row->author()->link( $row->warningRef() ), \IPS\DateTime::ts( $row->__get( $row::$databaseColumnMap['date'] ) )->html(TRUE)); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'byline_name_date', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'htmlsprintf' => $htmlsprintf ) );
$return .= <<language()->addToStack( htmlspecialchars( 'in', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->container()->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
if ( $row->_followData['follow_is_anon'] ):
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$val = ( $row->_followData['follow_added'] instanceof \IPS\DateTime ) ? $row->_followData['follow_added'] : \IPS\DateTime::ts( $row->_followData['follow_added'] );$return .= $val->html();
$return .= <<
IPSCONTENT;
if ( $row->_followData['follow_notify_freq'] == 'none' ):
$return .= <<
IPSCONTENT;
else:
$return .= <<
IPSCONTENT;
endif;
$return .= <<_followData['follow_notify_freq']}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "system", "core" )->manageFollow( $row->_followData['follow_app'], $row->_followData['follow_area'], $row->_followData['follow_rel_id'] );
$return .= <<
IPSCONTENT;
if ( $table->canModerate() ):
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
endforeach;
$return .= <<ui( 'dataAttributes' ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
if ( $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ):
$return .= <<mysqlDatetime(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->monthNameShort, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' )->mday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
else:
$return .= <<mysqlDatetime(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->lastOccurrence( 'startDate' )->monthNameShort, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row->lastOccurrence( 'startDate' )->mday, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
foreach ( $row->badges() as $badge ):
$return .= <<
prefix() ):
$return .= <<getTemplate( "global", "core" )->prefix( $row->prefix( TRUE ), $row->prefix() );
$return .= <<
tableHoverUrl ):
$return .= <<
IPSCONTENT;
if ( $row->mapped('title') ):
$return .= <<mapped('title'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'content_deleted', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
{$row->eventBlurb()}
IPSCONTENT;
if ( $row->rsvp ):
$return .= <<
attendees() and isset( $attendees[1][ \IPS\Member::loggedIn()->member_id ] ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'you_are_going_to_this', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
else:
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'you_are_not_going_to_this', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_attend_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
foreach ( $attendees[1] as $idx => $attendee ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->userPhoto( $attendee, 'tiny', NULL, NULL, TRUE );
$return .= <<
IPSCONTENT;
endif;
$return .= << 5 ):
$return .= <<
IPSCONTENT;
$pluralize = array( \count( $attendees[1] ) - 5 ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'and_x_more', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
endif;
$return .= <<tags() ) ):
$return .= <<getTemplate( "global", "core" )->tags( $row->tags(), true, true );
$return .= <<
IPSCONTENT;
if ( $row->container()->allow_reviews ):
$return .= <<getTemplate( "global", "core", 'front' )->rating( 'large', $row->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $row->memberReviewRating() );
$return .= <<(
IPSCONTENT;
$pluralize = array( $row->reviews ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'num_reviews', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<container()->allow_comments ):
$return .= <<
IPSCONTENT;
if ( $row->comments ):
$return .= <<setFragment('replies'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
if ( $table->canModerate() ):
$return .= <<
IPSCONTENT;
$idField = $row::$databaseColumnId;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
endforeach;
$return .= <<
IPSCONTENT;
if ( !$condensed ):
$return .= <<
IPSCONTENT;
if ( $reviewRating !== NULL ):
$return .= <<getTemplate( "global", "core" )->rating( 'medium', $reviewRating );
$return .= <<