Changeset 13690
- Timestamp:
- 05/10/2024 12:42:51 PM (14 months ago)
- Location:
- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/README.md
r13268 r13690 1 1 # wporg-gp-translation-events 2 3 Here we are implementing Translation Events, as discussed in our Polyglots Make P2 Post: [Translation Events Prototype](https://make.wordpress.org/polyglots/2024/02/28/translation-events-prototype/). 2 4 3 5 ## Development environment -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/translation-events.css
r13683 r13690 53 53 54 54 .event-details-stats table { 55 margin: 1rem;56 }57 58 .event-details-stats table {59 55 width: 100%; 60 56 table-layout: fixed; … … 65 61 padding: 1em; 66 62 text-align: center; 63 vertical-align: middle; 67 64 } 68 65 … … 245 242 .event-page-wrapper { 246 243 margin: 0 auto; 244 padding: 1em 0; 247 245 width: 80%; 248 246 } … … 257 255 text-align: center; 258 256 display: inline; 259 margin-top: 1em;260 257 font-weight: bold; 261 258 } … … 385 382 386 383 ul.event-attendees-filter { 387 padding-left: 1rem;384 margin-left: 0; 388 385 } 389 386 … … 425 422 426 423 #quick-add { 424 margin-top: -1em; 427 425 padding: 0 .5em; 428 426 border-left: #d9d8d8 thin solid; … … 430 428 max-height: 8em; 431 429 overflow: auto; 430 } 431 432 a.remove-attendee.button { 433 background-color: var(--gp-color-btn-danger-bg); 434 color: var(--gp-color-btn-danger-text); 435 border-color: var(----gp-color-btn-danger-border); 436 margin-left: .1em; 437 } 438 439 a.remove-attendee.button:hover { 440 background-color: var(--gp-color-btn-danger-hover-bg); 441 color: var(--gp-color-btn-danger-hover-text); 442 border-color: var(----gp-color-btn-danger-hover-border); 432 443 } 433 444 -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/autoload.php
r13683 r13690 34 34 require_once __DIR__ . '/includes/translation/translation-repository.php'; 35 35 require_once __DIR__ . '/includes/event-text-snippet.php'; 36 require_once __DIR__ . '/includes/routes/attendee/list.php'; 37 require_once __DIR__ . '/includes/routes/attendee/remove.php'; -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/includes/attendee/attendee-repository.php
r13683 r13690 67 67 ), 68 68 ); 69 70 $wpdb->delete( 71 "{$gp_table_prefix}event_actions", 72 array( 73 'event_id' => $event_id, 74 'user_id' => $user_id, 75 ), 76 array( 77 '%d', 78 '%d', 79 ), 80 ); 81 69 82 // phpcs:enable 70 83 } -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/includes/event/event-repository.php
r13683 r13690 131 131 132 132 try { 133 $meta = $this->get_event_meta( $id ); 133 $meta = $this->get_event_meta( $id ); 134 if ( ! $meta ) { 135 return null; 136 } 134 137 $event = new Event( 135 138 intval( $post->post_author ), … … 502 505 * @throws Exception 503 506 */ 504 private function get_event_meta( int $event_id ): array {507 private function get_event_meta( int $event_id ): ?array { 505 508 $meta = get_post_meta( $event_id ); 506 509 $utc = new DateTimeZone( 'UTC' ); 510 511 if ( ! isset( $meta['_event_start'][0], $meta['_event_end'][0], $meta['_event_timezone'][0] ) ) { 512 return null; 513 } 507 514 508 515 return array( -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/includes/urls.php
r13683 r13690 13 13 14 14 public static function event_details( int $event_id ): string { 15 return gp_url( wp_make_link_relative( get_the_permalink( $event_id ) ) ); 15 // Drafts don't yet have a slug, so we need to generate a sample permalink. 16 if ( 'draft' === get_post_status( $event_id ) ) { 17 // get_sample_permalink is only available in the admin, so we need to include the file in case we are elsewhere. 18 require_once ABSPATH . '/wp-admin/includes/post.php'; 19 list( $permalink, $post_name ) = get_sample_permalink( $event_id ); 20 $permalink = str_replace( '%pagename%', $post_name, $permalink ); 21 } else { 22 $permalink = get_permalink( $event_id ); 23 } 24 25 return gp_url( wp_make_link_relative( $permalink ) ); 16 26 } 17 27 18 28 public static function event_details_absolute( int $event_id ): string { 19 list( $permalink, $post_name ) = get_sample_permalink( $event_id ); 20 $permalink = str_replace( '%pagename%', $post_name, $permalink ); 21 22 return get_site_url() . gp_url( wp_make_link_relative( $permalink ) ); 29 return site_url( self::event_details( $event_id ) ); 23 30 } 24 31 … … 58 65 return self::event_details( $event_id ) . 'attendees/'; 59 66 } 67 68 public static function event_remove_attendee( int $event_id, int $user_id ): string { 69 return gp_url( "/events/$event_id/attendees/remove/$user_id" ); 70 } 60 71 } -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/events-attendees.php
r13683 r13690 53 53 <input type="submit" class="button is-secondary convert-to-host" value="<?php echo esc_attr__( 'Make co-host', 'gp-translation-events' ); ?>"/> 54 54 <?php endif; ?> 55 <?php if ( ! $attendee->is_host() ) : ?> 56 <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> 57 <?php endif; ?> 55 58 </form> 56 59 </td> -
sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/wporg-gp-translation-events.php
r13683 r13690 113 113 GP::$router->add( "/events/$slug", array( 'Wporg\TranslationEvents\Routes\Event\Details_Route', 'handle' ) ); 114 114 GP::$router->add( "/events/$slug/attendees", array( 'Wporg\TranslationEvents\Routes\Attendee\List_Route', 'handle' ) ); 115 GP::$router->add( "/events/$id/attendees/remove/$id", array( 'Wporg\TranslationEvents\Routes\Attendee\Remove_Attendee_Route', 'handle' ) ); 115 116 116 117 $stats_listener = new Stats_Listener(
Note: See TracChangeset
for help on using the changeset viewer.