b6df4dbb92
MLS plugin fixes from this session: - Fix silent insert failures: location column NOT NULL was rejecting wpdb->insert calls, causing ~18k new properties since Dec 2025 to be lost. Inserts now build raw SQL with ST_PointFromText so the spatial column is populated atomically. - Auto-refresh expired media URLs in MLS_Media_Handler::fetch_and_cache(), guarded by a property-level GET_LOCK so concurrent fetches share one API refresh. - Normalize WP_Error to null in mls_get_property_image() so callers can rely on the documented string|null contract. - Support comma-separated property_type filters in MLS_Query and MLS_Cluster so the homepage "View All Commercial" link (?property_type=Commercial+Sale,Land,Farm) actually filters correctly. - Incremental sync now looks back 10 minutes past the latest modification timestamp as a safety margin against missed records. - Smart sync exits silently (info-level, not warning) when a full sync is in progress. Operational: - New cron: weekly full sync Sundays at 3 AM (/usr/local/bin/mls-full-sync). - New cron: hourly 2GB cap on mls-thumbnails/ and cache/transformed-images/ (/usr/local/bin/mls-image-cache-cap). - Logrotate config for wp-content/debug.log (2-day retention, daily rotation, delaycompress). Repo policy: - CLAUDE.md updated with explicit "commit everything except build artifacts" policy. - .gitignore: untrack runtime image caches and debug.log rotations. Other modifications in this snapshot are pre-existing in-flight theme/plugin/db_content_updates work. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 lines
2.7 KiB
XML
Executable File
2 lines
2.7 KiB
XML
Executable File
<svg width="46" height="46" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><rect id="wp-mail-smtp-google-sign-in-icon__b" x="0" y="0" width="40" height="40" rx="2"/><rect id="wp-mail-smtp-google-sign-in-icon__c" x="5" y="5" width="38" height="38" rx="1"/><filter x="-50%" y="-50%" width="200%" height="200%" filterUnits="objectBoundingBox" id="wp-mail-smtp-google-sign-in-icon__a"><feOffset dy="1" in="SourceAlpha" result="shadowOffsetOuter1"/><feGaussianBlur stdDeviation=".5" in="shadowOffsetOuter1" result="shadowBlurOuter1"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.168 0" in="shadowBlurOuter1" result="shadowMatrixOuter1"/><feOffset in="SourceAlpha" result="shadowOffsetOuter2"/><feGaussianBlur stdDeviation=".5" in="shadowOffsetOuter2" result="shadowBlurOuter2"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.084 0" in="shadowBlurOuter2" result="shadowMatrixOuter2"/><feMerge><feMergeNode in="shadowMatrixOuter1"/><feMergeNode in="shadowMatrixOuter2"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs><g fill="none" fill-rule="evenodd"><g class="wp-mail-smtp-one-click-sign-in-icon__border" transform="translate(3 3)" filter="url(#wp-mail-smtp-google-sign-in-icon__a)"><use fill="#4285F4" xlink:href="#wp-mail-smtp-google-sign-in-icon__b"/><use xlink:href="#wp-mail-smtp-google-sign-in-icon__b"/><use xlink:href="#wp-mail-smtp-google-sign-in-icon__b"/><use xlink:href="#wp-mail-smtp-google-sign-in-icon__b"/></g><g class="wp-mail-smtp-one-click-sign-in-icon__bg" transform="translate(-1 -1)"><use fill="#FFF" xlink:href="#wp-mail-smtp-google-sign-in-icon__c"/><use xlink:href="#wp-mail-smtp-google-sign-in-icon__c"/><use xlink:href="#wp-mail-smtp-google-sign-in-icon__c"/><use xlink:href="#wp-mail-smtp-google-sign-in-icon__c"/></g><path class="wp-mail-smtp-one-click-sign-in-icon__symbol" d="M31.64 23.205c0-.639-.057-1.252-.164-1.841H23v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z" fill="#4285F4"/><path class="wp-mail-smtp-one-click-sign-in-icon__symbol" d="M23 32c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711h-3.007v2.332A8.997 8.997 0 0 0 23 32Z" fill="#34A853"/><path class="wp-mail-smtp-one-click-sign-in-icon__symbol" d="M17.964 24.71a5.41 5.41 0 0 1-.282-1.71c0-.593.102-1.17.282-1.71v-2.332h-3.007A8.996 8.996 0 0 0 14 23c0 1.452.348 2.827.957 4.042l3.007-2.332Z" fill="#FBBC05"/><path class="wp-mail-smtp-one-click-sign-in-icon__symbol" d="M23 17.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C27.463 14.891 25.426 14 23 14a8.997 8.997 0 0 0-8.043 4.958l3.007 2.332c.708-2.127 2.692-3.71 5.036-3.71Z" fill="#EA4335"/><path d="M14 14h18v18H14V14Z"/></g></svg>
|