<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[13801] sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events: Translate: Sync "Translation Events" from GitHub</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/13801">13801</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/13801","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>psrpinto</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2024-06-11 13:52:53 +0000 (Tue, 11 Jun 2024)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Translate: Sync "Translation Events" from GitHub</pre>
<h3>Added Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventsassetscssnewdesigncss">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventattendeesphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventcreatephp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventdetailsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventeditphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateshomephp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesmyeventsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignmyeventsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsfooterphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsheaderphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsbreadcrumbsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventformphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventlistphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsfooterphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsheaderphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsfooterphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsheaderphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationstablephp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestrashedeventsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventsassetscssnewdesigncss"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,53 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/* This style is copied from
+https://github.com/WordPress/wporg-mu-plugins/blob/4ab57d37d930c8b8526458fc510568d0fb0050f8/mu-plugins/blocks/global-header-footer/postcss/_common.pcss
+ */
+body {
+ --wp--preset--color--charcoal-2: #23282d;
+ --wp-global-header--background-color: var(--wp--preset--color--charcoal-2);
+ --wp--preset--color--charcoal-4: #656a71;
+ --wp--preset--color--white-opacity-15: #ffffff26;
+}
+
+header#masthead.site-header {
+ height: 60px;
+ gap: 80px;
+ border-top: 1px solid var(--wp--preset--color--white-opacity-15);
+ background-color: var(--wp-global-header--background-color);
+ div.site-branding {
+ p.site-title {
+ font-family: Inter;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 24px;
+ text-align: left;
+ }
+
+ ul#menu-headline-nav.menu li {
+ font-family: Inter;
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 24px;
+ text-align: left;
+ a {
+ text-decoration: none;
+ }
+ }
+ }
+}
+
+ul.breadcrumb {
+ font-family: Inter;
+ height: 24px;
+ li, li a {
+ font-size: 14px;
+ font-weight: 400;
+ line-height: 24px;
+ text-align: left;
+ color: var(--wp--preset--color--charcoal-4);
+ text-decoration: none;
+ }
+ li:after {
+ color: rgba(217, 217, 217, 1);
+ margin: 0 8px;
+ }
+}
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventattendeesphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,71 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Attendees list page.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+/** @var bool $is_active_filter */
+
+Templates::header(
+ array(
+ 'html_title' => __( 'Translation Events', 'gp-translation-events' ),
+ 'page_title' => __( 'Manage Attendees', 'gp-translation-events' ),
+ ),
+);
+?>
+
+<div class="event-page-wrapper">
+ <div class="event-details-stats">
+ <a href="<?php echo esc_url( Urls::event_details( $event->id() ) ); ?>" class="view-event-page">Go to event page</a>
+ <ul class="event-attendees-filter">
+ <li><a class="<?php echo ( ! $is_active_filter ) ? 'active-filter' : ''; ?>" href="<?php echo esc_url( Urls::event_attendees( $event->id() ) ); ?>"><?php esc_html_e( 'All attendees', 'gp-translation-events' ); ?></a></a></li>
+ <li><a class="<?php echo ( $is_active_filter ) ? 'active-filter' : ''; ?>" href="?filter=hosts"><?php esc_html_e( 'Hosts', 'gp-translation-events' ); ?></a></li>
+ </ul>
+<?php if ( ! empty( $attendees ) ) : ?>
+ <table>
+ <thead>
+ <tr>
+ <th scope="col"><?php esc_html_e( 'Name', 'gp-translation-events' ); ?></th>
+ <th><?php esc_html_e( 'Host', 'gp-translation-events' ); ?></th>
+ <th><?php esc_html_e( 'Action', 'gp-translation-events' ); ?></th>
+ </tr>
+ </thead>
+ <tbody>
+ <?php foreach ( $attendees as $attendee ) : ?>
+ <tr>
+ <td>
+ <a class="attendee-avatar" href="<?php echo esc_url( get_author_posts_url( $attendee->user_id() ) ); ?>" class="avatar"><?php echo get_avatar( $attendee->user_id(), 48 ); ?></a>
+ <a href="<?php echo esc_url( get_author_posts_url( $attendee->user_id() ) ); ?>" class="name"><?php echo esc_html( get_the_author_meta( 'display_name', $attendee->user_id() ) ); ?></a>
+ </td>
+ <td>
+ <?php if ( $attendee->is_host() ) : ?>
+ <span><?php esc_html_e( 'Yes', 'gp-translation-events' ); ?></span>
+ <?php endif; ?>
+ </td>
+ <td>
+ <form class="add-remove-user-as-host" method="post" action="<?php echo esc_url( Urls::event_toggle_host( $event->id(), $attendee->user_id() ) ); ?>">
+ <?php if ( $attendee->is_host() ) : ?>
+ <input type="submit" class="button is-primary remove-as-host" value="<?php echo esc_attr__( 'Remove as host', 'gp-translation-events' ); ?>"/>
+ <?php else : ?>
+ <input type="submit" class="button is-secondary convert-to-host" value="<?php echo esc_attr__( 'Make co-host', 'gp-translation-events' ); ?>"/>
+ <?php endif; ?>
+ <?php if ( ! $attendee->is_host() ) : ?>
+ <a href="<?php echo esc_url( Urls::event_remove_attendee( $event->id(), $attendee->user_id() ) ); ?>" class="button remove-attendee"><?php esc_html_e( 'Remove', 'gp-translation-events' ); ?></a>
+ <?php endif; ?>
+ </form>
+ </td>
+ </tr>
+ <?php endforeach; ?>
+ </tbody>
+ </table>
+ <?php else : ?>
+ <p><?php esc_html_e( 'No attendees found.', 'gp-translation-events' ); ?></p>
+ </div>
+<?php endif; ?>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventcreatephp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,30 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for event form.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Event_Text_Snippet;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+
+$page_title = __( 'Create Event', 'gp-translation-events' );
+
+Templates::header(
+ array(
+ 'html_title' => __( 'Translation Events', 'gp-translation-events' ) . ' - ' . esc_html( $page_title ),
+ 'page_title' => $page_title,
+ 'breadcrumbs' => array( esc_html( $page_title ) ),
+ ),
+);
+?>
+
+<div class="event-page-wrapper">
+ <?php $is_create_form = true; ?>
+ <?php Templates::part( 'event-form', compact( 'is_create_form', 'event' ) ); ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventdetailsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,309 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for event page.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use GP_Locales;
+use WP_User;
+use Wporg\TranslationEvents\Attendee\Attendee;
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Stats\Event_Stats;
+use Wporg\TranslationEvents\Stats\Stats_Row;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var bool $user_is_attending */
+/** @var bool $user_is_contributor */
+/** @var Attendee[] $hosts */
+/** @var Attendee[] $attendees_not_contributing */
+/** @var Attendee[] $contributors */
+/** @var array $new_contributor_ids */
+/** @var Event $event */
+/** @var Event_Stats $event_stats */
+/** @var array $projects */
+/** @var WP_User $user */
+
+Templates::header(
+ array(
+ /* translators: %s: Event title. */
+ 'html_title' => sprintf( __( 'Translation Events - %s' ), esc_html( $event->title() ) ),
+ 'page_title' => function () use ( $event ) {
+ echo esc_html( $event->title() );
+ if ( 'draft' === $event->status() ) : ?>
+ <span class="event-label-draft"><?php echo esc_html( $event->status() ); ?></span>
+ <?php endif; ?>
+ <?php
+ },
+ 'html_description' => $event->description(),
+ 'url' => Urls::event_details_absolute( $event->id() ),
+ 'image_url' => Urls::event_image( $event->id() ),
+ 'breadcrumbs' => array( esc_html( $event->title() ) ),
+ 'sub_head' => function () use ( $event, $user, $hosts ) {
+ ?>
+ <span class="event-host">
+ <?php
+ $has_hosts = count( $hosts ) > 0;
+
+ if ( ! $has_hosts ) {
+ $hosts = array( new Attendee( $event->id(), $event->author_id(), true ) );
+ }
+ $hosts_list = array_map(
+ function ( $host ) {
+ $url = get_author_posts_url( $host->user_id() );
+ $name = get_the_author_meta( 'display_name', $host->user_id() );
+ return '<a href="' . esc_attr( $url ) . '">' . esc_html( $name ) . '</a>';
+ },
+ $hosts
+ );
+
+ if ( ! $has_hosts ) {
+ /* translators: %s: Display name of the user who created the event. */
+ $hosts_string = __( 'Created by: %s', 'gp-translation-events' );
+ } else {
+ /* translators: %s is a comma-separated list of event hosts (=usernames) */
+ $hosts_string = _n( 'Host: %s', 'Hosts: %s', count( $hosts ), 'gp-translation-events' );
+ }
+
+ echo wp_kses(
+ sprintf( $hosts_string, implode( ', ', $hosts_list ) ),
+ array( 'a' => array( 'href' => array() ) )
+ );
+ ?>
+ </span>
+ <?php if ( current_user_can( 'edit_translation_event', $event->id() ) ) : ?>
+ <a class="event-page-edit-link" href="<?php echo esc_url( Urls::event_edit( $event->id() ) ); ?>"><span class="dashicons dashicons-edit"></span><?php esc_html_e( 'Edit event', 'gp-translation-events' ); ?></a>
+ <?php endif ?>
+ <?php
+ },
+ ),
+);
+?>
+
+<div class="event-page-wrapper">
+ <div class="event-details-left">
+ <div class="event-page-content">
+ <?php
+ echo wp_kses_post( wpautop( make_clickable( $event->description() ) ) );
+ ?>
+ </div>
+ <?php if ( ! empty( $contributors ) ) : ?>
+ <div class="event-contributors">
+ <h2>
+ <?php
+ // translators: %d is the number of contributors.
+ echo esc_html( sprintf( __( 'Contributors (%d)', 'gp-translation-events' ), number_format_i18n( count( $contributors ) ) ) );
+ ?>
+ </h2>
+ <ul>
+ <?php foreach ( $contributors as $contributor ) : ?>
+ <li class="event-contributor" title="<?php echo esc_html( implode( ', ', $contributor->contributed_locales() ) ); ?>">
+ <a href="<?php echo esc_url( get_author_posts_url( $contributor->user_id() ) ); ?>" class="avatar"><?php echo get_avatar( $contributor->user_id(), 48 ); ?></a>
+ <a href="<?php echo esc_url( get_author_posts_url( $contributor->user_id() ) ); ?>" class="name"><?php echo esc_html( get_the_author_meta( 'display_name', $contributor->user_id() ) ); ?></a>
+ <?php if ( $contributor->is_new_contributor() ) : ?>
+ <span class="first-time-contributor-tada" title="<?php esc_html_e( 'New Translation Contributor', 'gp-translation-events' ); ?>"></span>
+ <?php endif; ?>
+ </li>
+ <?php endforeach; ?>
+ </ul>
+ </div>
+ <?php endif; ?>
+ <?php if ( ! empty( $attendees_not_contributing ) && current_user_can( 'edit_translation_event', $event->id() ) ) : ?>
+ <div class="event-attendees">
+ <h2>
+ <?php
+ // translators: %d is the number of attendees.
+ echo esc_html( sprintf( __( 'Attendees (%d)', 'gp-translation-events' ), number_format_i18n( count( $attendees_not_contributing ) ) ) );
+ ?>
+ </h2>
+ <ul>
+ <?php foreach ( $attendees_not_contributing as $_attendee ) : ?>
+ <li class="event-attendee">
+ <a href="<?php echo esc_url( get_author_posts_url( $_attendee->user_id() ) ); ?>" class="avatar"><?php echo get_avatar( $_attendee->user_id(), 48 ); ?></a>
+ <a href="<?php echo esc_url( get_author_posts_url( $_attendee->user_id() ) ); ?>" class="name"><?php echo esc_html( get_the_author_meta( 'display_name', $_attendee->user_id() ) ); ?></a>
+ <?php if ( $_attendee->is_new_contributor() ) : ?>
+ <span class="first-time-contributor-tada" title="<?php esc_html_e( 'New Translation Contributor', 'gp-translation-events' ); ?>"></span>
+ <?php endif; ?>
+ </li>
+ <?php endforeach; ?>
+ </ul>
+ </div>
+ <?php endif; ?>
+ <?php if ( ! empty( $event_stats->rows() ) ) : ?>
+ <div class="event-details-stats">
+ <h2><?php esc_html_e( 'Stats', 'gp-translation-events' ); ?></h2>
+ <table>
+ <thead>
+ <tr>
+ <th scope="col"><?php esc_html_e( 'Translations', 'gp-translation-events' ); ?></th>
+ <th scope="col"><?php esc_html_e( 'Created', 'gp-translation-events' ); ?></th>
+ <th scope="col"><?php esc_html_e( 'Reviewed', 'gp-translation-events' ); ?></th>
+ <th scope="col"><?php esc_html_e( 'Contributors', 'gp-translation-events' ); ?></th>
+ </tr>
+ </thead>
+ <tbody>
+ <?php /** @var $row Stats_Row */ ?>
+ <?php foreach ( $event_stats->rows() as $_locale => $row ) : ?>
+ <tr>
+ <td title="<?php echo esc_html( $_locale ); ?> "><a href="<?php echo esc_url( gp_url_join( gp_url( '/languages' ), $row->language->slug ) ); ?>"><?php echo esc_html( $row->language->english_name ); ?></a></td>
+ <td><a href="<?php echo esc_url( Urls::event_translations( $event->id(), $row->language->slug ) ); ?>"><?php echo esc_html( $row->created ); ?></a></td>
+ <td><?php echo esc_html( $row->reviewed ); ?></td>
+ <td><?php echo esc_html( $row->users ); ?></td>
+ </tr>
+ <?php endforeach ?>
+ <tr class="event-details-stats-totals">
+ <td>Total</td>
+ <td><?php echo esc_html( $event_stats->totals()->created ); ?></td>
+ <td><?php echo esc_html( $event_stats->totals()->reviewed ); ?></td>
+ <td><?php echo esc_html( $event_stats->totals()->users ); ?></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ <div class="event-projects">
+ <h2><?php esc_html_e( 'Projects', 'gp-translation-events' ); ?></h2>
+ <ul>
+ <?php foreach ( $projects as $project_name => $row ) : ?>
+ <li class="event-project" title="<?php echo esc_html( str_replace( ',', ', ', $row->locales ) ); ?>">
+ <?php
+ $row_locales = array();
+ foreach ( explode( ',', $row->locales ) as $_locale ) {
+ $_locale = GP_Locales::by_slug( $_locale );
+ $row_locales[] = '<a href="' . esc_url( gp_url_project_locale( $row->project, $_locale->slug, 'default' ) ) . '">' . esc_html( $_locale->english_name ) . '</a>';
+ }
+ echo wp_kses_post(
+ wp_sprintf(
+ // translators: 1: Project translated. 2: List of languages. 3: Number of contributors.
+ _n(
+ '%1$s <small>to %2$l by %3$d contributor</small>',
+ '%1$s <small>to %2$l by %3$d contributors</small>',
+ $row->users,
+ 'gp-translation-events'
+ ),
+ '<a href="' . esc_url( gp_url_project( $row->project ) ) . '">' . esc_html( $project_name ) . '</a>',
+ $row_locales,
+ $row->users
+ )
+ );
+ ?>
+ </li>
+ <?php endforeach; ?>
+ </ul>
+ </div>
+ <details class="event-stats-summary" open>
+ <summary><?php esc_html_e( 'View stats summary in text', 'gp-translation-events' ); ?></summary>
+ <p class="event-stats-text">
+ <?php
+ $new_contributors_text = '';
+ if ( ! empty( $new_contributor_ids ) ) {
+ $new_contributors_text = sprintf(
+ // translators: %d is the number of new contributors.
+ _n( '(%d new contributor 🎉)', '(%d new contributors 🎉)', count( $new_contributor_ids ), 'gp-translation-events' ),
+ count( $new_contributor_ids )
+ );
+ }
+
+ echo wp_kses(
+ wp_sprintf(
+ // translators: %1$s: Event title, %2$d: Number of contributors, %3$s: is a parenthesis with potential text "x new contributors", %4$d: Number of languages, %5$l: List of languages, %6$d: Number of strings translated, %7$d: Number of strings reviewed.
+ __( 'At the <strong>%1$s</strong> event, we had %2$d people %3$s who contributed in %4$d languages (%5$l), translated %6$d strings and reviewed %7$d strings.', 'gp-translation-events' ),
+ esc_html( $event->title() ),
+ esc_html( $event_stats->totals()->users ),
+ $new_contributors_text,
+ count( $event_stats->rows() ),
+ array_map(
+ function ( $row ) {
+ return $row->language->english_name;
+ },
+ $event_stats->rows()
+ ),
+ esc_html( $event_stats->totals()->created ),
+ esc_html( $event_stats->totals()->reviewed )
+ ),
+ array(
+ 'strong' => array(),
+ )
+ );
+ ?>
+ <?php
+ echo wp_kses(
+ wp_sprintf(
+ // translators: %s List of contributors.
+ _n(
+ 'Contributor was %l.',
+ 'Contributors were %l.',
+ count( $contributors ),
+ 'gp-translation-events'
+ ),
+ array_map(
+ function ( $contributor ) {
+ $append_tada = '';
+ if ( $contributor->is_new_contributor() ) {
+ $append_tada = ' <span class="new-contributor" title="' . esc_html__( 'New Translation Contributor', 'gp-translation-events' ) . '">🎉</span>';
+ }
+ return '@' . ( new WP_User( $contributor->user_id() ) )->user_login . $append_tada;
+ },
+ $contributors
+ )
+ ),
+ array(
+ 'span' => array(
+ 'class' => array(),
+ 'title' => array(),
+ ),
+ )
+ );
+ ?>
+ </p>
+ </details>
+ <?php endif; ?>
+ </div>
+ <div class="event-details-right">
+ <div class="event-details-date">
+ <p>
+ <span class="event-details-date-label">
+ <?php echo esc_html( $event->start()->is_in_the_past() ? __( 'Started', 'gp-translation-events' ) : __( 'Starts', 'gp-translation-events' ) ); ?>:
+ <?php $event->start()->print_relative_time_html(); ?>
+ </span>
+ <?php $event->start()->print_time_html(); ?>
+ <span class="event-details-date-label">
+ <?php echo esc_html( $event->end()->is_in_the_past() ? __( 'Ended', 'gp-translation-events' ) : __( 'Ends', 'gp-translation-events' ) ); ?>:
+ <?php $event->end()->print_relative_time_html(); ?>
+
+ </span>
+ <?php $event->end()->print_time_html(); ?>
+ </p>
+ </div>
+ <?php if ( is_user_logged_in() ) : ?>
+ <div class="event-details-join">
+ <?php if ( $event->end()->is_in_the_past() ) : ?>
+ <?php if ( $user_is_attending ) : ?>
+ <button disabled="disabled" class="button is-primary attend-btn"><?php esc_html_e( 'You attended', 'gp-translation-events' ); ?></button>
+ <?php endif; ?>
+ <?php elseif ( $user_is_contributor ) : ?>
+ <?php // Contributors can't un-attend so don't show anything. ?>
+ <?php else : ?>
+ <form class="event-details-attend" method="post" action="<?php echo esc_url( Urls::event_toggle_attendee( $event->id() ) ); ?>">
+ <?php if ( $user_is_attending ) : ?>
+ <input type="submit" class="button is-secondary attending-btn" value="<?php esc_attr_e( "You're attending", 'gp-translation-events' ); ?>" />
+ <?php else : ?>
+ <input type="submit" class="button is-primary attend-btn" value="<?php esc_attr_e( 'Attend Event', 'gp-translation-events' ); ?>"/>
+ <?php endif; ?>
+ </form>
+ <?php endif; ?>
+ </div>
+ <?php else : ?>
+ <div class="event-details-join">
+ <p>
+ <?php if ( ! $event->end()->is_in_the_past() ) : ?>
+ <a href="<?php echo esc_url( wp_login_url() ); ?>" class="button is-primary attend-btn"><?php esc_html_e( 'Login to attend', 'gp-translation-events' ); ?></a>
+ <?php else : ?>
+ <button disabled="disabled" class="button is-primary attend-btn"><?php esc_html_e( 'Event is over', 'gp-translation-events' ); ?></button>
+ <?php endif; ?>
+ </p>
+ </div>
+ <?php endif; ?>
+ </div>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventeditphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,36 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for event form.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Event_Text_Snippet;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+
+$page_title = __( 'Edit Event', 'gp-translation-events' );
+
+Templates::header(
+ array(
+ 'html_title' => __( 'Translation Events', 'gp-translation-events' ) . ' - ' . esc_html( $page_title . ' - ' . $event->title() ),
+ 'page_title' => $page_title,
+ 'breadcrumbs' => array( esc_html( $page_title ) ),
+ ),
+);
+?>
+
+<div class="event-page-wrapper">
+ <?php $is_create_form = false; ?>
+ <?php Templates::part( 'event-form', compact( 'is_create_form', 'event' ) ); ?>
+</div>
+
+<div class="event-edit-right">
+ <?php if ( current_user_can( 'edit_translation_event_attendees', $event->id() ) ) : ?>
+ <a class="manage-attendees-btn button is-primary" href="<?php echo esc_url( Urls::event_attendees( $event->id() ) ); ?>"><?php esc_html_e( 'Manage Attendees', 'gp-translation-events' ); ?></a>
+ <?php endif; ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateshomephp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,100 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Events list page.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Templates;
+
+/** @var Events_Query_Result $current_events_query */
+/** @var Events_Query_Result $upcoming_events_query */
+/** @var Events_Query_Result $past_events_query */
+/** @var Events_Query_Result $user_attending_events_query */
+
+Templates::header(
+ array(
+ 'html_title' => __( 'Translation Events', 'gp-translation-events' ),
+ 'page_title' => __( 'Translation Events', 'gp-translation-events' ),
+ ),
+);
+?>
+
+<div class="event-page-wrapper">
+<div class="event-left-col">
+<?php
+if ( empty( $current_events_query->events ) && empty( $upcoming_events_query->events ) && empty( $past_events_query->post_count ) ) :
+ esc_html_e( 'No events found.', 'gp-translation-events' );
+endif;
+
+if ( ! empty( $current_events_query->events ) ) :
+ ?>
+ <h2><?php esc_html_e( 'Current events', 'gp-translation-events' ); ?></h2>
+ <?php
+ Templates::part(
+ 'event-list',
+ array(
+ 'query' => $current_events_query,
+ 'pagination_query_param' => 'current_events_paged',
+ 'show_end' => true,
+ ),
+ );
+endif;
+
+if ( ! empty( $upcoming_events_query->events ) ) :
+ ?>
+ <h2><?php esc_html_e( 'Upcoming events', 'gp-translation-events' ); ?></h2>
+ <?php
+ Templates::part(
+ 'event-list',
+ array(
+ 'query' => $upcoming_events_query,
+ 'pagination_query_param' => 'upcoming_events_paged',
+ 'show_start' => true,
+ ),
+ );
+endif;
+
+if ( ! empty( $past_events_query->events ) ) :
+ ?>
+ <h2><?php esc_html_e( 'Past events', 'gp-translation-events' ); ?></h2>
+ <?php
+ Templates::part(
+ 'event-list',
+ array(
+ 'query' => $past_events_query,
+ 'pagination_query_param' => 'past_events_paged',
+ 'show_end' => true,
+ ),
+ );
+endif;
+?>
+
+</div>
+<?php if ( is_user_logged_in() ) : ?>
+ <div class="event-right-col">
+ <h2>Events I'm Attending</h2>
+ <?php if ( empty( $user_attending_events_query->events ) ) : ?>
+ <p>You don't have any events to attend.</p>
+ <?php else : ?>
+ <?php
+ Templates::part(
+ 'event-list',
+ array(
+ 'query' => $user_attending_events_query,
+ 'pagination_query_param' => 'user_attending_events_paged',
+ 'show_start' => true,
+ 'show_end' => true,
+ 'show_excerpt' => false,
+ 'date_format' => 'F j, Y H:i T',
+ 'relative_time' => false,
+ 'classes' => array( 'event-attending-list' ),
+ ),
+ );
+ endif;
+ ?>
+ </div>
+<?php endif; ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesmyeventsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,46 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for My Events.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Attendee\Attendee;
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Templates;
+
+/** @var Events_Query_Result $events */
+/** @var ?Attendee[] $current_user_attendee_per_event Associative array with event id as key, and boolean as value. */
+
+Templates::header(
+ array(
+ 'html_title' => esc_html__( 'Translation Events', 'gp-translation-events' ) . ' - ' . esc_html__( 'My Events', 'gp-translation-events' ),
+ 'page_title' => __( 'My Events', 'gp-translation-events' ),
+ 'breadcrumbs' => array( esc_html__( 'My Events', 'gp-translation-events' ) ),
+ ),
+);
+
+?>
+
+<div class="event-page-wrapper">
+ <?php
+ if ( empty( $events->events ) ) :
+ esc_html_e( 'No events found.', 'gp-translation-events' );
+ else :
+ ?>
+ <?php
+ Templates::part(
+ 'event-list',
+ array(
+ 'query' => $events,
+ 'pagination_query_param' => 'page',
+ 'show_start' => true,
+ 'show_end' => true,
+ 'relative_time' => false,
+ 'current_user_attendee_per_event' => $current_user_attendee_per_event,
+ ),
+ );
+ endif;
+ ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignmyeventsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,12 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+namespace Wporg\TranslationEvents\Templates\NewDesign;
+
+use Wporg\TranslationEvents\Templates;
+
+Templates::header();
+
+echo 'my events<br>';
+// TODO.
+
+Templates::footer();
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsfooterphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,4 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+echo 'footer<br>';
+// TODO.
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsheaderphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,4 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+echo 'header<br>';
+// TODO.
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsbreadcrumbsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,18 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Urls;
+
+/** @var array $extra_items */
+
+$home_link = gp_link_get( home_url(), __( 'Home', 'gp-translation-events' ) );
+$breadcrumb = array(
+ empty( $extra_items ) ? __( 'Events', 'gp-translation-events' ) : gp_link_get( Urls::events_home(), __( 'Events', 'gp-translation-events' ) ),
+);
+
+$breadcrumb = array_merge( array( $home_link ), $breadcrumb );
+if ( ! empty( $extra_items ) ) {
+ $breadcrumb = array_merge( $breadcrumb, $extra_items );
+}
+
+gp_breadcrumb( $breadcrumb );
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventformphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,115 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Event_Text_Snippet;
+use Wporg\TranslationEvents\Urls;
+
+/** @var bool $is_create_form */
+/** @var Event $event */
+?>
+
+<form class="translation-event-form" action="" method="post">
+ <?php wp_nonce_field( '_event_nonce', '_event_nonce' ); ?>
+ <?php if ( $is_create_form ) : ?>
+ <details id="quick-add"><summary><?php esc_html_e( 'Upcoming WordCamps', 'gp-translation-events' ); ?></summary><div class="loading"></div></details>
+ <?php endif; ?>
+ <input type="hidden" name="action" value="submit_event_ajax">
+ <?php $event_form_name = $is_create_form ? 'create_event' : 'edit_event'; ?>
+ <input type="hidden" id="form-name" name="form_name" value="<?php echo esc_attr( $event_form_name ); ?>">
+ <input type="hidden" id="event-id" name="event_id" value="<?php echo esc_attr( $event->id() ); ?>">
+ <input type="hidden" id="event-form-action" name="event_form_action">
+ <div>
+ <label for="event-title"><?php esc_html_e( 'Event Title', 'gp-translation-events' ); ?></label>
+ <input type="text" id="event-title" name="event_title" value="<?php echo esc_html( $event->title() ); ?>" <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_title', $event->id() ) ?: 'readonly' ); ?> required size="42">
+ </div>
+ <?php $event_url_class = $is_create_form ? 'hide-event-url' : ''; ?>
+ <?php $event_url = $is_create_form ? '' : Urls::event_details_absolute( $event->id() ); ?>
+ <div id="event-url" class="<?php echo esc_attr( $event_url_class ); ?>">
+ <label for="event-permalink"><?php esc_html_e( 'Event URL', 'gp-translation-events' ); ?></label>
+ <a id="event-permalink" class="event-permalink" href="<?php echo esc_url( $event_url ); ?>" target="_blank"><?php echo esc_url( $event_url ); ?></a>
+ </div>
+ <div>
+ <label for="event-description"><?php esc_html_e( 'Event Description', 'gp-translation-events' ); ?></label>
+ <textarea id="event-description" name="event_description" rows="4" cols="40" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_description', $event->id() ) ?: 'readonly' ); ?>><?php echo esc_html( $event->description() ); ?></textarea>
+ <?php
+ echo wp_kses(
+ Event_Text_Snippet::get_snippet_links(),
+ array(
+ 'a' => array(
+ 'href' => array(),
+ 'data-snippet' => array(),
+ 'class' => array(),
+ ),
+ 'ul' => array( 'class' => array() ),
+ 'li' => array(),
+ )
+ );
+ ?>
+ <div>
+ <label for="event-start"><?php esc_html_e( 'Start Date', 'gp-translation-events' ); ?></label>
+ <input type="datetime-local" id="event-start" name="event_start" value="<?php echo esc_attr( $event->start()->format( 'Y-m-d H:i' ) ); ?>" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_start', $event->id() ) ?: 'readonly' ); ?> >
+ </div>
+ <div>
+ <label for="event-end"><?php esc_html_e( 'End Date', 'gp-translation-events' ); ?></label>
+ <input type="datetime-local" id="event-end" name="event_end" value="<?php echo esc_attr( $event->end()->format( 'Y-m-d H:i' ) ); ?>" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_end', $event->id() ) ?: 'readonly' ); ?>>
+ </div>
+ <div>
+ <label for="event-timezone"><?php esc_html_e( 'Event Timezone', 'gp-translation-events' ); ?></label>
+ <select id="event-timezone" name="event_timezone" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_timezone', $event->id() ) ?: 'disabled' ); ?> >
+ <?php
+ echo wp_kses(
+ wp_timezone_choice( $is_create_form ? null : $event->timezone()->getName(), get_user_locale() ),
+ array(
+ 'optgroup' => array( 'label' => array() ),
+ 'option' => array(
+ 'value' => array(),
+ 'selected' => array(),
+ ),
+ )
+ );
+ ?>
+ </select>
+ </div>
+ <div class="submit-btn-group">
+ <label for="event-status"></label>
+ <?php if ( $event->id() ) : ?>
+ <?php if ( $event->is_draft() ) : ?>
+ <button class="button is-primary save-draft submit-event" type="submit" data-event-status="draft">Update Draft</button>
+ <?php endif; ?>
+ <button class="button is-primary submit-event" type="submit" data-event-status="publish">
+ <?php echo ( $event->is_published() ) ? esc_html( 'Update Event' ) : esc_html( 'Publish Event' ); ?>
+ </button>
+ <?php else : ?>
+ <button class="button is-primary save-draft submit-event" type="submit" data-event-status="draft">Save Draft</button>
+ <button class="button is-primary submit-event" type="submit" data-event-status="publish">Publish Event</button>
+ <?php endif; ?>
+ <?php $visibility_trash_button = current_user_can( 'trash_translation_event', $event->id() ) ? 'inline-flex' : 'none'; ?>
+ <button id="trash-button" class="button is-destructive trash-event" type="submit" name="submit" value="Delete" style="display: <?php echo esc_attr( $visibility_trash_button ); ?>">Delete Event</button>
+ </div>
+ <div class="clear"></div>
+ <div class="published-update-text">
+ <?php
+ $visibility_published_button = 'none';
+ if ( $event->is_published() ) {
+ $visibility_published_button = 'block';
+ }
+ ?>
+ <span id="published-update-text" style="display: <?php echo esc_attr( $visibility_published_button ); ?>">
+ <?php
+ $polyglots_slack_channel = 'https://wordpress.slack.com/archives/C02RP50LK';
+ echo wp_kses(
+ // translators: %s: Polyglots Slack channel URL.
+ sprintf( __( 'If you need to update the event slug, please, contact with an admin in the <a href="%s" target="_blank">Polyglots</a> channel in Slack.', 'gp-translation-events' ), $polyglots_slack_channel ),
+ array(
+ 'a' => array(
+ 'href' => array(),
+ 'target' => array(),
+ ),
+
+ )
+ );
+ ?>
+ </span>
+ </div>
+</form>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventlistphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,134 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Attendee\Attendee;
+use Wporg\TranslationEvents\Event\Event_End_Date;
+use Wporg\TranslationEvents\Event\Event_Start_Date;
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Events_Query_Result $query */
+/** @var ?string $pagination_query_param */
+/** @var ?bool $show_start */
+/** @var ?bool $show_end */
+/** @var ?bool $show_excerpt */
+/** @var ?string[] $extra_classes */
+/** @var ?Attendee[] $current_user_attendee_per_event Associative array with event id as key, and Attendee as value. */
+
+$show_start = $show_start ?? false;
+$show_end = $show_end ?? false;
+$show_excerpt = $show_excerpt ?? true;
+$show_permanent_delete = $show_permanent_delete ?? false;
+$extra_classes = isset( $extra_classes ) ? implode( $extra_classes, ' ' ) : '';
+$current_user_attendee_per_event = $current_user_attendee_per_event ?? array();
+
+/**
+ * @param Event_Start_Date|Event_End_Date $time
+ */
+$print_time = function ( $time ): void {
+ $time->print_absolute_and_relative_time_html();
+};
+?>
+
+<ul class="event-list <?php echo esc_attr( $extra_classes ); ?>">
+ <?php foreach ( $query->events as $event ) : ?>
+ <?php
+ $current_user_attendee = $current_user_attendee_per_event[ $event->id() ] ?? null;
+ ?>
+ <li class="event-list-item">
+ <?php // Title. ?>
+ <?php // phpcs:ignore Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace ?>
+ <a <?php if ( $event->is_draft() ) : ?>class="event-link-draft" <?php endif; ?>
+ href="<?php echo esc_url( Urls::event_details( $event->id() ) ); ?>">
+ <?php echo esc_html( $event->title() ); ?>
+ </a>
+
+ <?php // Labels. ?>
+ <span class="event-list-item-labels">
+ <?php if ( $event->is_draft() ) : ?>
+ <span class="event-list-item-label-draft"><?php echo esc_html__( 'Draft', 'gp-translation-events' ); ?></span>
+ <?php endif; ?>
+ <?php if ( $event->is_past() ) : ?>
+ <?php if ( $current_user_attendee && $current_user_attendee->is_host() ) : ?>
+ <span class="event-list-item-label-hosted"><?php echo esc_html__( 'Hosted', 'gp-translation-events' ); ?></span>
+ <?php elseif ( $current_user_attendee ) : ?>
+ <span class="event-list-item-label-attended"><?php echo esc_html__( 'Attended', 'gp-translation-events' ); ?></span>
+ <?php endif; ?>
+ <?php else : ?>
+ <?php if ( $current_user_attendee && $current_user_attendee->is_host() ) : ?>
+ <span class="event-list-item-label-hosting"><?php echo esc_html__( 'Hosting', 'gp-translation-events' ); ?></span>
+ <?php elseif ( $current_user_attendee ) : ?>
+ <span class="event-list-item-label-attending"><?php echo esc_html__( 'Attending', 'gp-translation-events' ); ?></span>
+ <?php endif; ?>
+ <?php endif; ?>
+ </span>
+
+ <?php // Buttons. ?>
+ <?php if ( current_user_can( 'edit_translation_event', $event->id() ) ) : ?>
+ <a href="<?php echo esc_url( Urls::event_edit( $event->id() ) ); ?>"
+ class="event-list-item-button"
+ title="<?php echo esc_attr__( 'Edit', 'gp-translation-events' ); ?>">
+ <span class="dashicons dashicons-edit"></span>
+ </a>
+ <?php endif; ?>
+ <?php if ( current_user_can( 'trash_translation_event', $event->id() ) ) : ?>
+ <?php if ( $event->is_trashed() ) : ?>
+ <a href="<?php echo esc_url( Urls::event_trash( $event->id() ) ); ?>"
+ class="button is-small"
+ title="<?php echo esc_attr__( 'Restore', 'gp-translation-events' ); ?>">
+ <?php echo esc_attr__( 'Restore', 'gp-translation-events' ); ?>
+ </a>
+ <?php else : ?>
+ <a href="<?php echo esc_url( Urls::event_trash( $event->id() ) ); ?>"
+ class="event-list-item-button is-destructive"
+ title="<?php echo esc_attr__( 'Move to trash', 'gp-translation-events' ); ?>">
+ <span class="dashicons dashicons-trash"></span>
+ </a>
+ <?php endif; ?>
+ <?php endif; ?>
+ <?php if ( $show_permanent_delete && current_user_can( 'delete_translation_event', $event->id() ) ) : ?>
+ <a href="<?php echo esc_url( Urls::event_delete( $event->id() ) ); ?>"
+ class="button is-small is-destructive"
+ title="<?php echo esc_attr__( 'Delete permanently', 'gp-translation-events' ); ?>">
+ <?php echo esc_attr__( 'Delete permanently', 'gp-translation-events' ); ?>
+ </a>
+ <?php endif; ?>
+
+ <?php // Dates. ?>
+ <?php if ( $show_start ) : ?>
+ <?php if ( $event->start()->is_in_the_past() ) : ?>
+ <span class="event-list-date"><?php $print_time( $event->start() ); ?></span>
+ <?php else : ?>
+ <span class="event-list-date"><?php $print_time( $event->start() ); ?></span>
+ <?php endif; ?>
+ <?php endif; ?>
+ <?php if ( $show_end ) : ?>
+ <?php if ( $event->end()->is_in_the_past() ) : ?>
+ <span class="event-list-date"><?php $print_time( $event->end() ); ?></span>
+ <?php else : ?>
+ <span class="event-list-date"><?php $print_time( $event->end() ); ?></time></span>
+ <?php endif; ?>
+ <?php endif; ?>
+
+ <?php // Excerpt. ?>
+ <?php if ( $show_excerpt ) : ?>
+ <?php echo esc_html( get_the_excerpt( $event->id() ) ); ?>
+ <?php endif; ?>
+ </li>
+ <?php endforeach; ?>
+</ul>
+
+<?php
+if ( ! empty( $pagination_query_param ) ) {
+ echo wp_kses_post(
+ paginate_links(
+ array(
+ 'total' => $query->page_count,
+ 'current' => $query->current_page,
+ 'format' => "?$pagination_query_param=%#%",
+ 'prev_text' => '« Previous',
+ 'next_text' => 'Next »',
+ )
+ ) ?? ''
+ );
+}
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsfooterphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,7 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+?>
+
+<div class="clear"></div>
+<?php gp_tmpl_footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsheaderphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,74 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var string $html_title */
+/** @var string|callable $page_title */
+/** @var string $url */
+/** @var string $image_url */
+/** @var string $html_description */
+/** @var ?callable $sub_head */
+/** @var ?string[] $breadcrumbs */
+
+$html_title = $html_title ?? esc_html__( 'Translation Events', 'gp-translation-events' );
+$url = $url ?? Urls::events_home();
+$html_description = $html_description ?? esc_html__( 'WordPress Translation Events', 'gp-translation-events' );
+$image_url = $image_url ?? Urls::event_default_image();
+
+add_action(
+ 'gp_head',
+ function () use ( $html_title, $url, $html_description, $image_url ) {
+ echo '<meta name="twitter:card" content="summary" />' . "\n";
+ echo '<meta name="twitter:site" content="@WordPress" />' . "\n";
+ echo '<meta name="twitter:title" content="' . esc_attr( $html_title ) . '" />' . "\n";
+ echo '<meta name="twitter:description" content="' . esc_attr( $html_description ) . '" />' . "\n";
+ echo '<meta name="twitter:creator" content="@WordPress" />' . "\n";
+ echo '<meta name="twitter:image" content="' . esc_url( $image_url ) . '" />' . "\n";
+ echo '<meta name="twitter:image:alt" content="' . esc_attr( $html_title ) . '" />' . "\n";
+
+ echo '<meta property="og:url" content="' . esc_url( $url ) . '" />' . "\n";
+ echo '<meta property="og:title" content="' . esc_attr( $html_title ) . '" />' . "\n";
+ echo '<meta property="og:description" content="' . esc_attr( $html_description ) . '" />' . "\n";
+ echo '<meta property="og:site_name" content="' . esc_attr( get_bloginfo() ) . '" />' . "\n";
+ echo '<meta property="og:image:url" content="' . esc_url( $image_url ) . '" />' . "\n";
+ echo '<meta property="og:image:secure_url" content="' . esc_url( $image_url ) . '" />' . "\n";
+ echo '<meta property="og:image:type" content="image/png" />' . "\n";
+ echo '<meta property="og:image:width" content="1200" />' . "\n";
+ echo '<meta property="og:image:height" content="675" />' . "\n";
+ echo '<meta property="og:image:alt" content="' . esc_attr( $html_title ) . '" />' . "\n";
+ }
+);
+gp_title( $html_title );
+Templates::part( 'breadcrumbs', array( 'extra_items' => $breadcrumbs ?? array() ) );
+gp_tmpl_header();
+?>
+
+<div class="event-list-top-bar">
+ <h2 class="event-page-title">
+ <?php if ( is_callable( $page_title ) ) : ?>
+ <?php $page_title(); ?>
+ <?php else : ?>
+ <?php echo esc_html( $page_title ); ?>
+ <?php endif; ?>
+ </h2>
+
+ <ul class="event-list-nav">
+ <?php if ( is_user_logged_in() ) : ?>
+ <?php if ( current_user_can( 'manage_translation_events' ) ) : ?>
+ <li><a href="<?php echo esc_url( Urls::events_trashed() ); ?>">Deleted Events</a></li>
+ <?php endif; ?>
+ <li><a href="<?php echo esc_url( Urls::my_events() ); ?>">My Events</a></li>
+ <?php if ( current_user_can( 'create_translation_event' ) ) : ?>
+ <li><a class="button is-primary" href="<?php echo esc_url( Urls::event_create() ); ?>">Create Event</a></li>
+ <?php endif; ?>
+ <?php endif; ?>
+ </ul>
+
+ <?php if ( isset( $sub_head ) && is_callable( $sub_head ) ) : ?>
+ <p class="event-sub-head">
+ <?php $sub_head(); ?>
+ </p>
+ <?php endif; ?>
+</div>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsfooterphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,42 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Translations;
+
+use Wporg\TranslationEvents\Templates;
+?>
+
+</div>
+<div class="clear"></div>
+<script type="text/javascript">
+jQuery( function($) {
+ var hooks_installed = {};
+ var current_event_translations_table = false;
+<?php
+foreach ( $editor_options as $translation_set_id => $options ) {
+ ?>
+ $('#translations_<?php echo esc_html( $translation_set_id ); ?>' ).click( set_translation_table_<?php echo esc_html( $translation_set_id ); ?> );
+ $('#translations_<?php echo esc_html( $translation_set_id ); ?>' ).mousemove( function() {
+ if ( ! $( '#translations', this ).length ) {
+ set_translation_table_<?php echo esc_html( $translation_set_id ); ?>();
+ }
+ });
+ function set_translation_table_<?php echo esc_html( $translation_set_id ); ?>() {
+ if ( current_event_translations_table === <?php echo esc_html( $translation_set_id ); ?> ) {
+ return;
+ }
+ current_event_translations_table = <?php echo esc_html( $translation_set_id ); ?>;
+ $gp_editor_options = <?php echo wp_json_encode( $options ); ?>;
+ $( '#translations' ).attr( 'id', null );
+ $( '#translations_<?php echo esc_html( $translation_set_id ); ?> table' ).attr( 'id', 'translations' );
+ $gp.editor.table = $( '#translations' );
+ if ( typeof hooks_installed[<?php echo esc_html( $translation_set_id ); ?>] === 'undefined' ) {
+ $gp.editor.install_hooks();
+ hooks_installed[<?php echo esc_html( $translation_set_id ); ?>] = true;
+ }
+ $gp_translation_helpers_editor = $gp_translation_helpers_editor_<?php echo esc_html( $translation_set_id ); ?>;
+ }
+<?php } ?>
+} );
+</script>
+<?php
+gp_enqueue_script( 'wporg-translate-editor' );
+Templates::footer();
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsheaderphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,66 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Translations;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+
+/* translators: %s: Event title. */
+gp_title( sprintf( __( 'Translation Events - %s' ), esc_html( $event->title() ) ) );
+
+$breadcrumbs = array( '<a href="' . esc_url( Urls::event_details( $event->id() ) ) . '">' . esc_html( $event->title() ) . '</a>', __( 'Translations', 'glotpress' ), $locale->english_name );
+Templates::part( 'breadcrumbs', array( 'extra_items' => $breadcrumbs ) );
+
+gp_enqueue_scripts( array( 'gp-editor', 'gp-translations-page' ) );
+wp_localize_script(
+ 'gp-translations-page',
+ '$gp_translations_options',
+ array(
+ 'sort' => __( 'Sort', 'glotpress' ),
+ 'filter' => __( 'Filter', 'glotpress' ),
+ )
+);
+
+gp_tmpl_header();
+?>
+
+<div class="event-list-top-bar">
+<h2 class="event-page-title">
+ <?php echo esc_html( $event->title() ); ?>
+ <?php if ( isset( $event ) && 'draft' === $event->status() ) : ?>
+ <span class="event-label-draft"><?php echo esc_html( $event->status() ); ?></span>
+ <?php endif; ?>
+</h2>
+</div>
+<div class="event-page-wrapper">
+ <h4>
+ <?php
+ echo esc_html(
+ sprintf(
+ // Translators: %s is the locale name.
+ __( 'Translations to %s', 'glotpress' ),
+ $locale->english_name
+ )
+ );
+ ?>
+ </h4>
+ <ul id="translation-links">
+ <?php foreach ( $translation_sets as $translation_set ) : ?>
+ <li id="translations_link_<?php echo esc_attr( $translation_set->translation_set_id ); ?>"><a href="#translations_<?php echo esc_attr( $translation_set->translation_set_id ); ?>"><?php echo esc_html( gp_project_names_from_root( $projects[ $translation_set->translation_set_id ] ) ); ?></a></li>
+ <?php endforeach; ?>
+ </ul>
+
+ <?php
+ if ( trim( $status, '/' ) !== 'waiting' ) {
+ ?>
+ <a href="<?php echo esc_url( Urls::event_translations( $event->id(), $locale->slug, 'waiting' ) ); ?>"><?php esc_html_e( 'Show only waiting translations', 'glotpress' ); ?></a>
+ <?php
+ } else {
+ ?>
+ <a href="<?php echo esc_url( Urls::event_translations( $event->id(), $locale->slug ) ); ?>"><?php esc_html_e( 'Show all contributed translations', 'glotpress' ); ?></a>
+ <?php
+ }
+ ?>
+ <hr>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationstablephp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,153 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Translations;
+
+use GP;
+use Wporg\TranslationEvents\Event\Event;
+
+/** @var Event $event */
+?>
+<div id="translations_<?php echo esc_attr( $translation_set->id ); ?>">
+<div class="gp-heading">
+ <h3>
+ <?php
+ printf(
+ /* translators: 1: Project name. 2: Translation set name. */
+ esc_html__( 'Translation of %1$s: %2$s', 'glotpress' ),
+ wp_kses(
+ gp_link_get(
+ gp_url_project_locale( $project, $translation_set->locale, $translation_set->slug ),
+ esc_html(
+ gp_project_names_from_root( $project )
+ )
+ ),
+ array(
+ 'a' => array(
+ 'href' => array(),
+ 'title' => array(),
+ ),
+ )
+ ),
+ esc_html( $locale->name )
+ );
+ ?>
+ </h3>
+</div>
+<div class="gp-table-actions top">
+ <?php
+ if ( $can_approve ) {
+ gp_translations_bulk_actions_toolbar( $bulk_action, $can_write, $translation_set, 'top' );
+ }
+ ?>
+</div>
+
+<?php $class_rtl = 'rtl' === $locale->text_direction ? ' translation-sets-rtl' : ''; ?>
+<?php
+/**
+ * Fires before the translation table has been displayed.
+ *
+ * @since 4.0.0
+ *
+ * @param array $def_vars Variables defined in the template.
+ */
+do_action( 'gp_before_translation_table', get_defined_vars() );
+?>
+<table data-translation-set="<?php echo esc_attr( $translation_set->id ); ?>" class="<?php echo esc_attr( apply_filters( 'gp_translation_table_classes', 'gp-table translations ' . $class_rtl, get_defined_vars() ) ); ?>">
+ <thead>
+ <tr>
+ <?php
+ if ( $can_approve ) :
+ ?>
+ <th class="gp-column-checkbox checkbox" scope="row"><input type="checkbox" /></th>
+ <?php
+ endif;
+ ?>
+ <th class="gp-column-priority"><?php /* Translators: Priority */ esc_html_e( 'Prio', 'glotpress' ); ?></th>
+ <th class="gp-column-original"><?php esc_html_e( 'Original string', 'glotpress' ); ?></th>
+ <th class="gp-column-translation"><?php esc_html_e( 'Translation', 'glotpress' ); ?></th>
+ <th class="gp-column-actions">—</th>
+ </tr>
+ </thead>
+<?php
+foreach ( $translations as $translation ) {
+ if ( ! $translation->translation_set_id ) {
+ $translation->translation_set_id = $translation_set->id;
+ }
+
+ $can_approve_translation = GP::$permission->current_user_can( 'approve', 'translation', $translation->id, array( 'translation' => $translation ) );
+ gp_tmpl_load( 'translation-row', get_defined_vars() );
+}
+?>
+<tr class="preview" style="display: none"></tr>
+<?php
+if ( ! $translations ) :
+ ?>
+ <tr><td colspan="<?php echo $can_approve ? 5 : 4; ?>"><?php esc_html_e( 'No translations were found!', 'glotpress' ); ?></td></tr>
+ <?php
+ endif;
+?>
+</table>
+<?php
+/**
+ * Fires after the translation table has been displayed.
+ *
+ * @since 4.0.0
+ *
+ * @param array $def_vars Variables defined in the template.
+ */
+do_action( 'gp_after_translation_table', get_defined_vars() );
+?>
+
+<div class="gp-table-actions bottom">
+ <?php
+ if ( $can_approve ) {
+ gp_translations_bulk_actions_toolbar( $bulk_action, $can_write, $translation_set, 'bottom' );
+ }
+ ?>
+ <div id="legend">
+ <div><strong><?php esc_html_e( 'Legend:', 'glotpress' ); ?></strong></div>
+ <?php
+ foreach ( GP::$translation->get_static( 'statuses' ) as $legend_status ) :
+ if ( ( 'changesrequested' === $legend_status ) && ( ! apply_filters( 'gp_enable_changesrequested_status', false ) ) ) { // todo: delete when we merge the gp-translation-helpers in GlotPress.
+ continue;
+ }
+ ?>
+ <div class="box status-<?php echo esc_attr( $legend_status ); ?>"></div>
+ <div>
+ <?php
+ switch ( $legend_status ) {
+ case 'current':
+ esc_html_e( 'Current', 'glotpress' );
+ break;
+ case 'waiting':
+ esc_html_e( 'Waiting', 'glotpress' );
+ break;
+ case 'fuzzy':
+ esc_html_e( 'Fuzzy', 'glotpress' );
+ break;
+ case 'old':
+ esc_html_e( 'Old', 'glotpress' );
+ break;
+ case 'rejected':
+ esc_html_e( 'Rejected', 'glotpress' );
+ break;
+ case 'changesrequested':
+ if ( apply_filters( 'gp_enable_changesrequested_status', false ) ) { // todo: delete when we merge the gp-translation-helpers in GlotPress.
+ esc_html_e( 'Changes requested', 'glotpress' );
+ } else {
+ esc_html_e( 'Rejected', 'glotpress' );
+ }
+ break;
+ default:
+ echo esc_html( $legend_status );
+ }
+ ?>
+ </div>
+ <?php
+ endforeach;
+ ?>
+ <div class="box has-warnings"></div>
+ <div><?php esc_html_e( 'With warnings', 'glotpress' ); ?></div>
+ </div>
+</div>
+</div>
+<hr>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestrashedeventsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,39 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Templates;
+
+/** @var Events_Query_Result $trashed_events_query */
+
+Templates::header(
+ array(
+ 'html_title' => __( 'Deleted Translation Events', 'gp-translation-events' ),
+ 'page_title' => __( 'Deleted Translation Events', 'gp-translation-events' ),
+ ),
+);
+?>
+
+<div class="event-page-wrapper">
+ <div class="event-left-col">
+ <?php if ( empty( $trashed_events_query->events ) ) : ?>
+ <?php esc_html_e( 'No deleted events found.', 'gp-translation-events' ); ?>
+ <?php else : ?>
+ <?php
+ Templates::part(
+ 'event-list',
+ array(
+ 'query' => $trashed_events_query,
+ 'pagination_query_param' => 'page',
+ 'show_start' => true,
+ 'show_end' => true,
+ 'relative_time' => false,
+ 'show_permanent_delete' => true,
+ ),
+ );
+ ?>
+ <?php endif; ?>
+ </div>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span></div>
</body>
</html>