diff --git a/2020/include/functions.php b/2020/include/functions.php index d543016..71719f1 100644 --- a/2020/include/functions.php +++ b/2020/include/functions.php @@ -1,149 +1,150 @@ . /** * Require a certain page from the template directory * * @param $name string page name (to be sanitized) * @param $args mixed arguments to be passed to the page scope */ function template_2020( $template_name, $template_args = [] ) { extract( $template_args, EXTR_SKIP ); return require ABSPATH . "/2020/template/$template_name.php"; } /** * Spawn a 2020 Event * * @param int $id Event ID */ function event_2020( $id ) { $event = ( new QueryEvent() ) ->whereEventID( $id ) ->select( Conference::fields() ) ->select( Event::fields() ) ->select( Room::fields() ) ->select( Track::fields() ) ->select( Room::fields() ) ->select( Chapter::fields() ) ->selectEventHasVideo() + ->selectEventHasDocument() ->joinConference() ->joinTrack( 'LEFT' ) ->joinRoom( 'LEFT' ) ->joinChapter( 'LEFT' ) ->queryRow(); template_2020( 'event-brief', [ 'event' => $event, ] ); } /** * Print an icon for the 2020 website * * See https://materializecss.com/icons.html * * @param string $name Icon name * @param string $classes CSS classes * @return string */ function icon_2020( $name, $classes = null ) { $classes = $classes ? " $classes" : ''; return sprintf( '%s', $classes, $name ); } /** * Query some Event Users * * @param Event $event * @param string $role Choose 'speaker' or 'moderator' * @return Generator */ function event_users_2020( $event, $role ) { $users = ( new QueryEventUser() ) ->joinUser() ->whereEvent( $event ) ->whereEventUserRole( $role ) ->orderByEventUserOrder() ->queryGenerator(); return $users; } /** * Link to an User of the itWikiCon 2020 * * @param User $user * @return string HTML firm */ function user_link_2020( $user ) { $name = esc_html( $user->getUserDisplayName() ); // print the Meta-wiki permalink if( $user->has( User::META_WIKI ) ) { $name = HTML::a( $user->getUserMetaWikiURL(), $name ); } return $name; } /** * Print the URL to a Sharable * * @param Event $event * @param Sharable $sharable * @param string $text * @return string HTML */ function sharable_edit( $event, $sharable = null, $text = null ) { $s = ''; // no editable, no party if( $event->isEventEditable() ) { // displayed text if( !$text ) { $text = $sharable ? __( "modifica" ) : __( "aggiungi" ); } // edit or creation URL $url = $sharable ? $sharable->getSharableEditURL() : Sharable::editURL( [ 'event_ID' => $event->getEventID(), ] ); // create link $s = HTML::a( $url, esc_html( $text ) ); } // [edit] if( $s ) { $s = "[$s]"; } return $s; } diff --git a/2020/template/event-brief.php b/2020/template/event-brief.php index 54f6cdb..bed9102 100644 --- a/2020/template/event-brief.php +++ b/2020/template/event-brief.php @@ -1,111 +1,133 @@ . +/** + * Template used to display a single event briefly + * + * Variables that should be available: + * + * $event Event: current Event + * Note that the Event should have these additional attributes: + * event_has_video + * event_has_document + */ + // query all the Users maintaining this Event $users = ( new QueryEventUser() ) ->joinUser() ->whereEvent( $event ) ->whereEventUserIsSpeaker() ->orderByEventUserOrder() ->queryGenerator(); ?>
isEventAborted() ): ?>
= esc_html( $event->getEventTitle() ) ?>
= __( "sessione annullata" ) ?>
= esc_html( $event->getEventTitle() ) ?>
= HTML::a( $event->getRoomURL(), $event->getRoomName(). 'play_arrow', null, 'btn white blue-text waves-effect' ) ?>
+ + = icon_2020( 'attachment', 'left' ) ?> + = __( "Materiali" ) ?> + +
+ + + isEventEditable() ): ?> = HTML::a( $event->getEventEditURL(), '[edit]' ) ?>= __( "di" ) ?> = implode( ', ', $links_speaker ) ?>
= __( "Moderatori:" ) ?> = implode( ', ', $links_moderator ) ?>.
= __( "Rivedi l'intervento del" ) ?> = $event->getEventStart( 'd' ) ?> = __( "ottobre" ) ?> = __( "delle ore" ) ?> = $event->getEventStart( 'H:i' ) ?>–= $event->getEventEnd( 'H:i' ) ?> in stanza "= esc_html( $event->getRoomName() ) ?>":
getSharablePath(), icon_2020('attachment', 'left') . esc_html( $child_sharable->getSharableMIME() ), null, null, 'target="_blank"' ), $sharable->getSharableLicense()->getLink() ) ?>
= sharable_edit( $event, $child_sharable ) ?>getSharablePath(), icon_2020('attachment', 'left') . esc_html( $child_sharable->getSharableTitle() ), null, null, 'target="_blank"' ), $sharable->getSharableLicense()->getLink() ) ?>
= sharable_edit( $event, $child_sharable ) ?>getSharablePath(), icon_2020('share', 'left') . esc_html( $sharable->getSharableTitle( [ 'prop' => true ] ) ), null, null, 'target="_blank"' ), $sharable->getSharableLicense()->getLink() ) ?>
= sharable_edit( $event, $child_sharable ) ?>= __( "Collegati il" ) ?> = $event->getEventStart( 'd' ) ?> = __( "ottobre" ) ?> = __( "alle" ) ?> = $event->getEventStart( 'H:i' ) ?>–= $event->getEventEnd( 'H:i' ) ?> in = esc_html( $event->getRoomName() ) ?>.
= HTML::a( $event->getEventExternalURL(), __( "Maggiori informazioni su Meta-wiki" ) ) ?>
= HTML::a( $previous->getEventURL(), esc_html( $previous->getEventTitle() ) ) ?>
= HTML::a( $next->getEventURL(), esc_html( $next->getEventTitle() ) ) ?>
= HTML::a( $during->getEventURL(), esc_html( $during->getEventTitle() ) ) ?>
= HTML::a( $event->getEventEditURL(), '[edit]' ) ?>