Changeset 3385288
- Timestamp:
- 10/27/2025 02:31:28 PM (5 months ago)
- Location:
- slope-widgets
- Files:
-
- 18 added
- 4 deleted
- 60 edited
- 3 copied
-
tags/4.3.3 (copied) (copied from slope-widgets/trunk)
-
tags/4.3.3/css/slope-admin.css (modified) (1 diff)
-
tags/4.3.3/css/slope-widgets.css (modified) (1 diff)
-
tags/4.3.3/includes/Autoloader.php (added)
-
tags/4.3.3/includes/DBUpgrader.php (modified) (1 diff)
-
tags/4.3.3/includes/admin/GlobalSettings.php (modified) (2 diffs)
-
tags/4.3.3/includes/admin/Promotions.php (modified) (3 diffs)
-
tags/4.3.3/includes/admin/Reservations.php (added)
-
tags/4.3.3/includes/admin/WelcomePage.php (modified) (1 diff)
-
tags/4.3.3/includes/enums/AbstractEnum.php (modified) (1 diff)
-
tags/4.3.3/includes/enums/CardLayout.php (modified) (1 diff)
-
tags/4.3.3/includes/enums/FontWeight.php (modified) (1 diff)
-
tags/4.3.3/includes/enums/TextAlignment.php (modified) (1 diff)
-
tags/4.3.3/includes/helpers/LanguageResolver.php (modified) (1 diff)
-
tags/4.3.3/includes/pages/global-settings/partials/form.php (modified) (1 diff)
-
tags/4.3.3/includes/pages/promotions/partials/layout-section.php (modified) (1 diff)
-
tags/4.3.3/includes/pages/promotions/partials/style-section.php (modified) (1 diff)
-
tags/4.3.3/includes/pages/reservations (added)
-
tags/4.3.3/includes/pages/reservations/index.php (added)
-
tags/4.3.3/includes/pages/reservations/partials (added)
-
tags/4.3.3/includes/pages/reservations/partials/form.php (added)
-
tags/4.3.3/includes/sections (deleted)
-
tags/4.3.3/includes/settings/GlobalSettingsProvider.php (modified) (1 diff)
-
tags/4.3.3/includes/settings/LegacyPromotionsSettingProvider.php (modified) (1 diff)
-
tags/4.3.3/includes/settings/PromotionsSettingsProvider.php (modified) (4 diffs)
-
tags/4.3.3/includes/settings/ReservationsSettingsProvider.php (modified) (3 diffs)
-
tags/4.3.3/js/slope-widgets.js (modified) (1 diff)
-
tags/4.3.3/languages/slope-widgets-en_US.mo (modified) (previous)
-
tags/4.3.3/languages/slope-widgets-en_US.po (modified) (12 diffs)
-
tags/4.3.3/languages/slope-widgets.pot (modified) (5 diffs)
-
tags/4.3.3/readme.txt (copied) (copied from slope-widgets/trunk/readme.txt) (2 diffs)
-
tags/4.3.3/slope-promotions-legacy.php (modified) (1 diff)
-
tags/4.3.3/slope-reservations.php (deleted)
-
tags/4.3.3/slope-widgets.php (copied) (copied from slope-widgets/trunk/slope-widgets.php) (9 diffs)
-
tags/4.3.3/validation/InputSanitizer.php (added)
-
tags/4.3.3/validation/Validator.php (modified) (1 diff)
-
tags/4.3.3/validation/rules/GreaterThanOrEqual.php (added)
-
tags/4.3.3/validation/rules/HexColor.php (modified) (1 diff)
-
tags/4.3.3/validation/rules/InArray.php (modified) (1 diff)
-
tags/4.3.3/validation/rules/LessThanOrEqual.php (added)
-
tags/4.3.3/validation/rules/Range.php (modified) (1 diff)
-
tags/4.3.3/validation/rules/Uuid.php (modified) (1 diff)
-
tags/4.3.3/validation/rules/ValidationRule.php (modified) (1 diff)
-
trunk/css/slope-admin.css (modified) (1 diff)
-
trunk/css/slope-widgets.css (modified) (1 diff)
-
trunk/includes/Autoloader.php (added)
-
trunk/includes/DBUpgrader.php (modified) (1 diff)
-
trunk/includes/admin/GlobalSettings.php (modified) (2 diffs)
-
trunk/includes/admin/Promotions.php (modified) (3 diffs)
-
trunk/includes/admin/Reservations.php (added)
-
trunk/includes/admin/WelcomePage.php (modified) (1 diff)
-
trunk/includes/enums/AbstractEnum.php (modified) (1 diff)
-
trunk/includes/enums/CardLayout.php (modified) (1 diff)
-
trunk/includes/enums/FontWeight.php (modified) (1 diff)
-
trunk/includes/enums/TextAlignment.php (modified) (1 diff)
-
trunk/includes/helpers/LanguageResolver.php (modified) (1 diff)
-
trunk/includes/pages/global-settings/partials/form.php (modified) (1 diff)
-
trunk/includes/pages/promotions/partials/layout-section.php (modified) (1 diff)
-
trunk/includes/pages/promotions/partials/style-section.php (modified) (1 diff)
-
trunk/includes/pages/reservations (added)
-
trunk/includes/pages/reservations/index.php (added)
-
trunk/includes/pages/reservations/partials (added)
-
trunk/includes/pages/reservations/partials/form.php (added)
-
trunk/includes/sections (deleted)
-
trunk/includes/settings/GlobalSettingsProvider.php (modified) (1 diff)
-
trunk/includes/settings/LegacyPromotionsSettingProvider.php (modified) (1 diff)
-
trunk/includes/settings/PromotionsSettingsProvider.php (modified) (4 diffs)
-
trunk/includes/settings/ReservationsSettingsProvider.php (modified) (3 diffs)
-
trunk/js/slope-widgets.js (modified) (1 diff)
-
trunk/languages/slope-widgets-en_US.mo (modified) (previous)
-
trunk/languages/slope-widgets-en_US.po (modified) (12 diffs)
-
trunk/languages/slope-widgets.pot (modified) (5 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/slope-promotions-legacy.php (modified) (1 diff)
-
trunk/slope-reservations.php (deleted)
-
trunk/slope-widgets.php (modified) (9 diffs)
-
trunk/validation/InputSanitizer.php (added)
-
trunk/validation/Validator.php (modified) (1 diff)
-
trunk/validation/rules/GreaterThanOrEqual.php (added)
-
trunk/validation/rules/HexColor.php (modified) (1 diff)
-
trunk/validation/rules/InArray.php (modified) (1 diff)
-
trunk/validation/rules/LessThanOrEqual.php (added)
-
trunk/validation/rules/Range.php (modified) (1 diff)
-
trunk/validation/rules/Uuid.php (modified) (1 diff)
-
trunk/validation/rules/ValidationRule.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
slope-widgets/tags/4.3.3/css/slope-admin.css
r3289147 r3385288 3 3 @keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}} 4 4 .slp-welcome-button{display:inline-flex;align-items:center;right:10px;bottom:30px;height:36px;padding:0 10px;border-radius:3px;text-align:center;text-transform:uppercase;text-decoration:none}.slp-welcome-button #skip-icon{margin-right:8px}.slope-slp-welcome{width:99%}#slp-welcome-button-container{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;margin-top:1rem}#slp-next-button{display:inline-flex;align-items:center;gap:2px;margin-right:1rem;height:36px;text-transform:uppercase;padding:0 10px;border-radius:3px;text-align:center;text-decoration:none}#slp-next-button-icon{width:10px;margin-right:5px} 5 .slope-widgets-container{box-sizing:border-box}.slope- block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px;width:100%}.slope-guests-and-button-container{width:100%;z-index:10}.slope-reservation-section-container.slope-check-out{justify-content:flex-end}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container,.slope-reservation-section-container.slope-submit-section,.slope-reservation-submit{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px;width:100%}.slope-block .slope-check-out-wrapper{justify-content:flex-end;text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}5 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}} -
slope-widgets/tags/4.3.3/css/slope-widgets.css
r3289147 r3385288 1 .slope-widgets-container{box-sizing:border-box}.slope- block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px;width:100%}.slope-guests-and-button-container{width:100%;z-index:10}.slope-reservation-section-container.slope-check-out{justify-content:flex-end}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container,.slope-reservation-section-container.slope-submit-section,.slope-reservation-submit{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px;width:100%}.slope-block .slope-check-out-wrapper{justify-content:flex-end;text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}1 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}} 2 2 #slope-promotions a.slp-button{padding:1.5rem .5rem;transition:all .2s ease-in-out;text-decoration:none}#slope-promotions a.slp-button:hover{opacity:.7}#slope-widget{font-family:inherit!important}table.slp{min-width:initial;font-family:inherit}table.slp td{font-family:inherit;text-align:left!important;word-break:normal}[id^=promotion-submit-].slp-button{font-family:inherit!important;font-weight:700;letter-spacing:inherit} 3 3 @keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}} -
slope-widgets/tags/4.3.3/includes/DBUpgrader.php
r3289147 r3385288 1 1 <?php 2 2 declare(strict_types=1); 3 4 namespace SlopeWidgets; 3 5 4 6 class DBUpgrader -
slope-widgets/tags/4.3.3/includes/admin/GlobalSettings.php
r3294812 r3385288 2 2 declare(strict_types=1); 3 3 4 use validation\rules\Uuid; 5 use validation\Validator; 4 namespace SlopeWidgets\Admin; 5 6 use SlopeWidgets\Settings\GlobalSettingsProvider; 7 use SlopeWidgets\Validation\InputSanitizer; 8 use SlopeWidgets\Validation\Rules\Uuid; 9 use SlopeWidgets\Validation\Validator; 6 10 7 11 class GlobalSettings … … 69 73 [new Uuid()], 70 74 __('L\'ID Struttura non è valido.', 'slope-widgets'), 71 null 75 // Reuse the existing establishment ID as the default value (if any) 76 GlobalSettingsProvider::getEstablishmentId() 72 77 ); 73 78 74 79 $validatedData = $validator->validate($input); 75 // NOTE: `book_target` is a checkbox and it is not present in the input if it is not checked. So we need to 80 81 // WARNING: Only validated data will be saved. Fields not included in the validation or failing validation will 82 // be omitted. As `book_target` is a checkbox it is not present in the input if it is not checked. So we need to 76 83 // set it to false if it is not present in the input. 77 // TODO: Maybe we should build a normalizer to ensure that the data stored in the settings is in the correct 78 // format (in this case a boolean). 79 $validatedData['book_target'] = !empty($input['book_target']) 80 && is_string($input['book_target']) 81 && trim($input['book_target']) !== ''; 84 $validatedData['book_target'] = InputSanitizer::normalizeCheckbox($input, 'book_target'); 82 85 83 86 if ($validator->hasErrors()) { -
slope-widgets/tags/4.3.3/includes/admin/Promotions.php
r3294812 r3385288 1 1 <?php 2 2 3 use validation\rules\HexColor; 4 use validation\rules\InArray; 5 use validation\rules\Range; 6 use validation\Validator; 3 namespace SlopeWidgets\Admin; 4 5 use SlopeWidgets\Enums\CardLayout; 6 use SlopeWidgets\Enums\FontWeight; 7 use SlopeWidgets\Enums\TextAlignment; 8 use SlopeWidgets\Helpers\LanguageResolver; 9 use SlopeWidgets\Settings\GlobalSettingsProvider; 10 use SlopeWidgets\Settings\PromotionsSettingsProvider; 11 use SlopeWidgets\Validation\Rules\HexColor; 12 use SlopeWidgets\Validation\Rules\InArray; 13 use SlopeWidgets\Validation\Rules\Range; 14 use SlopeWidgets\Validation\Validator; 15 use SlopeWidgets\Validation\InputSanitizer; 7 16 8 17 class Promotions … … 181 190 { 182 191 include(SLOPE_WIDGETS_PATH . "includes/pages/promotions/partials/style-section.php"); 183 include(SLOPE_WIDGETS_PATH . "includes/pages/promotions/partials/ /layout-section.php");192 include(SLOPE_WIDGETS_PATH . "includes/pages/promotions/partials/layout-section.php"); 184 193 } 185 194 … … 296 305 297 306 $validatedData = $validator->validate($input); 298 // TODO: Maybe we should build a normalizer to ensure that the data stored in the settings is in the correct 299 // format (in this case a boolean). 300 // NOTE: `hide_description` is a checkbox and it is not present in the input if it is not checked. So we need to 301 // set it to false if it is not present in the input. 302 $validatedData['hide_description'] = !empty($input['hide_description']) 303 && is_string($input['hide_description']) 304 && trim($input['hide_description']) !== ''; 307 308 // WARNING: Only validated data will be saved. Fields not included in the validation or failing validation will 309 // be omitted. As `hide_description` is a checkbox it is not present in the input if it is not checked. 310 // So we need to set it to false if it is not present in the input. 311 $validatedData['hide_description'] = InputSanitizer::normalizeCheckbox($validatedData, 'hide_description'); 305 312 306 313 if ($validator->hasErrors()) { -
slope-widgets/tags/4.3.3/includes/admin/WelcomePage.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Admin; 2 5 3 6 class WelcomePage -
slope-widgets/tags/4.3.3/includes/enums/AbstractEnum.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 /** -
slope-widgets/tags/4.3.3/includes/enums/CardLayout.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 final class CardLayout extends AbstractEnum -
slope-widgets/tags/4.3.3/includes/enums/FontWeight.php
r2714664 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 /** -
slope-widgets/tags/4.3.3/includes/enums/TextAlignment.php
r2714664 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 /** -
slope-widgets/tags/4.3.3/includes/helpers/LanguageResolver.php
r3289147 r3385288 1 1 <?php 2 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Helpers; 3 5 4 6 class LanguageResolver -
slope-widgets/tags/4.3.3/includes/pages/global-settings/partials/form.php
r3294812 r3385288 1 1 <?php 2 use SlopeWidgets\Settings\GlobalSettingsProvider; 3 2 4 $uuid = GlobalSettingsProvider::getEstablishmentId(); 3 5 $openLinksOnANewTabAttribute = GlobalSettingsProvider::shouldOpenLinksOnANewTab() ? ' checked="checked" ' : ''; -
slope-widgets/tags/4.3.3/includes/pages/promotions/partials/layout-section.php
r3294812 r3385288 1 1 <?php 2 use SlopeWidgets\Settings\PromotionsSettingsProvider; 3 use SlopeWidgets\Enums\CardLayout; 4 2 5 $promotionsPerRow = PromotionsSettingsProvider::getNumberOfPromotionsPerRow(); 3 6 ?> -
slope-widgets/tags/4.3.3/includes/pages/promotions/partials/style-section.php
r3289147 r3385288 1 1 <?php 2 use SlopeWidgets\Settings\PromotionsSettingsProvider; 3 use SlopeWidgets\Enums\FontWeight; 4 use SlopeWidgets\Enums\TextAlignment; 5 2 6 $borderRadius = PromotionsSettingsProvider::getCardBorderRadius(); 3 7 $radiusOptions = [0, 4, 8, 12, 16, 24]; -
slope-widgets/tags/4.3.3/includes/settings/GlobalSettingsProvider.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Settings; 2 5 3 6 final class GlobalSettingsProvider -
slope-widgets/tags/4.3.3/includes/settings/LegacyPromotionsSettingProvider.php
r3289147 r3385288 1 1 <?php 2 3 namespace SlopeWidgets\Settings; 4 5 use SlopeWidgets\Enums\FontWeight; 6 use SlopeWidgets\Enums\TextAlignment; 2 7 3 8 /** -
slope-widgets/tags/4.3.3/includes/settings/PromotionsSettingsProvider.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Settings; 5 6 use SlopeWidgets\Enums\CardLayout; 7 use SlopeWidgets\Enums\FontWeight; 8 use SlopeWidgets\Enums\TextAlignment; 2 9 3 10 /** … … 53 60 public static function getCardBorderRadius(): int 54 61 { 55 return self::get('container_border_radius', self::DEFAULT_CARD_BORDER_RADIUS);62 return (int) self::get('container_border_radius', self::DEFAULT_CARD_BORDER_RADIUS); 56 63 } 57 64 … … 83 90 public static function getTitleSize(): int 84 91 { 85 return self::get('title_size', self::DEFAULT_TITLE_SIZE);92 return (int) self::get('title_size', self::DEFAULT_TITLE_SIZE); 86 93 } 87 94 88 95 public static function getDescriptionFontSize(): int 89 96 { 90 return self::get('description_font_size', self::DEFAULT_DESCRIPTION_SIZE);97 return (int) self::get('description_font_size', self::DEFAULT_DESCRIPTION_SIZE); 91 98 } 92 99 … … 103 110 public static function getNumberOfPromotionsPerRow(): int 104 111 { 105 return self::get('number_of_promotions_per_row', self::DEFAULT_PROMOTIONS_PER_ROW);112 return (int) self::get('number_of_promotions_per_row', self::DEFAULT_PROMOTIONS_PER_ROW); 106 113 } 107 114 108 115 public static function getDescriptionMaxRows(): int 109 116 { 110 return self::get('description_max_rows', self::DEFAULT_DESCRIPTION_MAX_ROWS);117 return (int) self::get('description_max_rows', self::DEFAULT_DESCRIPTION_MAX_ROWS); 111 118 } 112 119 -
slope-widgets/tags/4.3.3/includes/settings/ReservationsSettingsProvider.php
r3289147 r3385288 1 1 <?php 2 3 namespace SlopeWidgets\Settings; 2 4 3 5 final class ReservationsSettingsProvider … … 7 9 const DEFAULT_MINIMUM_SUGGESTED_STAY = '1'; 8 10 const DEFAULT_MAXIMUM_AGE_FOR_CHILDREN = '13'; 11 const DEFAULT_MINIMUM_AGE_FOR_CHILDREN = '0'; 9 12 const DEFAULT_CALL_TO_ACTION_BUTTON_ITALIAN_LABEL = 'Prenota ora'; 10 13 const DEFAULT_CALL_TO_ACTION_BUTTON_ENGLISH_LABEL = 'Book now'; … … 42 45 { 43 46 return self::get('children_age_max', self::DEFAULT_MAXIMUM_AGE_FOR_CHILDREN); 47 } 48 49 public static function getMinimumAgeForChildren() 50 { 51 return self::get('children_age_min', self::DEFAULT_MINIMUM_AGE_FOR_CHILDREN); 44 52 } 45 53 -
slope-widgets/tags/4.3.3/js/slope-widgets.js
r3289147 r3385288 7 7 slopeDateRangePicker.create(".slope-check-in-input", ".slope-check-out-input", widget, index, $).init($); 8 8 new SlopeGuestsWrapper($(widget).find(".slope-guests-wrapper")).init($); 9 }); //Border_radius card Promotions 10 11 var slopeWidgetBorderRadius = $("#slope-widgets-config").data("range_button"); 12 13 if (slopeWidgetBorderRadius != "") { 14 $(".slp-column").css("border-radius:", slopeWidgetBorderRadius); 15 } //Title size Promotions 16 17 18 var slopeWidgetTitleSize = $("#slope-widgets-config").data("title_size"); 19 20 if (slopeWidgetTitleSize != "") { 21 $("p.slp-column").css("font-size:", slopeWidgetTitleSize); 22 } 9 }); 23 10 }); // Packages and promotions 24 11 -
slope-widgets/tags/4.3.3/languages/slope-widgets-en_US.po
r3289147 r3385288 2 2 msgstr "" 3 3 "Project-Id-Version: Slope Widgets\n" 4 "POT-Creation-Date: 2025- 04-28 14:11+0200\n"5 "PO-Revision-Date: 2025- 04-28 14:11+0200\n"4 "POT-Creation-Date: 2025-10-17 16:17+0200\n" 5 "PO-Revision-Date: 2025-10-17 16:17+0200\n" 6 6 "Last-Translator: \n" 7 7 "Language-Team: \n" … … 11 11 "Content-Transfer-Encoding: 8bit\n" 12 12 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 "X-Generator: Poedit 3. 6\n"13 "X-Generator: Poedit 3.8\n" 14 14 "X-Poedit-Basepath: ..\n" 15 15 "X-Poedit-WPHeader: slope-widgets.php\n" 16 16 "X-Poedit-SourceCharset: UTF-8\n" 17 "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" 18 "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" 19 "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" 17 "X-Poedit-KeywordsList: " 18 "__;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n" 20 19 "X-Poedit-SearchPath-0: .\n" 21 20 "X-Poedit-SearchPathExcluded-0: *.js\n" 22 21 23 #: includes/admin/GlobalSettings.php:2 022 #: includes/admin/GlobalSettings.php:24 24 23 msgid "Impostazioni di Slope Widgets" 25 24 msgstr "Slope Widgets Settings" 26 25 27 #: includes/admin/GlobalSettings.php: 6626 #: includes/admin/GlobalSettings.php:74 28 27 msgid "L'ID Struttura non è valido." 29 28 msgstr "Invalid Establishment ID." 30 29 31 #: includes/admin/Promotions.php: 7830 #: includes/admin/Promotions.php:93 32 31 msgid "Id Struttura non impostato" 33 32 msgstr "Establishment ID not setted" 34 33 35 #: includes/admin/Promotions.php: 18934 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392 36 35 msgid "Una delle proprietà non è valida, controllare i valori e riprovare" 37 36 msgstr "One of the properties is invalid, check the values and try again" 38 37 39 38 #: includes/pages/global-settings/index.php:14 40 #: includes/pages/promotions/index.php:35 slope-promotions-legacy.php:26241 #: slope-reservations.php:3439 #: includes/pages/promotions/index.php:35 40 #: includes/pages/reservations/index.php:21 slope-promotions-legacy.php:268 42 41 msgid "Salva modifiche" 43 42 msgstr "Save Changes" 44 43 45 #: includes/pages/global-settings/partials/form.php: 844 #: includes/pages/global-settings/partials/form.php:10 46 45 msgid "" 47 46 "Slope Widgets funziona con gli shortcode. Se non sai cosa sono e come " … … 51 50 "how they work, check out the" 52 51 53 #: includes/pages/global-settings/partials/form.php: 852 #: includes/pages/global-settings/partials/form.php:10 54 53 msgid "documentazione" 55 54 msgstr "documentation" 56 55 57 #: includes/pages/global-settings/partials/form.php: 856 #: includes/pages/global-settings/partials/form.php:10 58 57 msgid "di WordPress." 59 58 msgstr "of WordPress." 60 59 61 #: includes/pages/global-settings/partials/form.php:1 160 #: includes/pages/global-settings/partials/form.php:13 62 61 msgid "" 63 62 "Se il sito web della tua struttura è multilingua e preferisci mostrare il " … … 71 70 "pages." 72 71 73 #: includes/pages/global-settings/partials/form.php:1 472 #: includes/pages/global-settings/partials/form.php:16 74 73 msgid "" 75 74 "Le lingue supportate dalla barra delle prenotazioni sono italiano, inglese, " … … 79 78 "German (it, en, fr, de)." 80 79 81 #: includes/pages/global-settings/partials/form.php:1 780 #: includes/pages/global-settings/partials/form.php:19 82 81 msgid "Shortcode supportati:" 83 82 msgstr "Supported shortcodes:" 84 83 85 #: includes/pages/global-settings/partials/form.php:2 084 #: includes/pages/global-settings/partials/form.php:22 86 85 msgid "" 87 86 "mostra widget e booking engine in base alla lingua del browser del " … … 91 90 "English if the language is not supported." 92 91 93 #: includes/pages/global-settings/partials/form.php:2 192 #: includes/pages/global-settings/partials/form.php:23 94 93 msgid "mostra widget e booking engine sempre in inglese." 95 94 msgstr "shows widget and booking engine always in English." 96 95 97 #: includes/pages/global-settings/partials/form.php:2 296 #: includes/pages/global-settings/partials/form.php:24 98 97 msgid "mostra widget e booking engine sempre in italiano." 99 98 msgstr "shows widget and booking engine always in Italian." 100 99 101 #: includes/pages/global-settings/partials/form.php:2 3100 #: includes/pages/global-settings/partials/form.php:25 102 101 msgid "mostra widget e booking engine sempre in francese." 103 102 msgstr "shows widget and booking engine always in French." 104 103 105 #: includes/pages/global-settings/partials/form.php:2 4104 #: includes/pages/global-settings/partials/form.php:26 106 105 msgid "mostra widget e booking engine sempre in tedesco." 107 106 msgstr "shows widget and booking engine always in German." 108 107 109 #: includes/pages/global-settings/partials/form.php:2 5108 #: includes/pages/global-settings/partials/form.php:27 110 109 msgid "" 111 110 "mostra le promozioni in base alla lingua del browser del visitatore, o in " … … 115 114 "English if the language is not supported." 116 115 117 #: includes/pages/global-settings/partials/form.php:2 6116 #: includes/pages/global-settings/partials/form.php:28 118 117 msgid "mostra le promozioni sempre in inglese." 119 118 msgstr "displays promotions always in English." 120 119 121 #: includes/pages/global-settings/partials/form.php:2 7120 #: includes/pages/global-settings/partials/form.php:29 122 121 msgid "mostra le promozioni sempre in italiano." 123 122 msgstr "displays promotions always in Italian." 124 123 125 #: includes/pages/global-settings/partials/form.php: 28124 #: includes/pages/global-settings/partials/form.php:30 126 125 msgid "mostra le promozioni sempre in francese." 127 126 msgstr "displays promotions always in French." 128 127 129 #: includes/pages/global-settings/partials/form.php: 29128 #: includes/pages/global-settings/partials/form.php:31 130 129 msgid "mostra le promozioni sempre in tedesco." 131 130 msgstr "displays promotions always in German." 132 131 133 #: includes/pages/global-settings/partials/form.php:3 5132 #: includes/pages/global-settings/partials/form.php:37 134 133 msgid "Impostazioni Generali" 135 134 msgstr "Settings" 136 135 137 #: includes/pages/global-settings/partials/form.php: 38136 #: includes/pages/global-settings/partials/form.php:40 138 137 msgid "ID Struttura Slope" 139 138 msgstr "Slope Structure ID" 140 139 141 #: includes/pages/global-settings/partials/form.php:4 4140 #: includes/pages/global-settings/partials/form.php:46 142 141 msgid "Inserisci qui l'identificativo della tua struttura" 143 142 msgstr "Please enter your structure ID here" 144 143 145 #: includes/pages/global-settings/partials/form.php:4 6144 #: includes/pages/global-settings/partials/form.php:48 146 145 msgid "Hai acquistato Slope ma non hai ancora l'ID?" 147 146 msgstr "Did you buy Slope but didn’t receive the ID?" 148 147 149 #: includes/pages/global-settings/partials/form.php:4 7148 #: includes/pages/global-settings/partials/form.php:49 150 149 msgid "Richiesta ID Struttura da Slope Widgets WP Plugin" 151 150 msgstr "Hotel UUID Request from Slope Widgets WP Plugin" 152 151 153 #: includes/pages/global-settings/partials/form.php: 48152 #: includes/pages/global-settings/partials/form.php:50 154 153 msgid "Richiedilo ora" 155 154 msgstr "Ask for it now" 156 155 157 #: includes/pages/global-settings/partials/form.php:5 3156 #: includes/pages/global-settings/partials/form.php:55 158 157 msgid "Apri il booking engine in una nuova scheda" 159 158 msgstr "Open the Booking Engine in a new tab" 160 159 161 #: includes/pages/global-settings/partials/form.php: 58160 #: includes/pages/global-settings/partials/form.php:64 162 161 msgid "" 163 162 "Selezionando questa casella, il booking engine verrà aperto in una nuova " … … 170 169 msgstr "Customize the new Slope promotions widget. Use the " 171 170 172 #: includes/pages/promotions/index.php:12 slope-promotions-legacy.php:25173 #: slope-reservations.php:21171 #: includes/pages/promotions/index.php:12 172 #: includes/pages/reservations/index.php:8 slope-promotions-legacy.php:31 174 173 msgid "per inserirlo dove vuoi!" 175 174 msgstr "to insert it into pages!" 176 175 177 #: includes/pages/promotions/index.php:16 slope-promotions-legacy.php:27178 #: slope-reservations.php:24176 #: includes/pages/promotions/index.php:16 177 #: includes/pages/reservations/index.php:11 slope-promotions-legacy.php:33 179 178 msgid "Per modificare il tuo ID struttura " 180 179 msgstr "To change your structure ID " 181 180 182 #: includes/pages/promotions/index.php:17 slope-promotions-legacy.php:27183 #: slope-reservations.php:25181 #: includes/pages/promotions/index.php:17 182 #: includes/pages/reservations/index.php:12 slope-promotions-legacy.php:33 184 183 msgid "clicca qui" 185 184 msgstr "click here" 186 185 187 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:25 2186 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:258 188 187 msgid "Stile" 189 188 msgstr "Style" 190 189 191 190 #: includes/pages/promotions/index.php:28 192 #: includes/pages/promotions/partials/layout-section.php:1 1193 #: slope-promotions-legacy.php:2 55191 #: includes/pages/promotions/partials/layout-section.php:14 192 #: slope-promotions-legacy.php:261 194 193 msgid "Layout" 195 194 msgstr "Layout" 196 195 197 #: includes/pages/promotions/partials/layout-section.php:1 6196 #: includes/pages/promotions/partials/layout-section.php:19 198 197 msgid "Orientamento scheda" 199 198 msgstr "Card orientation" 200 199 201 #: includes/pages/promotions/partials/layout-section.php:2 3200 #: includes/pages/promotions/partials/layout-section.php:26 202 201 msgid "Orizzontale" 203 202 msgstr "Horizontal" 204 203 205 #: includes/pages/promotions/partials/layout-section.php:2 4204 #: includes/pages/promotions/partials/layout-section.php:27 206 205 msgid "Verticale" 207 206 msgstr "Vertical" 208 207 209 #: includes/pages/promotions/partials/layout-section.php: 39208 #: includes/pages/promotions/partials/layout-section.php:42 210 209 msgid "Numero di promozioni per riga" 211 210 msgstr "Number of promotions per line" 212 211 213 #: includes/pages/promotions/partials/layout-section.php:7 0212 #: includes/pages/promotions/partials/layout-section.php:78 214 213 msgid "" 215 214 "Specifica il numero di promozioni massime da mostrare in ogni riga in schermi " … … 221 220 "columns per row." 222 221 223 #: includes/pages/promotions/partials/layout-section.php: 82222 #: includes/pages/promotions/partials/layout-section.php:90 224 223 msgid "Descrizioni" 225 224 msgstr "Descriptions" 226 225 227 #: includes/pages/promotions/partials/layout-section.php: 87228 #: slope-promotions-legacy.php:4 0226 #: includes/pages/promotions/partials/layout-section.php:95 227 #: slope-promotions-legacy.php:46 229 228 msgid "Nascondi descrizione delle promozioni" 230 229 msgstr "Hide promotions description" 231 230 232 #: includes/pages/promotions/partials/layout-section.php: 96231 #: includes/pages/promotions/partials/layout-section.php:105 233 232 msgid "Massimo di righe per la descrizione delle promozioni" 234 233 msgstr "Maximum number of lines for promotion description" 235 234 236 #: includes/pages/promotions/partials/promotionsList.ajax.php: 8235 #: includes/pages/promotions/partials/promotionsList.ajax.php:10 237 236 msgid "Non sono presenti promozioni disponibili." 238 237 msgstr "No promotions available." 239 238 240 #: includes/pages/promotions/partials/style-section.php:1 3241 #: slope-promotions-legacy.php:1 45239 #: includes/pages/promotions/partials/style-section.php:17 240 #: slope-promotions-legacy.php:151 242 241 msgid "Sinistra" 243 242 msgstr "Left" 244 243 245 #: includes/pages/promotions/partials/style-section.php:1 4246 #: slope-promotions-legacy.php:1 46244 #: includes/pages/promotions/partials/style-section.php:18 245 #: slope-promotions-legacy.php:152 247 246 msgid "Centro" 248 247 msgstr "Center" 249 248 250 #: includes/pages/promotions/partials/style-section.php:1 5251 #: slope-promotions-legacy.php:1 47249 #: includes/pages/promotions/partials/style-section.php:19 250 #: slope-promotions-legacy.php:153 252 251 msgid "Destra" 253 252 msgstr "Right" 254 253 255 #: includes/pages/promotions/partials/style-section.php:2 0256 #: slope-promotions-legacy.php:1 24 slope-promotions-legacy.php:184254 #: includes/pages/promotions/partials/style-section.php:24 255 #: slope-promotions-legacy.php:130 slope-promotions-legacy.php:190 257 256 msgid "Leggero" 258 257 msgstr "Light" 259 258 260 #: includes/pages/promotions/partials/style-section.php:2 1261 #: slope-promotions-legacy.php:1 25 slope-promotions-legacy.php:185259 #: includes/pages/promotions/partials/style-section.php:25 260 #: slope-promotions-legacy.php:131 slope-promotions-legacy.php:191 262 261 msgid "Normale" 263 262 msgstr "Regular" 264 263 265 #: includes/pages/promotions/partials/style-section.php:2 2266 #: slope-promotions-legacy.php:1 26 slope-promotions-legacy.php:186264 #: includes/pages/promotions/partials/style-section.php:26 265 #: slope-promotions-legacy.php:132 slope-promotions-legacy.php:192 267 266 msgid "Medio" 268 267 msgstr "Medium" 269 268 270 #: includes/pages/promotions/partials/style-section.php:2 3271 #: slope-promotions-legacy.php:1 27 slope-promotions-legacy.php:187269 #: includes/pages/promotions/partials/style-section.php:27 270 #: slope-promotions-legacy.php:133 slope-promotions-legacy.php:193 272 271 msgid "Grassetto Leggero" 273 272 msgstr "Semi-Bold" 274 273 275 #: includes/pages/promotions/partials/style-section.php:2 4276 #: slope-promotions-legacy.php:1 28 slope-promotions-legacy.php:188274 #: includes/pages/promotions/partials/style-section.php:28 275 #: slope-promotions-legacy.php:134 slope-promotions-legacy.php:194 277 276 msgid "Grassetto" 278 277 msgstr "Bold" 279 278 280 #: includes/pages/promotions/partials/style-section.php: 38279 #: includes/pages/promotions/partials/style-section.php:42 281 280 msgid "Contenitore" 282 281 msgstr "Container" 283 282 284 #: includes/pages/promotions/partials/style-section.php:4 3285 #: slope-promotions-legacy.php: 65283 #: includes/pages/promotions/partials/style-section.php:47 284 #: slope-promotions-legacy.php:71 286 285 msgid "Colore dello sfondo" 287 286 msgstr "Background color" 288 287 289 #: includes/pages/promotions/partials/style-section.php:5 1290 #: slope-promotions-legacy.php:9 2288 #: includes/pages/promotions/partials/style-section.php:55 289 #: slope-promotions-legacy.php:98 291 290 msgid "Raggio dei bordi" 292 291 msgstr "Border radius" 293 292 294 #: includes/pages/promotions/partials/style-section.php: 67293 #: includes/pages/promotions/partials/style-section.php:71 295 294 msgid "" 296 295 "Seleziona il raggio di arrotondamento degli angoli delle schede promozioni. " … … 300 299 "radius, the more rounded the corners will be." 301 300 302 #: includes/pages/promotions/partials/style-section.php: 78301 #: includes/pages/promotions/partials/style-section.php:82 303 302 msgid "Titolo" 304 303 msgstr "Title" 305 304 306 #: includes/pages/promotions/partials/style-section.php:8 4307 #: includes/pages/promotions/partials/style-section.php:1 59308 #: includes/pages/promotions/partials/style-section.php:24 3309 #: includes/ sections/slope-reservations/settings-section.php:67310 #: slope-promotions-legacy.php:1 04 slope-promotions-legacy.php:174311 #: slope-promotions-legacy.php:2 06305 #: includes/pages/promotions/partials/style-section.php:88 306 #: includes/pages/promotions/partials/style-section.php:163 307 #: includes/pages/promotions/partials/style-section.php:249 308 #: includes/pages/reservations/partials/form.php:68 309 #: slope-promotions-legacy.php:110 slope-promotions-legacy.php:180 310 #: slope-promotions-legacy.php:212 312 311 msgid "Colore del testo" 313 312 msgstr "Text color" 314 313 315 #: includes/pages/promotions/partials/style-section.php:9 4316 #: includes/pages/promotions/partials/style-section.php:1 69317 #: slope-promotions-legacy.php:11 3314 #: includes/pages/promotions/partials/style-section.php:98 315 #: includes/pages/promotions/partials/style-section.php:173 316 #: slope-promotions-legacy.php:119 318 317 msgid "Dimensione del testo" 319 318 msgstr "Text size" 320 319 321 #: includes/pages/promotions/partials/style-section.php:11 1322 #: includes/pages/promotions/partials/style-section.php:1 86323 #: includes/pages/promotions/partials/style-section.php:25 3320 #: includes/pages/promotions/partials/style-section.php:115 321 #: includes/pages/promotions/partials/style-section.php:190 322 #: includes/pages/promotions/partials/style-section.php:259 324 323 msgid "Peso del testo" 325 324 msgstr "Text weight" 326 325 327 #: includes/pages/promotions/partials/style-section.php:1 29326 #: includes/pages/promotions/partials/style-section.php:133 328 327 msgid "Allineamento del titolo" 329 328 msgstr "Title alignment" 330 329 331 #: includes/pages/promotions/partials/style-section.php:15 2330 #: includes/pages/promotions/partials/style-section.php:156 332 331 msgid "Descrizione" 333 332 msgstr "Description" 334 333 335 #: includes/pages/promotions/partials/style-section.php:20 4336 #: slope-promotions-legacy.php:1 49334 #: includes/pages/promotions/partials/style-section.php:208 335 #: slope-promotions-legacy.php:155 337 336 msgid "Allineamento del testo" 338 337 msgstr "Text alignment" 339 338 340 #: includes/pages/promotions/partials/style-section.php:2 25341 #: includes/ sections/slope-reservations/settings-section.php:20339 #: includes/pages/promotions/partials/style-section.php:231 340 #: includes/pages/reservations/partials/form.php:21 342 341 msgid "Pulsante" 343 342 msgstr "Button" 344 343 345 #: includes/pages/promotions/partials/style-section.php:23 2346 #: includes/ sections/slope-reservations/settings-section.php:58347 #: slope-promotions-legacy.php:1 65344 #: includes/pages/promotions/partials/style-section.php:238 345 #: includes/pages/reservations/partials/form.php:59 346 #: slope-promotions-legacy.php:171 348 347 msgid "Colore di sfondo" 349 348 msgstr "Background color" 349 350 #: includes/pages/reservations/index.php:6 351 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 352 msgstr "Customize the Slope reservations widget. Use the " 353 354 #: includes/pages/reservations/partials/form.php:24 355 msgid "Testo del pulsante in italiano" 356 msgstr "Button label in Italian" 357 358 #: includes/pages/reservations/partials/form.php:27 359 msgid "Es: Prenota" 360 msgstr "Eg: Prenota" 361 362 #: includes/pages/reservations/partials/form.php:30 363 msgid "Testo del pulsante in inglese" 364 msgstr "Button label in English" 365 366 #: includes/pages/reservations/partials/form.php:32 367 msgid "Es: Book now" 368 msgstr "Eg: Book now" 369 370 #: includes/pages/reservations/partials/form.php:35 371 msgid "Testo del pulsante in francese" 372 msgstr "Button label in French" 373 374 #: includes/pages/reservations/partials/form.php:37 375 msgid "Es: Réserver" 376 msgstr "Eg: Réserver" 377 378 #: includes/pages/reservations/partials/form.php:40 379 msgid "Testo del pulsante in tedesco" 380 msgstr "Button label in German" 381 382 #: includes/pages/reservations/partials/form.php:42 383 msgid "Es: Buchen" 384 msgstr "Eg: Buchen" 385 386 #: includes/pages/reservations/partials/form.php:45 387 msgid "Testo del pulsante in grassetto" 388 msgstr "Bold button text" 389 390 #: includes/pages/reservations/partials/form.php:54 391 msgid "Aspetto" 392 msgstr "Style" 393 394 #: includes/pages/reservations/partials/form.php:74 395 msgid "Mostra selezione bambini" 396 msgstr "Show children select field" 397 398 #: includes/pages/reservations/partials/form.php:79 399 msgid "Visualizza il widget su due righe" 400 msgstr "Display the widget on two rows" 401 402 #: includes/pages/reservations/partials/form.php:90 403 msgid "Filtri" 404 msgstr "Filters" 405 406 #: includes/pages/reservations/partials/form.php:93 407 msgid "Età minima dei bambini (in anni)" 408 msgstr "Minimum children age (years)" 409 410 #: includes/pages/reservations/partials/form.php:95 411 msgid "Es: 0" 412 msgstr "Eg: 0" 413 414 #: includes/pages/reservations/partials/form.php:98 415 msgid "Età massima dei bambini (in anni)" 416 msgstr "Maximum children age (years)" 417 418 #: includes/pages/reservations/partials/form.php:100 419 msgid "Es: 12" 420 msgstr "Eg: 12" 421 422 #: includes/pages/reservations/partials/form.php:103 423 msgid "Soggiorno minimo suggerito" 424 msgstr "Minimum stay suggested" 425 426 #: includes/pages/reservations/partials/form.php:105 427 msgid "Es: 3" 428 msgstr "Eg: 3" 350 429 351 430 #: includes/pages/welcome/index.php:6 … … 404 483 msgstr "Submit" 405 484 406 #: includes/sections/slope-reservations/settings-section.php:23 407 msgid "Testo del pulsante in italiano" 408 msgstr "Button label in Italian" 409 410 #: includes/sections/slope-reservations/settings-section.php:26 411 msgid "Es: Prenota" 412 msgstr "Eg: Prenota" 413 414 #: includes/sections/slope-reservations/settings-section.php:29 415 msgid "Testo del pulsante in inglese" 416 msgstr "Button label in English" 417 418 #: includes/sections/slope-reservations/settings-section.php:31 419 msgid "Es: Book now" 420 msgstr "Eg: Book now" 421 422 #: includes/sections/slope-reservations/settings-section.php:34 423 msgid "Testo del pulsante in francese" 424 msgstr "Button label in French" 425 426 #: includes/sections/slope-reservations/settings-section.php:36 427 msgid "Es: Réserver" 428 msgstr "Eg: Réserver" 429 430 #: includes/sections/slope-reservations/settings-section.php:39 431 msgid "Testo del pulsante in tedesco" 432 msgstr "Button label in German" 433 434 #: includes/sections/slope-reservations/settings-section.php:41 435 msgid "Es: Buchen" 436 msgstr "Eg: Buchen" 437 438 #: includes/sections/slope-reservations/settings-section.php:44 439 msgid "Testo del pulsante in grassetto" 440 msgstr "Bold button text" 441 442 #: includes/sections/slope-reservations/settings-section.php:53 443 msgid "Aspetto" 444 msgstr "Style" 445 446 #: includes/sections/slope-reservations/settings-section.php:73 447 msgid "Mostra selezione bambini" 448 msgstr "Show children select field" 449 450 #: includes/sections/slope-reservations/settings-section.php:78 451 msgid "Visualizza il widget su due righe" 452 msgstr "Display the widget on two rows" 453 454 #: includes/sections/slope-reservations/settings-section.php:89 455 msgid "Filtri" 456 msgstr "Filters" 457 458 #: includes/sections/slope-reservations/settings-section.php:92 459 msgid "Età massima dei bambini (in anni)" 460 msgstr "Maximum children age (years)" 461 462 #: includes/sections/slope-reservations/settings-section.php:94 463 msgid "Es: 12" 464 msgstr "Eg: 12" 465 466 #: includes/sections/slope-reservations/settings-section.php:97 467 msgid "Soggiorno minimo suggerito" 468 msgstr "Minimum stay suggested" 469 470 #: includes/sections/slope-reservations/settings-section.php:99 471 msgid "Es: 3" 472 msgstr "Eg: 3" 473 474 #: slope-promotions-legacy.php:20 485 #: slope-promotions-legacy.php:26 475 486 msgid "" 476 487 "Attenzione: Questo widget per le promozioni verrà sostituito in una versione " … … 481 492 "recommend using the new Slope promotions widget." 482 493 483 #: slope-promotions-legacy.php: 25494 #: slope-promotions-legacy.php:31 484 495 msgid "Personalizza il widget delle promozioni di Slope. Usa lo " 485 496 msgstr "Customize the Slope promotions widget. Just use " 486 497 487 #: slope-promotions-legacy.php:3 1498 #: slope-promotions-legacy.php:37 488 499 msgid "ID struttura" 489 500 msgstr "Hotel ID" 490 501 491 #: slope-promotions-legacy.php:3 3502 #: slope-promotions-legacy.php:39 492 503 msgid "Il tuo Slope ID" 493 504 msgstr "Your Slope hotel ID" 494 505 495 #: slope-promotions-legacy.php: 49506 #: slope-promotions-legacy.php:55 496 507 msgid "Nascondi informazioni delle promozioni" 497 508 msgstr "Hide promotions information" 498 509 499 #: slope-promotions-legacy.php:6 3510 #: slope-promotions-legacy.php:69 500 511 msgid "SCHEDA" 501 512 msgstr "CARD" 502 513 503 #: slope-promotions-legacy.php: 74514 #: slope-promotions-legacy.php:80 504 515 msgid "Spessore dei bordi" 505 516 msgstr "Border size" 506 517 507 #: slope-promotions-legacy.php:8 3518 #: slope-promotions-legacy.php:89 508 519 msgid "Colore dei bordi" 509 520 msgstr "Border color" 510 521 511 #: slope-promotions-legacy.php:10 2522 #: slope-promotions-legacy.php:108 512 523 msgid "TITOLO" 513 524 msgstr "TITLE" 514 525 515 #: slope-promotions-legacy.php:13 0 slope-promotions-legacy.php:190526 #: slope-promotions-legacy.php:136 slope-promotions-legacy.php:196 516 527 msgid "Peso del font" 517 528 msgstr "Font weight" 518 529 519 #: slope-promotions-legacy.php:16 3530 #: slope-promotions-legacy.php:169 520 531 msgid "PULSANTE" 521 532 msgstr "BUTTON" 522 533 523 #: slope-promotions-legacy.php:2 04534 #: slope-promotions-legacy.php:210 524 535 msgid "TESTO" 525 536 msgstr "TEXT" 526 537 527 #: slope-promotions-legacy.php:2 25538 #: slope-promotions-legacy.php:231 528 539 msgid "Numero di schede da mostrare per riga" 529 540 msgstr "Cards to show in a row" 530 541 531 #: slope-promotions-legacy.php:2 49542 #: slope-promotions-legacy.php:255 532 543 msgid "Impostazioni" 533 544 msgstr "Settings" 534 545 535 #: slope-reservations.php:19 536 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 537 msgstr "Customize the Slope reservations widget. Use the " 538 539 #: slope-widgets.php:212 546 #: slope-widgets.php:196 540 547 msgid "Settings" 541 548 msgstr "Settings" -
slope-widgets/tags/4.3.3/languages/slope-widgets.pot
r3289147 r3385288 3 3 msgstr "" 4 4 "Project-Id-Version: Slope Widgets\n" 5 "POT-Creation-Date: 2025- 04-28 14:11+0200\n"5 "POT-Creation-Date: 2025-10-17 16:17+0200\n" 6 6 "PO-Revision-Date: 2018-01-04 14:50+0100\n" 7 7 "Last-Translator: \n" … … 11 11 "Content-Transfer-Encoding: 8bit\n" 12 12 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" 13 "X-Generator: Poedit 3. 6\n"13 "X-Generator: Poedit 3.8\n" 14 14 "X-Poedit-Basepath: ..\n" 15 15 "X-Poedit-WPHeader: slope-widgets.php\n" … … 19 19 "X-Poedit-SearchPathExcluded-0: *.js\n" 20 20 21 #: includes/admin/GlobalSettings.php:2 021 #: includes/admin/GlobalSettings.php:24 22 22 msgid "Impostazioni di Slope Widgets" 23 23 msgstr "" 24 24 25 #: includes/admin/GlobalSettings.php: 6625 #: includes/admin/GlobalSettings.php:74 26 26 msgid "L'ID Struttura non è valido." 27 27 msgstr "" 28 28 29 #: includes/admin/Promotions.php: 7829 #: includes/admin/Promotions.php:93 30 30 msgid "Id Struttura non impostato" 31 31 msgstr "" 32 32 33 #: includes/admin/Promotions.php: 18933 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392 34 34 msgid "Una delle proprietà non è valida, controllare i valori e riprovare" 35 35 msgstr "" 36 36 37 37 #: includes/pages/global-settings/index.php:14 38 #: includes/pages/promotions/index.php:35 slope-promotions-legacy.php:26239 #: slope-reservations.php:3438 #: includes/pages/promotions/index.php:35 39 #: includes/pages/reservations/index.php:21 slope-promotions-legacy.php:268 40 40 msgid "Salva modifiche" 41 41 msgstr "" 42 42 43 #: includes/pages/global-settings/partials/form.php: 843 #: includes/pages/global-settings/partials/form.php:10 44 44 msgid "Slope Widgets funziona con gli shortcode. Se non sai cosa sono e come funzionano, consulta la" 45 45 msgstr "" 46 46 47 #: includes/pages/global-settings/partials/form.php: 847 #: includes/pages/global-settings/partials/form.php:10 48 48 msgid "documentazione" 49 49 msgstr "" 50 50 51 #: includes/pages/global-settings/partials/form.php: 851 #: includes/pages/global-settings/partials/form.php:10 52 52 msgid "di WordPress." 53 53 msgstr "" 54 54 55 #: includes/pages/global-settings/partials/form.php:1 155 #: includes/pages/global-settings/partials/form.php:13 56 56 msgid "Se il sito web della tua struttura è multilingua e preferisci mostrare il widget di prenotazione e il booking engine in un'altra lingua, aggiungi il parametro opzionale lang allo shortcode che inserirai nelle pagine del sito tradotte." 57 57 msgstr "" 58 58 59 #: includes/pages/global-settings/partials/form.php:1 459 #: includes/pages/global-settings/partials/form.php:16 60 60 msgid "Le lingue supportate dalla barra delle prenotazioni sono italiano, inglese, francese e tedesco (it, en, fr, de)." 61 61 msgstr "" 62 62 63 #: includes/pages/global-settings/partials/form.php:1 763 #: includes/pages/global-settings/partials/form.php:19 64 64 msgid "Shortcode supportati:" 65 65 msgstr "" 66 66 67 #: includes/pages/global-settings/partials/form.php:2 067 #: includes/pages/global-settings/partials/form.php:22 68 68 msgid "mostra widget e booking engine in base alla lingua del browser del visitatore, o in inglese se la lingua non è supportata." 69 69 msgstr "" 70 70 71 #: includes/pages/global-settings/partials/form.php:2 171 #: includes/pages/global-settings/partials/form.php:23 72 72 msgid "mostra widget e booking engine sempre in inglese." 73 73 msgstr "" 74 74 75 #: includes/pages/global-settings/partials/form.php:2 275 #: includes/pages/global-settings/partials/form.php:24 76 76 msgid "mostra widget e booking engine sempre in italiano." 77 77 msgstr "" 78 78 79 #: includes/pages/global-settings/partials/form.php:2 379 #: includes/pages/global-settings/partials/form.php:25 80 80 msgid "mostra widget e booking engine sempre in francese." 81 81 msgstr "" 82 82 83 #: includes/pages/global-settings/partials/form.php:2 483 #: includes/pages/global-settings/partials/form.php:26 84 84 msgid "mostra widget e booking engine sempre in tedesco." 85 85 msgstr "" 86 86 87 #: includes/pages/global-settings/partials/form.php:2 587 #: includes/pages/global-settings/partials/form.php:27 88 88 msgid "mostra le promozioni in base alla lingua del browser del visitatore, o in inglese se la lingua non è supportata." 89 89 msgstr "" 90 90 91 #: includes/pages/global-settings/partials/form.php:2 691 #: includes/pages/global-settings/partials/form.php:28 92 92 msgid "mostra le promozioni sempre in inglese." 93 93 msgstr "" 94 94 95 #: includes/pages/global-settings/partials/form.php:2 795 #: includes/pages/global-settings/partials/form.php:29 96 96 msgid "mostra le promozioni sempre in italiano." 97 97 msgstr "" 98 98 99 #: includes/pages/global-settings/partials/form.php: 2899 #: includes/pages/global-settings/partials/form.php:30 100 100 msgid "mostra le promozioni sempre in francese." 101 101 msgstr "" 102 102 103 #: includes/pages/global-settings/partials/form.php: 29103 #: includes/pages/global-settings/partials/form.php:31 104 104 msgid "mostra le promozioni sempre in tedesco." 105 105 msgstr "" 106 106 107 #: includes/pages/global-settings/partials/form.php:3 5107 #: includes/pages/global-settings/partials/form.php:37 108 108 msgid "Impostazioni Generali" 109 109 msgstr "" 110 110 111 #: includes/pages/global-settings/partials/form.php: 38111 #: includes/pages/global-settings/partials/form.php:40 112 112 msgid "ID Struttura Slope" 113 113 msgstr "" 114 114 115 #: includes/pages/global-settings/partials/form.php:4 4115 #: includes/pages/global-settings/partials/form.php:46 116 116 msgid "Inserisci qui l'identificativo della tua struttura" 117 117 msgstr "" 118 118 119 #: includes/pages/global-settings/partials/form.php:4 6119 #: includes/pages/global-settings/partials/form.php:48 120 120 msgid "Hai acquistato Slope ma non hai ancora l'ID?" 121 121 msgstr "" 122 122 123 #: includes/pages/global-settings/partials/form.php:4 7123 #: includes/pages/global-settings/partials/form.php:49 124 124 msgid "Richiesta ID Struttura da Slope Widgets WP Plugin" 125 125 msgstr "" 126 126 127 #: includes/pages/global-settings/partials/form.php: 48127 #: includes/pages/global-settings/partials/form.php:50 128 128 msgid "Richiedilo ora" 129 129 msgstr "" 130 130 131 #: includes/pages/global-settings/partials/form.php:5 3131 #: includes/pages/global-settings/partials/form.php:55 132 132 msgid "Apri il booking engine in una nuova scheda" 133 133 msgstr "" 134 134 135 #: includes/pages/global-settings/partials/form.php: 58135 #: includes/pages/global-settings/partials/form.php:64 136 136 msgid "Selezionando questa casella, il booking engine verrà aperto in una nuova scheda del browser." 137 137 msgstr "" … … 141 141 msgstr "" 142 142 143 #: includes/pages/promotions/index.php:12 slope-promotions-legacy.php:25144 #: slope-reservations.php:21143 #: includes/pages/promotions/index.php:12 144 #: includes/pages/reservations/index.php:8 slope-promotions-legacy.php:31 145 145 msgid "per inserirlo dove vuoi!" 146 146 msgstr "" 147 147 148 #: includes/pages/promotions/index.php:16 slope-promotions-legacy.php:27149 #: slope-reservations.php:24148 #: includes/pages/promotions/index.php:16 149 #: includes/pages/reservations/index.php:11 slope-promotions-legacy.php:33 150 150 msgid "Per modificare il tuo ID struttura " 151 151 msgstr "" 152 152 153 #: includes/pages/promotions/index.php:17 slope-promotions-legacy.php:27154 #: slope-reservations.php:25153 #: includes/pages/promotions/index.php:17 154 #: includes/pages/reservations/index.php:12 slope-promotions-legacy.php:33 155 155 msgid "clicca qui" 156 156 msgstr "" 157 157 158 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:25 2158 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:258 159 159 msgid "Stile" 160 160 msgstr "" 161 161 162 162 #: includes/pages/promotions/index.php:28 163 #: includes/pages/promotions/partials/layout-section.php:1 1164 #: slope-promotions-legacy.php:2 55163 #: includes/pages/promotions/partials/layout-section.php:14 164 #: slope-promotions-legacy.php:261 165 165 msgid "Layout" 166 166 msgstr "" 167 167 168 #: includes/pages/promotions/partials/layout-section.php:1 6168 #: includes/pages/promotions/partials/layout-section.php:19 169 169 msgid "Orientamento scheda" 170 170 msgstr "" 171 171 172 #: includes/pages/promotions/partials/layout-section.php:2 3172 #: includes/pages/promotions/partials/layout-section.php:26 173 173 msgid "Orizzontale" 174 174 msgstr "" 175 175 176 #: includes/pages/promotions/partials/layout-section.php:2 4176 #: includes/pages/promotions/partials/layout-section.php:27 177 177 msgid "Verticale" 178 178 msgstr "" 179 179 180 #: includes/pages/promotions/partials/layout-section.php: 39180 #: includes/pages/promotions/partials/layout-section.php:42 181 181 msgid "Numero di promozioni per riga" 182 182 msgstr "" 183 183 184 #: includes/pages/promotions/partials/layout-section.php:7 0184 #: includes/pages/promotions/partials/layout-section.php:78 185 185 msgid "Specifica il numero di promozioni massime da mostrare in ogni riga in schermi più larghi di 1024px. Nel layout orizzontale è possibile selezionare un massimo di 2 colonne ogni riga." 186 186 msgstr "" 187 187 188 #: includes/pages/promotions/partials/layout-section.php: 82188 #: includes/pages/promotions/partials/layout-section.php:90 189 189 msgid "Descrizioni" 190 190 msgstr "" 191 191 192 #: includes/pages/promotions/partials/layout-section.php: 87193 #: slope-promotions-legacy.php:4 0192 #: includes/pages/promotions/partials/layout-section.php:95 193 #: slope-promotions-legacy.php:46 194 194 msgid "Nascondi descrizione delle promozioni" 195 195 msgstr "" 196 196 197 #: includes/pages/promotions/partials/layout-section.php: 96197 #: includes/pages/promotions/partials/layout-section.php:105 198 198 msgid "Massimo di righe per la descrizione delle promozioni" 199 199 msgstr "" 200 200 201 #: includes/pages/promotions/partials/promotionsList.ajax.php: 8201 #: includes/pages/promotions/partials/promotionsList.ajax.php:10 202 202 msgid "Non sono presenti promozioni disponibili." 203 203 msgstr "" 204 204 205 #: includes/pages/promotions/partials/style-section.php:1 3206 #: slope-promotions-legacy.php:1 45205 #: includes/pages/promotions/partials/style-section.php:17 206 #: slope-promotions-legacy.php:151 207 207 msgid "Sinistra" 208 208 msgstr "" 209 209 210 #: includes/pages/promotions/partials/style-section.php:1 4211 #: slope-promotions-legacy.php:1 46210 #: includes/pages/promotions/partials/style-section.php:18 211 #: slope-promotions-legacy.php:152 212 212 msgid "Centro" 213 213 msgstr "" 214 214 215 #: includes/pages/promotions/partials/style-section.php:1 5216 #: slope-promotions-legacy.php:1 47215 #: includes/pages/promotions/partials/style-section.php:19 216 #: slope-promotions-legacy.php:153 217 217 msgid "Destra" 218 218 msgstr "" 219 219 220 #: includes/pages/promotions/partials/style-section.php:2 0221 #: slope-promotions-legacy.php:1 24 slope-promotions-legacy.php:184220 #: includes/pages/promotions/partials/style-section.php:24 221 #: slope-promotions-legacy.php:130 slope-promotions-legacy.php:190 222 222 msgid "Leggero" 223 223 msgstr "" 224 224 225 #: includes/pages/promotions/partials/style-section.php:2 1226 #: slope-promotions-legacy.php:1 25 slope-promotions-legacy.php:185225 #: includes/pages/promotions/partials/style-section.php:25 226 #: slope-promotions-legacy.php:131 slope-promotions-legacy.php:191 227 227 msgid "Normale" 228 228 msgstr "" 229 229 230 #: includes/pages/promotions/partials/style-section.php:2 2231 #: slope-promotions-legacy.php:1 26 slope-promotions-legacy.php:186230 #: includes/pages/promotions/partials/style-section.php:26 231 #: slope-promotions-legacy.php:132 slope-promotions-legacy.php:192 232 232 msgid "Medio" 233 233 msgstr "" 234 234 235 #: includes/pages/promotions/partials/style-section.php:2 3236 #: slope-promotions-legacy.php:1 27 slope-promotions-legacy.php:187235 #: includes/pages/promotions/partials/style-section.php:27 236 #: slope-promotions-legacy.php:133 slope-promotions-legacy.php:193 237 237 msgid "Grassetto Leggero" 238 238 msgstr "" 239 239 240 #: includes/pages/promotions/partials/style-section.php:2 4241 #: slope-promotions-legacy.php:1 28 slope-promotions-legacy.php:188240 #: includes/pages/promotions/partials/style-section.php:28 241 #: slope-promotions-legacy.php:134 slope-promotions-legacy.php:194 242 242 msgid "Grassetto" 243 243 msgstr "" 244 244 245 #: includes/pages/promotions/partials/style-section.php: 38245 #: includes/pages/promotions/partials/style-section.php:42 246 246 msgid "Contenitore" 247 247 msgstr "" 248 248 249 #: includes/pages/promotions/partials/style-section.php:4 3250 #: slope-promotions-legacy.php: 65249 #: includes/pages/promotions/partials/style-section.php:47 250 #: slope-promotions-legacy.php:71 251 251 msgid "Colore dello sfondo" 252 252 msgstr "" 253 253 254 #: includes/pages/promotions/partials/style-section.php:5 1255 #: slope-promotions-legacy.php:9 2254 #: includes/pages/promotions/partials/style-section.php:55 255 #: slope-promotions-legacy.php:98 256 256 msgid "Raggio dei bordi" 257 257 msgstr "" 258 258 259 #: includes/pages/promotions/partials/style-section.php: 67259 #: includes/pages/promotions/partials/style-section.php:71 260 260 msgid "Seleziona il raggio di arrotondamento degli angoli delle schede promozioni. Ad un raggio più alto corrisponde un arrotondamento degli angoli maggiore." 261 261 msgstr "" 262 262 263 #: includes/pages/promotions/partials/style-section.php: 78263 #: includes/pages/promotions/partials/style-section.php:82 264 264 msgid "Titolo" 265 265 msgstr "" 266 266 267 #: includes/pages/promotions/partials/style-section.php:8 4268 #: includes/pages/promotions/partials/style-section.php:1 59269 #: includes/pages/promotions/partials/style-section.php:24 3270 #: includes/ sections/slope-reservations/settings-section.php:67271 #: slope-promotions-legacy.php:1 04 slope-promotions-legacy.php:174272 #: slope-promotions-legacy.php:2 06267 #: includes/pages/promotions/partials/style-section.php:88 268 #: includes/pages/promotions/partials/style-section.php:163 269 #: includes/pages/promotions/partials/style-section.php:249 270 #: includes/pages/reservations/partials/form.php:68 271 #: slope-promotions-legacy.php:110 slope-promotions-legacy.php:180 272 #: slope-promotions-legacy.php:212 273 273 msgid "Colore del testo" 274 274 msgstr "" 275 275 276 #: includes/pages/promotions/partials/style-section.php:9 4277 #: includes/pages/promotions/partials/style-section.php:1 69278 #: slope-promotions-legacy.php:11 3276 #: includes/pages/promotions/partials/style-section.php:98 277 #: includes/pages/promotions/partials/style-section.php:173 278 #: slope-promotions-legacy.php:119 279 279 msgid "Dimensione del testo" 280 280 msgstr "" 281 281 282 #: includes/pages/promotions/partials/style-section.php:11 1283 #: includes/pages/promotions/partials/style-section.php:1 86284 #: includes/pages/promotions/partials/style-section.php:25 3282 #: includes/pages/promotions/partials/style-section.php:115 283 #: includes/pages/promotions/partials/style-section.php:190 284 #: includes/pages/promotions/partials/style-section.php:259 285 285 msgid "Peso del testo" 286 286 msgstr "" 287 287 288 #: includes/pages/promotions/partials/style-section.php:1 29288 #: includes/pages/promotions/partials/style-section.php:133 289 289 msgid "Allineamento del titolo" 290 290 msgstr "" 291 291 292 #: includes/pages/promotions/partials/style-section.php:15 2292 #: includes/pages/promotions/partials/style-section.php:156 293 293 msgid "Descrizione" 294 294 msgstr "" 295 295 296 #: includes/pages/promotions/partials/style-section.php:20 4297 #: slope-promotions-legacy.php:1 49296 #: includes/pages/promotions/partials/style-section.php:208 297 #: slope-promotions-legacy.php:155 298 298 msgid "Allineamento del testo" 299 299 msgstr "" 300 300 301 #: includes/pages/promotions/partials/style-section.php:2 25302 #: includes/ sections/slope-reservations/settings-section.php:20301 #: includes/pages/promotions/partials/style-section.php:231 302 #: includes/pages/reservations/partials/form.php:21 303 303 msgid "Pulsante" 304 304 msgstr "" 305 305 306 #: includes/pages/promotions/partials/style-section.php:23 2307 #: includes/ sections/slope-reservations/settings-section.php:58308 #: slope-promotions-legacy.php:1 65306 #: includes/pages/promotions/partials/style-section.php:238 307 #: includes/pages/reservations/partials/form.php:59 308 #: slope-promotions-legacy.php:171 309 309 msgid "Colore di sfondo" 310 msgstr "" 311 312 #: includes/pages/reservations/index.php:6 313 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 314 msgstr "" 315 316 #: includes/pages/reservations/partials/form.php:24 317 msgid "Testo del pulsante in italiano" 318 msgstr "" 319 320 #: includes/pages/reservations/partials/form.php:27 321 msgid "Es: Prenota" 322 msgstr "" 323 324 #: includes/pages/reservations/partials/form.php:30 325 msgid "Testo del pulsante in inglese" 326 msgstr "" 327 328 #: includes/pages/reservations/partials/form.php:32 329 msgid "Es: Book now" 330 msgstr "" 331 332 #: includes/pages/reservations/partials/form.php:35 333 msgid "Testo del pulsante in francese" 334 msgstr "" 335 336 #: includes/pages/reservations/partials/form.php:37 337 msgid "Es: Réserver" 338 msgstr "" 339 340 #: includes/pages/reservations/partials/form.php:40 341 msgid "Testo del pulsante in tedesco" 342 msgstr "" 343 344 #: includes/pages/reservations/partials/form.php:42 345 msgid "Es: Buchen" 346 msgstr "" 347 348 #: includes/pages/reservations/partials/form.php:45 349 msgid "Testo del pulsante in grassetto" 350 msgstr "" 351 352 #: includes/pages/reservations/partials/form.php:54 353 msgid "Aspetto" 354 msgstr "" 355 356 #: includes/pages/reservations/partials/form.php:74 357 msgid "Mostra selezione bambini" 358 msgstr "" 359 360 #: includes/pages/reservations/partials/form.php:79 361 msgid "Visualizza il widget su due righe" 362 msgstr "" 363 364 #: includes/pages/reservations/partials/form.php:90 365 msgid "Filtri" 366 msgstr "" 367 368 #: includes/pages/reservations/partials/form.php:93 369 msgid "Età minima dei bambini (in anni)" 370 msgstr "" 371 372 #: includes/pages/reservations/partials/form.php:95 373 msgid "Es: 0" 374 msgstr "" 375 376 #: includes/pages/reservations/partials/form.php:98 377 msgid "Età massima dei bambini (in anni)" 378 msgstr "" 379 380 #: includes/pages/reservations/partials/form.php:100 381 msgid "Es: 12" 382 msgstr "" 383 384 #: includes/pages/reservations/partials/form.php:103 385 msgid "Soggiorno minimo suggerito" 386 msgstr "" 387 388 #: includes/pages/reservations/partials/form.php:105 389 msgid "Es: 3" 310 390 msgstr "" 311 391 … … 358 438 msgstr "" 359 439 360 #: includes/sections/slope-reservations/settings-section.php:23 361 msgid "Testo del pulsante in italiano" 362 msgstr "" 363 364 #: includes/sections/slope-reservations/settings-section.php:26 365 msgid "Es: Prenota" 366 msgstr "" 367 368 #: includes/sections/slope-reservations/settings-section.php:29 369 msgid "Testo del pulsante in inglese" 370 msgstr "" 371 372 #: includes/sections/slope-reservations/settings-section.php:31 373 msgid "Es: Book now" 374 msgstr "" 375 376 #: includes/sections/slope-reservations/settings-section.php:34 377 msgid "Testo del pulsante in francese" 378 msgstr "" 379 380 #: includes/sections/slope-reservations/settings-section.php:36 381 msgid "Es: Réserver" 382 msgstr "" 383 384 #: includes/sections/slope-reservations/settings-section.php:39 385 msgid "Testo del pulsante in tedesco" 386 msgstr "" 387 388 #: includes/sections/slope-reservations/settings-section.php:41 389 msgid "Es: Buchen" 390 msgstr "" 391 392 #: includes/sections/slope-reservations/settings-section.php:44 393 msgid "Testo del pulsante in grassetto" 394 msgstr "" 395 396 #: includes/sections/slope-reservations/settings-section.php:53 397 msgid "Aspetto" 398 msgstr "" 399 400 #: includes/sections/slope-reservations/settings-section.php:73 401 msgid "Mostra selezione bambini" 402 msgstr "" 403 404 #: includes/sections/slope-reservations/settings-section.php:78 405 msgid "Visualizza il widget su due righe" 406 msgstr "" 407 408 #: includes/sections/slope-reservations/settings-section.php:89 409 msgid "Filtri" 410 msgstr "" 411 412 #: includes/sections/slope-reservations/settings-section.php:92 413 msgid "Età massima dei bambini (in anni)" 414 msgstr "" 415 416 #: includes/sections/slope-reservations/settings-section.php:94 417 msgid "Es: 12" 418 msgstr "" 419 420 #: includes/sections/slope-reservations/settings-section.php:97 421 msgid "Soggiorno minimo suggerito" 422 msgstr "" 423 424 #: includes/sections/slope-reservations/settings-section.php:99 425 msgid "Es: 3" 426 msgstr "" 427 428 #: slope-promotions-legacy.php:20 440 #: slope-promotions-legacy.php:26 429 441 msgid "Attenzione: Questo widget per le promozioni verrà sostituito in una versione futura. Ti consigliamo di utilizzare il nuovo widget delle promozioni di Slope." 430 442 msgstr "" 431 443 432 #: slope-promotions-legacy.php: 25444 #: slope-promotions-legacy.php:31 433 445 msgid "Personalizza il widget delle promozioni di Slope. Usa lo " 434 446 msgstr "" 435 447 436 #: slope-promotions-legacy.php:3 1448 #: slope-promotions-legacy.php:37 437 449 msgid "ID struttura" 438 450 msgstr "" 439 451 440 #: slope-promotions-legacy.php:3 3452 #: slope-promotions-legacy.php:39 441 453 msgid "Il tuo Slope ID" 442 454 msgstr "" 443 455 444 #: slope-promotions-legacy.php: 49456 #: slope-promotions-legacy.php:55 445 457 msgid "Nascondi informazioni delle promozioni" 446 458 msgstr "" 447 459 448 #: slope-promotions-legacy.php:6 3460 #: slope-promotions-legacy.php:69 449 461 msgid "SCHEDA" 450 462 msgstr "" 451 463 452 #: slope-promotions-legacy.php: 74464 #: slope-promotions-legacy.php:80 453 465 msgid "Spessore dei bordi" 454 466 msgstr "" 455 467 456 #: slope-promotions-legacy.php:8 3468 #: slope-promotions-legacy.php:89 457 469 msgid "Colore dei bordi" 458 470 msgstr "" 459 471 460 #: slope-promotions-legacy.php:10 2472 #: slope-promotions-legacy.php:108 461 473 msgid "TITOLO" 462 474 msgstr "" 463 475 464 #: slope-promotions-legacy.php:13 0 slope-promotions-legacy.php:190476 #: slope-promotions-legacy.php:136 slope-promotions-legacy.php:196 465 477 msgid "Peso del font" 466 478 msgstr "" 467 479 468 #: slope-promotions-legacy.php:16 3480 #: slope-promotions-legacy.php:169 469 481 msgid "PULSANTE" 470 482 msgstr "" 471 483 472 #: slope-promotions-legacy.php:2 04484 #: slope-promotions-legacy.php:210 473 485 msgid "TESTO" 474 486 msgstr "" 475 487 476 #: slope-promotions-legacy.php:2 25488 #: slope-promotions-legacy.php:231 477 489 msgid "Numero di schede da mostrare per riga" 478 490 msgstr "" 479 491 480 #: slope-promotions-legacy.php:2 49492 #: slope-promotions-legacy.php:255 481 493 msgid "Impostazioni" 482 494 msgstr "" 483 495 484 #: slope-reservations.php:19 485 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 486 msgstr "" 487 488 #: slope-widgets.php:212 496 #: slope-widgets.php:196 489 497 msgid "Settings" 490 498 msgstr "" -
slope-widgets/tags/4.3.3/readme.txt
r3294859 r3385288 6 6 Requires PHP: 7.0 7 7 Tested up to: 6.8 8 Stable tag: 4.3. 28 Stable tag: 4.3.3 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 40 40 == Changelog == 41 41 42 = 4.3.3 = 43 * Possibilità di indicare l'età minima dei bambini nelle impostazioni del plugin 44 * Correzioni minori 45 42 46 = 4.3.2 = 43 47 * Correzioni minori -
slope-widgets/tags/4.3.3/slope-promotions-legacy.php
r3289147 r3385288 1 1 <?php 2 2 // SLOPE PROMOTIONS 3 4 use SlopeWidgets\Settings\GlobalSettingsProvider; 5 use SlopeWidgets\Settings\LegacyPromotionsSettingProvider; 6 use SlopeWidgets\Enums\FontWeight; 7 use SlopeWidgets\Enums\CardLayout; 8 use SlopeWidgets\Enums\TextAlignment; 3 9 4 10 add_shortcode('slope-promotions', 'slope_promotions'); -
slope-widgets/tags/4.3.3/slope-widgets.php
r3294859 r3385288 3 3 * Plugin Name: Slope Widgets 4 4 * Description: Aggiungi i widget di Slope al sito web WordPress della tua struttura ricettiva! Questo plugin ti permette di mostrare la barra delle prenotazioni, i pacchetti e le promozioni tramite shortcode personalizzabili. 5 * Version: 4.3. 25 * Version: 4.3.3 6 6 * Author: Slope 7 7 * Author URI: https://www.slope.it/ … … 16 16 17 17 // We use this constant to invalidate the cache of the plugin's assets 18 const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3. 2';18 const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3.3'; 19 19 20 20 // Current version of the database schema. It is used to check if the database schema needs to be updated. … … 23 23 const SLOPE_DB_VERSION_OPTION_KEY = 'slope_db_schema_version'; 24 24 25 // TODO: At the moment this is used only for the new promotions. Reservation plugin and legacy promotions have hardcoded26 // values inside`slope-widgets.js`. We should refactor this to use the same constant in the future.25 // TODO: At the moment this is used only for the new promotions. Legacy promotions have hardcoded values inside 26 // `slope-widgets.js`. We should refactor this to use the same constant in the future. 27 27 define( 28 28 'SLOPE_BOOKING_ENGINE_BASE_URL', … … 41 41 define('SLOPE_WIDGETS_PATH', plugin_dir_path(__FILE__)); 42 42 43 // Initialization 44 require_once(plugin_dir_path(__FILE__) . 'includes/enums/AbstractEnum.php'); 45 require_once(plugin_dir_path(__FILE__) . 'includes/enums/CardLayout.php'); 46 require_once(plugin_dir_path(__FILE__) . 'includes/enums/FontWeight.php'); 47 require_once(plugin_dir_path(__FILE__) . 'includes/enums/TextAlignment.php'); 48 require_once(plugin_dir_path(__FILE__) . 'includes/settings/PromotionsSettingsProvider.php'); 49 require_once(plugin_dir_path(__FILE__) . 'includes/settings/ReservationsSettingsProvider.php'); 50 require_once(plugin_dir_path(__FILE__) . 'includes/settings/LegacyPromotionsSettingProvider.php'); 51 require_once(plugin_dir_path(__FILE__) . 'includes/settings/GlobalSettingsProvider.php'); 52 require_once(plugin_dir_path(__FILE__) . 'includes/DBUpgrader.php'); 53 require_once(plugin_dir_path(__FILE__) . 'includes/helpers/LanguageResolver.php'); 54 require_once(plugin_dir_path(__FILE__) . 'includes/admin/GlobalSettings.php'); 55 require_once(plugin_dir_path(__FILE__) . 'includes/admin/WelcomePage.php'); 56 require_once(plugin_dir_path(__FILE__) . 'includes/admin/Promotions.php'); 57 require_once(plugin_dir_path(__FILE__) . 'validation/rules/ValidationRule.php'); 58 require_once(plugin_dir_path(__FILE__) . 'validation/Validator.php'); 59 require_once(plugin_dir_path(__FILE__) . 'validation/rules/HexColor.php'); 60 require_once(plugin_dir_path(__FILE__) . 'validation/rules/InArray.php'); 61 require_once(plugin_dir_path(__FILE__) . 'validation/rules/Range.php'); 62 require_once(plugin_dir_path(__FILE__) . 'validation/rules/Uuid.php'); 43 // Register PSR-4 autoloader 44 require_once(SLOPE_WIDGETS_PATH . 'includes/Autoloader.php'); 45 SlopeWidgets\Autoloader::register(); 46 47 // Use statements for classes we'll instantiate 48 use SlopeWidgets\Admin\WelcomePage; 49 use SlopeWidgets\Admin\GlobalSettings; 50 use SlopeWidgets\Admin\Reservations; 51 use SlopeWidgets\Admin\Promotions; 52 use SlopeWidgets\DBUpgrader; 53 use SlopeWidgets\Settings\ReservationsSettingsProvider; 63 54 64 55 // NOTE: The order of instantiations is important to render the item of the admin menu in the right order. As we are … … 67 58 $welcome_page = new WelcomePage(); 68 59 $globalSettings = new GlobalSettings(); 60 $reservationsPage = new Reservations(); 69 61 70 62 // Hook … … 178 170 function slope_init() 179 171 { 180 // Slope reservations181 // NOTE: The key 'slope_options' is used to store settings about the reservations widget182 register_setting('slope_options', 'slope_options', 'slope_reservations_options_validate');183 add_settings_section('reservations_section', '', 'slope_reservations_intro', 'slope_reservations_page');184 add_settings_field('slope_text_color', '', 'slope_reservations_page', 'reservations_section');185 add_settings_field('slope_text_color', '', 'slope_reservations_page', 'reservations_section');186 187 172 // Slope promotions legacy 188 173 register_setting('slope_promotions_options', 'slope_promotions_options'); 189 174 add_settings_section('promotions_section', '', 'slope_promotions_intro', 'slope_promotions_page'); 190 191 175 } 192 176 … … 202 186 // Slug is an alphanumeric string used to identify the page in the menu. Should be unique for this menu page so we use the plugin's main file path. 203 187 $slug = 'slope-widgets/slope-widgets.php'; 204 add_submenu_page($slug, 'Reservations', 'Reservations', 'manage_options', 'slope_reservations', 'slope_reservations_options_page');205 188 add_submenu_page($slug, 'Promotions [Deprecato]', 'Promotions [Deprecato]', 'manage_options', 'slope_promotions', 'slope_promotions_options_page'); 206 189 } … … 236 219 } 237 220 238 //include plugin reservations functionalities239 include("slope-reservations.php");240 241 221 //include plugin promotions functionalities 242 222 // TODO: This is going to be removed in a future release … … 245 225 // Include promotion list partials 246 226 include("includes/pages/promotions/partials/promotionsList.ajax.php"); 247 248 //include plugin settings functionalities249 include('includes/sections/slope-reservations/settings-section.php'); -
slope-widgets/tags/4.3.3/validation/Validator.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation;4 namespace SlopeWidgets\Validation; 5 5 6 use validation\rules\ValidationRule;6 use SlopeWidgets\Validation\Rules\ValidationRule; 7 7 8 8 class Validator -
slope-widgets/tags/4.3.3/validation/rules/HexColor.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class HexColor implements ValidationRule -
slope-widgets/tags/4.3.3/validation/rules/InArray.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class InArray implements ValidationRule -
slope-widgets/tags/4.3.3/validation/rules/Range.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class Range implements ValidationRule -
slope-widgets/tags/4.3.3/validation/rules/Uuid.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class Uuid implements ValidationRule -
slope-widgets/tags/4.3.3/validation/rules/ValidationRule.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 interface ValidationRule -
slope-widgets/trunk/css/slope-admin.css
r3289147 r3385288 3 3 @keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}} 4 4 .slp-welcome-button{display:inline-flex;align-items:center;right:10px;bottom:30px;height:36px;padding:0 10px;border-radius:3px;text-align:center;text-transform:uppercase;text-decoration:none}.slp-welcome-button #skip-icon{margin-right:8px}.slope-slp-welcome{width:99%}#slp-welcome-button-container{display:flex;flex-direction:row;gap:1rem;justify-content:space-between;margin-top:1rem}#slp-next-button{display:inline-flex;align-items:center;gap:2px;margin-right:1rem;height:36px;text-transform:uppercase;padding:0 10px;border-radius:3px;text-align:center;text-decoration:none}#slp-next-button-icon{width:10px;margin-right:5px} 5 .slope-widgets-container{box-sizing:border-box}.slope- block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px;width:100%}.slope-guests-and-button-container{width:100%;z-index:10}.slope-reservation-section-container.slope-check-out{justify-content:flex-end}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container,.slope-reservation-section-container.slope-submit-section,.slope-reservation-submit{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px;width:100%}.slope-block .slope-check-out-wrapper{justify-content:flex-end;text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}5 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}} -
slope-widgets/trunk/css/slope-widgets.css
r3289147 r3385288 1 .slope-widgets-container{box-sizing:border-box}.slope- block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px;width:100%}.slope-guests-and-button-container{width:100%;z-index:10}.slope-reservation-section-container.slope-check-out{justify-content:flex-end}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container,.slope-reservation-section-container.slope-submit-section,.slope-reservation-submit{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px;width:100%}.slope-block .slope-check-out-wrapper{justify-content:flex-end;text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}}1 .slope-widgets-container{box-sizing:border-box}.slope-justify-flex-end{justify-content:flex-end}.slope-width-100{width:100%}.slope-block{border-radius:.2rem;border:1px solid rgba(0,0,0,.1);line-height:1;margin:0 auto;max-width:900px;padding:8px;position:relative}.slope-block *{box-sizing:border-box}.slope-block .slope-reservation-section-container{cursor:pointer!important;text-align:left;padding:10px;border-radius:6px;display:flex;align-items:center}.slope-block .slope-reservation-section-container.slope-highlight:hover{background-color:rgba(0,0,0,.1)}.slope-block .slope-reservation-section-container .slope-check-in-container{margin:auto}.slope-block input[type=number]{-webkit-appearance:none;appearance:none;background:0 0;border-radius:0;border:0;color:inherit;display:block;font:inherit;margin:0;outline:0;padding:0;width:auto}.slope-block label{display:block;font-size:14px;text-align:left}.slope-block{min-height:225px}.slope-reservation-dates{display:flex;justify-content:space-between;padding-right:8px}.slope-guests-and-button-container{z-index:10}.slope-block .slope-reservation-section-container .slope-guests-wrapper,.slope-reservation-section-container{width:100%}.slope-guests-count-container{width:100%;text-align:right}.slope-cancel-guests,.slope-save-guests{background:0 0;display:inline-block;text-align:center;width:49%}.slope-horizontal-separator{border-bottom:solid 1px rgba(0,0,0,.1);display:block;margin-bottom:10px;margin-top:10px}.slope-block .slope-check-out-wrapper{text-align:right}.slope-vertical-divider{display:none}.slope-reservation-dates .slope-reservation-icon-container{align-items:center;display:flex;justify-content:center;opacity:.4;width:20px}.dayContainer+.dayContainer{border-left:1px solid rgba(0,0,0,.1)}.slope-block .slope-rooms-count-container{padding-right:32px}.slope-guests-buttons-container{display:flex}.slope-block .slope-check-in-input,.slope-block .slope-check-out-input{border:0;height:0;left:0;padding:0;position:absolute;top:88px;visibility:hidden!important}.slope-block .slope-check-in-label,.slope-block .slope-check-out-label,.slope-block .slope-guests-label,.slope-block .slope-rooms-label{display:block!important;font-size:13px!important;height:15px!important;line-height:15px!important}.slope-block .slope-reservation-section-container .slope-guests-wrapper{white-space:nowrap;display:flex}.slope-block .slope-adults-count,.slope-block .slope-check-in-date,.slope-block .slope-check-out-date,.slope-block .slope-children-count,.slope-block .slope-guests-adults,.slope-block .slope-guests-children,.slope-block .slope-rooms-count{border-radius:.2rem;font-size:16px;line-height:20px;min-width:175px}.slope-block input[type=submit].slope-reservation-submit{border-radius:.2rem;font-size:14px!important;font-weight:500;line-height:20px;min-width:175px}.slope-stepper-container{animation:fpFadeInDown 300ms cubic-bezier(.23,1,.32,1);border-radius:6px;border:1px solid rgba(0,0,0,.1);display:none;font-size:16px;line-height:16px;margin-top:10px;padding:10px;position:absolute;width:300px;z-index:9999}.slope-block input[type=text],.slope-stepper-container input[type=text]{border:0!important;cursor:default!important;font-size:inherit!important;margin-bottom:0!important;min-height:0!important;outline:0!important;padding:0!important}.slope-stepper-container input[type=text]{background-color:inherit!important}.slope-block button,.slope-block input[type=button],.slope-block input[type=reset],.slope-block input[type=submit],.slope-stepper-container button,.slope-stepper-container input[type=button],.slope-stepper-container input[type=reset],.slope-stepper-container input[type=submit]{border:0!important;cursor:pointer;font-family:inherit;font-size:inherit!important;margin-bottom:0!important;margin-top:0!important;min-height:30px!important;outline:0!important;padding:12px!important;text-transform:uppercase;transition:all .2s ease-in-out}.slope-block button:hover,.slope-block input[type=button]:hover,.slope-block input[type=reset]:hover,.slope-block input[type=submit]:hover,.slope-stepper-container button:hover,.slope-stepper-container input[type=button]:hover,.slope-stepper-container input[type=reset]:hover,.slope-stepper-container input[type=submit]:hover{opacity:.8}.slope-stepper-label{padding-bottom:1px}.slope-stepper-container input[type=number],.slope-stepper-container input[type=text]{width:auto}.slope-stepper-container .slope-stepper-value{text-align:center;margin:0;border:0;box-sizing:border-box;background:0 0!important}.slope-stepper-container .slope-decrement-button,.slope-stepper-container .slope-increment-button{align-items:center;background:0 0;border-radius:50%;cursor:pointer;display:flex;float:right;font-size:18px;font-weight:700;height:26px;justify-content:center;line-height:18px;margin:0!important;opacity:1;padding:0;text-align:center;text-decoration:none;transition:all .2s ease-in-out!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:26px}.slope-stepper-container .slope-stepper-value{width:44px!important}.slope-stepper-container .slope-guests-stepper,.slope-stepper-container .slope-rooms-stepper{display:flex}.slope-stepper-container .slope-horizontal-separator{width:100%;border-bottom:solid 1px rgba(0,0,0,.1);margin:10px 0;display:block!important}.slope-vertical-divider{border-left:1px solid rgba(0,0,0,.1);height:42px;margin-bottom:auto;margin-top:auto}.slope-guests-count-row,.slope-rooms-stepper-container{align-items:center;display:flex;justify-content:space-between;padding:10px}.slope-rooms-stepper{font-size:18px;padding:0}.slope-guests-count-row.slope-padding-top{padding-top:20px}.slope-children-age{font-size:12px}#slope-widget p,#slope-widget table td{border:0!important}.slope-stepper-container .slope-room-label{padding:10px;font-size:16px;font-weight:700}@media (min-width:992px){.slp-responsive-layout.slope-block{display:flex;justify-content:space-between;min-height:auto;min-width:900px}.slp-responsive-layout .slope-horizontal-separator{display:none}.slp-responsive-layout .slope-guests-and-button-container{width:65%;padding-left:8px;display:flex;justify-content:space-between}.slp-responsive-layout .slope-reservation-dates{width:35%}.slp-responsive-layout .slope-vertical-divider{display:block}.slp-responsive-layout .slope-reservation-dates .slope-reservation-icon-container{width:60px}.slp-responsive-layout .slope-reservation-section-container,.slp-responsive-layout .slope-reservation-section-container.slope-submit-section{width:50%}.slp-responsive-layout .slope-guests-count-container{text-align:left}} 2 2 #slope-promotions a.slp-button{padding:1.5rem .5rem;transition:all .2s ease-in-out;text-decoration:none}#slope-promotions a.slp-button:hover{opacity:.7}#slope-widget{font-family:inherit!important}table.slp{min-width:initial;font-family:inherit}table.slp td{font-family:inherit;text-align:left!important;word-break:normal}[id^=promotion-submit-].slp-button{font-family:inherit!important;font-weight:700;letter-spacing:inherit} 3 3 @keyframes slope-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.slope-promo-container{width:100%!important}#slp-arrow-icon{height:1rem}#slp-settings-border-radius-container{display:flex;gap:10px;align-items:center}.slp-promotion-card{flex:1 1 300px;border-radius:10px;margin-bottom:1rem;position:relative;min-width:280px;display:flex;flex-direction:column}.slp-loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:slope-spin 2s linear infinite}.slp-error-message,.slp-loading-indicator{display:flex;justify-content:center;align-items:center;margin:auto}.slp-loading-indicator{padding:20px;width:100%}.slp-error-message{border-radius:10px;background:#eee;padding:30px;text-align:center}.slp-promotion-container{flex:1;display:flex;flex-direction:column;width:fit-content;max-width:100%;overflow:hidden}.slp-promotion-image{background-size:cover;background-repeat:no-repeat;background-position:center;padding:16px;min-height:180px}.slp-promotion-expiration-date{top:1rem;left:1rem;z-index:2;padding:4px 8px;border-radius:10px;font-size:.75rem;font-weight:700;width:fit-content}.slp-promotion-title{font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;line-height:1.3;margin-bottom:clamp(.5rem,2vw,1rem)}.slp-promotion-description{font-size:clamp(.875rem,2vw,1rem);line-height:1.5;-webkit-box-orient:vertical;white-space:normal;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;max-width:100%;word-wrap:break-word}.slp-promotion-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.slp-see-details{font-size:.9rem;align-self:flex-start;font-weight:700;display:flex;align-items:center;margin-bottom:.5rem;gap:.5rem}.slp-reserve-button{display:block;padding:.75rem 0;font-size:1rem;font-weight:700;border-radius:10px;text-decoration:none;text-align:center}.slp-modal,.slp-modal-overlay{z-index:1000;top:0;left:0;width:100%;height:100%}.slp-modal{position:fixed;background-color:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.slp-modal-overlay{background-image:linear-gradient(to bottom,transparent 0,#d1d2da 250px,#d1d2da,#d1d2da);border-radius:10px;position:absolute}.slp-modal-container{background-size:100%,cover;background-repeat:no-repeat;background-position:top,center;padding:clamp(8px,2vw,12px);border-radius:10px;width:min(80vw,600px);z-index:1001;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slp-close-modal-button{position:absolute;right:1rem;line-height:.5;top:1rem;font-size:24px;cursor:pointer;z-index:1003;border-radius:50%;padding:.5rem}.slp-modal-promotion-container{border-radius:10px;position:relative;z-index:1001;margin-top:clamp(10vh,16vh,24vh)}.slp-modal-promotion-details{max-width:100%;word-wrap:break-word;max-height:25vh;overflow-y:auto}.slp-modal-lodgings,.slp-modal-promotion-details{font-size:clamp(.875rem,2vw,1rem);margin-bottom:1rem;line-height:1.5}.slp-modal-visible{opacity:1;visibility:visible}.slp-modal-hidden{opacity:0;visibility:hidden}@media screen and (max-width:768px){.slp-modal-promotion-details{max-height:50vh}.slp-modal-container{width:90vw;background-size:150%,cover}} -
slope-widgets/trunk/includes/DBUpgrader.php
r3289147 r3385288 1 1 <?php 2 2 declare(strict_types=1); 3 4 namespace SlopeWidgets; 3 5 4 6 class DBUpgrader -
slope-widgets/trunk/includes/admin/GlobalSettings.php
r3294812 r3385288 2 2 declare(strict_types=1); 3 3 4 use validation\rules\Uuid; 5 use validation\Validator; 4 namespace SlopeWidgets\Admin; 5 6 use SlopeWidgets\Settings\GlobalSettingsProvider; 7 use SlopeWidgets\Validation\InputSanitizer; 8 use SlopeWidgets\Validation\Rules\Uuid; 9 use SlopeWidgets\Validation\Validator; 6 10 7 11 class GlobalSettings … … 69 73 [new Uuid()], 70 74 __('L\'ID Struttura non è valido.', 'slope-widgets'), 71 null 75 // Reuse the existing establishment ID as the default value (if any) 76 GlobalSettingsProvider::getEstablishmentId() 72 77 ); 73 78 74 79 $validatedData = $validator->validate($input); 75 // NOTE: `book_target` is a checkbox and it is not present in the input if it is not checked. So we need to 80 81 // WARNING: Only validated data will be saved. Fields not included in the validation or failing validation will 82 // be omitted. As `book_target` is a checkbox it is not present in the input if it is not checked. So we need to 76 83 // set it to false if it is not present in the input. 77 // TODO: Maybe we should build a normalizer to ensure that the data stored in the settings is in the correct 78 // format (in this case a boolean). 79 $validatedData['book_target'] = !empty($input['book_target']) 80 && is_string($input['book_target']) 81 && trim($input['book_target']) !== ''; 84 $validatedData['book_target'] = InputSanitizer::normalizeCheckbox($input, 'book_target'); 82 85 83 86 if ($validator->hasErrors()) { -
slope-widgets/trunk/includes/admin/Promotions.php
r3294812 r3385288 1 1 <?php 2 2 3 use validation\rules\HexColor; 4 use validation\rules\InArray; 5 use validation\rules\Range; 6 use validation\Validator; 3 namespace SlopeWidgets\Admin; 4 5 use SlopeWidgets\Enums\CardLayout; 6 use SlopeWidgets\Enums\FontWeight; 7 use SlopeWidgets\Enums\TextAlignment; 8 use SlopeWidgets\Helpers\LanguageResolver; 9 use SlopeWidgets\Settings\GlobalSettingsProvider; 10 use SlopeWidgets\Settings\PromotionsSettingsProvider; 11 use SlopeWidgets\Validation\Rules\HexColor; 12 use SlopeWidgets\Validation\Rules\InArray; 13 use SlopeWidgets\Validation\Rules\Range; 14 use SlopeWidgets\Validation\Validator; 15 use SlopeWidgets\Validation\InputSanitizer; 7 16 8 17 class Promotions … … 181 190 { 182 191 include(SLOPE_WIDGETS_PATH . "includes/pages/promotions/partials/style-section.php"); 183 include(SLOPE_WIDGETS_PATH . "includes/pages/promotions/partials/ /layout-section.php");192 include(SLOPE_WIDGETS_PATH . "includes/pages/promotions/partials/layout-section.php"); 184 193 } 185 194 … … 296 305 297 306 $validatedData = $validator->validate($input); 298 // TODO: Maybe we should build a normalizer to ensure that the data stored in the settings is in the correct 299 // format (in this case a boolean). 300 // NOTE: `hide_description` is a checkbox and it is not present in the input if it is not checked. So we need to 301 // set it to false if it is not present in the input. 302 $validatedData['hide_description'] = !empty($input['hide_description']) 303 && is_string($input['hide_description']) 304 && trim($input['hide_description']) !== ''; 307 308 // WARNING: Only validated data will be saved. Fields not included in the validation or failing validation will 309 // be omitted. As `hide_description` is a checkbox it is not present in the input if it is not checked. 310 // So we need to set it to false if it is not present in the input. 311 $validatedData['hide_description'] = InputSanitizer::normalizeCheckbox($validatedData, 'hide_description'); 305 312 306 313 if ($validator->hasErrors()) { -
slope-widgets/trunk/includes/admin/WelcomePage.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Admin; 2 5 3 6 class WelcomePage -
slope-widgets/trunk/includes/enums/AbstractEnum.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 /** -
slope-widgets/trunk/includes/enums/CardLayout.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 final class CardLayout extends AbstractEnum -
slope-widgets/trunk/includes/enums/FontWeight.php
r2714664 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 /** -
slope-widgets/trunk/includes/enums/TextAlignment.php
r2714664 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Enums; 2 5 3 6 /** -
slope-widgets/trunk/includes/helpers/LanguageResolver.php
r3289147 r3385288 1 1 <?php 2 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Helpers; 3 5 4 6 class LanguageResolver -
slope-widgets/trunk/includes/pages/global-settings/partials/form.php
r3294812 r3385288 1 1 <?php 2 use SlopeWidgets\Settings\GlobalSettingsProvider; 3 2 4 $uuid = GlobalSettingsProvider::getEstablishmentId(); 3 5 $openLinksOnANewTabAttribute = GlobalSettingsProvider::shouldOpenLinksOnANewTab() ? ' checked="checked" ' : ''; -
slope-widgets/trunk/includes/pages/promotions/partials/layout-section.php
r3294812 r3385288 1 1 <?php 2 use SlopeWidgets\Settings\PromotionsSettingsProvider; 3 use SlopeWidgets\Enums\CardLayout; 4 2 5 $promotionsPerRow = PromotionsSettingsProvider::getNumberOfPromotionsPerRow(); 3 6 ?> -
slope-widgets/trunk/includes/pages/promotions/partials/style-section.php
r3289147 r3385288 1 1 <?php 2 use SlopeWidgets\Settings\PromotionsSettingsProvider; 3 use SlopeWidgets\Enums\FontWeight; 4 use SlopeWidgets\Enums\TextAlignment; 5 2 6 $borderRadius = PromotionsSettingsProvider::getCardBorderRadius(); 3 7 $radiusOptions = [0, 4, 8, 12, 16, 24]; -
slope-widgets/trunk/includes/settings/GlobalSettingsProvider.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Settings; 2 5 3 6 final class GlobalSettingsProvider -
slope-widgets/trunk/includes/settings/LegacyPromotionsSettingProvider.php
r3289147 r3385288 1 1 <?php 2 3 namespace SlopeWidgets\Settings; 4 5 use SlopeWidgets\Enums\FontWeight; 6 use SlopeWidgets\Enums\TextAlignment; 2 7 3 8 /** -
slope-widgets/trunk/includes/settings/PromotionsSettingsProvider.php
r3289147 r3385288 1 1 <?php 2 declare(strict_types=1); 3 4 namespace SlopeWidgets\Settings; 5 6 use SlopeWidgets\Enums\CardLayout; 7 use SlopeWidgets\Enums\FontWeight; 8 use SlopeWidgets\Enums\TextAlignment; 2 9 3 10 /** … … 53 60 public static function getCardBorderRadius(): int 54 61 { 55 return self::get('container_border_radius', self::DEFAULT_CARD_BORDER_RADIUS);62 return (int) self::get('container_border_radius', self::DEFAULT_CARD_BORDER_RADIUS); 56 63 } 57 64 … … 83 90 public static function getTitleSize(): int 84 91 { 85 return self::get('title_size', self::DEFAULT_TITLE_SIZE);92 return (int) self::get('title_size', self::DEFAULT_TITLE_SIZE); 86 93 } 87 94 88 95 public static function getDescriptionFontSize(): int 89 96 { 90 return self::get('description_font_size', self::DEFAULT_DESCRIPTION_SIZE);97 return (int) self::get('description_font_size', self::DEFAULT_DESCRIPTION_SIZE); 91 98 } 92 99 … … 103 110 public static function getNumberOfPromotionsPerRow(): int 104 111 { 105 return self::get('number_of_promotions_per_row', self::DEFAULT_PROMOTIONS_PER_ROW);112 return (int) self::get('number_of_promotions_per_row', self::DEFAULT_PROMOTIONS_PER_ROW); 106 113 } 107 114 108 115 public static function getDescriptionMaxRows(): int 109 116 { 110 return self::get('description_max_rows', self::DEFAULT_DESCRIPTION_MAX_ROWS);117 return (int) self::get('description_max_rows', self::DEFAULT_DESCRIPTION_MAX_ROWS); 111 118 } 112 119 -
slope-widgets/trunk/includes/settings/ReservationsSettingsProvider.php
r3289147 r3385288 1 1 <?php 2 3 namespace SlopeWidgets\Settings; 2 4 3 5 final class ReservationsSettingsProvider … … 7 9 const DEFAULT_MINIMUM_SUGGESTED_STAY = '1'; 8 10 const DEFAULT_MAXIMUM_AGE_FOR_CHILDREN = '13'; 11 const DEFAULT_MINIMUM_AGE_FOR_CHILDREN = '0'; 9 12 const DEFAULT_CALL_TO_ACTION_BUTTON_ITALIAN_LABEL = 'Prenota ora'; 10 13 const DEFAULT_CALL_TO_ACTION_BUTTON_ENGLISH_LABEL = 'Book now'; … … 42 45 { 43 46 return self::get('children_age_max', self::DEFAULT_MAXIMUM_AGE_FOR_CHILDREN); 47 } 48 49 public static function getMinimumAgeForChildren() 50 { 51 return self::get('children_age_min', self::DEFAULT_MINIMUM_AGE_FOR_CHILDREN); 44 52 } 45 53 -
slope-widgets/trunk/js/slope-widgets.js
r3289147 r3385288 7 7 slopeDateRangePicker.create(".slope-check-in-input", ".slope-check-out-input", widget, index, $).init($); 8 8 new SlopeGuestsWrapper($(widget).find(".slope-guests-wrapper")).init($); 9 }); //Border_radius card Promotions 10 11 var slopeWidgetBorderRadius = $("#slope-widgets-config").data("range_button"); 12 13 if (slopeWidgetBorderRadius != "") { 14 $(".slp-column").css("border-radius:", slopeWidgetBorderRadius); 15 } //Title size Promotions 16 17 18 var slopeWidgetTitleSize = $("#slope-widgets-config").data("title_size"); 19 20 if (slopeWidgetTitleSize != "") { 21 $("p.slp-column").css("font-size:", slopeWidgetTitleSize); 22 } 9 }); 23 10 }); // Packages and promotions 24 11 -
slope-widgets/trunk/languages/slope-widgets-en_US.po
r3289147 r3385288 2 2 msgstr "" 3 3 "Project-Id-Version: Slope Widgets\n" 4 "POT-Creation-Date: 2025- 04-28 14:11+0200\n"5 "PO-Revision-Date: 2025- 04-28 14:11+0200\n"4 "POT-Creation-Date: 2025-10-17 16:17+0200\n" 5 "PO-Revision-Date: 2025-10-17 16:17+0200\n" 6 6 "Last-Translator: \n" 7 7 "Language-Team: \n" … … 11 11 "Content-Transfer-Encoding: 8bit\n" 12 12 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 13 "X-Generator: Poedit 3. 6\n"13 "X-Generator: Poedit 3.8\n" 14 14 "X-Poedit-Basepath: ..\n" 15 15 "X-Poedit-WPHeader: slope-widgets.php\n" 16 16 "X-Poedit-SourceCharset: UTF-8\n" 17 "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;" 18 "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;" 19 "_nx_noop:3c,1,2;__ngettext_noop:1,2\n" 17 "X-Poedit-KeywordsList: " 18 "__;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n" 20 19 "X-Poedit-SearchPath-0: .\n" 21 20 "X-Poedit-SearchPathExcluded-0: *.js\n" 22 21 23 #: includes/admin/GlobalSettings.php:2 022 #: includes/admin/GlobalSettings.php:24 24 23 msgid "Impostazioni di Slope Widgets" 25 24 msgstr "Slope Widgets Settings" 26 25 27 #: includes/admin/GlobalSettings.php: 6626 #: includes/admin/GlobalSettings.php:74 28 27 msgid "L'ID Struttura non è valido." 29 28 msgstr "Invalid Establishment ID." 30 29 31 #: includes/admin/Promotions.php: 7830 #: includes/admin/Promotions.php:93 32 31 msgid "Id Struttura non impostato" 33 32 msgstr "Establishment ID not setted" 34 33 35 #: includes/admin/Promotions.php: 18934 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392 36 35 msgid "Una delle proprietà non è valida, controllare i valori e riprovare" 37 36 msgstr "One of the properties is invalid, check the values and try again" 38 37 39 38 #: includes/pages/global-settings/index.php:14 40 #: includes/pages/promotions/index.php:35 slope-promotions-legacy.php:26241 #: slope-reservations.php:3439 #: includes/pages/promotions/index.php:35 40 #: includes/pages/reservations/index.php:21 slope-promotions-legacy.php:268 42 41 msgid "Salva modifiche" 43 42 msgstr "Save Changes" 44 43 45 #: includes/pages/global-settings/partials/form.php: 844 #: includes/pages/global-settings/partials/form.php:10 46 45 msgid "" 47 46 "Slope Widgets funziona con gli shortcode. Se non sai cosa sono e come " … … 51 50 "how they work, check out the" 52 51 53 #: includes/pages/global-settings/partials/form.php: 852 #: includes/pages/global-settings/partials/form.php:10 54 53 msgid "documentazione" 55 54 msgstr "documentation" 56 55 57 #: includes/pages/global-settings/partials/form.php: 856 #: includes/pages/global-settings/partials/form.php:10 58 57 msgid "di WordPress." 59 58 msgstr "of WordPress." 60 59 61 #: includes/pages/global-settings/partials/form.php:1 160 #: includes/pages/global-settings/partials/form.php:13 62 61 msgid "" 63 62 "Se il sito web della tua struttura è multilingua e preferisci mostrare il " … … 71 70 "pages." 72 71 73 #: includes/pages/global-settings/partials/form.php:1 472 #: includes/pages/global-settings/partials/form.php:16 74 73 msgid "" 75 74 "Le lingue supportate dalla barra delle prenotazioni sono italiano, inglese, " … … 79 78 "German (it, en, fr, de)." 80 79 81 #: includes/pages/global-settings/partials/form.php:1 780 #: includes/pages/global-settings/partials/form.php:19 82 81 msgid "Shortcode supportati:" 83 82 msgstr "Supported shortcodes:" 84 83 85 #: includes/pages/global-settings/partials/form.php:2 084 #: includes/pages/global-settings/partials/form.php:22 86 85 msgid "" 87 86 "mostra widget e booking engine in base alla lingua del browser del " … … 91 90 "English if the language is not supported." 92 91 93 #: includes/pages/global-settings/partials/form.php:2 192 #: includes/pages/global-settings/partials/form.php:23 94 93 msgid "mostra widget e booking engine sempre in inglese." 95 94 msgstr "shows widget and booking engine always in English." 96 95 97 #: includes/pages/global-settings/partials/form.php:2 296 #: includes/pages/global-settings/partials/form.php:24 98 97 msgid "mostra widget e booking engine sempre in italiano." 99 98 msgstr "shows widget and booking engine always in Italian." 100 99 101 #: includes/pages/global-settings/partials/form.php:2 3100 #: includes/pages/global-settings/partials/form.php:25 102 101 msgid "mostra widget e booking engine sempre in francese." 103 102 msgstr "shows widget and booking engine always in French." 104 103 105 #: includes/pages/global-settings/partials/form.php:2 4104 #: includes/pages/global-settings/partials/form.php:26 106 105 msgid "mostra widget e booking engine sempre in tedesco." 107 106 msgstr "shows widget and booking engine always in German." 108 107 109 #: includes/pages/global-settings/partials/form.php:2 5108 #: includes/pages/global-settings/partials/form.php:27 110 109 msgid "" 111 110 "mostra le promozioni in base alla lingua del browser del visitatore, o in " … … 115 114 "English if the language is not supported." 116 115 117 #: includes/pages/global-settings/partials/form.php:2 6116 #: includes/pages/global-settings/partials/form.php:28 118 117 msgid "mostra le promozioni sempre in inglese." 119 118 msgstr "displays promotions always in English." 120 119 121 #: includes/pages/global-settings/partials/form.php:2 7120 #: includes/pages/global-settings/partials/form.php:29 122 121 msgid "mostra le promozioni sempre in italiano." 123 122 msgstr "displays promotions always in Italian." 124 123 125 #: includes/pages/global-settings/partials/form.php: 28124 #: includes/pages/global-settings/partials/form.php:30 126 125 msgid "mostra le promozioni sempre in francese." 127 126 msgstr "displays promotions always in French." 128 127 129 #: includes/pages/global-settings/partials/form.php: 29128 #: includes/pages/global-settings/partials/form.php:31 130 129 msgid "mostra le promozioni sempre in tedesco." 131 130 msgstr "displays promotions always in German." 132 131 133 #: includes/pages/global-settings/partials/form.php:3 5132 #: includes/pages/global-settings/partials/form.php:37 134 133 msgid "Impostazioni Generali" 135 134 msgstr "Settings" 136 135 137 #: includes/pages/global-settings/partials/form.php: 38136 #: includes/pages/global-settings/partials/form.php:40 138 137 msgid "ID Struttura Slope" 139 138 msgstr "Slope Structure ID" 140 139 141 #: includes/pages/global-settings/partials/form.php:4 4140 #: includes/pages/global-settings/partials/form.php:46 142 141 msgid "Inserisci qui l'identificativo della tua struttura" 143 142 msgstr "Please enter your structure ID here" 144 143 145 #: includes/pages/global-settings/partials/form.php:4 6144 #: includes/pages/global-settings/partials/form.php:48 146 145 msgid "Hai acquistato Slope ma non hai ancora l'ID?" 147 146 msgstr "Did you buy Slope but didn’t receive the ID?" 148 147 149 #: includes/pages/global-settings/partials/form.php:4 7148 #: includes/pages/global-settings/partials/form.php:49 150 149 msgid "Richiesta ID Struttura da Slope Widgets WP Plugin" 151 150 msgstr "Hotel UUID Request from Slope Widgets WP Plugin" 152 151 153 #: includes/pages/global-settings/partials/form.php: 48152 #: includes/pages/global-settings/partials/form.php:50 154 153 msgid "Richiedilo ora" 155 154 msgstr "Ask for it now" 156 155 157 #: includes/pages/global-settings/partials/form.php:5 3156 #: includes/pages/global-settings/partials/form.php:55 158 157 msgid "Apri il booking engine in una nuova scheda" 159 158 msgstr "Open the Booking Engine in a new tab" 160 159 161 #: includes/pages/global-settings/partials/form.php: 58160 #: includes/pages/global-settings/partials/form.php:64 162 161 msgid "" 163 162 "Selezionando questa casella, il booking engine verrà aperto in una nuova " … … 170 169 msgstr "Customize the new Slope promotions widget. Use the " 171 170 172 #: includes/pages/promotions/index.php:12 slope-promotions-legacy.php:25173 #: slope-reservations.php:21171 #: includes/pages/promotions/index.php:12 172 #: includes/pages/reservations/index.php:8 slope-promotions-legacy.php:31 174 173 msgid "per inserirlo dove vuoi!" 175 174 msgstr "to insert it into pages!" 176 175 177 #: includes/pages/promotions/index.php:16 slope-promotions-legacy.php:27178 #: slope-reservations.php:24176 #: includes/pages/promotions/index.php:16 177 #: includes/pages/reservations/index.php:11 slope-promotions-legacy.php:33 179 178 msgid "Per modificare il tuo ID struttura " 180 179 msgstr "To change your structure ID " 181 180 182 #: includes/pages/promotions/index.php:17 slope-promotions-legacy.php:27183 #: slope-reservations.php:25181 #: includes/pages/promotions/index.php:17 182 #: includes/pages/reservations/index.php:12 slope-promotions-legacy.php:33 184 183 msgid "clicca qui" 185 184 msgstr "click here" 186 185 187 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:25 2186 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:258 188 187 msgid "Stile" 189 188 msgstr "Style" 190 189 191 190 #: includes/pages/promotions/index.php:28 192 #: includes/pages/promotions/partials/layout-section.php:1 1193 #: slope-promotions-legacy.php:2 55191 #: includes/pages/promotions/partials/layout-section.php:14 192 #: slope-promotions-legacy.php:261 194 193 msgid "Layout" 195 194 msgstr "Layout" 196 195 197 #: includes/pages/promotions/partials/layout-section.php:1 6196 #: includes/pages/promotions/partials/layout-section.php:19 198 197 msgid "Orientamento scheda" 199 198 msgstr "Card orientation" 200 199 201 #: includes/pages/promotions/partials/layout-section.php:2 3200 #: includes/pages/promotions/partials/layout-section.php:26 202 201 msgid "Orizzontale" 203 202 msgstr "Horizontal" 204 203 205 #: includes/pages/promotions/partials/layout-section.php:2 4204 #: includes/pages/promotions/partials/layout-section.php:27 206 205 msgid "Verticale" 207 206 msgstr "Vertical" 208 207 209 #: includes/pages/promotions/partials/layout-section.php: 39208 #: includes/pages/promotions/partials/layout-section.php:42 210 209 msgid "Numero di promozioni per riga" 211 210 msgstr "Number of promotions per line" 212 211 213 #: includes/pages/promotions/partials/layout-section.php:7 0212 #: includes/pages/promotions/partials/layout-section.php:78 214 213 msgid "" 215 214 "Specifica il numero di promozioni massime da mostrare in ogni riga in schermi " … … 221 220 "columns per row." 222 221 223 #: includes/pages/promotions/partials/layout-section.php: 82222 #: includes/pages/promotions/partials/layout-section.php:90 224 223 msgid "Descrizioni" 225 224 msgstr "Descriptions" 226 225 227 #: includes/pages/promotions/partials/layout-section.php: 87228 #: slope-promotions-legacy.php:4 0226 #: includes/pages/promotions/partials/layout-section.php:95 227 #: slope-promotions-legacy.php:46 229 228 msgid "Nascondi descrizione delle promozioni" 230 229 msgstr "Hide promotions description" 231 230 232 #: includes/pages/promotions/partials/layout-section.php: 96231 #: includes/pages/promotions/partials/layout-section.php:105 233 232 msgid "Massimo di righe per la descrizione delle promozioni" 234 233 msgstr "Maximum number of lines for promotion description" 235 234 236 #: includes/pages/promotions/partials/promotionsList.ajax.php: 8235 #: includes/pages/promotions/partials/promotionsList.ajax.php:10 237 236 msgid "Non sono presenti promozioni disponibili." 238 237 msgstr "No promotions available." 239 238 240 #: includes/pages/promotions/partials/style-section.php:1 3241 #: slope-promotions-legacy.php:1 45239 #: includes/pages/promotions/partials/style-section.php:17 240 #: slope-promotions-legacy.php:151 242 241 msgid "Sinistra" 243 242 msgstr "Left" 244 243 245 #: includes/pages/promotions/partials/style-section.php:1 4246 #: slope-promotions-legacy.php:1 46244 #: includes/pages/promotions/partials/style-section.php:18 245 #: slope-promotions-legacy.php:152 247 246 msgid "Centro" 248 247 msgstr "Center" 249 248 250 #: includes/pages/promotions/partials/style-section.php:1 5251 #: slope-promotions-legacy.php:1 47249 #: includes/pages/promotions/partials/style-section.php:19 250 #: slope-promotions-legacy.php:153 252 251 msgid "Destra" 253 252 msgstr "Right" 254 253 255 #: includes/pages/promotions/partials/style-section.php:2 0256 #: slope-promotions-legacy.php:1 24 slope-promotions-legacy.php:184254 #: includes/pages/promotions/partials/style-section.php:24 255 #: slope-promotions-legacy.php:130 slope-promotions-legacy.php:190 257 256 msgid "Leggero" 258 257 msgstr "Light" 259 258 260 #: includes/pages/promotions/partials/style-section.php:2 1261 #: slope-promotions-legacy.php:1 25 slope-promotions-legacy.php:185259 #: includes/pages/promotions/partials/style-section.php:25 260 #: slope-promotions-legacy.php:131 slope-promotions-legacy.php:191 262 261 msgid "Normale" 263 262 msgstr "Regular" 264 263 265 #: includes/pages/promotions/partials/style-section.php:2 2266 #: slope-promotions-legacy.php:1 26 slope-promotions-legacy.php:186264 #: includes/pages/promotions/partials/style-section.php:26 265 #: slope-promotions-legacy.php:132 slope-promotions-legacy.php:192 267 266 msgid "Medio" 268 267 msgstr "Medium" 269 268 270 #: includes/pages/promotions/partials/style-section.php:2 3271 #: slope-promotions-legacy.php:1 27 slope-promotions-legacy.php:187269 #: includes/pages/promotions/partials/style-section.php:27 270 #: slope-promotions-legacy.php:133 slope-promotions-legacy.php:193 272 271 msgid "Grassetto Leggero" 273 272 msgstr "Semi-Bold" 274 273 275 #: includes/pages/promotions/partials/style-section.php:2 4276 #: slope-promotions-legacy.php:1 28 slope-promotions-legacy.php:188274 #: includes/pages/promotions/partials/style-section.php:28 275 #: slope-promotions-legacy.php:134 slope-promotions-legacy.php:194 277 276 msgid "Grassetto" 278 277 msgstr "Bold" 279 278 280 #: includes/pages/promotions/partials/style-section.php: 38279 #: includes/pages/promotions/partials/style-section.php:42 281 280 msgid "Contenitore" 282 281 msgstr "Container" 283 282 284 #: includes/pages/promotions/partials/style-section.php:4 3285 #: slope-promotions-legacy.php: 65283 #: includes/pages/promotions/partials/style-section.php:47 284 #: slope-promotions-legacy.php:71 286 285 msgid "Colore dello sfondo" 287 286 msgstr "Background color" 288 287 289 #: includes/pages/promotions/partials/style-section.php:5 1290 #: slope-promotions-legacy.php:9 2288 #: includes/pages/promotions/partials/style-section.php:55 289 #: slope-promotions-legacy.php:98 291 290 msgid "Raggio dei bordi" 292 291 msgstr "Border radius" 293 292 294 #: includes/pages/promotions/partials/style-section.php: 67293 #: includes/pages/promotions/partials/style-section.php:71 295 294 msgid "" 296 295 "Seleziona il raggio di arrotondamento degli angoli delle schede promozioni. " … … 300 299 "radius, the more rounded the corners will be." 301 300 302 #: includes/pages/promotions/partials/style-section.php: 78301 #: includes/pages/promotions/partials/style-section.php:82 303 302 msgid "Titolo" 304 303 msgstr "Title" 305 304 306 #: includes/pages/promotions/partials/style-section.php:8 4307 #: includes/pages/promotions/partials/style-section.php:1 59308 #: includes/pages/promotions/partials/style-section.php:24 3309 #: includes/ sections/slope-reservations/settings-section.php:67310 #: slope-promotions-legacy.php:1 04 slope-promotions-legacy.php:174311 #: slope-promotions-legacy.php:2 06305 #: includes/pages/promotions/partials/style-section.php:88 306 #: includes/pages/promotions/partials/style-section.php:163 307 #: includes/pages/promotions/partials/style-section.php:249 308 #: includes/pages/reservations/partials/form.php:68 309 #: slope-promotions-legacy.php:110 slope-promotions-legacy.php:180 310 #: slope-promotions-legacy.php:212 312 311 msgid "Colore del testo" 313 312 msgstr "Text color" 314 313 315 #: includes/pages/promotions/partials/style-section.php:9 4316 #: includes/pages/promotions/partials/style-section.php:1 69317 #: slope-promotions-legacy.php:11 3314 #: includes/pages/promotions/partials/style-section.php:98 315 #: includes/pages/promotions/partials/style-section.php:173 316 #: slope-promotions-legacy.php:119 318 317 msgid "Dimensione del testo" 319 318 msgstr "Text size" 320 319 321 #: includes/pages/promotions/partials/style-section.php:11 1322 #: includes/pages/promotions/partials/style-section.php:1 86323 #: includes/pages/promotions/partials/style-section.php:25 3320 #: includes/pages/promotions/partials/style-section.php:115 321 #: includes/pages/promotions/partials/style-section.php:190 322 #: includes/pages/promotions/partials/style-section.php:259 324 323 msgid "Peso del testo" 325 324 msgstr "Text weight" 326 325 327 #: includes/pages/promotions/partials/style-section.php:1 29326 #: includes/pages/promotions/partials/style-section.php:133 328 327 msgid "Allineamento del titolo" 329 328 msgstr "Title alignment" 330 329 331 #: includes/pages/promotions/partials/style-section.php:15 2330 #: includes/pages/promotions/partials/style-section.php:156 332 331 msgid "Descrizione" 333 332 msgstr "Description" 334 333 335 #: includes/pages/promotions/partials/style-section.php:20 4336 #: slope-promotions-legacy.php:1 49334 #: includes/pages/promotions/partials/style-section.php:208 335 #: slope-promotions-legacy.php:155 337 336 msgid "Allineamento del testo" 338 337 msgstr "Text alignment" 339 338 340 #: includes/pages/promotions/partials/style-section.php:2 25341 #: includes/ sections/slope-reservations/settings-section.php:20339 #: includes/pages/promotions/partials/style-section.php:231 340 #: includes/pages/reservations/partials/form.php:21 342 341 msgid "Pulsante" 343 342 msgstr "Button" 344 343 345 #: includes/pages/promotions/partials/style-section.php:23 2346 #: includes/ sections/slope-reservations/settings-section.php:58347 #: slope-promotions-legacy.php:1 65344 #: includes/pages/promotions/partials/style-section.php:238 345 #: includes/pages/reservations/partials/form.php:59 346 #: slope-promotions-legacy.php:171 348 347 msgid "Colore di sfondo" 349 348 msgstr "Background color" 349 350 #: includes/pages/reservations/index.php:6 351 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 352 msgstr "Customize the Slope reservations widget. Use the " 353 354 #: includes/pages/reservations/partials/form.php:24 355 msgid "Testo del pulsante in italiano" 356 msgstr "Button label in Italian" 357 358 #: includes/pages/reservations/partials/form.php:27 359 msgid "Es: Prenota" 360 msgstr "Eg: Prenota" 361 362 #: includes/pages/reservations/partials/form.php:30 363 msgid "Testo del pulsante in inglese" 364 msgstr "Button label in English" 365 366 #: includes/pages/reservations/partials/form.php:32 367 msgid "Es: Book now" 368 msgstr "Eg: Book now" 369 370 #: includes/pages/reservations/partials/form.php:35 371 msgid "Testo del pulsante in francese" 372 msgstr "Button label in French" 373 374 #: includes/pages/reservations/partials/form.php:37 375 msgid "Es: Réserver" 376 msgstr "Eg: Réserver" 377 378 #: includes/pages/reservations/partials/form.php:40 379 msgid "Testo del pulsante in tedesco" 380 msgstr "Button label in German" 381 382 #: includes/pages/reservations/partials/form.php:42 383 msgid "Es: Buchen" 384 msgstr "Eg: Buchen" 385 386 #: includes/pages/reservations/partials/form.php:45 387 msgid "Testo del pulsante in grassetto" 388 msgstr "Bold button text" 389 390 #: includes/pages/reservations/partials/form.php:54 391 msgid "Aspetto" 392 msgstr "Style" 393 394 #: includes/pages/reservations/partials/form.php:74 395 msgid "Mostra selezione bambini" 396 msgstr "Show children select field" 397 398 #: includes/pages/reservations/partials/form.php:79 399 msgid "Visualizza il widget su due righe" 400 msgstr "Display the widget on two rows" 401 402 #: includes/pages/reservations/partials/form.php:90 403 msgid "Filtri" 404 msgstr "Filters" 405 406 #: includes/pages/reservations/partials/form.php:93 407 msgid "Età minima dei bambini (in anni)" 408 msgstr "Minimum children age (years)" 409 410 #: includes/pages/reservations/partials/form.php:95 411 msgid "Es: 0" 412 msgstr "Eg: 0" 413 414 #: includes/pages/reservations/partials/form.php:98 415 msgid "Età massima dei bambini (in anni)" 416 msgstr "Maximum children age (years)" 417 418 #: includes/pages/reservations/partials/form.php:100 419 msgid "Es: 12" 420 msgstr "Eg: 12" 421 422 #: includes/pages/reservations/partials/form.php:103 423 msgid "Soggiorno minimo suggerito" 424 msgstr "Minimum stay suggested" 425 426 #: includes/pages/reservations/partials/form.php:105 427 msgid "Es: 3" 428 msgstr "Eg: 3" 350 429 351 430 #: includes/pages/welcome/index.php:6 … … 404 483 msgstr "Submit" 405 484 406 #: includes/sections/slope-reservations/settings-section.php:23 407 msgid "Testo del pulsante in italiano" 408 msgstr "Button label in Italian" 409 410 #: includes/sections/slope-reservations/settings-section.php:26 411 msgid "Es: Prenota" 412 msgstr "Eg: Prenota" 413 414 #: includes/sections/slope-reservations/settings-section.php:29 415 msgid "Testo del pulsante in inglese" 416 msgstr "Button label in English" 417 418 #: includes/sections/slope-reservations/settings-section.php:31 419 msgid "Es: Book now" 420 msgstr "Eg: Book now" 421 422 #: includes/sections/slope-reservations/settings-section.php:34 423 msgid "Testo del pulsante in francese" 424 msgstr "Button label in French" 425 426 #: includes/sections/slope-reservations/settings-section.php:36 427 msgid "Es: Réserver" 428 msgstr "Eg: Réserver" 429 430 #: includes/sections/slope-reservations/settings-section.php:39 431 msgid "Testo del pulsante in tedesco" 432 msgstr "Button label in German" 433 434 #: includes/sections/slope-reservations/settings-section.php:41 435 msgid "Es: Buchen" 436 msgstr "Eg: Buchen" 437 438 #: includes/sections/slope-reservations/settings-section.php:44 439 msgid "Testo del pulsante in grassetto" 440 msgstr "Bold button text" 441 442 #: includes/sections/slope-reservations/settings-section.php:53 443 msgid "Aspetto" 444 msgstr "Style" 445 446 #: includes/sections/slope-reservations/settings-section.php:73 447 msgid "Mostra selezione bambini" 448 msgstr "Show children select field" 449 450 #: includes/sections/slope-reservations/settings-section.php:78 451 msgid "Visualizza il widget su due righe" 452 msgstr "Display the widget on two rows" 453 454 #: includes/sections/slope-reservations/settings-section.php:89 455 msgid "Filtri" 456 msgstr "Filters" 457 458 #: includes/sections/slope-reservations/settings-section.php:92 459 msgid "Età massima dei bambini (in anni)" 460 msgstr "Maximum children age (years)" 461 462 #: includes/sections/slope-reservations/settings-section.php:94 463 msgid "Es: 12" 464 msgstr "Eg: 12" 465 466 #: includes/sections/slope-reservations/settings-section.php:97 467 msgid "Soggiorno minimo suggerito" 468 msgstr "Minimum stay suggested" 469 470 #: includes/sections/slope-reservations/settings-section.php:99 471 msgid "Es: 3" 472 msgstr "Eg: 3" 473 474 #: slope-promotions-legacy.php:20 485 #: slope-promotions-legacy.php:26 475 486 msgid "" 476 487 "Attenzione: Questo widget per le promozioni verrà sostituito in una versione " … … 481 492 "recommend using the new Slope promotions widget." 482 493 483 #: slope-promotions-legacy.php: 25494 #: slope-promotions-legacy.php:31 484 495 msgid "Personalizza il widget delle promozioni di Slope. Usa lo " 485 496 msgstr "Customize the Slope promotions widget. Just use " 486 497 487 #: slope-promotions-legacy.php:3 1498 #: slope-promotions-legacy.php:37 488 499 msgid "ID struttura" 489 500 msgstr "Hotel ID" 490 501 491 #: slope-promotions-legacy.php:3 3502 #: slope-promotions-legacy.php:39 492 503 msgid "Il tuo Slope ID" 493 504 msgstr "Your Slope hotel ID" 494 505 495 #: slope-promotions-legacy.php: 49506 #: slope-promotions-legacy.php:55 496 507 msgid "Nascondi informazioni delle promozioni" 497 508 msgstr "Hide promotions information" 498 509 499 #: slope-promotions-legacy.php:6 3510 #: slope-promotions-legacy.php:69 500 511 msgid "SCHEDA" 501 512 msgstr "CARD" 502 513 503 #: slope-promotions-legacy.php: 74514 #: slope-promotions-legacy.php:80 504 515 msgid "Spessore dei bordi" 505 516 msgstr "Border size" 506 517 507 #: slope-promotions-legacy.php:8 3518 #: slope-promotions-legacy.php:89 508 519 msgid "Colore dei bordi" 509 520 msgstr "Border color" 510 521 511 #: slope-promotions-legacy.php:10 2522 #: slope-promotions-legacy.php:108 512 523 msgid "TITOLO" 513 524 msgstr "TITLE" 514 525 515 #: slope-promotions-legacy.php:13 0 slope-promotions-legacy.php:190526 #: slope-promotions-legacy.php:136 slope-promotions-legacy.php:196 516 527 msgid "Peso del font" 517 528 msgstr "Font weight" 518 529 519 #: slope-promotions-legacy.php:16 3530 #: slope-promotions-legacy.php:169 520 531 msgid "PULSANTE" 521 532 msgstr "BUTTON" 522 533 523 #: slope-promotions-legacy.php:2 04534 #: slope-promotions-legacy.php:210 524 535 msgid "TESTO" 525 536 msgstr "TEXT" 526 537 527 #: slope-promotions-legacy.php:2 25538 #: slope-promotions-legacy.php:231 528 539 msgid "Numero di schede da mostrare per riga" 529 540 msgstr "Cards to show in a row" 530 541 531 #: slope-promotions-legacy.php:2 49542 #: slope-promotions-legacy.php:255 532 543 msgid "Impostazioni" 533 544 msgstr "Settings" 534 545 535 #: slope-reservations.php:19 536 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 537 msgstr "Customize the Slope reservations widget. Use the " 538 539 #: slope-widgets.php:212 546 #: slope-widgets.php:196 540 547 msgid "Settings" 541 548 msgstr "Settings" -
slope-widgets/trunk/languages/slope-widgets.pot
r3289147 r3385288 3 3 msgstr "" 4 4 "Project-Id-Version: Slope Widgets\n" 5 "POT-Creation-Date: 2025- 04-28 14:11+0200\n"5 "POT-Creation-Date: 2025-10-17 16:17+0200\n" 6 6 "PO-Revision-Date: 2018-01-04 14:50+0100\n" 7 7 "Last-Translator: \n" … … 11 11 "Content-Transfer-Encoding: 8bit\n" 12 12 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" 13 "X-Generator: Poedit 3. 6\n"13 "X-Generator: Poedit 3.8\n" 14 14 "X-Poedit-Basepath: ..\n" 15 15 "X-Poedit-WPHeader: slope-widgets.php\n" … … 19 19 "X-Poedit-SearchPathExcluded-0: *.js\n" 20 20 21 #: includes/admin/GlobalSettings.php:2 021 #: includes/admin/GlobalSettings.php:24 22 22 msgid "Impostazioni di Slope Widgets" 23 23 msgstr "" 24 24 25 #: includes/admin/GlobalSettings.php: 6625 #: includes/admin/GlobalSettings.php:74 26 26 msgid "L'ID Struttura non è valido." 27 27 msgstr "" 28 28 29 #: includes/admin/Promotions.php: 7829 #: includes/admin/Promotions.php:93 30 30 msgid "Id Struttura non impostato" 31 31 msgstr "" 32 32 33 #: includes/admin/Promotions.php: 18933 #: includes/admin/Promotions.php:209 includes/admin/Reservations.php:392 34 34 msgid "Una delle proprietà non è valida, controllare i valori e riprovare" 35 35 msgstr "" 36 36 37 37 #: includes/pages/global-settings/index.php:14 38 #: includes/pages/promotions/index.php:35 slope-promotions-legacy.php:26239 #: slope-reservations.php:3438 #: includes/pages/promotions/index.php:35 39 #: includes/pages/reservations/index.php:21 slope-promotions-legacy.php:268 40 40 msgid "Salva modifiche" 41 41 msgstr "" 42 42 43 #: includes/pages/global-settings/partials/form.php: 843 #: includes/pages/global-settings/partials/form.php:10 44 44 msgid "Slope Widgets funziona con gli shortcode. Se non sai cosa sono e come funzionano, consulta la" 45 45 msgstr "" 46 46 47 #: includes/pages/global-settings/partials/form.php: 847 #: includes/pages/global-settings/partials/form.php:10 48 48 msgid "documentazione" 49 49 msgstr "" 50 50 51 #: includes/pages/global-settings/partials/form.php: 851 #: includes/pages/global-settings/partials/form.php:10 52 52 msgid "di WordPress." 53 53 msgstr "" 54 54 55 #: includes/pages/global-settings/partials/form.php:1 155 #: includes/pages/global-settings/partials/form.php:13 56 56 msgid "Se il sito web della tua struttura è multilingua e preferisci mostrare il widget di prenotazione e il booking engine in un'altra lingua, aggiungi il parametro opzionale lang allo shortcode che inserirai nelle pagine del sito tradotte." 57 57 msgstr "" 58 58 59 #: includes/pages/global-settings/partials/form.php:1 459 #: includes/pages/global-settings/partials/form.php:16 60 60 msgid "Le lingue supportate dalla barra delle prenotazioni sono italiano, inglese, francese e tedesco (it, en, fr, de)." 61 61 msgstr "" 62 62 63 #: includes/pages/global-settings/partials/form.php:1 763 #: includes/pages/global-settings/partials/form.php:19 64 64 msgid "Shortcode supportati:" 65 65 msgstr "" 66 66 67 #: includes/pages/global-settings/partials/form.php:2 067 #: includes/pages/global-settings/partials/form.php:22 68 68 msgid "mostra widget e booking engine in base alla lingua del browser del visitatore, o in inglese se la lingua non è supportata." 69 69 msgstr "" 70 70 71 #: includes/pages/global-settings/partials/form.php:2 171 #: includes/pages/global-settings/partials/form.php:23 72 72 msgid "mostra widget e booking engine sempre in inglese." 73 73 msgstr "" 74 74 75 #: includes/pages/global-settings/partials/form.php:2 275 #: includes/pages/global-settings/partials/form.php:24 76 76 msgid "mostra widget e booking engine sempre in italiano." 77 77 msgstr "" 78 78 79 #: includes/pages/global-settings/partials/form.php:2 379 #: includes/pages/global-settings/partials/form.php:25 80 80 msgid "mostra widget e booking engine sempre in francese." 81 81 msgstr "" 82 82 83 #: includes/pages/global-settings/partials/form.php:2 483 #: includes/pages/global-settings/partials/form.php:26 84 84 msgid "mostra widget e booking engine sempre in tedesco." 85 85 msgstr "" 86 86 87 #: includes/pages/global-settings/partials/form.php:2 587 #: includes/pages/global-settings/partials/form.php:27 88 88 msgid "mostra le promozioni in base alla lingua del browser del visitatore, o in inglese se la lingua non è supportata." 89 89 msgstr "" 90 90 91 #: includes/pages/global-settings/partials/form.php:2 691 #: includes/pages/global-settings/partials/form.php:28 92 92 msgid "mostra le promozioni sempre in inglese." 93 93 msgstr "" 94 94 95 #: includes/pages/global-settings/partials/form.php:2 795 #: includes/pages/global-settings/partials/form.php:29 96 96 msgid "mostra le promozioni sempre in italiano." 97 97 msgstr "" 98 98 99 #: includes/pages/global-settings/partials/form.php: 2899 #: includes/pages/global-settings/partials/form.php:30 100 100 msgid "mostra le promozioni sempre in francese." 101 101 msgstr "" 102 102 103 #: includes/pages/global-settings/partials/form.php: 29103 #: includes/pages/global-settings/partials/form.php:31 104 104 msgid "mostra le promozioni sempre in tedesco." 105 105 msgstr "" 106 106 107 #: includes/pages/global-settings/partials/form.php:3 5107 #: includes/pages/global-settings/partials/form.php:37 108 108 msgid "Impostazioni Generali" 109 109 msgstr "" 110 110 111 #: includes/pages/global-settings/partials/form.php: 38111 #: includes/pages/global-settings/partials/form.php:40 112 112 msgid "ID Struttura Slope" 113 113 msgstr "" 114 114 115 #: includes/pages/global-settings/partials/form.php:4 4115 #: includes/pages/global-settings/partials/form.php:46 116 116 msgid "Inserisci qui l'identificativo della tua struttura" 117 117 msgstr "" 118 118 119 #: includes/pages/global-settings/partials/form.php:4 6119 #: includes/pages/global-settings/partials/form.php:48 120 120 msgid "Hai acquistato Slope ma non hai ancora l'ID?" 121 121 msgstr "" 122 122 123 #: includes/pages/global-settings/partials/form.php:4 7123 #: includes/pages/global-settings/partials/form.php:49 124 124 msgid "Richiesta ID Struttura da Slope Widgets WP Plugin" 125 125 msgstr "" 126 126 127 #: includes/pages/global-settings/partials/form.php: 48127 #: includes/pages/global-settings/partials/form.php:50 128 128 msgid "Richiedilo ora" 129 129 msgstr "" 130 130 131 #: includes/pages/global-settings/partials/form.php:5 3131 #: includes/pages/global-settings/partials/form.php:55 132 132 msgid "Apri il booking engine in una nuova scheda" 133 133 msgstr "" 134 134 135 #: includes/pages/global-settings/partials/form.php: 58135 #: includes/pages/global-settings/partials/form.php:64 136 136 msgid "Selezionando questa casella, il booking engine verrà aperto in una nuova scheda del browser." 137 137 msgstr "" … … 141 141 msgstr "" 142 142 143 #: includes/pages/promotions/index.php:12 slope-promotions-legacy.php:25144 #: slope-reservations.php:21143 #: includes/pages/promotions/index.php:12 144 #: includes/pages/reservations/index.php:8 slope-promotions-legacy.php:31 145 145 msgid "per inserirlo dove vuoi!" 146 146 msgstr "" 147 147 148 #: includes/pages/promotions/index.php:16 slope-promotions-legacy.php:27149 #: slope-reservations.php:24148 #: includes/pages/promotions/index.php:16 149 #: includes/pages/reservations/index.php:11 slope-promotions-legacy.php:33 150 150 msgid "Per modificare il tuo ID struttura " 151 151 msgstr "" 152 152 153 #: includes/pages/promotions/index.php:17 slope-promotions-legacy.php:27154 #: slope-reservations.php:25153 #: includes/pages/promotions/index.php:17 154 #: includes/pages/reservations/index.php:12 slope-promotions-legacy.php:33 155 155 msgid "clicca qui" 156 156 msgstr "" 157 157 158 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:25 2158 #: includes/pages/promotions/index.php:25 slope-promotions-legacy.php:258 159 159 msgid "Stile" 160 160 msgstr "" 161 161 162 162 #: includes/pages/promotions/index.php:28 163 #: includes/pages/promotions/partials/layout-section.php:1 1164 #: slope-promotions-legacy.php:2 55163 #: includes/pages/promotions/partials/layout-section.php:14 164 #: slope-promotions-legacy.php:261 165 165 msgid "Layout" 166 166 msgstr "" 167 167 168 #: includes/pages/promotions/partials/layout-section.php:1 6168 #: includes/pages/promotions/partials/layout-section.php:19 169 169 msgid "Orientamento scheda" 170 170 msgstr "" 171 171 172 #: includes/pages/promotions/partials/layout-section.php:2 3172 #: includes/pages/promotions/partials/layout-section.php:26 173 173 msgid "Orizzontale" 174 174 msgstr "" 175 175 176 #: includes/pages/promotions/partials/layout-section.php:2 4176 #: includes/pages/promotions/partials/layout-section.php:27 177 177 msgid "Verticale" 178 178 msgstr "" 179 179 180 #: includes/pages/promotions/partials/layout-section.php: 39180 #: includes/pages/promotions/partials/layout-section.php:42 181 181 msgid "Numero di promozioni per riga" 182 182 msgstr "" 183 183 184 #: includes/pages/promotions/partials/layout-section.php:7 0184 #: includes/pages/promotions/partials/layout-section.php:78 185 185 msgid "Specifica il numero di promozioni massime da mostrare in ogni riga in schermi più larghi di 1024px. Nel layout orizzontale è possibile selezionare un massimo di 2 colonne ogni riga." 186 186 msgstr "" 187 187 188 #: includes/pages/promotions/partials/layout-section.php: 82188 #: includes/pages/promotions/partials/layout-section.php:90 189 189 msgid "Descrizioni" 190 190 msgstr "" 191 191 192 #: includes/pages/promotions/partials/layout-section.php: 87193 #: slope-promotions-legacy.php:4 0192 #: includes/pages/promotions/partials/layout-section.php:95 193 #: slope-promotions-legacy.php:46 194 194 msgid "Nascondi descrizione delle promozioni" 195 195 msgstr "" 196 196 197 #: includes/pages/promotions/partials/layout-section.php: 96197 #: includes/pages/promotions/partials/layout-section.php:105 198 198 msgid "Massimo di righe per la descrizione delle promozioni" 199 199 msgstr "" 200 200 201 #: includes/pages/promotions/partials/promotionsList.ajax.php: 8201 #: includes/pages/promotions/partials/promotionsList.ajax.php:10 202 202 msgid "Non sono presenti promozioni disponibili." 203 203 msgstr "" 204 204 205 #: includes/pages/promotions/partials/style-section.php:1 3206 #: slope-promotions-legacy.php:1 45205 #: includes/pages/promotions/partials/style-section.php:17 206 #: slope-promotions-legacy.php:151 207 207 msgid "Sinistra" 208 208 msgstr "" 209 209 210 #: includes/pages/promotions/partials/style-section.php:1 4211 #: slope-promotions-legacy.php:1 46210 #: includes/pages/promotions/partials/style-section.php:18 211 #: slope-promotions-legacy.php:152 212 212 msgid "Centro" 213 213 msgstr "" 214 214 215 #: includes/pages/promotions/partials/style-section.php:1 5216 #: slope-promotions-legacy.php:1 47215 #: includes/pages/promotions/partials/style-section.php:19 216 #: slope-promotions-legacy.php:153 217 217 msgid "Destra" 218 218 msgstr "" 219 219 220 #: includes/pages/promotions/partials/style-section.php:2 0221 #: slope-promotions-legacy.php:1 24 slope-promotions-legacy.php:184220 #: includes/pages/promotions/partials/style-section.php:24 221 #: slope-promotions-legacy.php:130 slope-promotions-legacy.php:190 222 222 msgid "Leggero" 223 223 msgstr "" 224 224 225 #: includes/pages/promotions/partials/style-section.php:2 1226 #: slope-promotions-legacy.php:1 25 slope-promotions-legacy.php:185225 #: includes/pages/promotions/partials/style-section.php:25 226 #: slope-promotions-legacy.php:131 slope-promotions-legacy.php:191 227 227 msgid "Normale" 228 228 msgstr "" 229 229 230 #: includes/pages/promotions/partials/style-section.php:2 2231 #: slope-promotions-legacy.php:1 26 slope-promotions-legacy.php:186230 #: includes/pages/promotions/partials/style-section.php:26 231 #: slope-promotions-legacy.php:132 slope-promotions-legacy.php:192 232 232 msgid "Medio" 233 233 msgstr "" 234 234 235 #: includes/pages/promotions/partials/style-section.php:2 3236 #: slope-promotions-legacy.php:1 27 slope-promotions-legacy.php:187235 #: includes/pages/promotions/partials/style-section.php:27 236 #: slope-promotions-legacy.php:133 slope-promotions-legacy.php:193 237 237 msgid "Grassetto Leggero" 238 238 msgstr "" 239 239 240 #: includes/pages/promotions/partials/style-section.php:2 4241 #: slope-promotions-legacy.php:1 28 slope-promotions-legacy.php:188240 #: includes/pages/promotions/partials/style-section.php:28 241 #: slope-promotions-legacy.php:134 slope-promotions-legacy.php:194 242 242 msgid "Grassetto" 243 243 msgstr "" 244 244 245 #: includes/pages/promotions/partials/style-section.php: 38245 #: includes/pages/promotions/partials/style-section.php:42 246 246 msgid "Contenitore" 247 247 msgstr "" 248 248 249 #: includes/pages/promotions/partials/style-section.php:4 3250 #: slope-promotions-legacy.php: 65249 #: includes/pages/promotions/partials/style-section.php:47 250 #: slope-promotions-legacy.php:71 251 251 msgid "Colore dello sfondo" 252 252 msgstr "" 253 253 254 #: includes/pages/promotions/partials/style-section.php:5 1255 #: slope-promotions-legacy.php:9 2254 #: includes/pages/promotions/partials/style-section.php:55 255 #: slope-promotions-legacy.php:98 256 256 msgid "Raggio dei bordi" 257 257 msgstr "" 258 258 259 #: includes/pages/promotions/partials/style-section.php: 67259 #: includes/pages/promotions/partials/style-section.php:71 260 260 msgid "Seleziona il raggio di arrotondamento degli angoli delle schede promozioni. Ad un raggio più alto corrisponde un arrotondamento degli angoli maggiore." 261 261 msgstr "" 262 262 263 #: includes/pages/promotions/partials/style-section.php: 78263 #: includes/pages/promotions/partials/style-section.php:82 264 264 msgid "Titolo" 265 265 msgstr "" 266 266 267 #: includes/pages/promotions/partials/style-section.php:8 4268 #: includes/pages/promotions/partials/style-section.php:1 59269 #: includes/pages/promotions/partials/style-section.php:24 3270 #: includes/ sections/slope-reservations/settings-section.php:67271 #: slope-promotions-legacy.php:1 04 slope-promotions-legacy.php:174272 #: slope-promotions-legacy.php:2 06267 #: includes/pages/promotions/partials/style-section.php:88 268 #: includes/pages/promotions/partials/style-section.php:163 269 #: includes/pages/promotions/partials/style-section.php:249 270 #: includes/pages/reservations/partials/form.php:68 271 #: slope-promotions-legacy.php:110 slope-promotions-legacy.php:180 272 #: slope-promotions-legacy.php:212 273 273 msgid "Colore del testo" 274 274 msgstr "" 275 275 276 #: includes/pages/promotions/partials/style-section.php:9 4277 #: includes/pages/promotions/partials/style-section.php:1 69278 #: slope-promotions-legacy.php:11 3276 #: includes/pages/promotions/partials/style-section.php:98 277 #: includes/pages/promotions/partials/style-section.php:173 278 #: slope-promotions-legacy.php:119 279 279 msgid "Dimensione del testo" 280 280 msgstr "" 281 281 282 #: includes/pages/promotions/partials/style-section.php:11 1283 #: includes/pages/promotions/partials/style-section.php:1 86284 #: includes/pages/promotions/partials/style-section.php:25 3282 #: includes/pages/promotions/partials/style-section.php:115 283 #: includes/pages/promotions/partials/style-section.php:190 284 #: includes/pages/promotions/partials/style-section.php:259 285 285 msgid "Peso del testo" 286 286 msgstr "" 287 287 288 #: includes/pages/promotions/partials/style-section.php:1 29288 #: includes/pages/promotions/partials/style-section.php:133 289 289 msgid "Allineamento del titolo" 290 290 msgstr "" 291 291 292 #: includes/pages/promotions/partials/style-section.php:15 2292 #: includes/pages/promotions/partials/style-section.php:156 293 293 msgid "Descrizione" 294 294 msgstr "" 295 295 296 #: includes/pages/promotions/partials/style-section.php:20 4297 #: slope-promotions-legacy.php:1 49296 #: includes/pages/promotions/partials/style-section.php:208 297 #: slope-promotions-legacy.php:155 298 298 msgid "Allineamento del testo" 299 299 msgstr "" 300 300 301 #: includes/pages/promotions/partials/style-section.php:2 25302 #: includes/ sections/slope-reservations/settings-section.php:20301 #: includes/pages/promotions/partials/style-section.php:231 302 #: includes/pages/reservations/partials/form.php:21 303 303 msgid "Pulsante" 304 304 msgstr "" 305 305 306 #: includes/pages/promotions/partials/style-section.php:23 2307 #: includes/ sections/slope-reservations/settings-section.php:58308 #: slope-promotions-legacy.php:1 65306 #: includes/pages/promotions/partials/style-section.php:238 307 #: includes/pages/reservations/partials/form.php:59 308 #: slope-promotions-legacy.php:171 309 309 msgid "Colore di sfondo" 310 msgstr "" 311 312 #: includes/pages/reservations/index.php:6 313 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 314 msgstr "" 315 316 #: includes/pages/reservations/partials/form.php:24 317 msgid "Testo del pulsante in italiano" 318 msgstr "" 319 320 #: includes/pages/reservations/partials/form.php:27 321 msgid "Es: Prenota" 322 msgstr "" 323 324 #: includes/pages/reservations/partials/form.php:30 325 msgid "Testo del pulsante in inglese" 326 msgstr "" 327 328 #: includes/pages/reservations/partials/form.php:32 329 msgid "Es: Book now" 330 msgstr "" 331 332 #: includes/pages/reservations/partials/form.php:35 333 msgid "Testo del pulsante in francese" 334 msgstr "" 335 336 #: includes/pages/reservations/partials/form.php:37 337 msgid "Es: Réserver" 338 msgstr "" 339 340 #: includes/pages/reservations/partials/form.php:40 341 msgid "Testo del pulsante in tedesco" 342 msgstr "" 343 344 #: includes/pages/reservations/partials/form.php:42 345 msgid "Es: Buchen" 346 msgstr "" 347 348 #: includes/pages/reservations/partials/form.php:45 349 msgid "Testo del pulsante in grassetto" 350 msgstr "" 351 352 #: includes/pages/reservations/partials/form.php:54 353 msgid "Aspetto" 354 msgstr "" 355 356 #: includes/pages/reservations/partials/form.php:74 357 msgid "Mostra selezione bambini" 358 msgstr "" 359 360 #: includes/pages/reservations/partials/form.php:79 361 msgid "Visualizza il widget su due righe" 362 msgstr "" 363 364 #: includes/pages/reservations/partials/form.php:90 365 msgid "Filtri" 366 msgstr "" 367 368 #: includes/pages/reservations/partials/form.php:93 369 msgid "Età minima dei bambini (in anni)" 370 msgstr "" 371 372 #: includes/pages/reservations/partials/form.php:95 373 msgid "Es: 0" 374 msgstr "" 375 376 #: includes/pages/reservations/partials/form.php:98 377 msgid "Età massima dei bambini (in anni)" 378 msgstr "" 379 380 #: includes/pages/reservations/partials/form.php:100 381 msgid "Es: 12" 382 msgstr "" 383 384 #: includes/pages/reservations/partials/form.php:103 385 msgid "Soggiorno minimo suggerito" 386 msgstr "" 387 388 #: includes/pages/reservations/partials/form.php:105 389 msgid "Es: 3" 310 390 msgstr "" 311 391 … … 358 438 msgstr "" 359 439 360 #: includes/sections/slope-reservations/settings-section.php:23 361 msgid "Testo del pulsante in italiano" 362 msgstr "" 363 364 #: includes/sections/slope-reservations/settings-section.php:26 365 msgid "Es: Prenota" 366 msgstr "" 367 368 #: includes/sections/slope-reservations/settings-section.php:29 369 msgid "Testo del pulsante in inglese" 370 msgstr "" 371 372 #: includes/sections/slope-reservations/settings-section.php:31 373 msgid "Es: Book now" 374 msgstr "" 375 376 #: includes/sections/slope-reservations/settings-section.php:34 377 msgid "Testo del pulsante in francese" 378 msgstr "" 379 380 #: includes/sections/slope-reservations/settings-section.php:36 381 msgid "Es: Réserver" 382 msgstr "" 383 384 #: includes/sections/slope-reservations/settings-section.php:39 385 msgid "Testo del pulsante in tedesco" 386 msgstr "" 387 388 #: includes/sections/slope-reservations/settings-section.php:41 389 msgid "Es: Buchen" 390 msgstr "" 391 392 #: includes/sections/slope-reservations/settings-section.php:44 393 msgid "Testo del pulsante in grassetto" 394 msgstr "" 395 396 #: includes/sections/slope-reservations/settings-section.php:53 397 msgid "Aspetto" 398 msgstr "" 399 400 #: includes/sections/slope-reservations/settings-section.php:73 401 msgid "Mostra selezione bambini" 402 msgstr "" 403 404 #: includes/sections/slope-reservations/settings-section.php:78 405 msgid "Visualizza il widget su due righe" 406 msgstr "" 407 408 #: includes/sections/slope-reservations/settings-section.php:89 409 msgid "Filtri" 410 msgstr "" 411 412 #: includes/sections/slope-reservations/settings-section.php:92 413 msgid "Età massima dei bambini (in anni)" 414 msgstr "" 415 416 #: includes/sections/slope-reservations/settings-section.php:94 417 msgid "Es: 12" 418 msgstr "" 419 420 #: includes/sections/slope-reservations/settings-section.php:97 421 msgid "Soggiorno minimo suggerito" 422 msgstr "" 423 424 #: includes/sections/slope-reservations/settings-section.php:99 425 msgid "Es: 3" 426 msgstr "" 427 428 #: slope-promotions-legacy.php:20 440 #: slope-promotions-legacy.php:26 429 441 msgid "Attenzione: Questo widget per le promozioni verrà sostituito in una versione futura. Ti consigliamo di utilizzare il nuovo widget delle promozioni di Slope." 430 442 msgstr "" 431 443 432 #: slope-promotions-legacy.php: 25444 #: slope-promotions-legacy.php:31 433 445 msgid "Personalizza il widget delle promozioni di Slope. Usa lo " 434 446 msgstr "" 435 447 436 #: slope-promotions-legacy.php:3 1448 #: slope-promotions-legacy.php:37 437 449 msgid "ID struttura" 438 450 msgstr "" 439 451 440 #: slope-promotions-legacy.php:3 3452 #: slope-promotions-legacy.php:39 441 453 msgid "Il tuo Slope ID" 442 454 msgstr "" 443 455 444 #: slope-promotions-legacy.php: 49456 #: slope-promotions-legacy.php:55 445 457 msgid "Nascondi informazioni delle promozioni" 446 458 msgstr "" 447 459 448 #: slope-promotions-legacy.php:6 3460 #: slope-promotions-legacy.php:69 449 461 msgid "SCHEDA" 450 462 msgstr "" 451 463 452 #: slope-promotions-legacy.php: 74464 #: slope-promotions-legacy.php:80 453 465 msgid "Spessore dei bordi" 454 466 msgstr "" 455 467 456 #: slope-promotions-legacy.php:8 3468 #: slope-promotions-legacy.php:89 457 469 msgid "Colore dei bordi" 458 470 msgstr "" 459 471 460 #: slope-promotions-legacy.php:10 2472 #: slope-promotions-legacy.php:108 461 473 msgid "TITOLO" 462 474 msgstr "" 463 475 464 #: slope-promotions-legacy.php:13 0 slope-promotions-legacy.php:190476 #: slope-promotions-legacy.php:136 slope-promotions-legacy.php:196 465 477 msgid "Peso del font" 466 478 msgstr "" 467 479 468 #: slope-promotions-legacy.php:16 3480 #: slope-promotions-legacy.php:169 469 481 msgid "PULSANTE" 470 482 msgstr "" 471 483 472 #: slope-promotions-legacy.php:2 04484 #: slope-promotions-legacy.php:210 473 485 msgid "TESTO" 474 486 msgstr "" 475 487 476 #: slope-promotions-legacy.php:2 25488 #: slope-promotions-legacy.php:231 477 489 msgid "Numero di schede da mostrare per riga" 478 490 msgstr "" 479 491 480 #: slope-promotions-legacy.php:2 49492 #: slope-promotions-legacy.php:255 481 493 msgid "Impostazioni" 482 494 msgstr "" 483 495 484 #: slope-reservations.php:19 485 msgid "Personalizza il widget di prenotazione di Slope. Usa lo " 486 msgstr "" 487 488 #: slope-widgets.php:212 496 #: slope-widgets.php:196 489 497 msgid "Settings" 490 498 msgstr "" -
slope-widgets/trunk/readme.txt
r3294859 r3385288 6 6 Requires PHP: 7.0 7 7 Tested up to: 6.8 8 Stable tag: 4.3. 28 Stable tag: 4.3.3 9 9 License: GPLv2 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 40 40 == Changelog == 41 41 42 = 4.3.3 = 43 * Possibilità di indicare l'età minima dei bambini nelle impostazioni del plugin 44 * Correzioni minori 45 42 46 = 4.3.2 = 43 47 * Correzioni minori -
slope-widgets/trunk/slope-promotions-legacy.php
r3289147 r3385288 1 1 <?php 2 2 // SLOPE PROMOTIONS 3 4 use SlopeWidgets\Settings\GlobalSettingsProvider; 5 use SlopeWidgets\Settings\LegacyPromotionsSettingProvider; 6 use SlopeWidgets\Enums\FontWeight; 7 use SlopeWidgets\Enums\CardLayout; 8 use SlopeWidgets\Enums\TextAlignment; 3 9 4 10 add_shortcode('slope-promotions', 'slope_promotions'); -
slope-widgets/trunk/slope-widgets.php
r3294859 r3385288 3 3 * Plugin Name: Slope Widgets 4 4 * Description: Aggiungi i widget di Slope al sito web WordPress della tua struttura ricettiva! Questo plugin ti permette di mostrare la barra delle prenotazioni, i pacchetti e le promozioni tramite shortcode personalizzabili. 5 * Version: 4.3. 25 * Version: 4.3.3 6 6 * Author: Slope 7 7 * Author URI: https://www.slope.it/ … … 16 16 17 17 // We use this constant to invalidate the cache of the plugin's assets 18 const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3. 2';18 const SLOPE_WIDGETS_CACHE_BUST_VERSION = '4.3.3'; 19 19 20 20 // Current version of the database schema. It is used to check if the database schema needs to be updated. … … 23 23 const SLOPE_DB_VERSION_OPTION_KEY = 'slope_db_schema_version'; 24 24 25 // TODO: At the moment this is used only for the new promotions. Reservation plugin and legacy promotions have hardcoded26 // values inside`slope-widgets.js`. We should refactor this to use the same constant in the future.25 // TODO: At the moment this is used only for the new promotions. Legacy promotions have hardcoded values inside 26 // `slope-widgets.js`. We should refactor this to use the same constant in the future. 27 27 define( 28 28 'SLOPE_BOOKING_ENGINE_BASE_URL', … … 41 41 define('SLOPE_WIDGETS_PATH', plugin_dir_path(__FILE__)); 42 42 43 // Initialization 44 require_once(plugin_dir_path(__FILE__) . 'includes/enums/AbstractEnum.php'); 45 require_once(plugin_dir_path(__FILE__) . 'includes/enums/CardLayout.php'); 46 require_once(plugin_dir_path(__FILE__) . 'includes/enums/FontWeight.php'); 47 require_once(plugin_dir_path(__FILE__) . 'includes/enums/TextAlignment.php'); 48 require_once(plugin_dir_path(__FILE__) . 'includes/settings/PromotionsSettingsProvider.php'); 49 require_once(plugin_dir_path(__FILE__) . 'includes/settings/ReservationsSettingsProvider.php'); 50 require_once(plugin_dir_path(__FILE__) . 'includes/settings/LegacyPromotionsSettingProvider.php'); 51 require_once(plugin_dir_path(__FILE__) . 'includes/settings/GlobalSettingsProvider.php'); 52 require_once(plugin_dir_path(__FILE__) . 'includes/DBUpgrader.php'); 53 require_once(plugin_dir_path(__FILE__) . 'includes/helpers/LanguageResolver.php'); 54 require_once(plugin_dir_path(__FILE__) . 'includes/admin/GlobalSettings.php'); 55 require_once(plugin_dir_path(__FILE__) . 'includes/admin/WelcomePage.php'); 56 require_once(plugin_dir_path(__FILE__) . 'includes/admin/Promotions.php'); 57 require_once(plugin_dir_path(__FILE__) . 'validation/rules/ValidationRule.php'); 58 require_once(plugin_dir_path(__FILE__) . 'validation/Validator.php'); 59 require_once(plugin_dir_path(__FILE__) . 'validation/rules/HexColor.php'); 60 require_once(plugin_dir_path(__FILE__) . 'validation/rules/InArray.php'); 61 require_once(plugin_dir_path(__FILE__) . 'validation/rules/Range.php'); 62 require_once(plugin_dir_path(__FILE__) . 'validation/rules/Uuid.php'); 43 // Register PSR-4 autoloader 44 require_once(SLOPE_WIDGETS_PATH . 'includes/Autoloader.php'); 45 SlopeWidgets\Autoloader::register(); 46 47 // Use statements for classes we'll instantiate 48 use SlopeWidgets\Admin\WelcomePage; 49 use SlopeWidgets\Admin\GlobalSettings; 50 use SlopeWidgets\Admin\Reservations; 51 use SlopeWidgets\Admin\Promotions; 52 use SlopeWidgets\DBUpgrader; 53 use SlopeWidgets\Settings\ReservationsSettingsProvider; 63 54 64 55 // NOTE: The order of instantiations is important to render the item of the admin menu in the right order. As we are … … 67 58 $welcome_page = new WelcomePage(); 68 59 $globalSettings = new GlobalSettings(); 60 $reservationsPage = new Reservations(); 69 61 70 62 // Hook … … 178 170 function slope_init() 179 171 { 180 // Slope reservations181 // NOTE: The key 'slope_options' is used to store settings about the reservations widget182 register_setting('slope_options', 'slope_options', 'slope_reservations_options_validate');183 add_settings_section('reservations_section', '', 'slope_reservations_intro', 'slope_reservations_page');184 add_settings_field('slope_text_color', '', 'slope_reservations_page', 'reservations_section');185 add_settings_field('slope_text_color', '', 'slope_reservations_page', 'reservations_section');186 187 172 // Slope promotions legacy 188 173 register_setting('slope_promotions_options', 'slope_promotions_options'); 189 174 add_settings_section('promotions_section', '', 'slope_promotions_intro', 'slope_promotions_page'); 190 191 175 } 192 176 … … 202 186 // Slug is an alphanumeric string used to identify the page in the menu. Should be unique for this menu page so we use the plugin's main file path. 203 187 $slug = 'slope-widgets/slope-widgets.php'; 204 add_submenu_page($slug, 'Reservations', 'Reservations', 'manage_options', 'slope_reservations', 'slope_reservations_options_page');205 188 add_submenu_page($slug, 'Promotions [Deprecato]', 'Promotions [Deprecato]', 'manage_options', 'slope_promotions', 'slope_promotions_options_page'); 206 189 } … … 236 219 } 237 220 238 //include plugin reservations functionalities239 include("slope-reservations.php");240 241 221 //include plugin promotions functionalities 242 222 // TODO: This is going to be removed in a future release … … 245 225 // Include promotion list partials 246 226 include("includes/pages/promotions/partials/promotionsList.ajax.php"); 247 248 //include plugin settings functionalities249 include('includes/sections/slope-reservations/settings-section.php'); -
slope-widgets/trunk/validation/Validator.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation;4 namespace SlopeWidgets\Validation; 5 5 6 use validation\rules\ValidationRule;6 use SlopeWidgets\Validation\Rules\ValidationRule; 7 7 8 8 class Validator -
slope-widgets/trunk/validation/rules/HexColor.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class HexColor implements ValidationRule -
slope-widgets/trunk/validation/rules/InArray.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class InArray implements ValidationRule -
slope-widgets/trunk/validation/rules/Range.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class Range implements ValidationRule -
slope-widgets/trunk/validation/rules/Uuid.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 class Uuid implements ValidationRule -
slope-widgets/trunk/validation/rules/ValidationRule.php
r3289147 r3385288 2 2 declare(strict_types=1); 3 3 4 namespace validation\rules;4 namespace SlopeWidgets\Validation\Rules; 5 5 6 6 interface ValidationRule
Note: See TracChangeset
for help on using the changeset viewer.