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>
186 lines
4.8 KiB
CSS
Executable File
186 lines
4.8 KiB
CSS
Executable File
@keyframes wpforms-dot-pulse {
|
|
0% {
|
|
box-shadow: 0 0 0 0 rgba(223, 119, 57, 0.6);
|
|
}
|
|
100% {
|
|
box-shadow: 0 0 0 10px rgba(223, 119, 57, 0);
|
|
}
|
|
}
|
|
|
|
span.wpforms-admin-form-embed-wizard-dot {
|
|
display: inline-block;
|
|
width: 12px;
|
|
height: 12px !important;
|
|
padding: 0 !important;
|
|
border: 0 !important;
|
|
border-radius: 50%;
|
|
background-color: #df7739;
|
|
animation: wpforms-dot-pulse 1.5s infinite !important;
|
|
margin: 3px 10px;
|
|
}
|
|
|
|
.wp-editor-tools span.wpforms-admin-form-embed-wizard-dot {
|
|
margin-top: 9px;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard-tooltip {
|
|
display: none;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip {
|
|
z-index: 100100 !important;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-top .tooltipster-box {
|
|
margin-bottom: 18px;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-top .tooltipster-arrow {
|
|
bottom: 8px;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
|
|
top: 0;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-right .tooltipster-box {
|
|
margin-left: 18px;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-right .tooltipster-arrow {
|
|
left: 8px;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box {
|
|
max-width: 260px;
|
|
background: white;
|
|
border: none;
|
|
border-radius: 4px;
|
|
box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
|
|
-webkit-box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
|
|
-moz-box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.25);
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .tooltipster-content {
|
|
color: #444444;
|
|
padding: 16px 20px 18px;
|
|
text-align: center;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .tooltipster-content div *:first-child {
|
|
margin-top: 0 !important;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .tooltipster-content h3 {
|
|
font-size: 16px;
|
|
letter-spacing: 0px;
|
|
line-height: 18px;
|
|
margin: 0;
|
|
color: #23282C;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .tooltipster-content p {
|
|
font-size: 14px;
|
|
letter-spacing: 0px;
|
|
line-height: 18px;
|
|
margin: 10px 0 0;
|
|
color: #444444;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .tooltipster-content a {
|
|
color: #1D7BAC;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .wpforms-admin-form-embed-wizard-done-btn {
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
text-decoration: none;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
white-space: nowrap;
|
|
box-shadow: none;
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
letter-spacing: 0px;
|
|
padding: 7px 18px;
|
|
border: none;
|
|
background-color: #df7739;
|
|
color: #ffffff;
|
|
display: block;
|
|
margin: 15px auto 0;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .wpforms-admin-form-embed-wizard-done-btn:hover {
|
|
background-color: #b85a1b;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .wpforms-admin-form-embed-wizard-done-btn:disabled {
|
|
cursor: default;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-box .wpforms-admin-form-embed-wizard-done-btn:disabled:hover {
|
|
background-color: #df7739;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip .tooltipster-arrow-border {
|
|
border: none;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-top .tooltipster-arrow-background {
|
|
border-top-color: white;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-right .tooltipster-arrow-background {
|
|
border-right-color: white;
|
|
}
|
|
|
|
.wpforms-admin-form-embed-wizard.tooltipster-sidetip.tooltipster-bottom .tooltipster-arrow-background {
|
|
border-bottom-color: white;
|
|
}
|
|
|
|
.block-editor-page .edit-post-layout .components-notice-list > div {
|
|
padding-left: 50px;
|
|
}
|
|
|
|
.block-editor-page .wpforms-admin-form-embed-wizard-dot {
|
|
position: absolute;
|
|
top: 75px;
|
|
left: 20px;
|
|
z-index: 9999;
|
|
}
|
|
|
|
.block-editor-page .wpforms-admin-form-embed-wizard {
|
|
width: 260px !important;
|
|
z-index: 99980 !important;
|
|
margin-top: 5px;
|
|
}
|
|
|
|
.block-editor-page .wpforms-admin-form-embed-wizard .tooltipster-box {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.block-editor-page .wpforms-admin-form-embed-wizard .wpforms-admin-form-embed-wizard-tooltips-red-arrow {
|
|
position: absolute;
|
|
display: block;
|
|
width: 15px;
|
|
height: 42px;
|
|
top: -65px;
|
|
left: 145px;
|
|
background-image: url(../images/challenge/red-arrow.svg);
|
|
background-size: 15px 42px;
|
|
background-repeat: no-repeat;
|
|
}
|
|
|
|
.block-editor-page.is-fullscreen-mode .edit-post-layout .components-notice-list > div {
|
|
padding-left: 125px;
|
|
}
|
|
|
|
.block-editor-page.is-fullscreen-mode .wpforms-admin-form-embed-wizard-dot {
|
|
left: 75px;
|
|
}
|
|
|
|
.block-editor-page.is-fullscreen-mode .wpforms-admin-form-embed-wizard .wpforms-admin-form-embed-wizard-tooltips-red-arrow {
|
|
left: 105px;
|
|
}
|