upskill-event-manager/wordpress-dev/Dockerfile
bengizmo cdef12ee80 feat(events): Implement fallback logic and UI for Create/Modify Event page
- Refactored fallback submission logic in `class-event-handler.php` to remove `wp_die`/`exit` calls and use redirects for error handling, enabling proper unit testing.
- Implemented meta-data saving (dates, venue, organizer) in the fallback logic using `update_post_meta`.
- Updated unit tests (`test-event-management.php`) to remove `markTestIncomplete` calls related to handler errors and uncommented meta assertions. Unit tests for fallback logic now pass.
- Added Instructions section and Return to Dashboard button to the event form shortcode (`display_event_form_shortcode`).
- Applied basic theme styling classes (`ast-container`, `notice`, `ast-button`) to the event form.
- Updated `docs/implementation_plan.md` to reflect completion of tasks 4.1-4.5 and set focus to Task 5.

Refs: Task 4.1, 4.2, 4.3, 4.4, 4.5
2025-04-01 11:46:24 -03:00

46 lines
No EOL
1.5 KiB
Docker

FROM wordpress:6.7.2-php8.1-fpm
# Install dependencies
RUN apt-get update && apt-get install -y \
vim \
libzip-dev \
procps \
net-tools \
unzip \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
# Install PHP extensions
RUN docker-php-ext-install mysqli pdo pdo_mysql zip
# Composer is managed on the host and mounted via volume
# Install WP-CLI (download to /tmp first)
RUN curl -o /tmp/wp-cli.phar https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& echo "DEBUG: WP-CLI Downloaded to /tmp" \
&& ls -l /tmp/wp-cli.phar
RUN chmod +x /tmp/wp-cli.phar \
&& echo "DEBUG: WP-CLI chmod done" \
&& ls -l /tmp/wp-cli.phar
RUN mv /tmp/wp-cli.phar /usr/local/bin/wp \
&& echo "DEBUG: WP-CLI Moved to /usr/local/bin/wp" \
&& ls -l /usr/local/bin/wp
# Set working directory
WORKDIR /var/www/html
# Copy composer files
COPY composer.* ./
# Dependencies are installed on the host and mounted via volume
# Verify installations
RUN php -r "if (!extension_loaded('pdo_mysql')) { exit(1); }"
# RUN composer --version # Removed as composer is not installed in image
# WordPress test framework is installed via Composer (wp-phpunit/wp-phpunit)
# Remove conflicting manual installation:
# RUN curl -o /tmp/wordpress-tests.tar.gz https://wordpress.org/wordpress-tests-latest.tar.gz
# RUN mkdir -p /tmp/wordpress-tests-lib && tar -xzf /tmp/wordpress-tests.tar.gz -C /tmp/wordpress-tests-lib --strip-components=1
# RUN rm /tmp/wordpress-tests.tar.gz