From b721d2fd4aea1854c6ffe645bdc371a2e6a44f19 Mon Sep 17 00:00:00 2001 From: Tony Volpe Date: Mon, 11 Dec 2023 19:17:10 +0000 Subject: [PATCH] Merged in feature/102-dev-dev01 (pull request #6) auto-patch 102-dev-dev01-2023-12-11T19_15_32 * auto-patch 102-dev-dev01-2023-12-11T19_15_32 --- wp/wp-admin/about.php | 31 +- wp/wp-admin/css/about-rtl.css | 6 +- wp/wp-admin/css/about-rtl.min.css | 2 +- wp/wp-admin/css/about.css | 6 +- wp/wp-admin/css/about.min.css | 2 +- .../class-bsf-analytics-stats.php | 516 ++-- .../bsf-analytics/class-bsf-analytics.php | 1028 +++---- .../plugins/wp-schema-pro/changelog.txt | 4 + ...ss-bsf-aiosrs-pro-custom-fields-markup.php | 2464 ++++++++--------- .../classes/class-bsf-aiosrs-pro-schema.php | 25 + .../class-bsf-aiosrs-pro-schema-course.php | 22 + .../class-bsf-aiosrs-pro-schema-faq.php | 2 +- .../wp-schema-pro/languages/wp-schema-pro.pot | 2132 +++++++------- .../plugins/wp-schema-pro/wp-schema-pro.php | 4 +- .../classes/class-bsf-sp-helper.php | 1462 +++++----- wp/wp-includes/block-patterns.php | 2 +- wp/wp-includes/block-template-utils.php | 4 +- .../html-api/class-wp-html-tag-processor.php | 2 +- .../html-api/class-wp-html-token.php | 9 + wp/wp-includes/ms-blogs.php | 16 +- .../rest-api/class-wp-rest-server.php | 7 + wp/wp-includes/theme.php | 95 +- wp/wp-includes/version.php | 2 +- 23 files changed, 3956 insertions(+), 3887 deletions(-) diff --git a/wp/wp-admin/about.php b/wp/wp-admin/about.php index 416cd8dd..16e7fe6d 100644 --- a/wp/wp-admin/about.php +++ b/wp/wp-admin/about.php @@ -45,7 +45,7 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
-

+

Version %1$s addressed %2$s bug.', 'Version %1$s addressed %2$s bugs.', - 10 + 4 ), '6.4.1', '4' @@ -71,6 +71,31 @@ require_once ABSPATH . 'wp-admin/admin-header.php'; ); ?>

+

+ Version %1$s addressed a security issue and fixed %2$s bug.', + 'Version %1$s addressed a security issue and fixed %2$s bugs.', + 7 + ), + '6.4.2', + '7' + ); + ?> + the release notes.' ), + sprintf( + /* translators: %s: WordPress version. */ + esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ), + sanitize_title( '6.4.2' ) + ) + ); + ?> +

@@ -272,7 +297,7 @@ require_once ABSPATH . 'wp-admin/admin-header.php';

WordPress %2$s Field Guide. Learn about the changes in this release with detailed developer notes to help you build with WordPress.' ), __( 'https://make.wordpress.org/core/2023/10/23/wordpress-6-4-field-guide/' ), '6.4' diff --git a/wp/wp-admin/css/about-rtl.css b/wp/wp-admin/css/about-rtl.css index 7de2eab5..1f2f828c 100644 --- a/wp/wp-admin/css/about-rtl.css +++ b/wp/wp-admin/css/about-rtl.css @@ -535,8 +535,8 @@ position: relative; display: flex; flex-direction: column; - align-items: start; - justify-content: end; + align-items: flex-start; + justify-content: flex-end; box-sizing: border-box; padding: var(--gap) 0; height: clamp(12.5rem, -1.25rem + 36.67vw, 26.25rem); @@ -1127,7 +1127,7 @@ } .about-wrap .is-vertically-aligned-top { - align-self: start; + align-self: flex-start; } .about-wrap .is-vertically-aligned-center { diff --git a/wp/wp-admin/css/about-rtl.min.css b/wp/wp-admin/css/about-rtl.min.css index 1dbac49e..e779df6b 100644 --- a/wp/wp-admin/css/about-rtl.min.css +++ b/wp/wp-admin/css/about-rtl.min.css @@ -1,2 +1,2 @@ /*! This file is auto-generated */ -.about__container{--background:#EAE9E7;--subtle-background:#EAE9E7;--text:#1e1e1e;--text-light:#fff;--accent-1:#C94C26;--accent-2:#CFCABE;--accent-3:#f0f0f1;--accent-4:#B1C5A4;--nav-background:#fff;--nav-border:transparent;--nav-color:var(--text);--nav-current:var(--accent-1);--gap:2rem}.about-php,.contribute-php,.credits-php,.freedoms-php,.privacy-php{background:#fff}.about-php #wpcontent,.contribute-php #wpcontent,.credits-php #wpcontent,.freedoms-php #wpcontent,.privacy-php #wpcontent{background:#fff;padding:0 24px}@media screen and (max-width:782px){.about-php.auto-fold #wpcontent,.contribute-php.auto-fold #wpcontent,.credits-php.auto-fold #wpcontent,.freedoms-php.auto-fold #wpcontent,.privacy-php.auto-fold #wpcontent{padding-right:24px}}.about__container{max-width:1000px;margin:24px auto;clear:both}.about__container .alignleft{float:right}.about__container .alignright{float:left}.about__container .aligncenter{text-align:center}.about__container .is-vertically-aligned-top{align-self:start}.about__container .is-vertically-aligned-center{align-self:center}.about__container .is-vertically-aligned-bottom{align-self:end}.about__section{background:0 0;clear:both}.about__container .has-accent-background-color{background-color:var(--accent-2)}.about__container .has-accent-4-background-color{background-color:var(--accent-4)}.about__container .has-transparent-background-color{background-color:transparent}.about__container .has-accent-color{color:var(--accent-2)}.about__container .has-border{border:3px solid currentColor}.about__container .has-subtle-background-color{background-color:var(--subtle-background)}.about__container .has-background-image{background-size:contain;background-repeat:no-repeat;background-position:center}.about__section{margin:0}.about__section .column:not(.is-edge-to-edge){padding:var(--gap)}.about__section+.about__section .is-section-header{padding-bottom:var(--gap)}.about__section .column.has-border:not(.is-edge-to-edge),.about__section .column[class*=background-color]:not(.is-edge-to-edge),.about__section:where([class*=background-color]) .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section .column p:first-of-type{margin-top:0}.about__section .column p:last-of-type{margin-bottom:0}.about__section .has-text-columns{columns:2;column-gap:calc(var(--gap) * 2)}.about__section .is-section-header{margin-bottom:0;padding:var(--gap) var(--gap) 0}.about__section .is-section-header p:last-child{margin-bottom:0}.about__section .is-section-header:first-child:last-child{padding:0}.about__section.is-feature{padding:var(--gap)}.about__section.is-feature p{margin:0}.about__section.is-feature p+p{margin-top:calc(var(--gap)/ 2)}.about__section.has-1-column{margin-right:auto;margin-left:auto;max-width:36em}.about__section.has-2-columns,.about__section.has-3-columns,.about__section.has-4-columns,.about__section.has-overlap-style{display:grid}.about__section.has-gutters{gap:var(--gap);margin-bottom:var(--gap)}.about__section.has-2-columns{grid-template-columns:1fr 1fr}.about__section.has-2-columns.is-wider-right{grid-template-columns:2fr 3fr}.about__section.has-2-columns.is-wider-left{grid-template-columns:3fr 2fr}.about__section .is-section-header{grid-column-start:1;grid-column-end:-1}.about__section.has-3-columns{grid-template-columns:repeat(3,1fr)}.about__section.has-4-columns{grid-template-columns:repeat(4,1fr)}.about__section.has-overlap-style{grid-template-columns:repeat(7,1fr)}.about__section.has-overlap-style .column{grid-row-start:1}.about__section.has-overlap-style .column:nth-of-type(odd){grid-column-start:2;grid-column-end:span 3}.about__section.has-overlap-style .column:nth-of-type(2n){grid-column-start:4;grid-column-end:span 3}.about__section.has-overlap-style .column.is-top-layer{z-index:1}@media screen and (max-width:782px){.about__section.has-2-columns.is-wider-left,.about__section.has-2-columns.is-wider-right,.about__section.has-3-columns{display:block;margin-bottom:calc(var(--gap)/ 2)}.about__section .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section.has-2-columns.has-gutters.is-wider-left,.about__section.has-2-columns.has-gutters.is-wider-right,.about__section.has-3-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column,.about__section.has-3-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child,.about__section.has-3-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-3-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns{grid-template-columns:repeat(2,1fr)}.about__section.has-overlap-style{grid-template-columns:1fr}.about__section.has-overlap-style .column.column{grid-column-start:1;grid-column-end:2;grid-row-start:1;grid-row-end:2}}@media screen and (max-width:600px){.about__section.has-2-columns{display:block;margin-bottom:var(--gap)}.about__section.has-2-columns:not(.has-gutters) .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-2-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child{margin-bottom:0}}@media screen and (max-width:480px){.about__section.is-feature .column{padding:0}.about__section.has-4-columns{display:block;padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column{margin-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-4-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}}.about__container{line-height:1.4;color:var(--text)}.about__container h1{padding:0}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{margin-top:0;margin-bottom:.5em;font-size:2rem;font-weight:700;line-height:1.16}.about__container h1.is-smaller-heading,.about__container h2.is-smaller-heading,.about__container h3{margin-top:0;font-size:1.625rem;font-weight:700;line-height:1.4}.about__container h3.is-smaller-heading,.about__container h4{margin-top:0;font-size:1.125rem;font-weight:600;line-height:1.6}.about__container p{font-size:inherit;line-height:inherit}.about__container p.is-subheading{margin-top:0;font-size:1.5rem;font-weight:300;line-height:160%}.about__section a{color:var(--text);text-decoration:underline}.about__section a:active,.about__section a:focus,.about__section a:hover{color:var(--text);text-decoration:none}.wp-credits-list a{text-decoration:none}.wp-credits-list a:active,.wp-credits-list a:focus,.wp-credits-list a:hover{text-decoration:underline}.about__container ul{list-style:disc;margin-right:calc(var(--gap)/ 2)}.about__container li{margin-bottom:.5rem}.about__container img{margin:0;max-width:100%;vertical-align:middle}.about__container .about__image{margin:0}.about__container .about__image img{max-width:100%;width:100%;height:auto}.about__container .about__image figcaption{margin-top:.5em;text-align:center}.about__container .about__image .wp-video{margin-right:auto;margin-left:auto}.about__container .about__image svg{vertical-align:middle}.about__container .about__image+h3{margin-top:1.5em}.about__container hr{margin:calc(var(--gap)/ 2) var(--gap);height:0;border:none;border-top:4px solid var(--accent-3)}.about__container hr.is-small{margin-top:0;margin-bottom:0}.about__container hr.is-large{margin:var(--gap) auto}.about__container .notice,.about__container div.error,.about__container div.updated{display:none!important}.about__section{font-size:1.125rem;line-height:1.55}.about__section.is-feature{font-size:1.6em}.about__section.has-3-columns,.about__section.has-4-columns{font-size:1rem}@media screen and (max-width:480px){.about__section.is-feature{font-size:1.4em}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{font-size:2em}}.about__header{position:relative;display:flex;flex-direction:column;align-items:start;justify-content:end;box-sizing:border-box;padding:var(--gap) 0;height:clamp(12.5rem,-1.25rem + 36.67vw,26.25rem);color:var(--text-light);background-image:url('../images/about-header-about.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4');background-size:auto 70%,cover;border-radius:5px;background-repeat:no-repeat;background-position:left 7% center,top right;background-color:var(--background)}.credits-php .about__header{background-image:url('../images/about-header-credits.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.freedoms-php .about__header{background-image:url('../images/about-header-freedoms.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.privacy-php .about__header{background-image:url('../images/about-header-privacy.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.contribute-php .about__header{background-image:url('../images/about-header-contribute.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.about__header-image{margin:0 var(--gap) 3em}.about__header-title{box-sizing:border-box;margin:0 calc(var(--gap) + 2rem);padding:0;max-width:55%}.about__header-title h1{margin:0 0 1rem;padding:0;font-size:clamp(2rem, 20vw - 9rem, 4rem);line-height:1;font-weight:600}.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(2rem, 10vw - 3rem, 4rem)}.about__header-text{box-sizing:border-box;max-width:26em;margin:0 auto;padding:0;font-size:1.6rem;line-height:1.15;text-align:center}.about__header-navigation{position:relative;z-index:1;display:flex;justify-content:center;padding-top:0;margin-bottom:var(--gap);background:var(--nav-background);color:var(--nav-color);border-bottom:3px solid var(--nav-border)}.about__header-navigation .nav-tab{margin-right:0;padding:calc(var(--gap) * .75) var(--gap);float:none;font-size:1.4em;line-height:1;border-width:0 0 3px;border-style:solid;border-color:transparent;background:0 0;color:inherit}.about__header-navigation .nav-tab:active,.about__header-navigation .nav-tab:hover{background-color:var(--nav-current);color:var(--text-light)}.about__header-navigation .nav-tab-active{margin-bottom:-3px;color:var(--nav-current);border-width:0 0 6px;border-color:var(--nav-current)}.about__header-navigation .nav-tab-active:active,.about__header-navigation .nav-tab-active:hover{background-color:var(--nav-current);color:var(--text-light);border-color:var(--nav-current)}@media screen and (max-width:960px){.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(3rem, 6.67vw - .5rem, 4.5rem)}.about__header-navigation .nav-tab{padding:calc(var(--gap) * .75) calc(var(--gap) * .5)}}@media screen and (max-width:782px){.about__container .about__header-text{font-size:1.4em}.about__header-container{display:block}.about__header-image,.about__header-title{margin-right:calc(var(--gap)/ 2);margin-left:calc(var(--gap)/ 2)}.about__header-text{margin-top:0}.about__header-navigation .nav-tab{margin-top:0;margin-left:0;padding-right:calc(var(--gap)/ 2);padding-left:calc(var(--gap)/ 2)}}@media screen and (max-width:600px){.about__header{min-height:auto}.about__header,.contribute-php .about__header,.credits-php .about__header,.freedoms-php .about__header,.privacy-php .about__header{background-image:none}.about__header-title p{font-size:2.4em}.about__header-text{margin-right:calc(var(--gap)/ 2);margin-left:calc(var(--gap)/ 2)}.about__header-navigation{display:block}.about__header-navigation .nav-tab{display:block;margin-bottom:0;padding:calc(var(--gap)/ 2);border-right-width:6px;border-bottom:none}.about__header-navigation .nav-tab-active{border-bottom:none;border-right-width:6px}}.about__section .wp-people-group-title{margin-bottom:calc(var(--gap) * 2 - 10px);text-align:center}.about__section .wp-people-group{margin:0;display:flex;flex-wrap:wrap}.about__section .wp-person{display:inline-block;vertical-align:top;box-sizing:border-box;margin-bottom:calc(var(--gap) - 10px);width:25%;text-align:center}.about__section .compact .wp-person{height:auto;width:20%}.about__section .wp-person-avatar{display:block;margin:0 auto calc(var(--gap)/ 2);width:140px;height:140px;border-radius:100%;overflow:hidden}.about__section .wp-person .gravatar{width:140px;height:140px;filter:grayscale(100%)}.about__section .compact .wp-person .gravatar,.about__section .compact .wp-person-avatar{width:80px;height:80px}.about__section .wp-person .web{display:block;font-size:1.4em;font-weight:600;padding:10px 10px 0;text-decoration:none}.about__section .wp-person .web:hover{text-decoration:underline}.about__section .compact .wp-person .web{font-size:1.2em}.about__section .wp-person .title{display:block;margin-top:.5em}@media screen and (max-width:782px){.about__section .wp-person{width:33%}.about__section .compact .wp-person{width:25%}.about__section .wp-person .gravatar,.about__section .wp-person-avatar{width:120px;height:120px}}@media screen and (max-width:600px){.about__section .wp-person{width:50%}.about__section .compact .wp-person{width:33%}.about__section .wp-person .web{font-size:1.2em}}@media screen and (max-width:480px){.about__section .wp-person{min-width:100%}.about__section .wp-person .web{font-size:1em}.about__section .compact .wp-person .web{font-size:1em}}.about__section .column .freedom-image{margin-bottom:var(--gap);max-height:180px}.about__section .column .privacy-image{display:block;margin-right:auto;margin-left:auto;max-width:25rem}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:3em 0 0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;width:100%;height:auto;vertical-align:middle}.about-wrap .inline-svg img{max-width:100%;width:auto;height:auto}.about-wrap video{margin:1.5em auto}.wp-badge{background:#0073aa url(../images/w-logo-white.png?ver=20160308) no-repeat;background-position:center 25px;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap .nav-tab{padding-left:15px;padding-right:15px;font-size:18px;line-height:1.33333333}.about-wrap h1{margin:.2em 0 0 200px;padding:0;color:#32373c;line-height:1.2;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{font-size:16px;color:#23282d}.about-wrap p{line-height:1.5;font-size:16px}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap figcaption{font-size:13px;text-align:center;color:#fff;text-overflow:ellipsis}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;color:#555d66}.about-wrap .has-1-columns,.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:grid;max-width:800px;margin-top:40px;margin-right:auto;margin-left:auto}.about-wrap .column{margin-left:20px;margin-right:20px}.about-wrap .is-wide{max-width:760px}.about-wrap .is-fullwidth{max-width:100%}.about-wrap .has-1-columns{display:block;max-width:680px;margin:0 auto 40px}.about-wrap .has-2-columns{grid-template-columns:1fr 1fr}.about-wrap .has-2-columns .column:nth-of-type(odd){grid-column-start:1}.about-wrap .has-2-columns .column:nth-of-type(2n){grid-column-start:2}.about-wrap .has-2-columns.is-wider-right{grid-template-columns:1fr 2fr}.about-wrap .has-2-columns.is-wider-left{grid-template-columns:2fr 1fr}.about-wrap .has-3-columns{grid-template-columns:repeat(3,1fr)}.about-wrap .has-3-columns .column:nth-of-type(3n+1){grid-column-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2){grid-column-start:2}.about-wrap .has-3-columns .column:nth-of-type(3n){grid-column-start:3}.about-wrap .has-4-columns{grid-template-columns:repeat(4,1fr)}.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1}.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:3}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:4}.about-wrap .column :first-child{margin-top:0}.about-wrap .aligncenter{text-align:center}.about-wrap .alignleft{float:right;margin-left:40px}.about-wrap .alignright{float:left;margin-right:40px}.about-wrap .is-vertically-aligned-top{align-self:start}.about-wrap .is-vertically-aligned-center{align-self:center}.about-wrap .is-vertically-aligned-bottom{align-self:end}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .changelog.feature-section .col{margin-top:40px}.about-wrap .lead-description{font-size:1.5em;text-align:center}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .headline-feature{margin:0 auto 40px;max-width:680px}.about-wrap .headline-feature h2{margin:50px 0 0}.about-wrap .headline-feature img{max-width:600px;width:100%}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h2.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit;font-weight:600;text-align:right}.about-wrap .wp-people-group{padding:0 5px;margin:0 -5px 0 -15px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:right;margin:0 0 10px 10px;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}.freedoms-php .column .freedoms-image{background-image:url('../images/freedoms.png');background-size:100%;padding-top:100%}.freedoms-php .column:nth-of-type(2) .freedoms-image{background-position:100% 34%}.freedoms-php .column:nth-of-type(3) .freedoms-image{background-position:100% 66%}.freedoms-php .column:nth-of-type(4) .freedoms-image{background-position:100% 100%}@media screen and (max-width:782px){.about-wrap .has-3-columns,.about-wrap .has-4-columns{grid-template-columns:1fr 1fr}.about-wrap .has-3-columns .column:nth-of-type(3n+1),.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2),.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n),.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:1;grid-row-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:2;grid-row-start:2}}@media screen and (max-width:600px){.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:block}.about-wrap :not(.is-wider-right):not(.is-wider-left) .column{margin-left:0;margin-right:0}.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:grid}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}}@media only screen and (max-width:480px){.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:block}.about-wrap .column{margin-left:0;margin-right:0}.about-wrap .has-2-columns.is-wider-left img,.about-wrap .has-2-columns.is-wider-right img{max-width:160px}} \ No newline at end of file +.about__container{--background:#EAE9E7;--subtle-background:#EAE9E7;--text:#1e1e1e;--text-light:#fff;--accent-1:#C94C26;--accent-2:#CFCABE;--accent-3:#f0f0f1;--accent-4:#B1C5A4;--nav-background:#fff;--nav-border:transparent;--nav-color:var(--text);--nav-current:var(--accent-1);--gap:2rem}.about-php,.contribute-php,.credits-php,.freedoms-php,.privacy-php{background:#fff}.about-php #wpcontent,.contribute-php #wpcontent,.credits-php #wpcontent,.freedoms-php #wpcontent,.privacy-php #wpcontent{background:#fff;padding:0 24px}@media screen and (max-width:782px){.about-php.auto-fold #wpcontent,.contribute-php.auto-fold #wpcontent,.credits-php.auto-fold #wpcontent,.freedoms-php.auto-fold #wpcontent,.privacy-php.auto-fold #wpcontent{padding-right:24px}}.about__container{max-width:1000px;margin:24px auto;clear:both}.about__container .alignleft{float:right}.about__container .alignright{float:left}.about__container .aligncenter{text-align:center}.about__container .is-vertically-aligned-top{align-self:start}.about__container .is-vertically-aligned-center{align-self:center}.about__container .is-vertically-aligned-bottom{align-self:end}.about__section{background:0 0;clear:both}.about__container .has-accent-background-color{background-color:var(--accent-2)}.about__container .has-accent-4-background-color{background-color:var(--accent-4)}.about__container .has-transparent-background-color{background-color:transparent}.about__container .has-accent-color{color:var(--accent-2)}.about__container .has-border{border:3px solid currentColor}.about__container .has-subtle-background-color{background-color:var(--subtle-background)}.about__container .has-background-image{background-size:contain;background-repeat:no-repeat;background-position:center}.about__section{margin:0}.about__section .column:not(.is-edge-to-edge){padding:var(--gap)}.about__section+.about__section .is-section-header{padding-bottom:var(--gap)}.about__section .column.has-border:not(.is-edge-to-edge),.about__section .column[class*=background-color]:not(.is-edge-to-edge),.about__section:where([class*=background-color]) .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section .column p:first-of-type{margin-top:0}.about__section .column p:last-of-type{margin-bottom:0}.about__section .has-text-columns{columns:2;column-gap:calc(var(--gap) * 2)}.about__section .is-section-header{margin-bottom:0;padding:var(--gap) var(--gap) 0}.about__section .is-section-header p:last-child{margin-bottom:0}.about__section .is-section-header:first-child:last-child{padding:0}.about__section.is-feature{padding:var(--gap)}.about__section.is-feature p{margin:0}.about__section.is-feature p+p{margin-top:calc(var(--gap)/ 2)}.about__section.has-1-column{margin-right:auto;margin-left:auto;max-width:36em}.about__section.has-2-columns,.about__section.has-3-columns,.about__section.has-4-columns,.about__section.has-overlap-style{display:grid}.about__section.has-gutters{gap:var(--gap);margin-bottom:var(--gap)}.about__section.has-2-columns{grid-template-columns:1fr 1fr}.about__section.has-2-columns.is-wider-right{grid-template-columns:2fr 3fr}.about__section.has-2-columns.is-wider-left{grid-template-columns:3fr 2fr}.about__section .is-section-header{grid-column-start:1;grid-column-end:-1}.about__section.has-3-columns{grid-template-columns:repeat(3,1fr)}.about__section.has-4-columns{grid-template-columns:repeat(4,1fr)}.about__section.has-overlap-style{grid-template-columns:repeat(7,1fr)}.about__section.has-overlap-style .column{grid-row-start:1}.about__section.has-overlap-style .column:nth-of-type(odd){grid-column-start:2;grid-column-end:span 3}.about__section.has-overlap-style .column:nth-of-type(2n){grid-column-start:4;grid-column-end:span 3}.about__section.has-overlap-style .column.is-top-layer{z-index:1}@media screen and (max-width:782px){.about__section.has-2-columns.is-wider-left,.about__section.has-2-columns.is-wider-right,.about__section.has-3-columns{display:block;margin-bottom:calc(var(--gap)/ 2)}.about__section .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section.has-2-columns.has-gutters.is-wider-left,.about__section.has-2-columns.has-gutters.is-wider-right,.about__section.has-3-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column,.about__section.has-3-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child,.about__section.has-3-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-3-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns{grid-template-columns:repeat(2,1fr)}.about__section.has-overlap-style{grid-template-columns:1fr}.about__section.has-overlap-style .column.column{grid-column-start:1;grid-column-end:2;grid-row-start:1;grid-row-end:2}}@media screen and (max-width:600px){.about__section.has-2-columns{display:block;margin-bottom:var(--gap)}.about__section.has-2-columns:not(.has-gutters) .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-2-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child{margin-bottom:0}}@media screen and (max-width:480px){.about__section.is-feature .column{padding:0}.about__section.has-4-columns{display:block;padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column{margin-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-4-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}}.about__container{line-height:1.4;color:var(--text)}.about__container h1{padding:0}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{margin-top:0;margin-bottom:.5em;font-size:2rem;font-weight:700;line-height:1.16}.about__container h1.is-smaller-heading,.about__container h2.is-smaller-heading,.about__container h3{margin-top:0;font-size:1.625rem;font-weight:700;line-height:1.4}.about__container h3.is-smaller-heading,.about__container h4{margin-top:0;font-size:1.125rem;font-weight:600;line-height:1.6}.about__container p{font-size:inherit;line-height:inherit}.about__container p.is-subheading{margin-top:0;font-size:1.5rem;font-weight:300;line-height:160%}.about__section a{color:var(--text);text-decoration:underline}.about__section a:active,.about__section a:focus,.about__section a:hover{color:var(--text);text-decoration:none}.wp-credits-list a{text-decoration:none}.wp-credits-list a:active,.wp-credits-list a:focus,.wp-credits-list a:hover{text-decoration:underline}.about__container ul{list-style:disc;margin-right:calc(var(--gap)/ 2)}.about__container li{margin-bottom:.5rem}.about__container img{margin:0;max-width:100%;vertical-align:middle}.about__container .about__image{margin:0}.about__container .about__image img{max-width:100%;width:100%;height:auto}.about__container .about__image figcaption{margin-top:.5em;text-align:center}.about__container .about__image .wp-video{margin-right:auto;margin-left:auto}.about__container .about__image svg{vertical-align:middle}.about__container .about__image+h3{margin-top:1.5em}.about__container hr{margin:calc(var(--gap)/ 2) var(--gap);height:0;border:none;border-top:4px solid var(--accent-3)}.about__container hr.is-small{margin-top:0;margin-bottom:0}.about__container hr.is-large{margin:var(--gap) auto}.about__container .notice,.about__container div.error,.about__container div.updated{display:none!important}.about__section{font-size:1.125rem;line-height:1.55}.about__section.is-feature{font-size:1.6em}.about__section.has-3-columns,.about__section.has-4-columns{font-size:1rem}@media screen and (max-width:480px){.about__section.is-feature{font-size:1.4em}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{font-size:2em}}.about__header{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-sizing:border-box;padding:var(--gap) 0;height:clamp(12.5rem,-1.25rem + 36.67vw,26.25rem);color:var(--text-light);background-image:url('../images/about-header-about.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4');background-size:auto 70%,cover;border-radius:5px;background-repeat:no-repeat;background-position:left 7% center,top right;background-color:var(--background)}.credits-php .about__header{background-image:url('../images/about-header-credits.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.freedoms-php .about__header{background-image:url('../images/about-header-freedoms.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.privacy-php .about__header{background-image:url('../images/about-header-privacy.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.contribute-php .about__header{background-image:url('../images/about-header-contribute.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.about__header-image{margin:0 var(--gap) 3em}.about__header-title{box-sizing:border-box;margin:0 calc(var(--gap) + 2rem);padding:0;max-width:55%}.about__header-title h1{margin:0 0 1rem;padding:0;font-size:clamp(2rem, 20vw - 9rem, 4rem);line-height:1;font-weight:600}.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(2rem, 10vw - 3rem, 4rem)}.about__header-text{box-sizing:border-box;max-width:26em;margin:0 auto;padding:0;font-size:1.6rem;line-height:1.15;text-align:center}.about__header-navigation{position:relative;z-index:1;display:flex;justify-content:center;padding-top:0;margin-bottom:var(--gap);background:var(--nav-background);color:var(--nav-color);border-bottom:3px solid var(--nav-border)}.about__header-navigation .nav-tab{margin-right:0;padding:calc(var(--gap) * .75) var(--gap);float:none;font-size:1.4em;line-height:1;border-width:0 0 3px;border-style:solid;border-color:transparent;background:0 0;color:inherit}.about__header-navigation .nav-tab:active,.about__header-navigation .nav-tab:hover{background-color:var(--nav-current);color:var(--text-light)}.about__header-navigation .nav-tab-active{margin-bottom:-3px;color:var(--nav-current);border-width:0 0 6px;border-color:var(--nav-current)}.about__header-navigation .nav-tab-active:active,.about__header-navigation .nav-tab-active:hover{background-color:var(--nav-current);color:var(--text-light);border-color:var(--nav-current)}@media screen and (max-width:960px){.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(3rem, 6.67vw - .5rem, 4.5rem)}.about__header-navigation .nav-tab{padding:calc(var(--gap) * .75) calc(var(--gap) * .5)}}@media screen and (max-width:782px){.about__container .about__header-text{font-size:1.4em}.about__header-container{display:block}.about__header-image,.about__header-title{margin-right:calc(var(--gap)/ 2);margin-left:calc(var(--gap)/ 2)}.about__header-text{margin-top:0}.about__header-navigation .nav-tab{margin-top:0;margin-left:0;padding-right:calc(var(--gap)/ 2);padding-left:calc(var(--gap)/ 2)}}@media screen and (max-width:600px){.about__header{min-height:auto}.about__header,.contribute-php .about__header,.credits-php .about__header,.freedoms-php .about__header,.privacy-php .about__header{background-image:none}.about__header-title p{font-size:2.4em}.about__header-text{margin-right:calc(var(--gap)/ 2);margin-left:calc(var(--gap)/ 2)}.about__header-navigation{display:block}.about__header-navigation .nav-tab{display:block;margin-bottom:0;padding:calc(var(--gap)/ 2);border-right-width:6px;border-bottom:none}.about__header-navigation .nav-tab-active{border-bottom:none;border-right-width:6px}}.about__section .wp-people-group-title{margin-bottom:calc(var(--gap) * 2 - 10px);text-align:center}.about__section .wp-people-group{margin:0;display:flex;flex-wrap:wrap}.about__section .wp-person{display:inline-block;vertical-align:top;box-sizing:border-box;margin-bottom:calc(var(--gap) - 10px);width:25%;text-align:center}.about__section .compact .wp-person{height:auto;width:20%}.about__section .wp-person-avatar{display:block;margin:0 auto calc(var(--gap)/ 2);width:140px;height:140px;border-radius:100%;overflow:hidden}.about__section .wp-person .gravatar{width:140px;height:140px;filter:grayscale(100%)}.about__section .compact .wp-person .gravatar,.about__section .compact .wp-person-avatar{width:80px;height:80px}.about__section .wp-person .web{display:block;font-size:1.4em;font-weight:600;padding:10px 10px 0;text-decoration:none}.about__section .wp-person .web:hover{text-decoration:underline}.about__section .compact .wp-person .web{font-size:1.2em}.about__section .wp-person .title{display:block;margin-top:.5em}@media screen and (max-width:782px){.about__section .wp-person{width:33%}.about__section .compact .wp-person{width:25%}.about__section .wp-person .gravatar,.about__section .wp-person-avatar{width:120px;height:120px}}@media screen and (max-width:600px){.about__section .wp-person{width:50%}.about__section .compact .wp-person{width:33%}.about__section .wp-person .web{font-size:1.2em}}@media screen and (max-width:480px){.about__section .wp-person{min-width:100%}.about__section .wp-person .web{font-size:1em}.about__section .compact .wp-person .web{font-size:1em}}.about__section .column .freedom-image{margin-bottom:var(--gap);max-height:180px}.about__section .column .privacy-image{display:block;margin-right:auto;margin-left:auto;max-width:25rem}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:3em 0 0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;width:100%;height:auto;vertical-align:middle}.about-wrap .inline-svg img{max-width:100%;width:auto;height:auto}.about-wrap video{margin:1.5em auto}.wp-badge{background:#0073aa url(../images/w-logo-white.png?ver=20160308) no-repeat;background-position:center 25px;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap .nav-tab{padding-left:15px;padding-right:15px;font-size:18px;line-height:1.33333333}.about-wrap h1{margin:.2em 0 0 200px;padding:0;color:#32373c;line-height:1.2;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{font-size:16px;color:#23282d}.about-wrap p{line-height:1.5;font-size:16px}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap figcaption{font-size:13px;text-align:center;color:#fff;text-overflow:ellipsis}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;color:#555d66}.about-wrap .has-1-columns,.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:grid;max-width:800px;margin-top:40px;margin-right:auto;margin-left:auto}.about-wrap .column{margin-left:20px;margin-right:20px}.about-wrap .is-wide{max-width:760px}.about-wrap .is-fullwidth{max-width:100%}.about-wrap .has-1-columns{display:block;max-width:680px;margin:0 auto 40px}.about-wrap .has-2-columns{grid-template-columns:1fr 1fr}.about-wrap .has-2-columns .column:nth-of-type(odd){grid-column-start:1}.about-wrap .has-2-columns .column:nth-of-type(2n){grid-column-start:2}.about-wrap .has-2-columns.is-wider-right{grid-template-columns:1fr 2fr}.about-wrap .has-2-columns.is-wider-left{grid-template-columns:2fr 1fr}.about-wrap .has-3-columns{grid-template-columns:repeat(3,1fr)}.about-wrap .has-3-columns .column:nth-of-type(3n+1){grid-column-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2){grid-column-start:2}.about-wrap .has-3-columns .column:nth-of-type(3n){grid-column-start:3}.about-wrap .has-4-columns{grid-template-columns:repeat(4,1fr)}.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1}.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:3}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:4}.about-wrap .column :first-child{margin-top:0}.about-wrap .aligncenter{text-align:center}.about-wrap .alignleft{float:right;margin-left:40px}.about-wrap .alignright{float:left;margin-right:40px}.about-wrap .is-vertically-aligned-top{align-self:flex-start}.about-wrap .is-vertically-aligned-center{align-self:center}.about-wrap .is-vertically-aligned-bottom{align-self:end}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .changelog.feature-section .col{margin-top:40px}.about-wrap .lead-description{font-size:1.5em;text-align:center}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .headline-feature{margin:0 auto 40px;max-width:680px}.about-wrap .headline-feature h2{margin:50px 0 0}.about-wrap .headline-feature img{max-width:600px;width:100%}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h2.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit;font-weight:600;text-align:right}.about-wrap .wp-people-group{padding:0 5px;margin:0 -5px 0 -15px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:right;margin:0 0 10px 10px;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}.freedoms-php .column .freedoms-image{background-image:url('../images/freedoms.png');background-size:100%;padding-top:100%}.freedoms-php .column:nth-of-type(2) .freedoms-image{background-position:100% 34%}.freedoms-php .column:nth-of-type(3) .freedoms-image{background-position:100% 66%}.freedoms-php .column:nth-of-type(4) .freedoms-image{background-position:100% 100%}@media screen and (max-width:782px){.about-wrap .has-3-columns,.about-wrap .has-4-columns{grid-template-columns:1fr 1fr}.about-wrap .has-3-columns .column:nth-of-type(3n+1),.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2),.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n),.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:1;grid-row-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:2;grid-row-start:2}}@media screen and (max-width:600px){.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:block}.about-wrap :not(.is-wider-right):not(.is-wider-left) .column{margin-left:0;margin-right:0}.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:grid}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}}@media only screen and (max-width:480px){.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:block}.about-wrap .column{margin-left:0;margin-right:0}.about-wrap .has-2-columns.is-wider-left img,.about-wrap .has-2-columns.is-wider-right img{max-width:160px}} \ No newline at end of file diff --git a/wp/wp-admin/css/about.css b/wp/wp-admin/css/about.css index ff140ac5..1cd4175d 100644 --- a/wp/wp-admin/css/about.css +++ b/wp/wp-admin/css/about.css @@ -534,8 +534,8 @@ position: relative; display: flex; flex-direction: column; - align-items: start; - justify-content: end; + align-items: flex-start; + justify-content: flex-end; box-sizing: border-box; padding: var(--gap) 0; height: clamp(12.5rem, -1.25rem + 36.67vw, 26.25rem); @@ -1126,7 +1126,7 @@ } .about-wrap .is-vertically-aligned-top { - align-self: start; + align-self: flex-start; } .about-wrap .is-vertically-aligned-center { diff --git a/wp/wp-admin/css/about.min.css b/wp/wp-admin/css/about.min.css index 27882757..1b307c0d 100644 --- a/wp/wp-admin/css/about.min.css +++ b/wp/wp-admin/css/about.min.css @@ -1,2 +1,2 @@ /*! This file is auto-generated */ -.about__container{--background:#EAE9E7;--subtle-background:#EAE9E7;--text:#1e1e1e;--text-light:#fff;--accent-1:#C94C26;--accent-2:#CFCABE;--accent-3:#f0f0f1;--accent-4:#B1C5A4;--nav-background:#fff;--nav-border:transparent;--nav-color:var(--text);--nav-current:var(--accent-1);--gap:2rem}.about-php,.contribute-php,.credits-php,.freedoms-php,.privacy-php{background:#fff}.about-php #wpcontent,.contribute-php #wpcontent,.credits-php #wpcontent,.freedoms-php #wpcontent,.privacy-php #wpcontent{background:#fff;padding:0 24px}@media screen and (max-width:782px){.about-php.auto-fold #wpcontent,.contribute-php.auto-fold #wpcontent,.credits-php.auto-fold #wpcontent,.freedoms-php.auto-fold #wpcontent,.privacy-php.auto-fold #wpcontent{padding-left:24px}}.about__container{max-width:1000px;margin:24px auto;clear:both}.about__container .alignleft{float:left}.about__container .alignright{float:right}.about__container .aligncenter{text-align:center}.about__container .is-vertically-aligned-top{align-self:start}.about__container .is-vertically-aligned-center{align-self:center}.about__container .is-vertically-aligned-bottom{align-self:end}.about__section{background:0 0;clear:both}.about__container .has-accent-background-color{background-color:var(--accent-2)}.about__container .has-accent-4-background-color{background-color:var(--accent-4)}.about__container .has-transparent-background-color{background-color:transparent}.about__container .has-accent-color{color:var(--accent-2)}.about__container .has-border{border:3px solid currentColor}.about__container .has-subtle-background-color{background-color:var(--subtle-background)}.about__container .has-background-image{background-size:contain;background-repeat:no-repeat;background-position:center}.about__section{margin:0}.about__section .column:not(.is-edge-to-edge){padding:var(--gap)}.about__section+.about__section .is-section-header{padding-bottom:var(--gap)}.about__section .column.has-border:not(.is-edge-to-edge),.about__section .column[class*=background-color]:not(.is-edge-to-edge),.about__section:where([class*=background-color]) .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section .column p:first-of-type{margin-top:0}.about__section .column p:last-of-type{margin-bottom:0}.about__section .has-text-columns{columns:2;column-gap:calc(var(--gap) * 2)}.about__section .is-section-header{margin-bottom:0;padding:var(--gap) var(--gap) 0}.about__section .is-section-header p:last-child{margin-bottom:0}.about__section .is-section-header:first-child:last-child{padding:0}.about__section.is-feature{padding:var(--gap)}.about__section.is-feature p{margin:0}.about__section.is-feature p+p{margin-top:calc(var(--gap)/ 2)}.about__section.has-1-column{margin-left:auto;margin-right:auto;max-width:36em}.about__section.has-2-columns,.about__section.has-3-columns,.about__section.has-4-columns,.about__section.has-overlap-style{display:grid}.about__section.has-gutters{gap:var(--gap);margin-bottom:var(--gap)}.about__section.has-2-columns{grid-template-columns:1fr 1fr}.about__section.has-2-columns.is-wider-right{grid-template-columns:2fr 3fr}.about__section.has-2-columns.is-wider-left{grid-template-columns:3fr 2fr}.about__section .is-section-header{grid-column-start:1;grid-column-end:-1}.about__section.has-3-columns{grid-template-columns:repeat(3,1fr)}.about__section.has-4-columns{grid-template-columns:repeat(4,1fr)}.about__section.has-overlap-style{grid-template-columns:repeat(7,1fr)}.about__section.has-overlap-style .column{grid-row-start:1}.about__section.has-overlap-style .column:nth-of-type(odd){grid-column-start:2;grid-column-end:span 3}.about__section.has-overlap-style .column:nth-of-type(2n){grid-column-start:4;grid-column-end:span 3}.about__section.has-overlap-style .column.is-top-layer{z-index:1}@media screen and (max-width:782px){.about__section.has-2-columns.is-wider-left,.about__section.has-2-columns.is-wider-right,.about__section.has-3-columns{display:block;margin-bottom:calc(var(--gap)/ 2)}.about__section .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section.has-2-columns.has-gutters.is-wider-left,.about__section.has-2-columns.has-gutters.is-wider-right,.about__section.has-3-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column,.about__section.has-3-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child,.about__section.has-3-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-3-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns{grid-template-columns:repeat(2,1fr)}.about__section.has-overlap-style{grid-template-columns:1fr}.about__section.has-overlap-style .column.column{grid-column-start:1;grid-column-end:2;grid-row-start:1;grid-row-end:2}}@media screen and (max-width:600px){.about__section.has-2-columns{display:block;margin-bottom:var(--gap)}.about__section.has-2-columns:not(.has-gutters) .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-2-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child{margin-bottom:0}}@media screen and (max-width:480px){.about__section.is-feature .column{padding:0}.about__section.has-4-columns{display:block;padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column{margin-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-4-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}}.about__container{line-height:1.4;color:var(--text)}.about__container h1{padding:0}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{margin-top:0;margin-bottom:.5em;font-size:2rem;font-weight:700;line-height:1.16}.about__container h1.is-smaller-heading,.about__container h2.is-smaller-heading,.about__container h3{margin-top:0;font-size:1.625rem;font-weight:700;line-height:1.4}.about__container h3.is-smaller-heading,.about__container h4{margin-top:0;font-size:1.125rem;font-weight:600;line-height:1.6}.about__container p{font-size:inherit;line-height:inherit}.about__container p.is-subheading{margin-top:0;font-size:1.5rem;font-weight:300;line-height:160%}.about__section a{color:var(--text);text-decoration:underline}.about__section a:active,.about__section a:focus,.about__section a:hover{color:var(--text);text-decoration:none}.wp-credits-list a{text-decoration:none}.wp-credits-list a:active,.wp-credits-list a:focus,.wp-credits-list a:hover{text-decoration:underline}.about__container ul{list-style:disc;margin-left:calc(var(--gap)/ 2)}.about__container li{margin-bottom:.5rem}.about__container img{margin:0;max-width:100%;vertical-align:middle}.about__container .about__image{margin:0}.about__container .about__image img{max-width:100%;width:100%;height:auto}.about__container .about__image figcaption{margin-top:.5em;text-align:center}.about__container .about__image .wp-video{margin-left:auto;margin-right:auto}.about__container .about__image svg{vertical-align:middle}.about__container .about__image+h3{margin-top:1.5em}.about__container hr{margin:calc(var(--gap)/ 2) var(--gap);height:0;border:none;border-top:4px solid var(--accent-3)}.about__container hr.is-small{margin-top:0;margin-bottom:0}.about__container hr.is-large{margin:var(--gap) auto}.about__container .notice,.about__container div.error,.about__container div.updated{display:none!important}.about__section{font-size:1.125rem;line-height:1.55}.about__section.is-feature{font-size:1.6em}.about__section.has-3-columns,.about__section.has-4-columns{font-size:1rem}@media screen and (max-width:480px){.about__section.is-feature{font-size:1.4em}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{font-size:2em}}.about__header{position:relative;display:flex;flex-direction:column;align-items:start;justify-content:end;box-sizing:border-box;padding:var(--gap) 0;height:clamp(12.5rem,-1.25rem + 36.67vw,26.25rem);color:var(--text-light);background-image:url('../images/about-header-about.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4');background-size:auto 70%,cover;border-radius:5px;background-repeat:no-repeat;background-position:right 7% center,top left;background-color:var(--background)}.credits-php .about__header{background-image:url('../images/about-header-credits.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.freedoms-php .about__header{background-image:url('../images/about-header-freedoms.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.privacy-php .about__header{background-image:url('../images/about-header-privacy.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.contribute-php .about__header{background-image:url('../images/about-header-contribute.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.about__header-image{margin:0 var(--gap) 3em}.about__header-title{box-sizing:border-box;margin:0 calc(var(--gap) + 2rem);padding:0;max-width:55%}.about__header-title h1{margin:0 0 1rem;padding:0;font-size:clamp(2rem, 20vw - 9rem, 4rem);line-height:1;font-weight:600}.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(2rem, 10vw - 3rem, 4rem)}.about__header-text{box-sizing:border-box;max-width:26em;margin:0 auto;padding:0;font-size:1.6rem;line-height:1.15;text-align:center}.about__header-navigation{position:relative;z-index:1;display:flex;justify-content:center;padding-top:0;margin-bottom:var(--gap);background:var(--nav-background);color:var(--nav-color);border-bottom:3px solid var(--nav-border)}.about__header-navigation .nav-tab{margin-left:0;padding:calc(var(--gap) * .75) var(--gap);float:none;font-size:1.4em;line-height:1;border-width:0 0 3px;border-style:solid;border-color:transparent;background:0 0;color:inherit}.about__header-navigation .nav-tab:active,.about__header-navigation .nav-tab:hover{background-color:var(--nav-current);color:var(--text-light)}.about__header-navigation .nav-tab-active{margin-bottom:-3px;color:var(--nav-current);border-width:0 0 6px;border-color:var(--nav-current)}.about__header-navigation .nav-tab-active:active,.about__header-navigation .nav-tab-active:hover{background-color:var(--nav-current);color:var(--text-light);border-color:var(--nav-current)}@media screen and (max-width:960px){.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(3rem, 6.67vw - .5rem, 4.5rem)}.about__header-navigation .nav-tab{padding:calc(var(--gap) * .75) calc(var(--gap) * .5)}}@media screen and (max-width:782px){.about__container .about__header-text{font-size:1.4em}.about__header-container{display:block}.about__header-image,.about__header-title{margin-left:calc(var(--gap)/ 2);margin-right:calc(var(--gap)/ 2)}.about__header-text{margin-top:0}.about__header-navigation .nav-tab{margin-top:0;margin-right:0;padding-left:calc(var(--gap)/ 2);padding-right:calc(var(--gap)/ 2)}}@media screen and (max-width:600px){.about__header{min-height:auto}.about__header,.contribute-php .about__header,.credits-php .about__header,.freedoms-php .about__header,.privacy-php .about__header{background-image:none}.about__header-title p{font-size:2.4em}.about__header-text{margin-left:calc(var(--gap)/ 2);margin-right:calc(var(--gap)/ 2)}.about__header-navigation{display:block}.about__header-navigation .nav-tab{display:block;margin-bottom:0;padding:calc(var(--gap)/ 2);border-left-width:6px;border-bottom:none}.about__header-navigation .nav-tab-active{border-bottom:none;border-left-width:6px}}.about__section .wp-people-group-title{margin-bottom:calc(var(--gap) * 2 - 10px);text-align:center}.about__section .wp-people-group{margin:0;display:flex;flex-wrap:wrap}.about__section .wp-person{display:inline-block;vertical-align:top;box-sizing:border-box;margin-bottom:calc(var(--gap) - 10px);width:25%;text-align:center}.about__section .compact .wp-person{height:auto;width:20%}.about__section .wp-person-avatar{display:block;margin:0 auto calc(var(--gap)/ 2);width:140px;height:140px;border-radius:100%;overflow:hidden}.about__section .wp-person .gravatar{width:140px;height:140px;filter:grayscale(100%)}.about__section .compact .wp-person .gravatar,.about__section .compact .wp-person-avatar{width:80px;height:80px}.about__section .wp-person .web{display:block;font-size:1.4em;font-weight:600;padding:10px 10px 0;text-decoration:none}.about__section .wp-person .web:hover{text-decoration:underline}.about__section .compact .wp-person .web{font-size:1.2em}.about__section .wp-person .title{display:block;margin-top:.5em}@media screen and (max-width:782px){.about__section .wp-person{width:33%}.about__section .compact .wp-person{width:25%}.about__section .wp-person .gravatar,.about__section .wp-person-avatar{width:120px;height:120px}}@media screen and (max-width:600px){.about__section .wp-person{width:50%}.about__section .compact .wp-person{width:33%}.about__section .wp-person .web{font-size:1.2em}}@media screen and (max-width:480px){.about__section .wp-person{min-width:100%}.about__section .wp-person .web{font-size:1em}.about__section .compact .wp-person .web{font-size:1em}}.about__section .column .freedom-image{margin-bottom:var(--gap);max-height:180px}.about__section .column .privacy-image{display:block;margin-left:auto;margin-right:auto;max-width:25rem}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:3em 0 0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;width:100%;height:auto;vertical-align:middle}.about-wrap .inline-svg img{max-width:100%;width:auto;height:auto}.about-wrap video{margin:1.5em auto}.wp-badge{background:#0073aa url(../images/w-logo-white.png?ver=20160308) no-repeat;background-position:center 25px;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap .nav-tab{padding-right:15px;padding-left:15px;font-size:18px;line-height:1.33333333}.about-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{font-size:16px;color:#23282d}.about-wrap p{line-height:1.5;font-size:16px}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap figcaption{font-size:13px;text-align:center;color:#fff;text-overflow:ellipsis}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;color:#555d66}.about-wrap .has-1-columns,.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:grid;max-width:800px;margin-top:40px;margin-left:auto;margin-right:auto}.about-wrap .column{margin-right:20px;margin-left:20px}.about-wrap .is-wide{max-width:760px}.about-wrap .is-fullwidth{max-width:100%}.about-wrap .has-1-columns{display:block;max-width:680px;margin:0 auto 40px}.about-wrap .has-2-columns{grid-template-columns:1fr 1fr}.about-wrap .has-2-columns .column:nth-of-type(odd){grid-column-start:1}.about-wrap .has-2-columns .column:nth-of-type(2n){grid-column-start:2}.about-wrap .has-2-columns.is-wider-right{grid-template-columns:1fr 2fr}.about-wrap .has-2-columns.is-wider-left{grid-template-columns:2fr 1fr}.about-wrap .has-3-columns{grid-template-columns:repeat(3,1fr)}.about-wrap .has-3-columns .column:nth-of-type(3n+1){grid-column-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2){grid-column-start:2}.about-wrap .has-3-columns .column:nth-of-type(3n){grid-column-start:3}.about-wrap .has-4-columns{grid-template-columns:repeat(4,1fr)}.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1}.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:3}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:4}.about-wrap .column :first-child{margin-top:0}.about-wrap .aligncenter{text-align:center}.about-wrap .alignleft{float:left;margin-right:40px}.about-wrap .alignright{float:right;margin-left:40px}.about-wrap .is-vertically-aligned-top{align-self:start}.about-wrap .is-vertically-aligned-center{align-self:center}.about-wrap .is-vertically-aligned-bottom{align-self:end}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .changelog.feature-section .col{margin-top:40px}.about-wrap .lead-description{font-size:1.5em;text-align:center}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .headline-feature{margin:0 auto 40px;max-width:680px}.about-wrap .headline-feature h2{margin:50px 0 0}.about-wrap .headline-feature img{max-width:600px;width:100%}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h2.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit;font-weight:600;text-align:left}.about-wrap .wp-people-group{padding:0 5px;margin:0 -15px 0 -5px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:left;margin:0 10px 10px 0;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}.freedoms-php .column .freedoms-image{background-image:url('../images/freedoms.png');background-size:100%;padding-top:100%}.freedoms-php .column:nth-of-type(2) .freedoms-image{background-position:0 34%}.freedoms-php .column:nth-of-type(3) .freedoms-image{background-position:0 66%}.freedoms-php .column:nth-of-type(4) .freedoms-image{background-position:0 100%}@media screen and (max-width:782px){.about-wrap .has-3-columns,.about-wrap .has-4-columns{grid-template-columns:1fr 1fr}.about-wrap .has-3-columns .column:nth-of-type(3n+1),.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2),.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n),.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:1;grid-row-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:2;grid-row-start:2}}@media screen and (max-width:600px){.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:block}.about-wrap :not(.is-wider-right):not(.is-wider-left) .column{margin-right:0;margin-left:0}.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:grid}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}}@media only screen and (max-width:480px){.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:block}.about-wrap .column{margin-right:0;margin-left:0}.about-wrap .has-2-columns.is-wider-left img,.about-wrap .has-2-columns.is-wider-right img{max-width:160px}} \ No newline at end of file +.about__container{--background:#EAE9E7;--subtle-background:#EAE9E7;--text:#1e1e1e;--text-light:#fff;--accent-1:#C94C26;--accent-2:#CFCABE;--accent-3:#f0f0f1;--accent-4:#B1C5A4;--nav-background:#fff;--nav-border:transparent;--nav-color:var(--text);--nav-current:var(--accent-1);--gap:2rem}.about-php,.contribute-php,.credits-php,.freedoms-php,.privacy-php{background:#fff}.about-php #wpcontent,.contribute-php #wpcontent,.credits-php #wpcontent,.freedoms-php #wpcontent,.privacy-php #wpcontent{background:#fff;padding:0 24px}@media screen and (max-width:782px){.about-php.auto-fold #wpcontent,.contribute-php.auto-fold #wpcontent,.credits-php.auto-fold #wpcontent,.freedoms-php.auto-fold #wpcontent,.privacy-php.auto-fold #wpcontent{padding-left:24px}}.about__container{max-width:1000px;margin:24px auto;clear:both}.about__container .alignleft{float:left}.about__container .alignright{float:right}.about__container .aligncenter{text-align:center}.about__container .is-vertically-aligned-top{align-self:start}.about__container .is-vertically-aligned-center{align-self:center}.about__container .is-vertically-aligned-bottom{align-self:end}.about__section{background:0 0;clear:both}.about__container .has-accent-background-color{background-color:var(--accent-2)}.about__container .has-accent-4-background-color{background-color:var(--accent-4)}.about__container .has-transparent-background-color{background-color:transparent}.about__container .has-accent-color{color:var(--accent-2)}.about__container .has-border{border:3px solid currentColor}.about__container .has-subtle-background-color{background-color:var(--subtle-background)}.about__container .has-background-image{background-size:contain;background-repeat:no-repeat;background-position:center}.about__section{margin:0}.about__section .column:not(.is-edge-to-edge){padding:var(--gap)}.about__section+.about__section .is-section-header{padding-bottom:var(--gap)}.about__section .column.has-border:not(.is-edge-to-edge),.about__section .column[class*=background-color]:not(.is-edge-to-edge),.about__section:where([class*=background-color]) .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section .column p:first-of-type{margin-top:0}.about__section .column p:last-of-type{margin-bottom:0}.about__section .has-text-columns{columns:2;column-gap:calc(var(--gap) * 2)}.about__section .is-section-header{margin-bottom:0;padding:var(--gap) var(--gap) 0}.about__section .is-section-header p:last-child{margin-bottom:0}.about__section .is-section-header:first-child:last-child{padding:0}.about__section.is-feature{padding:var(--gap)}.about__section.is-feature p{margin:0}.about__section.is-feature p+p{margin-top:calc(var(--gap)/ 2)}.about__section.has-1-column{margin-left:auto;margin-right:auto;max-width:36em}.about__section.has-2-columns,.about__section.has-3-columns,.about__section.has-4-columns,.about__section.has-overlap-style{display:grid}.about__section.has-gutters{gap:var(--gap);margin-bottom:var(--gap)}.about__section.has-2-columns{grid-template-columns:1fr 1fr}.about__section.has-2-columns.is-wider-right{grid-template-columns:2fr 3fr}.about__section.has-2-columns.is-wider-left{grid-template-columns:3fr 2fr}.about__section .is-section-header{grid-column-start:1;grid-column-end:-1}.about__section.has-3-columns{grid-template-columns:repeat(3,1fr)}.about__section.has-4-columns{grid-template-columns:repeat(4,1fr)}.about__section.has-overlap-style{grid-template-columns:repeat(7,1fr)}.about__section.has-overlap-style .column{grid-row-start:1}.about__section.has-overlap-style .column:nth-of-type(odd){grid-column-start:2;grid-column-end:span 3}.about__section.has-overlap-style .column:nth-of-type(2n){grid-column-start:4;grid-column-end:span 3}.about__section.has-overlap-style .column.is-top-layer{z-index:1}@media screen and (max-width:782px){.about__section.has-2-columns.is-wider-left,.about__section.has-2-columns.is-wider-right,.about__section.has-3-columns{display:block;margin-bottom:calc(var(--gap)/ 2)}.about__section .column:not(.is-edge-to-edge){padding-top:var(--gap);padding-bottom:var(--gap)}.about__section.has-2-columns.has-gutters.is-wider-left,.about__section.has-2-columns.has-gutters.is-wider-right,.about__section.has-3-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column,.about__section.has-3-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child,.about__section.has-3-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-3-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns{grid-template-columns:repeat(2,1fr)}.about__section.has-overlap-style{grid-template-columns:1fr}.about__section.has-overlap-style .column.column{grid-column-start:1;grid-column-end:2;grid-row-start:1;grid-row-end:2}}@media screen and (max-width:600px){.about__section.has-2-columns{display:block;margin-bottom:var(--gap)}.about__section.has-2-columns:not(.has-gutters) .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}.about__section.has-2-columns.has-gutters{margin-bottom:calc(var(--gap) * 2)}.about__section.has-2-columns.has-gutters .column{margin-bottom:var(--gap)}.about__section.has-2-columns.has-gutters .column:last-child{margin-bottom:0}}@media screen and (max-width:480px){.about__section.is-feature .column{padding:0}.about__section.has-4-columns{display:block;padding-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column{margin-bottom:calc(var(--gap)/ 2)}.about__section.has-4-columns.has-gutters .column:last-child{margin-bottom:0}.about__section.has-4-columns .column:nth-of-type(n){padding-top:calc(var(--gap)/ 2);padding-bottom:calc(var(--gap)/ 2)}}.about__container{line-height:1.4;color:var(--text)}.about__container h1{padding:0}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{margin-top:0;margin-bottom:.5em;font-size:2rem;font-weight:700;line-height:1.16}.about__container h1.is-smaller-heading,.about__container h2.is-smaller-heading,.about__container h3{margin-top:0;font-size:1.625rem;font-weight:700;line-height:1.4}.about__container h3.is-smaller-heading,.about__container h4{margin-top:0;font-size:1.125rem;font-weight:600;line-height:1.6}.about__container p{font-size:inherit;line-height:inherit}.about__container p.is-subheading{margin-top:0;font-size:1.5rem;font-weight:300;line-height:160%}.about__section a{color:var(--text);text-decoration:underline}.about__section a:active,.about__section a:focus,.about__section a:hover{color:var(--text);text-decoration:none}.wp-credits-list a{text-decoration:none}.wp-credits-list a:active,.wp-credits-list a:focus,.wp-credits-list a:hover{text-decoration:underline}.about__container ul{list-style:disc;margin-left:calc(var(--gap)/ 2)}.about__container li{margin-bottom:.5rem}.about__container img{margin:0;max-width:100%;vertical-align:middle}.about__container .about__image{margin:0}.about__container .about__image img{max-width:100%;width:100%;height:auto}.about__container .about__image figcaption{margin-top:.5em;text-align:center}.about__container .about__image .wp-video{margin-left:auto;margin-right:auto}.about__container .about__image svg{vertical-align:middle}.about__container .about__image+h3{margin-top:1.5em}.about__container hr{margin:calc(var(--gap)/ 2) var(--gap);height:0;border:none;border-top:4px solid var(--accent-3)}.about__container hr.is-small{margin-top:0;margin-bottom:0}.about__container hr.is-large{margin:var(--gap) auto}.about__container .notice,.about__container div.error,.about__container div.updated{display:none!important}.about__section{font-size:1.125rem;line-height:1.55}.about__section.is-feature{font-size:1.6em}.about__section.has-3-columns,.about__section.has-4-columns{font-size:1rem}@media screen and (max-width:480px){.about__section.is-feature{font-size:1.4em}.about__container h1,.about__container h2,.about__container h3.is-larger-heading{font-size:2em}}.about__header{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-sizing:border-box;padding:var(--gap) 0;height:clamp(12.5rem,-1.25rem + 36.67vw,26.25rem);color:var(--text-light);background-image:url('../images/about-header-about.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4');background-size:auto 70%,cover;border-radius:5px;background-repeat:no-repeat;background-position:right 7% center,top left;background-color:var(--background)}.credits-php .about__header{background-image:url('../images/about-header-credits.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.freedoms-php .about__header{background-image:url('../images/about-header-freedoms.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.privacy-php .about__header{background-image:url('../images/about-header-privacy.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.contribute-php .about__header{background-image:url('../images/about-header-contribute.svg?ver=6.4'),url('../images/about-header-background.svg?ver=6.4')}.about__header-image{margin:0 var(--gap) 3em}.about__header-title{box-sizing:border-box;margin:0 calc(var(--gap) + 2rem);padding:0;max-width:55%}.about__header-title h1{margin:0 0 1rem;padding:0;font-size:clamp(2rem, 20vw - 9rem, 4rem);line-height:1;font-weight:600}.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(2rem, 10vw - 3rem, 4rem)}.about__header-text{box-sizing:border-box;max-width:26em;margin:0 auto;padding:0;font-size:1.6rem;line-height:1.15;text-align:center}.about__header-navigation{position:relative;z-index:1;display:flex;justify-content:center;padding-top:0;margin-bottom:var(--gap);background:var(--nav-background);color:var(--nav-color);border-bottom:3px solid var(--nav-border)}.about__header-navigation .nav-tab{margin-left:0;padding:calc(var(--gap) * .75) var(--gap);float:none;font-size:1.4em;line-height:1;border-width:0 0 3px;border-style:solid;border-color:transparent;background:0 0;color:inherit}.about__header-navigation .nav-tab:active,.about__header-navigation .nav-tab:hover{background-color:var(--nav-current);color:var(--text-light)}.about__header-navigation .nav-tab-active{margin-bottom:-3px;color:var(--nav-current);border-width:0 0 6px;border-color:var(--nav-current)}.about__header-navigation .nav-tab-active:active,.about__header-navigation .nav-tab-active:hover{background-color:var(--nav-current);color:var(--text-light);border-color:var(--nav-current)}@media screen and (max-width:960px){.about-php .about__header-title h1,.contribute-php .about__header-title h1,.credits-php .about__header-title h1,.freedoms-php .about__header-title h1,.privacy-php .about__header-title h1{font-size:clamp(3rem, 6.67vw - .5rem, 4.5rem)}.about__header-navigation .nav-tab{padding:calc(var(--gap) * .75) calc(var(--gap) * .5)}}@media screen and (max-width:782px){.about__container .about__header-text{font-size:1.4em}.about__header-container{display:block}.about__header-image,.about__header-title{margin-left:calc(var(--gap)/ 2);margin-right:calc(var(--gap)/ 2)}.about__header-text{margin-top:0}.about__header-navigation .nav-tab{margin-top:0;margin-right:0;padding-left:calc(var(--gap)/ 2);padding-right:calc(var(--gap)/ 2)}}@media screen and (max-width:600px){.about__header{min-height:auto}.about__header,.contribute-php .about__header,.credits-php .about__header,.freedoms-php .about__header,.privacy-php .about__header{background-image:none}.about__header-title p{font-size:2.4em}.about__header-text{margin-left:calc(var(--gap)/ 2);margin-right:calc(var(--gap)/ 2)}.about__header-navigation{display:block}.about__header-navigation .nav-tab{display:block;margin-bottom:0;padding:calc(var(--gap)/ 2);border-left-width:6px;border-bottom:none}.about__header-navigation .nav-tab-active{border-bottom:none;border-left-width:6px}}.about__section .wp-people-group-title{margin-bottom:calc(var(--gap) * 2 - 10px);text-align:center}.about__section .wp-people-group{margin:0;display:flex;flex-wrap:wrap}.about__section .wp-person{display:inline-block;vertical-align:top;box-sizing:border-box;margin-bottom:calc(var(--gap) - 10px);width:25%;text-align:center}.about__section .compact .wp-person{height:auto;width:20%}.about__section .wp-person-avatar{display:block;margin:0 auto calc(var(--gap)/ 2);width:140px;height:140px;border-radius:100%;overflow:hidden}.about__section .wp-person .gravatar{width:140px;height:140px;filter:grayscale(100%)}.about__section .compact .wp-person .gravatar,.about__section .compact .wp-person-avatar{width:80px;height:80px}.about__section .wp-person .web{display:block;font-size:1.4em;font-weight:600;padding:10px 10px 0;text-decoration:none}.about__section .wp-person .web:hover{text-decoration:underline}.about__section .compact .wp-person .web{font-size:1.2em}.about__section .wp-person .title{display:block;margin-top:.5em}@media screen and (max-width:782px){.about__section .wp-person{width:33%}.about__section .compact .wp-person{width:25%}.about__section .wp-person .gravatar,.about__section .wp-person-avatar{width:120px;height:120px}}@media screen and (max-width:600px){.about__section .wp-person{width:50%}.about__section .compact .wp-person{width:33%}.about__section .wp-person .web{font-size:1.2em}}@media screen and (max-width:480px){.about__section .wp-person{min-width:100%}.about__section .wp-person .web{font-size:1em}.about__section .compact .wp-person .web{font-size:1em}}.about__section .column .freedom-image{margin-bottom:var(--gap);max-height:180px}.about__section .column .privacy-image{display:block;margin-left:auto;margin-right:auto;max-width:25rem}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap.full-width-layout{max-width:1200px}.about-wrap-content{max-width:1050px}.about-wrap .notice,.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:3em 0 0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;width:100%;height:auto;vertical-align:middle}.about-wrap .inline-svg img{max-width:100%;width:auto;height:auto}.about-wrap video{margin:1.5em auto}.wp-badge{background:#0073aa url(../images/w-logo-white.png?ver=20160308) no-repeat;background-position:center 25px;background-size:80px 80px;color:#fff;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:140px;text-rendering:optimizeLegibility;box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20160308)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap .nav-tab{padding-right:15px;padding-left:15px;font-size:18px;line-height:1.33333333}.about-wrap h1{margin:.2em 200px 0 0;padding:0;color:#32373c;line-height:1.2;font-size:2.8em;font-weight:400}.about-wrap h2{margin:40px 0 .6em;font-size:2.7em;line-height:1.3;font-weight:300;text-align:center}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.4em;line-height:1.5}.about-wrap h4{font-size:16px;color:#23282d}.about-wrap p{line-height:1.5;font-size:16px}.about-wrap code,.about-wrap ol li p{font-size:14px;font-weight:400}.about-wrap figcaption{font-size:13px;text-align:center;color:#fff;text-overflow:ellipsis}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;color:#555d66}.about-wrap .has-1-columns,.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:grid;max-width:800px;margin-top:40px;margin-left:auto;margin-right:auto}.about-wrap .column{margin-right:20px;margin-left:20px}.about-wrap .is-wide{max-width:760px}.about-wrap .is-fullwidth{max-width:100%}.about-wrap .has-1-columns{display:block;max-width:680px;margin:0 auto 40px}.about-wrap .has-2-columns{grid-template-columns:1fr 1fr}.about-wrap .has-2-columns .column:nth-of-type(odd){grid-column-start:1}.about-wrap .has-2-columns .column:nth-of-type(2n){grid-column-start:2}.about-wrap .has-2-columns.is-wider-right{grid-template-columns:1fr 2fr}.about-wrap .has-2-columns.is-wider-left{grid-template-columns:2fr 1fr}.about-wrap .has-3-columns{grid-template-columns:repeat(3,1fr)}.about-wrap .has-3-columns .column:nth-of-type(3n+1){grid-column-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2){grid-column-start:2}.about-wrap .has-3-columns .column:nth-of-type(3n){grid-column-start:3}.about-wrap .has-4-columns{grid-template-columns:repeat(4,1fr)}.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1}.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:3}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:4}.about-wrap .column :first-child{margin-top:0}.about-wrap .aligncenter{text-align:center}.about-wrap .alignleft{float:left;margin-right:40px}.about-wrap .alignright{float:right;margin-left:40px}.about-wrap .is-vertically-aligned-top{align-self:flex-start}.about-wrap .is-vertically-aligned-center{align-self:center}.about-wrap .is-vertically-aligned-bottom{align-self:end}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #ddd}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .changelog.feature-section .col{margin-top:40px}.about-wrap .lead-description{font-size:1.5em;text-align:center}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .headline-feature{margin:0 auto 40px;max-width:680px}.about-wrap .headline-feature h2{margin:50px 0 0}.about-wrap .headline-feature img{max-width:600px;width:100%}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:600}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap h2.wp-people-group{margin:2.6em 0 1.33em;padding:0;font-size:16px;line-height:inherit;font-weight:600;text-align:left}.about-wrap .wp-people-group{padding:0 5px;margin:0 -15px 0 -5px}.about-wrap .compact{margin-bottom:0}.about-wrap .wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap .compact .wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap .wp-person .gravatar{float:left;margin:0 10px 10px 0;padding:1px;width:60px;height:60px}.about-wrap .compact .wp-person .gravatar{width:30px;height:30px}.about-wrap .wp-person .web{margin:6px 0 2px;font-size:16px;font-weight:400;line-height:2;text-decoration:none}.about-wrap .wp-person .title{display:block}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:600}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}.freedoms-php .column .freedoms-image{background-image:url('../images/freedoms.png');background-size:100%;padding-top:100%}.freedoms-php .column:nth-of-type(2) .freedoms-image{background-position:0 34%}.freedoms-php .column:nth-of-type(3) .freedoms-image{background-position:0 66%}.freedoms-php .column:nth-of-type(4) .freedoms-image{background-position:0 100%}@media screen and (max-width:782px){.about-wrap .has-3-columns,.about-wrap .has-4-columns{grid-template-columns:1fr 1fr}.about-wrap .has-3-columns .column:nth-of-type(3n+1),.about-wrap .has-4-columns .column:nth-of-type(4n+1){grid-column-start:1;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n+2),.about-wrap .has-4-columns .column:nth-of-type(4n+2){grid-column-start:2;grid-row-start:1}.about-wrap .has-3-columns .column:nth-of-type(3n),.about-wrap .has-4-columns .column:nth-of-type(4n+3){grid-column-start:1;grid-row-start:2}.about-wrap .has-4-columns .column:nth-of-type(4n){grid-column-start:2;grid-row-start:2}}@media screen and (max-width:600px){.about-wrap .has-2-columns,.about-wrap .has-3-columns,.about-wrap .has-4-columns{display:block}.about-wrap :not(.is-wider-right):not(.is-wider-left) .column{margin-right:0;margin-left:0}.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:grid}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}}@media only screen and (max-width:480px){.about-wrap .has-2-columns.is-wider-left,.about-wrap .has-2-columns.is-wider-right{display:block}.about-wrap .column{margin-right:0;margin-left:0}.about-wrap .has-2-columns.is-wider-left img,.about-wrap .has-2-columns.is-wider-right img{max-width:160px}} \ No newline at end of file diff --git a/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics-stats.php b/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics-stats.php index fb38f9a9..1286a302 100644 --- a/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics-stats.php +++ b/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics-stats.php @@ -1,258 +1,258 @@ -get_default_stats() ); - } - - /** - * Retrieve stats for site. - * - * @return array stats data. - * @since 1.0.0 - */ - private function get_default_stats() { - return array( - 'graupi_version' => defined( 'BSF_UPDATER_VERSION' ) ? BSF_UPDATER_VERSION : false, - 'domain_name' => get_site_url(), - 'php_os' => PHP_OS, - 'server_software' => isset( $_SERVER['SERVER_SOFTWARE'] ) ? filter_var( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ), FILTER_SANITIZE_STRING ) : '', - 'mysql_version' => $this->get_mysql_version(), - 'php_version' => $this->get_php_version(), - 'php_max_input_vars' => ini_get( 'max_input_vars' ), // phpcs:ignore:PHPCompatibility.IniDirectives.NewIniDirectives.max_input_varsFound - 'php_post_max_size' => ini_get( 'post_max_size' ), - 'php_max_execution_time' => ini_get( 'max_execution_time' ), - 'php_memory_limit' => ini_get( 'memory_limit' ), - 'zip_installed' => extension_loaded( 'zip' ), - 'imagick_availabile' => extension_loaded( 'imagick' ), - 'xmlreader_exists' => class_exists( 'XMLReader' ), - 'gd_available' => extension_loaded( 'gd' ), - 'curl_version' => $this->get_curl_version(), - 'curl_ssl_version' => $this->get_curl_ssl_version(), - 'is_writable' => $this->is_content_writable(), - - 'wp_version' => get_bloginfo( 'version' ), - 'user_count' => $this->get_user_count(), - 'posts_count' => wp_count_posts()->publish, - 'page_count' => wp_count_posts( 'page' )->publish, - 'site_language' => get_locale(), - 'timezone' => wp_timezone_string(), - 'is_ssl' => is_ssl(), - 'is_multisite' => is_multisite(), - 'network_url' => network_site_url(), - 'external_object_cache' => (bool) wp_using_ext_object_cache(), - 'wp_debug' => WP_DEBUG, - 'wp_debug_display' => WP_DEBUG_DISPLAY, - 'script_debug' => SCRIPT_DEBUG, - - 'active_plugins' => $this->get_active_plugins(), - - 'active_theme' => get_template(), - 'active_stylesheet' => get_stylesheet(), - ); - } - - /** - * Get installed PHP version. - * - * @return float PHP version. - * @since 1.0.0 - */ - private function get_php_version() { - if ( defined( 'PHP_MAJOR_VERSION' ) && defined( 'PHP_MINOR_VERSION' ) && defined( 'PHP_RELEASE_VERSION' ) ) { // phpcs:ignore - return PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION; - } - - return phpversion(); - } - - /** - * User count on site. - * - * @return int User count. - * @since 1.0.0 - */ - private function get_user_count() { - if ( is_multisite() ) { - $user_count = get_user_count(); - } else { - $count = count_users(); - $user_count = $count['total_users']; - } - - return $user_count; - } - - /** - * Get active plugin's data. - * - * @return array active plugin's list. - * @since 1.0.0 - */ - private function get_active_plugins() { - if ( ! $this->plugins ) { - // Ensure get_plugin_data function is loaded. - if ( ! function_exists( 'get_plugin_data' ) ) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; - } - - $plugins = wp_get_active_and_valid_plugins(); - $plugins = array_map( 'get_plugin_data', $plugins ); - $this->plugins = array_map( array( $this, 'format_plugin' ), $plugins ); - } - - return $this->plugins; - } - - /** - * Format plugin data. - * - * @param string $plugin plugin. - * @return array formatted plugin data. - * @since 1.0.0 - */ - public function format_plugin( $plugin ) { - return array( - 'name' => html_entity_decode( $plugin['Name'], ENT_COMPAT, 'UTF-8' ), - 'url' => $plugin['PluginURI'], - 'version' => $plugin['Version'], - 'slug' => $plugin['TextDomain'], - 'author_name' => html_entity_decode( wp_strip_all_tags( $plugin['Author'] ), ENT_COMPAT, 'UTF-8' ), - 'author_url' => $plugin['AuthorURI'], - ); - } - - /** - * Curl SSL version. - * - * @return float SSL version. - * @since 1.0.0 - */ - private function get_curl_ssl_version() { - $curl = array(); - if ( function_exists( 'curl_version' ) ) { - $curl = curl_version(); // phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version - } - - return isset( $curl['ssl_version'] ) ? $curl['ssl_version'] : false; - } - - /** - * Get cURL version. - * - * @return float cURL version. - * @since 1.0.0 - */ - private function get_curl_version() { - if ( function_exists( 'curl_version' ) ) { - $curl = curl_version(); // phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version - } - - return isset( $curl['version'] ) ? $curl['version'] : false; - } - - /** - * Get MySQL version. - * - * @return float MySQL version. - * @since 1.0.0 - */ - private function get_mysql_version() { - global $wpdb; - return $wpdb->db_version(); - } - - /** - * Check if content directory is writable. - * - * @return bool - * @since 1.0.0 - */ - private function is_content_writable() { - $upload_dir = wp_upload_dir(); - return wp_is_writable( $upload_dir['basedir'] ); - } - } -} - -/** - * Polyfill for sites using WP version less than 5.3 - */ -if ( ! function_exists( 'wp_timezone_string' ) ) { - /** - * Get timezone string. - * - * @return string timezone string. - * @since 1.0.0 - */ - function wp_timezone_string() { - $timezone_string = get_option( 'timezone_string' ); - - if ( $timezone_string ) { - return $timezone_string; - } - - $offset = (float) get_option( 'gmt_offset' ); - $hours = (int) $offset; - $minutes = ( $offset - $hours ); - - $sign = ( $offset < 0 ) ? '-' : '+'; - $abs_hour = abs( $hours ); - $abs_mins = abs( $minutes * 60 ); - $tz_offset = sprintf( '%s%02d:%02d', $sign, $abs_hour, $abs_mins ); - - return $tz_offset; - } -} +get_default_stats() ); + } + + /** + * Retrieve stats for site. + * + * @return array stats data. + * @since 1.0.0 + */ + private function get_default_stats() { + return array( + 'graupi_version' => defined( 'BSF_UPDATER_VERSION' ) ? BSF_UPDATER_VERSION : false, + 'domain_name' => get_site_url(), + 'php_os' => PHP_OS, + 'server_software' => isset( $_SERVER['SERVER_SOFTWARE'] ) ? filter_var( wp_unslash( $_SERVER['SERVER_SOFTWARE'] ), FILTER_SANITIZE_STRING ) : '', + 'mysql_version' => $this->get_mysql_version(), + 'php_version' => $this->get_php_version(), + 'php_max_input_vars' => ini_get( 'max_input_vars' ), // phpcs:ignore:PHPCompatibility.IniDirectives.NewIniDirectives.max_input_varsFound + 'php_post_max_size' => ini_get( 'post_max_size' ), + 'php_max_execution_time' => ini_get( 'max_execution_time' ), + 'php_memory_limit' => ini_get( 'memory_limit' ), + 'zip_installed' => extension_loaded( 'zip' ), + 'imagick_availabile' => extension_loaded( 'imagick' ), + 'xmlreader_exists' => class_exists( 'XMLReader' ), + 'gd_available' => extension_loaded( 'gd' ), + 'curl_version' => $this->get_curl_version(), + 'curl_ssl_version' => $this->get_curl_ssl_version(), + 'is_writable' => $this->is_content_writable(), + + 'wp_version' => get_bloginfo( 'version' ), + 'user_count' => $this->get_user_count(), + 'posts_count' => wp_count_posts()->publish, + 'page_count' => wp_count_posts( 'page' )->publish, + 'site_language' => get_locale(), + 'timezone' => wp_timezone_string(), + 'is_ssl' => is_ssl(), + 'is_multisite' => is_multisite(), + 'network_url' => network_site_url(), + 'external_object_cache' => (bool) wp_using_ext_object_cache(), + 'wp_debug' => WP_DEBUG, + 'wp_debug_display' => WP_DEBUG_DISPLAY, + 'script_debug' => SCRIPT_DEBUG, + + 'active_plugins' => $this->get_active_plugins(), + + 'active_theme' => get_template(), + 'active_stylesheet' => get_stylesheet(), + ); + } + + /** + * Get installed PHP version. + * + * @return float PHP version. + * @since 1.0.0 + */ + private function get_php_version() { + if ( defined( 'PHP_MAJOR_VERSION' ) && defined( 'PHP_MINOR_VERSION' ) && defined( 'PHP_RELEASE_VERSION' ) ) { // phpcs:ignore + return PHP_MAJOR_VERSION . '.' . PHP_MINOR_VERSION . '.' . PHP_RELEASE_VERSION; + } + + return phpversion(); + } + + /** + * User count on site. + * + * @return int User count. + * @since 1.0.0 + */ + private function get_user_count() { + if ( is_multisite() ) { + $user_count = get_user_count(); + } else { + $count = count_users(); + $user_count = $count['total_users']; + } + + return $user_count; + } + + /** + * Get active plugin's data. + * + * @return array active plugin's list. + * @since 1.0.0 + */ + private function get_active_plugins() { + if ( ! $this->plugins ) { + // Ensure get_plugin_data function is loaded. + if ( ! function_exists( 'get_plugin_data' ) ) { + require_once ABSPATH . 'wp-admin/includes/plugin.php'; + } + + $plugins = wp_get_active_and_valid_plugins(); + $plugins = array_map( 'get_plugin_data', $plugins ); + $this->plugins = array_map( array( $this, 'format_plugin' ), $plugins ); + } + + return $this->plugins; + } + + /** + * Format plugin data. + * + * @param string $plugin plugin. + * @return array formatted plugin data. + * @since 1.0.0 + */ + public function format_plugin( $plugin ) { + return array( + 'name' => html_entity_decode( $plugin['Name'], ENT_COMPAT, 'UTF-8' ), + 'url' => $plugin['PluginURI'], + 'version' => $plugin['Version'], + 'slug' => $plugin['TextDomain'], + 'author_name' => html_entity_decode( wp_strip_all_tags( $plugin['Author'] ), ENT_COMPAT, 'UTF-8' ), + 'author_url' => $plugin['AuthorURI'], + ); + } + + /** + * Curl SSL version. + * + * @return float SSL version. + * @since 1.0.0 + */ + private function get_curl_ssl_version() { + $curl = array(); + if ( function_exists( 'curl_version' ) ) { + $curl = curl_version(); // phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version + } + + return isset( $curl['ssl_version'] ) ? $curl['ssl_version'] : false; + } + + /** + * Get cURL version. + * + * @return float cURL version. + * @since 1.0.0 + */ + private function get_curl_version() { + if ( function_exists( 'curl_version' ) ) { + $curl = curl_version(); // phpcs:ignore WordPress.WP.AlternativeFunctions.curl_curl_version + } + + return isset( $curl['version'] ) ? $curl['version'] : false; + } + + /** + * Get MySQL version. + * + * @return float MySQL version. + * @since 1.0.0 + */ + private function get_mysql_version() { + global $wpdb; + return $wpdb->db_version(); + } + + /** + * Check if content directory is writable. + * + * @return bool + * @since 1.0.0 + */ + private function is_content_writable() { + $upload_dir = wp_upload_dir(); + return wp_is_writable( $upload_dir['basedir'] ); + } + } +} + +/** + * Polyfill for sites using WP version less than 5.3 + */ +if ( ! function_exists( 'wp_timezone_string' ) ) { + /** + * Get timezone string. + * + * @return string timezone string. + * @since 1.0.0 + */ + function wp_timezone_string() { + $timezone_string = get_option( 'timezone_string' ); + + if ( $timezone_string ) { + return $timezone_string; + } + + $offset = (float) get_option( 'gmt_offset' ); + $hours = (int) $offset; + $minutes = ( $offset - $hours ); + + $sign = ( $offset < 0 ) ? '-' : '+'; + $abs_hour = abs( $hours ); + $abs_mins = abs( $minutes * 60 ); + $tz_offset = sprintf( '%s%02d:%02d', $sign, $abs_hour, $abs_mins ); + + return $tz_offset; + } +} diff --git a/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics.php b/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics.php index 0be39616..453a7455 100644 --- a/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics.php +++ b/wp/wp-content/plugins/wp-schema-pro/admin/bsf-analytics/class-bsf-analytics.php @@ -1,514 +1,514 @@ -entities = $args; - - define( 'BSF_ANALYTICS_VERSION', $analytics_version ); - define( 'BSF_ANALYTICS_URI', $this->get_analytics_url( $analytics_path ) ); - - add_action( 'admin_init', array( $this, 'handle_optin_optout' ) ); - add_action( 'admin_init', array( $this, 'option_notice' ) ); - add_action( 'init', array( $this, 'maybe_track_analytics' ), 99 ); - - $this->set_actions(); - - add_action( 'admin_init', array( $this, 'register_usage_tracking_setting' ) ); - - $this->includes(); - } - - /** - * Setup actions for admin notice style and analytics cron event. - * - * @since 1.0.4 - */ - public function set_actions() { - - foreach ( $this->entities as $key => $data ) { - add_action( 'astra_notice_before_markup_' . $key . '-optin-notice', array( $this, 'enqueue_assets' ) ); - add_action( 'update_option_' . $key . '_analytics_optin', array( $this, 'update_analytics_option_callback' ), 10, 3 ); - add_action( 'add_option_' . $key . '_analytics_optin', array( $this, 'add_analytics_option_callback' ), 10, 2 ); - } - } - - /** - * BSF Analytics URL - * - * @param string $analytics_path directory path to analytics library. - * @return String URL of bsf-analytics directory. - * @since 1.0.0 - */ - public function get_analytics_url( $analytics_path ) { - - $content_dir_path = wp_normalize_path( WP_CONTENT_DIR ); - - $analytics_path = wp_normalize_path( $analytics_path ); - - return str_replace( $content_dir_path, content_url(), $analytics_path ); - } - - /** - * Get API URL for sending analytics. - * - * @return string API URL. - * @since 1.0.0 - */ - private function get_api_url() { - return defined( 'BSF_API_URL' ) ? BSF_API_URL : 'https://support.brainstormforce.com/'; - } - - /** - * Enqueue Scripts. - * - * @since 1.0.0 - * @return void - */ - public function enqueue_assets() { - - /** - * Load unminified if SCRIPT_DEBUG is true. - * - * Directory and Extensions. - */ - $dir_name = ( SCRIPT_DEBUG ) ? 'unminified' : 'minified'; - $file_rtl = ( is_rtl() ) ? '-rtl' : ''; - $css_ext = ( SCRIPT_DEBUG ) ? '.css' : '.min.css'; - - $css_uri = BSF_ANALYTICS_URI . '/assets/css/' . $dir_name . '/style' . $file_rtl . $css_ext; - - wp_enqueue_style( 'bsf-analytics-admin-style', $css_uri, false, BSF_ANALYTICS_VERSION, 'all' ); - } - - /** - * Send analytics API call. - * - * @since 1.0.0 - */ - public function send() { - wp_remote_post( - $this->get_api_url() . 'wp-json/bsf-core/v1/analytics/', - array( - 'body' => BSF_Analytics_Stats::instance()->get_stats(), - 'timeout' => 5, - 'blocking' => false, - ) - ); - } - - /** - * Check if usage tracking is enabled. - * - * @return bool - * @since 1.0.0 - */ - public function is_tracking_enabled() { - - foreach ( $this->entities as $key => $data ) { - - $is_enabled = get_site_option( $key . '_analytics_optin' ) === 'yes' ? true : false; - $is_enabled = $this->is_white_label_enabled( $key ) ? false : $is_enabled; - - if ( apply_filters( $key . '_tracking_enabled', $is_enabled ) ) { - return true; - } - } - - return false; - } - - /** - * Check if WHITE label is enabled for BSF products. - * - * @param string $source source of analytics. - * @return bool - * @since 1.0.0 - */ - public function is_white_label_enabled( $source ) { - - $options = apply_filters( $source . '_white_label_options', array() ); - $is_enabled = false; - - if ( is_array( $options ) ) { - foreach ( $options as $option ) { - if ( true === $option ) { - $is_enabled = true; - break; - } - } - } - - return $is_enabled; - } - - /** - * Display admin notice for usage tracking. - * - * @since 1.0.0 - */ - public function option_notice() { - - if ( ! current_user_can( 'manage_options' ) ) { - return; - } - - foreach ( $this->entities as $key => $data ) { - - $time_to_display = isset( $data['time_to_display'] ) ? $data['time_to_display'] : '+24 hours'; - $usage_doc_link = isset( $data['usage_doc_link'] ) ? $data['usage_doc_link'] : $this->usage_doc_link; - - // Don't display the notice if tracking is disabled or White Label is enabled for any of our plugins. - if ( false !== get_site_option( $key . '_analytics_optin', false ) || $this->is_white_label_enabled( $key ) ) { - continue; - } - - // Show tracker consent notice after 24 hours from installed time. - if ( strtotime( $time_to_display, $this->get_analytics_install_time( $key ) ) > time() ) { - continue; - } - - /* translators: %s product name */ - $notice_string = __( 'Want to help make %1s even more awesome? Allow us to collect non-sensitive diagnostic data and usage information. ', 'wp-schema-pro' ); - - if ( is_multisite() ) { - $notice_string .= __( 'This will be applicable for all sites from the network.', 'wp-schema-pro' ); - } - - $language_dir = is_rtl() ? 'rtl' : 'ltr'; - - Astra_Notices::add_notice( - array( - 'id' => $key . '-optin-notice', - 'type' => '', - 'message' => sprintf( - '

-
- %1$s -
- -
', - /* translators: %s usage doc link */ - sprintf( $notice_string . '%4s', esc_html( $data['product_name'] ), $language_dir, esc_url( $usage_doc_link ), __( ' Know More.', 'wp-schema-pro' ) ), - esc_url( - add_query_arg( - array( - $key . '_analytics_optin' => 'yes', - $key . '_analytics_nonce' => wp_create_nonce( $key . '_analytics_optin' ), - 'bsf_analytics_source' => $key, - ) - ) - ), - __( 'Yes! Allow it', 'wp-schema-pro' ), - esc_url( - add_query_arg( - array( - $key . '_analytics_optin' => 'no', - $key . '_analytics_nonce' => wp_create_nonce( $key . '_analytics_optin' ), - 'bsf_analytics_source' => $key, - ) - ) - ), - MONTH_IN_SECONDS, - __( 'No Thanks', 'wp-schema-pro' ) - ), - 'show_if' => true, - 'repeat-notice-after' => false, - 'priority' => 18, - 'display-with-other-notices' => true, - ) - ); - } - } - - /** - * Process usage tracking opt out. - * - * @since 1.0.0 - */ - public function handle_optin_optout() { - - if ( ! current_user_can( 'manage_options' ) ) { - return; - } - - $source = isset( $_GET['bsf_analytics_source'] ) ? sanitize_text_field( wp_unslash( $_GET['bsf_analytics_source'] ) ) : ''; - - if ( ! isset( $_GET[ $source . '_analytics_nonce' ] ) ) { - return; - } - - if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET[ $source . '_analytics_nonce' ] ) ), $source . '_analytics_optin' ) ) { - return; - } - - $optin_status = isset( $_GET[ $source . '_analytics_optin' ] ) ? sanitize_text_field( wp_unslash( $_GET[ $source . '_analytics_optin' ] ) ) : ''; - - if ( 'yes' === $optin_status ) { - $this->optin( $source ); - } elseif ( 'no' === $optin_status ) { - $this->optout( $source ); - } - - wp_safe_redirect( - esc_url_raw( - remove_query_arg( - array( - $source . '_analytics_optin', - $source . '_analytics_nonce', - 'bsf_analytics_source', - ) - ) - ) - ); - } - - /** - * Opt in to usage tracking. - * - * @param string $source source of analytics. - * @since 1.0.0 - */ - private function optin( $source ) { - update_site_option( $source . '_analytics_optin', 'yes' ); - } - - /** - * Opt out to usage tracking. - * - * @param string $source source of analytics. - * @since 1.0.0 - */ - private function optout( $source ) { - update_site_option( $source . '_analytics_optin', 'no' ); - } - - /** - * Load analytics stat class. - * - * @since 1.0.0 - */ - private function includes() { - require_once __DIR__ . '/class-bsf-analytics-stats.php'; - } - - /** - * Register usage tracking option in General settings page. - * - * @since 1.0.0 - */ - public function register_usage_tracking_setting() { - - foreach ( $this->entities as $key => $data ) { - - if ( ! apply_filters( $key . '_tracking_enabled', true ) || $this->is_white_label_enabled( $key ) ) { - return; - } - - $usage_doc_link = isset( $data['usage_doc_link'] ) ? $data['usage_doc_link'] : $this->usage_doc_link; - $author = isset( $data['author'] ) ? $data['author'] : 'Brainstorm Force'; - - register_setting( - 'general', // Options group. - $key . '_analytics_optin', // Option name/database. - array( 'sanitize_callback' => array( $this, 'sanitize_option' ) ) // sanitize callback function. - ); - - add_settings_field( - $key . '-analytics-optin', // Field ID. - __( 'Usage Tracking', 'wp-schema-pro' ), // Field title. - array( $this, 'render_settings_field_html' ), // Field callback function. - 'general', - 'default', // Settings page slug. - array( - 'type' => 'checkbox', - 'title' => $author, - 'name' => $key . '_analytics_optin', - 'label_for' => $key . '-analytics-optin', - 'id' => $key . '-analytics-optin', - 'usage_doc_link' => $usage_doc_link, - ) - ); - } - } - - /** - * Sanitize Callback Function - * - * @param bool $input Option value. - * @since 1.0.0 - */ - public function sanitize_option( $input ) { - - if ( ! $input || 'no' === $input ) { - return 'no'; - } - - return 'yes'; - } - - /** - * Print settings field HTML. - * - * @param array $args arguments to field. - * @since 1.0.0 - */ - public function render_settings_field_html( $args ) { - ?> -
- - %2s', esc_url( $args['usage_doc_link'] ), __( 'Learn More.', 'wp-schema-pro' ) ) ); - ?> -
- add_option_to_network( $option, $value ); - } - } - - /** - * Analytics option add callback. - * - * @param string $option Option name. - * @param string $value value of option. - * @since 1.0.0 - */ - public function add_analytics_option_callback( $option, $value ) { - if ( is_multisite() ) { - $this->add_option_to_network( $option, $value ); - } - } - - /** - * Send analaytics track event if tracking is enabled. - * - * @since 1.0.0 - */ - public function maybe_track_analytics() { - - if ( ! $this->is_tracking_enabled() ) { - return; - } - - $analytics_track = get_site_transient( 'bsf_analytics_track' ); - - // If the last data sent is 2 days old i.e. transient is expired. - if ( ! $analytics_track ) { - $this->send(); - set_site_transient( 'bsf_analytics_track', true, 2 * DAY_IN_SECONDS ); - } - } - - /** - * Save analytics option to network. - * - * @param string $option name of option. - * @param string $value value of option. - * @since 1.0.0 - */ - public function add_option_to_network( $option, $value ) { - - // If action coming from general settings page. - if ( isset( $_POST['option_page'] ) && 'general' === $_POST['option_page'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing - - if ( get_site_option( $option ) ) { - update_site_option( $option, $value ); - } else { - add_site_option( $option, $value ); - } - } - } - } -} +entities = $args; + + define( 'BSF_ANALYTICS_VERSION', $analytics_version ); + define( 'BSF_ANALYTICS_URI', $this->get_analytics_url( $analytics_path ) ); + + add_action( 'admin_init', array( $this, 'handle_optin_optout' ) ); + add_action( 'admin_init', array( $this, 'option_notice' ) ); + add_action( 'init', array( $this, 'maybe_track_analytics' ), 99 ); + + $this->set_actions(); + + add_action( 'admin_init', array( $this, 'register_usage_tracking_setting' ) ); + + $this->includes(); + } + + /** + * Setup actions for admin notice style and analytics cron event. + * + * @since 1.0.4 + */ + public function set_actions() { + + foreach ( $this->entities as $key => $data ) { + add_action( 'astra_notice_before_markup_' . $key . '-optin-notice', array( $this, 'enqueue_assets' ) ); + add_action( 'update_option_' . $key . '_analytics_optin', array( $this, 'update_analytics_option_callback' ), 10, 3 ); + add_action( 'add_option_' . $key . '_analytics_optin', array( $this, 'add_analytics_option_callback' ), 10, 2 ); + } + } + + /** + * BSF Analytics URL + * + * @param string $analytics_path directory path to analytics library. + * @return String URL of bsf-analytics directory. + * @since 1.0.0 + */ + public function get_analytics_url( $analytics_path ) { + + $content_dir_path = wp_normalize_path( WP_CONTENT_DIR ); + + $analytics_path = wp_normalize_path( $analytics_path ); + + return str_replace( $content_dir_path, content_url(), $analytics_path ); + } + + /** + * Get API URL for sending analytics. + * + * @return string API URL. + * @since 1.0.0 + */ + private function get_api_url() { + return defined( 'BSF_API_URL' ) ? BSF_API_URL : 'https://support.brainstormforce.com/'; + } + + /** + * Enqueue Scripts. + * + * @since 1.0.0 + * @return void + */ + public function enqueue_assets() { + + /** + * Load unminified if SCRIPT_DEBUG is true. + * + * Directory and Extensions. + */ + $dir_name = ( SCRIPT_DEBUG ) ? 'unminified' : 'minified'; + $file_rtl = ( is_rtl() ) ? '-rtl' : ''; + $css_ext = ( SCRIPT_DEBUG ) ? '.css' : '.min.css'; + + $css_uri = BSF_ANALYTICS_URI . '/assets/css/' . $dir_name . '/style' . $file_rtl . $css_ext; + + wp_enqueue_style( 'bsf-analytics-admin-style', $css_uri, false, BSF_ANALYTICS_VERSION, 'all' ); + } + + /** + * Send analytics API call. + * + * @since 1.0.0 + */ + public function send() { + wp_remote_post( + $this->get_api_url() . 'wp-json/bsf-core/v1/analytics/', + array( + 'body' => BSF_Analytics_Stats::instance()->get_stats(), + 'timeout' => 5, + 'blocking' => false, + ) + ); + } + + /** + * Check if usage tracking is enabled. + * + * @return bool + * @since 1.0.0 + */ + public function is_tracking_enabled() { + + foreach ( $this->entities as $key => $data ) { + + $is_enabled = get_site_option( $key . '_analytics_optin' ) === 'yes' ? true : false; + $is_enabled = $this->is_white_label_enabled( $key ) ? false : $is_enabled; + + if ( apply_filters( $key . '_tracking_enabled', $is_enabled ) ) { + return true; + } + } + + return false; + } + + /** + * Check if WHITE label is enabled for BSF products. + * + * @param string $source source of analytics. + * @return bool + * @since 1.0.0 + */ + public function is_white_label_enabled( $source ) { + + $options = apply_filters( $source . '_white_label_options', array() ); + $is_enabled = false; + + if ( is_array( $options ) ) { + foreach ( $options as $option ) { + if ( true === $option ) { + $is_enabled = true; + break; + } + } + } + + return $is_enabled; + } + + /** + * Display admin notice for usage tracking. + * + * @since 1.0.0 + */ + public function option_notice() { + + if ( ! current_user_can( 'manage_options' ) ) { + return; + } + + foreach ( $this->entities as $key => $data ) { + + $time_to_display = isset( $data['time_to_display'] ) ? $data['time_to_display'] : '+24 hours'; + $usage_doc_link = isset( $data['usage_doc_link'] ) ? $data['usage_doc_link'] : $this->usage_doc_link; + + // Don't display the notice if tracking is disabled or White Label is enabled for any of our plugins. + if ( false !== get_site_option( $key . '_analytics_optin', false ) || $this->is_white_label_enabled( $key ) ) { + continue; + } + + // Show tracker consent notice after 24 hours from installed time. + if ( strtotime( $time_to_display, $this->get_analytics_install_time( $key ) ) > time() ) { + continue; + } + + /* translators: %s product name */ + $notice_string = __( 'Want to help make %1s even more awesome? Allow us to collect non-sensitive diagnostic data and usage information. ', 'wp-schema-pro' ); + + if ( is_multisite() ) { + $notice_string .= __( 'This will be applicable for all sites from the network.', 'wp-schema-pro' ); + } + + $language_dir = is_rtl() ? 'rtl' : 'ltr'; + + Astra_Notices::add_notice( + array( + 'id' => $key . '-optin-notice', + 'type' => '', + 'message' => sprintf( + '
+
+ %1$s +
+ +
', + /* translators: %s usage doc link */ + sprintf( $notice_string . '%4s', esc_html( $data['product_name'] ), $language_dir, esc_url( $usage_doc_link ), __( ' Know More.', 'wp-schema-pro' ) ), + esc_url( + add_query_arg( + array( + $key . '_analytics_optin' => 'yes', + $key . '_analytics_nonce' => wp_create_nonce( $key . '_analytics_optin' ), + 'bsf_analytics_source' => $key, + ) + ) + ), + __( 'Yes! Allow it', 'wp-schema-pro' ), + esc_url( + add_query_arg( + array( + $key . '_analytics_optin' => 'no', + $key . '_analytics_nonce' => wp_create_nonce( $key . '_analytics_optin' ), + 'bsf_analytics_source' => $key, + ) + ) + ), + MONTH_IN_SECONDS, + __( 'No Thanks', 'wp-schema-pro' ) + ), + 'show_if' => true, + 'repeat-notice-after' => false, + 'priority' => 18, + 'display-with-other-notices' => true, + ) + ); + } + } + + /** + * Process usage tracking opt out. + * + * @since 1.0.0 + */ + public function handle_optin_optout() { + + if ( ! current_user_can( 'manage_options' ) ) { + return; + } + + $source = isset( $_GET['bsf_analytics_source'] ) ? sanitize_text_field( wp_unslash( $_GET['bsf_analytics_source'] ) ) : ''; + + if ( ! isset( $_GET[ $source . '_analytics_nonce' ] ) ) { + return; + } + + if ( ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET[ $source . '_analytics_nonce' ] ) ), $source . '_analytics_optin' ) ) { + return; + } + + $optin_status = isset( $_GET[ $source . '_analytics_optin' ] ) ? sanitize_text_field( wp_unslash( $_GET[ $source . '_analytics_optin' ] ) ) : ''; + + if ( 'yes' === $optin_status ) { + $this->optin( $source ); + } elseif ( 'no' === $optin_status ) { + $this->optout( $source ); + } + + wp_safe_redirect( + esc_url_raw( + remove_query_arg( + array( + $source . '_analytics_optin', + $source . '_analytics_nonce', + 'bsf_analytics_source', + ) + ) + ) + ); + } + + /** + * Opt in to usage tracking. + * + * @param string $source source of analytics. + * @since 1.0.0 + */ + private function optin( $source ) { + update_site_option( $source . '_analytics_optin', 'yes' ); + } + + /** + * Opt out to usage tracking. + * + * @param string $source source of analytics. + * @since 1.0.0 + */ + private function optout( $source ) { + update_site_option( $source . '_analytics_optin', 'no' ); + } + + /** + * Load analytics stat class. + * + * @since 1.0.0 + */ + private function includes() { + require_once __DIR__ . '/class-bsf-analytics-stats.php'; + } + + /** + * Register usage tracking option in General settings page. + * + * @since 1.0.0 + */ + public function register_usage_tracking_setting() { + + foreach ( $this->entities as $key => $data ) { + + if ( ! apply_filters( $key . '_tracking_enabled', true ) || $this->is_white_label_enabled( $key ) ) { + return; + } + + $usage_doc_link = isset( $data['usage_doc_link'] ) ? $data['usage_doc_link'] : $this->usage_doc_link; + $author = isset( $data['author'] ) ? $data['author'] : 'Brainstorm Force'; + + register_setting( + 'general', // Options group. + $key . '_analytics_optin', // Option name/database. + array( 'sanitize_callback' => array( $this, 'sanitize_option' ) ) // sanitize callback function. + ); + + add_settings_field( + $key . '-analytics-optin', // Field ID. + __( 'Usage Tracking', 'wp-schema-pro' ), // Field title. + array( $this, 'render_settings_field_html' ), // Field callback function. + 'general', + 'default', // Settings page slug. + array( + 'type' => 'checkbox', + 'title' => $author, + 'name' => $key . '_analytics_optin', + 'label_for' => $key . '-analytics-optin', + 'id' => $key . '-analytics-optin', + 'usage_doc_link' => $usage_doc_link, + ) + ); + } + } + + /** + * Sanitize Callback Function + * + * @param bool $input Option value. + * @since 1.0.0 + */ + public function sanitize_option( $input ) { + + if ( ! $input || 'no' === $input ) { + return 'no'; + } + + return 'yes'; + } + + /** + * Print settings field HTML. + * + * @param array $args arguments to field. + * @since 1.0.0 + */ + public function render_settings_field_html( $args ) { + ?> +
+ + %2s', esc_url( $args['usage_doc_link'] ), __( 'Learn More.', 'wp-schema-pro' ) ) ); + ?> +
+ add_option_to_network( $option, $value ); + } + } + + /** + * Analytics option add callback. + * + * @param string $option Option name. + * @param string $value value of option. + * @since 1.0.0 + */ + public function add_analytics_option_callback( $option, $value ) { + if ( is_multisite() ) { + $this->add_option_to_network( $option, $value ); + } + } + + /** + * Send analaytics track event if tracking is enabled. + * + * @since 1.0.0 + */ + public function maybe_track_analytics() { + + if ( ! $this->is_tracking_enabled() ) { + return; + } + + $analytics_track = get_site_transient( 'bsf_analytics_track' ); + + // If the last data sent is 2 days old i.e. transient is expired. + if ( ! $analytics_track ) { + $this->send(); + set_site_transient( 'bsf_analytics_track', true, 2 * DAY_IN_SECONDS ); + } + } + + /** + * Save analytics option to network. + * + * @param string $option name of option. + * @param string $value value of option. + * @since 1.0.0 + */ + public function add_option_to_network( $option, $value ) { + + // If action coming from general settings page. + if ( isset( $_POST['option_page'] ) && 'general' === $_POST['option_page'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing + + if ( get_site_option( $option ) ) { + update_site_option( $option, $value ); + } else { + add_site_option( $option, $value ); + } + } + } + } +} diff --git a/wp/wp-content/plugins/wp-schema-pro/changelog.txt b/wp/wp-content/plugins/wp-schema-pro/changelog.txt index d465a548..e28ca313 100644 --- a/wp/wp-content/plugins/wp-schema-pro/changelog.txt +++ b/wp/wp-content/plugins/wp-schema-pro/changelog.txt @@ -1,3 +1,7 @@ +v2.7.11 +# Improvement: Added new required properties in Course Schema - offers, courseWorkload / courseSchedule. +# Fix: Corrected syntax for FAQ schema type. + v2.7.10 # Improvement: Improved codebase for improved security. # Improvement: Added Clip and SeekToAction fields in Video Object schema. diff --git a/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-custom-fields-markup.php b/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-custom-fields-markup.php index 7951d8c0..11d8e861 100644 --- a/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-custom-fields-markup.php +++ b/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-custom-fields-markup.php @@ -1,1232 +1,1232 @@ -mapping = array( - 'custom-field' => 'custom-field', - 'fixed-text' => 'custom-field', - 'accept-user-rating' => 'custom-field', - 'create-field' => 'custom-field', - 'custom-text' => 'custom-field', - 'specific-field' => 'specific-field', - ); - } - - /** - * Init Metabox user rile dependancies. - */ - public function aiosrs_custom_allowed_user_role() { - $allowed_user = apply_filters( - 'wp_schema_pro_role', - array( 'administrator' ) - ); - update_option( 'custom_user_role', $allowed_user ); - } - - /** - * Rest star rating. - */ - public function aiosrs_reset_post_rating_callback() { - - if ( ! current_user_can( 'manage_options' ) ) { - wp_send_json_error(); - } - - check_ajax_referer( 'schema-pro-reset-rating', 'nonce' ); - - $response = array( - 'success' => false, - ); - if ( isset( $_POST['post_id'] ) ) { - $post_id = $_POST['post_id']; - $schema_id = $_POST['schema_id']; - delete_post_meta( $post_id, 'bsf-schema-pro-reviews-' . $schema_id ); - delete_post_meta( $post_id, 'bsf-schema-pro-review-counts-' . $schema_id ); - delete_post_meta( $post_id, 'bsf-schema-pro-rating-' . $schema_id ); - - $response['success'] = true; - $response['rating-avg'] = _x( '0/5', 'rating out of', 'wp-schema-pro' ); - $response['review-count'] = __( '(0 Reviews)', 'wp-schema-pro' ); - } - wp_send_json( $response ); - } - - /** - * Custom Fields Shortcode. - * - * @param array $atts Shortcode attributes. - * @return html - */ - public function shortcode_callback( $atts ) { - - $args = shortcode_atts( - array( - 'post_id' => '', - 'post_type' => 'post', - 'field_key' => '', - 'default' => '', - ), - $atts - ); - - $post_id = empty( $args['post_id'] ) ? get_the_ID() : (int) $args['post_id']; - $allowed_post_types = array( 'post', 'page', 'comment', 'term' ); - if ( ! in_array( $args['post_type'], $allowed_post_types ) ) { - return 'Invalid post type'; - } - $output = get_metadata( $args['post_type'], $post_id, $args['field_key'], true ); - - if ( empty( $output ) || is_array( $output ) ) { - $output = $args['default']; - } - - return $output; - } - - /** - * Meta Boxes Style - * - * @return void - */ - public function meta_boxes_style() { - - if ( ! empty( self::$meta_boxes ) ) { - $ids = array(); - foreach ( self::$meta_boxes as $key => $meta_box ) { - $ids[] = '#aiosrs_pro_custom_meta_box_' . $key . ' .inside'; - } - - echo ''; - } - } - - /** - * Init Metabox - */ - public function init_metabox() { - - $screen = get_current_screen(); - $current_post_type = $screen->post_type; - if ( 'aiosrs-schema' === $current_post_type ) { - return; - } - $allowed_user_roles = array(); - $user = wp_get_current_user(); - if ( is_array( $allowed_user_roles ) ) { - $allowed_user_roles = get_option( 'custom_user_role' ); - } - if ( array_intersect( $allowed_user_roles, (array) $user->roles ) ) { - add_action( 'add_meta_boxes', array( $this, 'setup_meta_box' ) ); - add_action( 'save_post', array( $this, 'save_meta_box' ) ); - } - } - - /** - * Initializing static variable. - * - * @param int|boolean $current_post_id Post Id. - * @return void - */ - public function init_static_fields( $current_post_id = false ) { - - $option = array( - 'location' => 'bsf-aiosrs-schema-location', - 'exclusion' => 'bsf-aiosrs-schema-exclusion', - ); - - $schema_post_result = BSF_Target_Rule_Fields::get_instance()->get_posts_by_conditions( 'aiosrs-schema', $option, $current_post_id ); - if ( is_array( $schema_post_result ) && ! empty( $schema_post_result ) ) { - $current_post_id = get_the_id(); - foreach ( $schema_post_result as $post_id => $post_data ) { - - $schema_type = get_post_meta( $post_id, 'bsf-aiosrs-schema-type', true ); - $schema_meta = get_post_meta( $post_id, 'bsf-aiosrs-' . $schema_type, true ); - - if ( empty( $current_post_id ) || empty( $schema_type ) || empty( $schema_meta ) ) { - continue; - } - - $schema_meta_fields = BSF_AIOSRS_Pro_Schema::$schema_meta_fields[ 'bsf-aiosrs-' . $schema_type ]['subkeys']; - $review_schema_type = BSF_AIOSRS_Pro_Schema::$schema_meta_fields['bsf-aiosrs-review']['subkeys']['schema-type']['choices']; - $item_schema_type = isset( $schema_meta['schema-type'] ) ? $schema_meta['schema-type'] : ''; - foreach ( $review_schema_type as $review_type_key => $review_type ) { - - if ( ! ( empty( $item_schema_type ) ) && ( $item_schema_type === $review_type_key ) ) { - $temp = BSF_AIOSRS_Pro_Schema::$schema_item_types[ $item_schema_type ]; - if ( isset( $temp['subkeys'] ) ) { - $schema_meta_item_fields = $temp['subkeys']; - } - } - } - $custom_fields = array(); - foreach ( $schema_meta as $schema_key => $schema_value ) { - - if ( isset( $schema_meta_fields[ $schema_key ] ) ) { - $schema_field_value = $schema_meta_fields[ $schema_key ]; - } else { - if ( isset( $schema_meta['schema-type'] ) ) { - - $item_schema_key = str_replace( $schema_meta['schema-type'] . '-', '', $schema_key ); - } - $item_schema_key = isset( $item_schema_key ) ? $item_schema_key : ''; - $schema_field_value = isset( $schema_meta_item_fields[ $item_schema_key ] ) ? $schema_meta_item_fields[ $item_schema_key ] : null; - } - if ( 'applicant-location' === $schema_key ) { - $schema_field_value = array( - 'label' => esc_html__( 'Applicant Location', 'wp-schema-pro' ), - 'type' => 'text', - 'default' => 'none', - 'required' => false, - 'description' => esc_html__( 'The geographic location(s) in which employees may be located to be eligible for the Remote job.', 'wp-schema-pro' ), - ); - } - $repeater_values = array(); - if ( $schema_field_value ) { - - if ( 'repeater' === $schema_field_value['type'] ) { - - $repeater_values = get_post_meta( $current_post_id, $schema_type . '-' . $post_id . '-' . $schema_key, true ); - // Added backward applicant location field dependancy. - if ( 'remote-location' === $schema_key ) { - $applicant_location_string = get_post_meta( $current_post_id, 'job-posting-' . $post_id . '-applicant-location', true ); - $dep_count = get_option( 'wp_backward_field' . $current_post_id . '' . $post_id ); - $dep_count = ! empty( $dep_count ) ? $dep_count : ''; - if ( $applicant_location_string !== $dep_count && '' === $dep_count ) { - - $deprecated_application_location = array( - array( - 'applicant-location' => ! empty( $applicant_location_string ) ? $applicant_location_string : '', - 'applicant-location-fieldtype' => 'custom-field', - 'applicant-location-connected' => 'none', - 'applicant-location-custom' => ! empty( $applicant_location_string ) ? $applicant_location_string : '', - 'applicant-location-specific' => 'none', - ), - ); - if ( isset( $deprecated_application_location ) && ! empty( $deprecated_application_location ) ) { - if ( ! empty( $repeater_values ) ) { - $repeater_values = array_merge( $deprecated_application_location, $repeater_values ); - update_option( 'wp_backward_field' . $current_post_id . '' . $post_id, $applicant_location_string ); - } else { - $repeater_values = $deprecated_application_location; - update_option( 'wp_backward_field' . $current_post_id . '' . $post_id, $applicant_location_string ); - } - } - update_post_meta( $current_post_id, $schema_type . '-' . $post_id . '-' . $schema_key, $repeater_values ); - } - } - - if ( ! is_array( $repeater_values ) || empty( $repeater_values ) ) { - - $repeater_values = $schema_meta[ $schema_key ]; - } - - $repeter_fields = $schema_meta_fields[ $schema_key ]['fields']; - - $tmp_fields = array(); - - foreach ( $repeater_values as $index => $repeater_value ) { - - foreach ( $schema_field_value['fields'] as $field_key => $field ) { - - $field_val = isset( $schema_meta[ $schema_key ][ $index ][ $field_key ] ) ? $schema_meta[ $schema_key ][ $index ][ $field_key ] : ''; - - if ( 'create-field' === $field_val ) { - $selected_field = 'custom-field'; - $selected_value = ''; - } elseif ( isset( $schema_meta[ $schema_key ][ $index ][ $field_key . '-' . $field_val ] ) ) { - $selected_field = isset( $this->mapping[ $field_val ] ) ? $this->mapping[ $field_val ] : $field_val; - $selected_value = $schema_meta[ $schema_key ][ $index ][ $field_key . '-' . $field_val ]; - } elseif ( isset( $this->mapping[ $field_val ] ) ) { - $selected_field = $this->mapping[ $field_val ]; - $selected_value = ''; - } else { - $selected_field = 'global-field'; - $selected_value = $field_val; - } - - $tmp_fields[ $index ][] = array( - 'default' => isset( $repeater_value[ $field_key ] ) ? $repeater_value[ $field_key ] : '', - 'name' => $schema_type . '-' . $post_id . '-' . $schema_key . '[' . $index . '][' . $field_key . ']', - 'fieldtype' => $schema_type . '-' . $post_id . '-' . $schema_key . '[' . $index . '][' . $field_key . '-fieldtype]', - 'type' => $field['type'], - 'label' => $field['label'], - 'required' => isset( $field['required'] ) ? $field['required'] : false, - 'min' => isset( $repeter_fields[ $field_key ]['attrs']['min'] ) ? $repeter_fields[ $field_key ]['attrs']['min'] : '', - 'step' => isset( $repeter_fields[ $field_key ]['attrs']['step'] ) ? $repeter_fields[ $field_key ]['attrs']['step'] : '', - 'description' => isset( $repeter_fields[ $field_key ]['description'] ) ? $repeter_fields[ $field_key ]['description'] : '', - 'dropdown-content' => isset( $repeter_fields[ $field_key ]['dropdown-type'] ) ? $repeter_fields[ $field_key ]['dropdown-type'] : '', - 'global_fieldtype' => $selected_field, - 'global_default' => $selected_value, - 'class' => isset( $field['class'] ) ? $field['class'] : '', - 'subkey_data' => $field, - - ); - } - } - - $custom_fields[] = array( - 'default' => isset( $schema_meta[ $schema_key . '-custom-meta-default' ] ) ? $schema_meta[ $schema_key . '-custom-meta-default' ] : '', - 'name' => $schema_type . '-' . $post_id . '-' . $schema_key, - 'type' => $schema_field_value['type'], - 'label' => $schema_field_value['label'], - 'min' => isset( $schema_field_value['attrs']['min'] ) ? $schema_field_value['attrs']['min'] : '', - 'step' => isset( $schema_field_value['attrs']['step'] ) ? $schema_field_value['attrs']['step'] : '', - 'required' => isset( $schema_field_value['required'] ) ? $schema_field_value['required'] : false, - 'dropdown-content' => isset( $schema_field_value['dropdown-type'] ) ? $schema_field_value['dropdown-type'] : '', - 'user-rating' => 'accept-user-rating' === $schema_value, - 'description' => isset( $schema_field_value['description'] ) ? $schema_field_value['description'] : '', - 'fields' => $tmp_fields, - 'global_fieldtype' => '', - 'global_default' => '', - ); - } elseif ( 'repeater-target' === $schema_field_value['type'] ) { - - $repeater_values = get_post_meta( $current_post_id, $schema_type . '-' . $post_id . '-' . $schema_key, true ); - - if ( ! is_array( $repeater_values ) || empty( $repeater_values ) ) { - - $repeater_values = array( array_fill_keys( array_keys( $schema_field_value['fields'] ), '' ) ); - } - - $tmp_fields = array(); - - foreach ( $repeater_values as $key => $repeater_value ) { - - foreach ( $schema_field_value['fields'] as $field_key => $field ) { - - $tmp_fields[ $key ][] = array( - 'default' => $repeater_value[ $field_key ], - 'name' => $schema_type . '-' . $post_id . '-' . $schema_key . '[' . $key . '][' . $field_key . ']', - 'type' => $field['type'], - 'label' => $field['label'], - 'required' => isset( $field['required'] ) ? $field['required'] : false, - 'description' => isset( $field['description'] ) ? $field['description'] : '', - - ); - - } - } - - $custom_fields[] = array( - 'default' => isset( $schema_meta[ $schema_key . '-custom-meta-default' ] ) ? $schema_meta[ $schema_key . '-custom-meta-default' ] : '', - 'name' => $schema_type . '-' . $post_id . '-' . $schema_key, - 'type' => $schema_field_value['type'], - 'label' => $schema_field_value['label'], - 'min' => isset( $schema_field_value['attrs']['min'] ) ? $schema_field_value['attrs']['min'] : '', - 'step' => isset( $schema_field_value['attrs']['step'] ) ? $schema_field_value['attrs']['step'] : '', - 'required' => isset( $schema_field_value['required'] ) ? $schema_field_value['required'] : false, - 'dropdown-content' => isset( $schema_field_value['dropdown-type'] ) ? $schema_field_value['dropdown-type'] : '', - 'user-rating' => 'accept-user-rating' === $schema_value, - 'description' => isset( $schema_field_value['description'] ) ? $schema_field_value['description'] : '', - 'fields' => $tmp_fields, - 'global_fieldtype' => '', - 'global_default' => '', - ); - } else { - if ( ! isset( $schema_meta['bsf-aiosrs-software-application-rating'] ) ) { - $schema_meta['bsf-aiosrs-software-application-rating'] = ''; - } - if ( ! isset( $schema_meta['bsf-aiosrs-product-rating'] ) ) { - $schema_meta['bsf-aiosrs-product-rating'] = ''; - } - // Skip review count in case of Accept user rating. - if ( ( 'bsf-aiosrs-product-review-count' === $schema_key || 'bsf-aiosrs-software-application-review-count' === $schema_key || 'review-count' === $schema_key ) && ( 'accept-user-rating' === $schema_meta['rating'] || 'accept-user-rating' === $schema_meta['bsf-aiosrs-software-application-rating'] || 'accept-user-rating' === $schema_meta['bsf-aiosrs-product-rating'] ) ) { - continue; - } - - if ( 'create-field' === $schema_meta[ $schema_key ] ) { - $selected_field = 'custom-field'; - $selected_value = ''; - } elseif ( isset( $schema_meta[ $schema_key . '-' . $schema_meta[ $schema_key ] ] ) ) { - $selected_field = isset( $this->mapping[ $schema_meta[ $schema_key ] ] ) ? $this->mapping[ $schema_meta[ $schema_key ] ] : $schema_meta[ $schema_key ]; - $selected_value = $schema_meta[ $schema_key . '-' . $schema_meta[ $schema_key ] ]; - } elseif ( isset( $this->mapping[ $schema_meta[ $schema_key ] ] ) ) { - $selected_field = $this->mapping[ $schema_meta[ $schema_key ] ]; - $selected_value = ''; - } else { - $selected_field = 'global-field'; - $selected_value = $schema_meta[ $schema_key ]; - } - - $custom_fields[] = array( - 'default' => isset( $schema_meta[ $schema_key . '-custom-meta-default' ] ) ? $schema_meta[ $schema_key . '-custom-meta-default' ] : '', - 'name' => $schema_type . '-' . $post_id . '-' . $schema_key, - 'type' => $schema_field_value['type'], - 'label' => $schema_field_value['label'], - 'min' => isset( $schema_field_value['attrs']['min'] ) ? $schema_field_value['attrs']['min'] : '', - 'step' => isset( $schema_field_value['attrs']['step'] ) ? $schema_field_value['attrs']['step'] : '', - 'required' => isset( $schema_field_value['required'] ) ? $schema_field_value['required'] : false, - 'dropdown-content' => isset( $schema_field_value['dropdown-type'] ) ? $schema_field_value['dropdown-type'] : '', - 'user-rating' => 'accept-user-rating' === $schema_value, - 'description' => isset( $schema_field_value['description'] ) ? $schema_field_value['description'] : '', - 'subkey' => $schema_key, - 'subkey_data' => $schema_field_value, - 'global_fieldtype' => $selected_field, - 'global_default' => $selected_value, - ); - - } - } - } - - if ( ! empty( $custom_fields ) ) { - - $schema_enabled = self::enable_schema_post_option(); - if ( $schema_enabled ) { - array_unshift( - $custom_fields, - array( - 'default' => 'disabled', - 'name' => $schema_type . '-' . $post_id . '-enabled-schema', - - ) - ); - } - - self::$meta_boxes[ $post_id ] = array( - 'ID' => $post_id, - 'post_title' => get_the_title( $post_id ), - 'schema_type' => $schema_type, - 'fields' => $custom_fields, - ); - - self::$meta_options[] = $custom_fields; - } - } - self::$meta_options = call_user_func_array( 'array_merge', self::$meta_options + array( array() ) ); - } - } - - /** - * Setup Metabox - */ - public function setup_meta_box() { - - $brand_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings']; - $this->init_static_fields(); - if ( ! empty( self::$meta_boxes ) ) { - if ( '' !== $brand_settings['sp_plugin_name'] ) { - $title = __( $brand_settings['sp_plugin_name'], 'wp-schema-pro' ); //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText - } else { - $title = __( 'Schema Pro', 'wp-schema-pro' ); - } - if ( count( self::$meta_boxes ) === 1 ) { - $key = key( self::$meta_boxes ); - $title .= ' - ' . self::$meta_boxes[ $key ]['post_title']; - } - $current_post_type = get_post_type(); - add_meta_box( 'aiosrs-pro-custom-fields', $title, array( $this, 'custom_field_markup' ), $current_post_type ); - } - } - - /** - * Function to enable option. - * - * @since 1.1.1 - * @return boolean - */ - public static function enable_schema_post_option() { - - return apply_filters( 'wp_schema_pro_default_markup', false ); - } - - /** - * Custom Fields meta Markup. - * - * @param object $post Post Object. - * @return void - */ - public function custom_field_markup( $post ) { - - wp_nonce_field( basename( __FILE__ ), 'aiosrs-pro-custom-meta' ); - $stored = get_post_meta( $post->ID ); - $tmp_post = get_post( $post->ID, ARRAY_A ); - $stored['post'] = $tmp_post; - $first_tab = true; - - $schema_enabled = self::enable_schema_post_option(); - - do_action( 'aiosrs_pro_custom_fields_markup_before', $post, $stored ); - if ( count( self::$meta_boxes ) > 1 ) { ?> -
- $meta_box ) { - - $id = 'aiosrs_pro_custom_meta_box_' . $key; - $title = ! empty( $meta_box['post_title'] ) ? $meta_box['post_title'] : ' '; - $enable_schema_type = $meta_box['schema_type']; - $enable_schema_id = $meta_box['ID']; - $enable_schema_markup = $enable_schema_type . '-' . $enable_schema_id . '-enabled-schema'; - $option_default_schema = get_post_meta( $post->ID, $enable_schema_markup, true ); - - ?> -
- - -
-
- - - value="1" class="wpsp-enable-schema-toggle__input"> - - - -
-
- -
- -
- -
- - - - $meta_box ) { - - $id = 'aiosrs_pro_custom_meta_box_' . $key_id; - $fields = ! empty( $meta_box['fields'] ) ? $meta_box['fields'] : array(); - $meta_options = $fields; - - foreach ( $meta_options as $key => $value ) { - if ( isset( $stored[ $value['name'] ][0] ) ) { - $meta_options[ $key ]['default'] = $stored[ $value['name'] ][0]; - } - } - - ?> -
- - $option ) { - - // Hide the Enable Schema markup label when we use the filter. - if ( ! isset( $option['label'] ) ) { - continue; - } - - $dep_class = isset( $option['subkey_data']['class'] ) ? $option['subkey_data']['class'] : ''; - ?> - - - - - - - - - - - - - - - - - - - - - - - -
- - - * - - - - - - - -

- -

-
class="bsf-aiosrs-schema-row-content "> - - - -
- - - - - - -
'> -
- -
- - - -
-
'> - - -
- -
- - -
- -
- -
-
- -
-
- -
- - - - - - - - - - - name="" value="1"> - - - - -
- - - - - - -
- - - - -
- -
- - - -
- - - - - -
- - - - - -
- - -
- - - -
- - - -
- - - - - - - - - - - -
- - -
-
- -
-
-
-
- - -
- -
- - - $fields ) : ?> -
- - - - - - - - - - - - - - - - - - - - - -
- - -
-
- -
- - - - - - -
'> -
- -
- - - - -
- -
'> - - -
- - -
- - -
- -
- - -
-
-
-
- - - -
- -
- -
- 5 ) ? 5 : $rating; - $rating = ( $rating < 0 ) ? 0 : $rating; - $star_index = 1; - $icon = 'dashicons-star-filled'; - while ( $star_index <= 5 ) { - if ( $star_index > $rating ) { - $is_half = $star_index - $rating; - $icon = ( is_float( $is_half ) && $is_half < 1 ) ? 'dashicons-star-half' : 'dashicons-star-empty'; - } - ?> - - -
- init_static_fields( $post_id ); - $post_meta = self::$meta_options; - foreach ( $post_meta as $key => $data ) { - if ( is_numeric( $key ) ) { - // Sanitize values. - $sanitize_filter = ( isset( $data['type'] ) ) ? $data['type'] : 'text'; - - switch ( $sanitize_filter ) { - - case 'FILTER_SANITIZE_STRING': - $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_DEFAULT ); - break; - - case 'FILTER_SANITIZE_URL': - $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_SANITIZE_URL ); - break; - - case 'FILTER_SANITIZE_NUMBER_INT': - $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_SANITIZE_NUMBER_INT ); - break; - - case 'repeater-target': - case 'repeater': - $meta_value = $_POST[ $data['name'] ]; - - break; - - default: - $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_DEFAULT ); - break; - } - - update_post_meta( $post_id, $data['name'] . '-fieldtype', filter_input( INPUT_POST, $data['name'] . '-fieldtype', FILTER_DEFAULT ) ); - update_post_meta( $post_id, $data['name'], $meta_value ); - } - } - - // Deleteing the cached structured data. - delete_post_meta( $post_id, BSF_AIOSRS_PRO_CACHE_KEY ); - } - } -} - - - -/** - * Kicking this off by calling 'get_instance()' method - */ -BSF_AIOSRS_Pro_Custom_Fields_Markup::get_instance(); +mapping = array( + 'custom-field' => 'custom-field', + 'fixed-text' => 'custom-field', + 'accept-user-rating' => 'custom-field', + 'create-field' => 'custom-field', + 'custom-text' => 'custom-field', + 'specific-field' => 'specific-field', + ); + } + + /** + * Init Metabox user rile dependancies. + */ + public function aiosrs_custom_allowed_user_role() { + $allowed_user = apply_filters( + 'wp_schema_pro_role', + array( 'administrator' ) + ); + update_option( 'custom_user_role', $allowed_user ); + } + + /** + * Rest star rating. + */ + public function aiosrs_reset_post_rating_callback() { + + if ( ! current_user_can( 'manage_options' ) ) { + wp_send_json_error(); + } + + check_ajax_referer( 'schema-pro-reset-rating', 'nonce' ); + + $response = array( + 'success' => false, + ); + if ( isset( $_POST['post_id'] ) ) { + $post_id = $_POST['post_id']; + $schema_id = $_POST['schema_id']; + delete_post_meta( $post_id, 'bsf-schema-pro-reviews-' . $schema_id ); + delete_post_meta( $post_id, 'bsf-schema-pro-review-counts-' . $schema_id ); + delete_post_meta( $post_id, 'bsf-schema-pro-rating-' . $schema_id ); + + $response['success'] = true; + $response['rating-avg'] = _x( '0/5', 'rating out of', 'wp-schema-pro' ); + $response['review-count'] = __( '(0 Reviews)', 'wp-schema-pro' ); + } + wp_send_json( $response ); + } + + /** + * Custom Fields Shortcode. + * + * @param array $atts Shortcode attributes. + * @return html + */ + public function shortcode_callback( $atts ) { + + $args = shortcode_atts( + array( + 'post_id' => '', + 'post_type' => 'post', + 'field_key' => '', + 'default' => '', + ), + $atts + ); + + $post_id = empty( $args['post_id'] ) ? get_the_ID() : (int) $args['post_id']; + $allowed_post_types = array( 'post', 'page', 'comment', 'term' ); + if ( ! in_array( $args['post_type'], $allowed_post_types ) ) { + return 'Invalid post type'; + } + $output = get_metadata( $args['post_type'], $post_id, $args['field_key'], true ); + + if ( empty( $output ) || is_array( $output ) ) { + $output = $args['default']; + } + + return $output; + } + + /** + * Meta Boxes Style + * + * @return void + */ + public function meta_boxes_style() { + + if ( ! empty( self::$meta_boxes ) ) { + $ids = array(); + foreach ( self::$meta_boxes as $key => $meta_box ) { + $ids[] = '#aiosrs_pro_custom_meta_box_' . $key . ' .inside'; + } + + echo ''; + } + } + + /** + * Init Metabox + */ + public function init_metabox() { + + $screen = get_current_screen(); + $current_post_type = $screen->post_type; + if ( 'aiosrs-schema' === $current_post_type ) { + return; + } + $allowed_user_roles = array(); + $user = wp_get_current_user(); + if ( is_array( $allowed_user_roles ) ) { + $allowed_user_roles = get_option( 'custom_user_role' ); + } + if ( array_intersect( $allowed_user_roles, (array) $user->roles ) ) { + add_action( 'add_meta_boxes', array( $this, 'setup_meta_box' ) ); + add_action( 'save_post', array( $this, 'save_meta_box' ) ); + } + } + + /** + * Initializing static variable. + * + * @param int|boolean $current_post_id Post Id. + * @return void + */ + public function init_static_fields( $current_post_id = false ) { + + $option = array( + 'location' => 'bsf-aiosrs-schema-location', + 'exclusion' => 'bsf-aiosrs-schema-exclusion', + ); + + $schema_post_result = BSF_Target_Rule_Fields::get_instance()->get_posts_by_conditions( 'aiosrs-schema', $option, $current_post_id ); + if ( is_array( $schema_post_result ) && ! empty( $schema_post_result ) ) { + $current_post_id = get_the_id(); + foreach ( $schema_post_result as $post_id => $post_data ) { + + $schema_type = get_post_meta( $post_id, 'bsf-aiosrs-schema-type', true ); + $schema_meta = get_post_meta( $post_id, 'bsf-aiosrs-' . $schema_type, true ); + + if ( empty( $current_post_id ) || empty( $schema_type ) || empty( $schema_meta ) ) { + continue; + } + + $schema_meta_fields = BSF_AIOSRS_Pro_Schema::$schema_meta_fields[ 'bsf-aiosrs-' . $schema_type ]['subkeys']; + $review_schema_type = BSF_AIOSRS_Pro_Schema::$schema_meta_fields['bsf-aiosrs-review']['subkeys']['schema-type']['choices']; + $item_schema_type = isset( $schema_meta['schema-type'] ) ? $schema_meta['schema-type'] : ''; + foreach ( $review_schema_type as $review_type_key => $review_type ) { + + if ( ! ( empty( $item_schema_type ) ) && ( $item_schema_type === $review_type_key ) ) { + $temp = BSF_AIOSRS_Pro_Schema::$schema_item_types[ $item_schema_type ]; + if ( isset( $temp['subkeys'] ) ) { + $schema_meta_item_fields = $temp['subkeys']; + } + } + } + $custom_fields = array(); + foreach ( $schema_meta as $schema_key => $schema_value ) { + + if ( isset( $schema_meta_fields[ $schema_key ] ) ) { + $schema_field_value = $schema_meta_fields[ $schema_key ]; + } else { + if ( isset( $schema_meta['schema-type'] ) ) { + + $item_schema_key = str_replace( $schema_meta['schema-type'] . '-', '', $schema_key ); + } + $item_schema_key = isset( $item_schema_key ) ? $item_schema_key : ''; + $schema_field_value = isset( $schema_meta_item_fields[ $item_schema_key ] ) ? $schema_meta_item_fields[ $item_schema_key ] : null; + } + if ( 'applicant-location' === $schema_key ) { + $schema_field_value = array( + 'label' => esc_html__( 'Applicant Location', 'wp-schema-pro' ), + 'type' => 'text', + 'default' => 'none', + 'required' => false, + 'description' => esc_html__( 'The geographic location(s) in which employees may be located to be eligible for the Remote job.', 'wp-schema-pro' ), + ); + } + $repeater_values = array(); + if ( $schema_field_value ) { + + if ( 'repeater' === $schema_field_value['type'] ) { + + $repeater_values = get_post_meta( $current_post_id, $schema_type . '-' . $post_id . '-' . $schema_key, true ); + // Added backward applicant location field dependancy. + if ( 'remote-location' === $schema_key ) { + $applicant_location_string = get_post_meta( $current_post_id, 'job-posting-' . $post_id . '-applicant-location', true ); + $dep_count = get_option( 'wp_backward_field' . $current_post_id . '' . $post_id ); + $dep_count = ! empty( $dep_count ) ? $dep_count : ''; + if ( $applicant_location_string !== $dep_count && '' === $dep_count ) { + + $deprecated_application_location = array( + array( + 'applicant-location' => ! empty( $applicant_location_string ) ? $applicant_location_string : '', + 'applicant-location-fieldtype' => 'custom-field', + 'applicant-location-connected' => 'none', + 'applicant-location-custom' => ! empty( $applicant_location_string ) ? $applicant_location_string : '', + 'applicant-location-specific' => 'none', + ), + ); + if ( isset( $deprecated_application_location ) && ! empty( $deprecated_application_location ) ) { + if ( ! empty( $repeater_values ) ) { + $repeater_values = array_merge( $deprecated_application_location, $repeater_values ); + update_option( 'wp_backward_field' . $current_post_id . '' . $post_id, $applicant_location_string ); + } else { + $repeater_values = $deprecated_application_location; + update_option( 'wp_backward_field' . $current_post_id . '' . $post_id, $applicant_location_string ); + } + } + update_post_meta( $current_post_id, $schema_type . '-' . $post_id . '-' . $schema_key, $repeater_values ); + } + } + + if ( ! is_array( $repeater_values ) || empty( $repeater_values ) ) { + + $repeater_values = $schema_meta[ $schema_key ]; + } + + $repeter_fields = $schema_meta_fields[ $schema_key ]['fields']; + + $tmp_fields = array(); + + foreach ( $repeater_values as $index => $repeater_value ) { + + foreach ( $schema_field_value['fields'] as $field_key => $field ) { + + $field_val = isset( $schema_meta[ $schema_key ][ $index ][ $field_key ] ) ? $schema_meta[ $schema_key ][ $index ][ $field_key ] : ''; + + if ( 'create-field' === $field_val ) { + $selected_field = 'custom-field'; + $selected_value = ''; + } elseif ( isset( $schema_meta[ $schema_key ][ $index ][ $field_key . '-' . $field_val ] ) ) { + $selected_field = isset( $this->mapping[ $field_val ] ) ? $this->mapping[ $field_val ] : $field_val; + $selected_value = $schema_meta[ $schema_key ][ $index ][ $field_key . '-' . $field_val ]; + } elseif ( isset( $this->mapping[ $field_val ] ) ) { + $selected_field = $this->mapping[ $field_val ]; + $selected_value = ''; + } else { + $selected_field = 'global-field'; + $selected_value = $field_val; + } + + $tmp_fields[ $index ][] = array( + 'default' => isset( $repeater_value[ $field_key ] ) ? $repeater_value[ $field_key ] : '', + 'name' => $schema_type . '-' . $post_id . '-' . $schema_key . '[' . $index . '][' . $field_key . ']', + 'fieldtype' => $schema_type . '-' . $post_id . '-' . $schema_key . '[' . $index . '][' . $field_key . '-fieldtype]', + 'type' => $field['type'], + 'label' => $field['label'], + 'required' => isset( $field['required'] ) ? $field['required'] : false, + 'min' => isset( $repeter_fields[ $field_key ]['attrs']['min'] ) ? $repeter_fields[ $field_key ]['attrs']['min'] : '', + 'step' => isset( $repeter_fields[ $field_key ]['attrs']['step'] ) ? $repeter_fields[ $field_key ]['attrs']['step'] : '', + 'description' => isset( $repeter_fields[ $field_key ]['description'] ) ? $repeter_fields[ $field_key ]['description'] : '', + 'dropdown-content' => isset( $repeter_fields[ $field_key ]['dropdown-type'] ) ? $repeter_fields[ $field_key ]['dropdown-type'] : '', + 'global_fieldtype' => $selected_field, + 'global_default' => $selected_value, + 'class' => isset( $field['class'] ) ? $field['class'] : '', + 'subkey_data' => $field, + + ); + } + } + + $custom_fields[] = array( + 'default' => isset( $schema_meta[ $schema_key . '-custom-meta-default' ] ) ? $schema_meta[ $schema_key . '-custom-meta-default' ] : '', + 'name' => $schema_type . '-' . $post_id . '-' . $schema_key, + 'type' => $schema_field_value['type'], + 'label' => $schema_field_value['label'], + 'min' => isset( $schema_field_value['attrs']['min'] ) ? $schema_field_value['attrs']['min'] : '', + 'step' => isset( $schema_field_value['attrs']['step'] ) ? $schema_field_value['attrs']['step'] : '', + 'required' => isset( $schema_field_value['required'] ) ? $schema_field_value['required'] : false, + 'dropdown-content' => isset( $schema_field_value['dropdown-type'] ) ? $schema_field_value['dropdown-type'] : '', + 'user-rating' => 'accept-user-rating' === $schema_value, + 'description' => isset( $schema_field_value['description'] ) ? $schema_field_value['description'] : '', + 'fields' => $tmp_fields, + 'global_fieldtype' => '', + 'global_default' => '', + ); + } elseif ( 'repeater-target' === $schema_field_value['type'] ) { + + $repeater_values = get_post_meta( $current_post_id, $schema_type . '-' . $post_id . '-' . $schema_key, true ); + + if ( ! is_array( $repeater_values ) || empty( $repeater_values ) ) { + + $repeater_values = array( array_fill_keys( array_keys( $schema_field_value['fields'] ), '' ) ); + } + + $tmp_fields = array(); + + foreach ( $repeater_values as $key => $repeater_value ) { + + foreach ( $schema_field_value['fields'] as $field_key => $field ) { + + $tmp_fields[ $key ][] = array( + 'default' => $repeater_value[ $field_key ], + 'name' => $schema_type . '-' . $post_id . '-' . $schema_key . '[' . $key . '][' . $field_key . ']', + 'type' => $field['type'], + 'label' => $field['label'], + 'required' => isset( $field['required'] ) ? $field['required'] : false, + 'description' => isset( $field['description'] ) ? $field['description'] : '', + + ); + + } + } + + $custom_fields[] = array( + 'default' => isset( $schema_meta[ $schema_key . '-custom-meta-default' ] ) ? $schema_meta[ $schema_key . '-custom-meta-default' ] : '', + 'name' => $schema_type . '-' . $post_id . '-' . $schema_key, + 'type' => $schema_field_value['type'], + 'label' => $schema_field_value['label'], + 'min' => isset( $schema_field_value['attrs']['min'] ) ? $schema_field_value['attrs']['min'] : '', + 'step' => isset( $schema_field_value['attrs']['step'] ) ? $schema_field_value['attrs']['step'] : '', + 'required' => isset( $schema_field_value['required'] ) ? $schema_field_value['required'] : false, + 'dropdown-content' => isset( $schema_field_value['dropdown-type'] ) ? $schema_field_value['dropdown-type'] : '', + 'user-rating' => 'accept-user-rating' === $schema_value, + 'description' => isset( $schema_field_value['description'] ) ? $schema_field_value['description'] : '', + 'fields' => $tmp_fields, + 'global_fieldtype' => '', + 'global_default' => '', + ); + } else { + if ( ! isset( $schema_meta['bsf-aiosrs-software-application-rating'] ) ) { + $schema_meta['bsf-aiosrs-software-application-rating'] = ''; + } + if ( ! isset( $schema_meta['bsf-aiosrs-product-rating'] ) ) { + $schema_meta['bsf-aiosrs-product-rating'] = ''; + } + // Skip review count in case of Accept user rating. + if ( ( 'bsf-aiosrs-product-review-count' === $schema_key || 'bsf-aiosrs-software-application-review-count' === $schema_key || 'review-count' === $schema_key ) && ( 'accept-user-rating' === $schema_meta['rating'] || 'accept-user-rating' === $schema_meta['bsf-aiosrs-software-application-rating'] || 'accept-user-rating' === $schema_meta['bsf-aiosrs-product-rating'] ) ) { + continue; + } + + if ( 'create-field' === $schema_meta[ $schema_key ] ) { + $selected_field = 'custom-field'; + $selected_value = ''; + } elseif ( isset( $schema_meta[ $schema_key . '-' . $schema_meta[ $schema_key ] ] ) ) { + $selected_field = isset( $this->mapping[ $schema_meta[ $schema_key ] ] ) ? $this->mapping[ $schema_meta[ $schema_key ] ] : $schema_meta[ $schema_key ]; + $selected_value = $schema_meta[ $schema_key . '-' . $schema_meta[ $schema_key ] ]; + } elseif ( isset( $this->mapping[ $schema_meta[ $schema_key ] ] ) ) { + $selected_field = $this->mapping[ $schema_meta[ $schema_key ] ]; + $selected_value = ''; + } else { + $selected_field = 'global-field'; + $selected_value = $schema_meta[ $schema_key ]; + } + + $custom_fields[] = array( + 'default' => isset( $schema_meta[ $schema_key . '-custom-meta-default' ] ) ? $schema_meta[ $schema_key . '-custom-meta-default' ] : '', + 'name' => $schema_type . '-' . $post_id . '-' . $schema_key, + 'type' => $schema_field_value['type'], + 'label' => $schema_field_value['label'], + 'min' => isset( $schema_field_value['attrs']['min'] ) ? $schema_field_value['attrs']['min'] : '', + 'step' => isset( $schema_field_value['attrs']['step'] ) ? $schema_field_value['attrs']['step'] : '', + 'required' => isset( $schema_field_value['required'] ) ? $schema_field_value['required'] : false, + 'dropdown-content' => isset( $schema_field_value['dropdown-type'] ) ? $schema_field_value['dropdown-type'] : '', + 'user-rating' => 'accept-user-rating' === $schema_value, + 'description' => isset( $schema_field_value['description'] ) ? $schema_field_value['description'] : '', + 'subkey' => $schema_key, + 'subkey_data' => $schema_field_value, + 'global_fieldtype' => $selected_field, + 'global_default' => $selected_value, + ); + + } + } + } + + if ( ! empty( $custom_fields ) ) { + + $schema_enabled = self::enable_schema_post_option(); + if ( $schema_enabled ) { + array_unshift( + $custom_fields, + array( + 'default' => 'disabled', + 'name' => $schema_type . '-' . $post_id . '-enabled-schema', + + ) + ); + } + + self::$meta_boxes[ $post_id ] = array( + 'ID' => $post_id, + 'post_title' => get_the_title( $post_id ), + 'schema_type' => $schema_type, + 'fields' => $custom_fields, + ); + + self::$meta_options[] = $custom_fields; + } + } + self::$meta_options = call_user_func_array( 'array_merge', self::$meta_options + array( array() ) ); + } + } + + /** + * Setup Metabox + */ + public function setup_meta_box() { + + $brand_settings = BSF_AIOSRS_Pro_Helper::$settings['wp-schema-pro-branding-settings']; + $this->init_static_fields(); + if ( ! empty( self::$meta_boxes ) ) { + if ( '' !== $brand_settings['sp_plugin_name'] ) { + $title = __( $brand_settings['sp_plugin_name'], 'wp-schema-pro' ); //phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralText + } else { + $title = __( 'Schema Pro', 'wp-schema-pro' ); + } + if ( count( self::$meta_boxes ) === 1 ) { + $key = key( self::$meta_boxes ); + $title .= ' - ' . self::$meta_boxes[ $key ]['post_title']; + } + $current_post_type = get_post_type(); + add_meta_box( 'aiosrs-pro-custom-fields', $title, array( $this, 'custom_field_markup' ), $current_post_type ); + } + } + + /** + * Function to enable option. + * + * @since 1.1.1 + * @return boolean + */ + public static function enable_schema_post_option() { + + return apply_filters( 'wp_schema_pro_default_markup', false ); + } + + /** + * Custom Fields meta Markup. + * + * @param object $post Post Object. + * @return void + */ + public function custom_field_markup( $post ) { + + wp_nonce_field( basename( __FILE__ ), 'aiosrs-pro-custom-meta' ); + $stored = get_post_meta( $post->ID ); + $tmp_post = get_post( $post->ID, ARRAY_A ); + $stored['post'] = $tmp_post; + $first_tab = true; + + $schema_enabled = self::enable_schema_post_option(); + + do_action( 'aiosrs_pro_custom_fields_markup_before', $post, $stored ); + if ( count( self::$meta_boxes ) > 1 ) { ?> +
+ $meta_box ) { + + $id = 'aiosrs_pro_custom_meta_box_' . $key; + $title = ! empty( $meta_box['post_title'] ) ? $meta_box['post_title'] : ' '; + $enable_schema_type = $meta_box['schema_type']; + $enable_schema_id = $meta_box['ID']; + $enable_schema_markup = $enable_schema_type . '-' . $enable_schema_id . '-enabled-schema'; + $option_default_schema = get_post_meta( $post->ID, $enable_schema_markup, true ); + + ?> +
+ + +
+
+ + + value="1" class="wpsp-enable-schema-toggle__input"> + + + +
+
+ +
+ +
+ +
+ + + + $meta_box ) { + + $id = 'aiosrs_pro_custom_meta_box_' . $key_id; + $fields = ! empty( $meta_box['fields'] ) ? $meta_box['fields'] : array(); + $meta_options = $fields; + + foreach ( $meta_options as $key => $value ) { + if ( isset( $stored[ $value['name'] ][0] ) ) { + $meta_options[ $key ]['default'] = $stored[ $value['name'] ][0]; + } + } + + ?> +
+ + $option ) { + + // Hide the Enable Schema markup label when we use the filter. + if ( ! isset( $option['label'] ) ) { + continue; + } + + $dep_class = isset( $option['subkey_data']['class'] ) ? $option['subkey_data']['class'] : ''; + ?> + + + + + + + + + + + + + + + + + + + + + + + +
+ + + * + + + + + + + +

+ +

+
class="bsf-aiosrs-schema-row-content "> + + + +
+ + + + + + +
'> +
+ +
+ + + +
+
'> + + +
+ +
+ + +
+ +
+ +
+
+ +
+
+ +
+ + + + + + + + + + + name="" value="1"> + + + + +
+ + + + + + +
+ + + + +
+ +
+ + + +
+ + + + + +
+ + + + + +
+ + +
+ + + +
+ + + +
+ + + + + + + + + + + +
+ + +
+
+ +
+
+
+
+ + +
+ +
+ + + $fields ) : ?> +
+ + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ +
+ + + + + + +
'> +
+ +
+ + + + +
+ +
'> + + +
+ + +
+ + +
+ +
+ + +
+
+
+
+ + + +
+ +
+ +
+ 5 ) ? 5 : $rating; + $rating = ( $rating < 0 ) ? 0 : $rating; + $star_index = 1; + $icon = 'dashicons-star-filled'; + while ( $star_index <= 5 ) { + if ( $star_index > $rating ) { + $is_half = $star_index - $rating; + $icon = ( is_float( $is_half ) && $is_half < 1 ) ? 'dashicons-star-half' : 'dashicons-star-empty'; + } + ?> + + +
+ init_static_fields( $post_id ); + $post_meta = self::$meta_options; + foreach ( $post_meta as $key => $data ) { + if ( is_numeric( $key ) ) { + // Sanitize values. + $sanitize_filter = ( isset( $data['type'] ) ) ? $data['type'] : 'text'; + + switch ( $sanitize_filter ) { + + case 'FILTER_SANITIZE_STRING': + $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_DEFAULT ); + break; + + case 'FILTER_SANITIZE_URL': + $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_SANITIZE_URL ); + break; + + case 'FILTER_SANITIZE_NUMBER_INT': + $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_SANITIZE_NUMBER_INT ); + break; + + case 'repeater-target': + case 'repeater': + $meta_value = $_POST[ $data['name'] ]; + + break; + + default: + $meta_value = filter_input( INPUT_POST, $data['name'], FILTER_DEFAULT ); + break; + } + + update_post_meta( $post_id, $data['name'] . '-fieldtype', filter_input( INPUT_POST, $data['name'] . '-fieldtype', FILTER_DEFAULT ) ); + update_post_meta( $post_id, $data['name'], $meta_value ); + } + } + + // Deleteing the cached structured data. + delete_post_meta( $post_id, BSF_AIOSRS_PRO_CACHE_KEY ); + } + } +} + + + +/** + * Kicking this off by calling 'get_instance()' method + */ +BSF_AIOSRS_Pro_Custom_Fields_Markup::get_instance(); diff --git a/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-schema.php b/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-schema.php index 6d7ab1a4..7cf0ba87 100644 --- a/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-schema.php +++ b/wp/wp-content/plugins/wp-schema-pro/classes/class-bsf-aiosrs-pro-schema.php @@ -605,6 +605,12 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema' ) ) { 'default' => 'create-field', 'description' => esc_html__( 'The organization that publishes the source content of the course. For example, UC Berkeley.', 'wp-schema-pro' ), ), + 'offer-category' => array( + 'label' => esc_html__( 'Offer Category', 'wp-schema-pro' ), + 'type' => 'text', + 'default' => 'none', + 'description' => esc_html__( 'The pricing category of the course.(e.g. Free, Partially Free, Subscription, Paid).', 'wp-schema-pro' ), + ), 'course-instance' => array( 'label' => esc_html__( 'Course Instance', 'wp-schema-pro' ), 'type' => 'repeater', @@ -662,6 +668,25 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema' ) ) { 'type' => 'date', 'default' => 'none', ), + 'repeat-count' => array( + 'label' => esc_html__( 'Repeat Count', 'wp-schema-pro' ), + 'type' => 'number', + 'default' => 'none', + 'attrs' => array( + 'min' => '0', + 'step' => 'any', + ), + ), + 'repeat-frequency' => array( + 'label' => esc_html__( 'Repeat Frequency', 'wp-schema-pro' ), + 'type' => 'text', + 'default' => 'none', + ), + 'course-workload' => array( + 'label' => esc_html__( 'Course Workload', 'wp-schema-pro' ), + 'type' => 'text', + 'default' => 'none', + ), 'previous-date' => array( 'label' => esc_html__( 'Course Previous Start Date', 'wp-schema-pro' ), 'type' => 'datetime-local', diff --git a/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-course.php b/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-course.php index c638ca00..dd3f7ea7 100644 --- a/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-course.php +++ b/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-course.php @@ -34,6 +34,9 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) { $schema['description'] = ! empty( $data['description'] ) ? wp_strip_all_tags( (string) $data['description'] ) : null; + $schema['offers']['@type'] = 'Offer'; + $schema['offers']['category'] = ! empty( $data['offer-category'] ) ? wp_strip_all_tags( (string) $data['offer-category'] ) : null;; + if ( isset( $data['course-instance'] ) && ! empty( $data['course-instance'] ) ) { foreach ( $data['course-instance'] as $key => $value ) { @@ -50,6 +53,25 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_Course' ) ) { $schema['hasCourseInstance'][ $key ]['courseMode'] = ! empty( $value['course-mode'] ) ? wp_strip_all_tags( (string) $value['course-mode'] ) : null; + if ( ! empty( $value['course-workload'] ) ) { + $schema['hasCourseInstance'][ $key ]['courseWorkload'] = ! empty( $value['course-workload'] ) ? wp_strip_all_tags( (string) $value['course-workload'] ) : null; + } else if ( ! empty( $value['repeat-count'] ) && ! empty( $value['repeat-frequency'] ) ) { + $schema['hasCourseInstance'][ $key ]['courseSchedule']['@type'] = 'Schedule'; + $schema['hasCourseInstance'][ $key ]['courseSchedule']['repeatCount'] = ! empty( $value['repeat-count'] ) ? wp_strip_all_tags( (string) $value['repeat-count'] ) : null; + $schema['hasCourseInstance'][ $key ]['courseSchedule']['repeatFrequency'] = ! empty( $value['repeat-frequency'] ) ? wp_strip_all_tags( (string) $value['repeat-frequency'] ) : null; + if ( ! empty( $value['start-date'] ) ) { + if ( 'OfflineEventAttendanceMode' !== isset( $value['event-attendance-mode'] ) ) { + $start_date = gmdate( DATE_ISO8601, strtotime( $value['start-date'] ) ); + $schema['hasCourseInstance'][ $key ]['courseSchedule']['startDate'] = wp_strip_all_tags( (string) $start_date ); + } else { + $schema['hasCourseInstance'][ $key ]['courseSchedule']['startDate'] = wp_strip_all_tags( (string) $value['start-date'] ); + } + } + if ( ! empty( $value['end-date'] ) ) { + $schema['hasCourseInstance'][ $key ]['courseSchedule']['endDate'] = ! empty( $value['end-date'] ) ? wp_strip_all_tags( (string) $value['end-date'] ) : null; + } + } + $schema['hasCourseInstance'][ $key ]['eventStatus'] = ! empty( $value['event-status'] ) ? wp_strip_all_tags( (string) $value['event-status'] ) : null; $schema['hasCourseInstance'][ $key ]['eventAttendanceMode'] = ! empty( $value['event-attendance-mode'] ) ? wp_strip_all_tags( (string) $value['event-attendance-mode'] ) : null; diff --git a/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-faq.php b/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-faq.php index 190a858d..fc9263cd 100644 --- a/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-faq.php +++ b/wp/wp-content/plugins/wp-schema-pro/classes/schema/class-bsf-aiosrs-pro-schema-faq.php @@ -28,7 +28,7 @@ if ( ! class_exists( 'BSF_AIOSRS_Pro_Schema_FAQ' ) ) { if ( isset( $data['question-answer'][0]['question'] ) && ! empty( $data['question-answer'][0]['question'] ) ) { $schema['@context'] = 'https://schema.org'; - $schema['type'] = 'FAQPage'; + $schema['@type'] = 'FAQPage'; foreach ( $data['question-answer'] as $key => $value ) { if ( isset( $value['question'] ) && ! empty( $value['question'] ) ) { $schema['mainEntity'][ $key ]['@type'] = 'Question'; diff --git a/wp/wp-content/plugins/wp-schema-pro/languages/wp-schema-pro.pot b/wp/wp-content/plugins/wp-schema-pro/languages/wp-schema-pro.pot index a6e3eae3..79726cb8 100644 --- a/wp/wp-content/plugins/wp-schema-pro/languages/wp-schema-pro.pot +++ b/wp/wp-content/plugins/wp-schema-pro/languages/wp-schema-pro.pot @@ -2,9 +2,9 @@ # This file is distributed under the GPL2. msgid "" msgstr "" -"Project-Id-Version: Schema Pro 2.7.10\n" +"Project-Id-Version: Schema Pro 2.7.11\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-schema-pro\n" -"POT-Creation-Date: 2023-09-12 06:07:56+00:00\n" +"POT-Creation-Date: 2023-12-06 08:46:04+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -106,7 +106,7 @@ msgid "Schema Pro" msgstr "" #: classes/class-bsf-aiosrs-pro-admin.php:688 -#: classes/class-bsf-aiosrs-pro-schema.php:4630 +#: classes/class-bsf-aiosrs-pro-schema.php:4655 msgid "Schemas" msgstr "" @@ -144,12 +144,12 @@ msgid "(0 Reviews)" msgstr "" #: classes/class-bsf-aiosrs-pro-custom-fields-markup.php:249 -#: classes/class-bsf-aiosrs-pro-schema.php:1058 +#: classes/class-bsf-aiosrs-pro-schema.php:1083 msgid "Applicant Location" msgstr "" #: classes/class-bsf-aiosrs-pro-custom-fields-markup.php:253 -#: classes/class-bsf-aiosrs-pro-schema.php:1062 +#: classes/class-bsf-aiosrs-pro-schema.php:1087 msgid "" "The geographic location(s) in which employees may be located to be eligible " "for the Remote job." @@ -169,7 +169,7 @@ msgstr[0] "" msgstr[1] "" #: classes/class-bsf-aiosrs-pro-custom-fields-markup.php:850 -#: classes/class-bsf-aiosrs-pro-schema.php:3731 +#: classes/class-bsf-aiosrs-pro-schema.php:3756 #: classes/class-bsf-aiosrs-pro-setup-wizard.php:311 template/settings.php:93 #: template/wpsp-advanced-settings.php:127 msgid "Select Image" @@ -239,7 +239,7 @@ msgid "Next" msgstr "" #: classes/class-bsf-aiosrs-pro-schema-wizard.php:308 -#: classes/class-bsf-aiosrs-pro-schema.php:3305 +#: classes/class-bsf-aiosrs-pro-schema.php:3330 #. translators: 1 schema title msgid "Enable On" msgstr "" @@ -249,17 +249,17 @@ msgid "Add target pages where this Schema should appear." msgstr "" #: classes/class-bsf-aiosrs-pro-schema-wizard.php:316 -#: classes/class-bsf-aiosrs-pro-schema.php:3313 +#: classes/class-bsf-aiosrs-pro-schema.php:3338 msgid "Display Rules" msgstr "" #: classes/class-bsf-aiosrs-pro-schema-wizard.php:320 -#: classes/class-bsf-aiosrs-pro-schema.php:3317 +#: classes/class-bsf-aiosrs-pro-schema.php:3342 msgid "Add “AND” Rule" msgstr "" #: classes/class-bsf-aiosrs-pro-schema-wizard.php:329 -#: classes/class-bsf-aiosrs-pro-schema.php:3326 +#: classes/class-bsf-aiosrs-pro-schema.php:3351 msgid "Exclude From" msgstr "" @@ -268,12 +268,12 @@ msgid "This Schema will not appear at these pages." msgstr "" #: classes/class-bsf-aiosrs-pro-schema-wizard.php:337 -#: classes/class-bsf-aiosrs-pro-schema.php:3334 +#: classes/class-bsf-aiosrs-pro-schema.php:3359 msgid "Exclude On" msgstr "" #: classes/class-bsf-aiosrs-pro-schema-wizard.php:340 -#: classes/class-bsf-aiosrs-pro-schema.php:3337 +#: classes/class-bsf-aiosrs-pro-schema.php:3362 msgid "Add “OR” Rule" msgstr "" @@ -399,18 +399,18 @@ msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:407 #: classes/class-bsf-aiosrs-pro-schema.php:484 -#: classes/class-bsf-aiosrs-pro-schema.php:1642 -#: classes/class-bsf-aiosrs-pro-schema.php:2901 +#: classes/class-bsf-aiosrs-pro-schema.php:1667 +#: classes/class-bsf-aiosrs-pro-schema.php:2926 msgid "Author Name" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:413 -#: classes/class-bsf-aiosrs-pro-schema.php:2904 +#: classes/class-bsf-aiosrs-pro-schema.php:2929 msgid "Author URL" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:418 -#: classes/class-bsf-aiosrs-pro-schema.php:632 +#: classes/class-bsf-aiosrs-pro-schema.php:638 msgid "Image" msgstr "" @@ -420,8 +420,8 @@ msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:429 #: classes/class-bsf-aiosrs-pro-schema.php:490 -#: classes/class-bsf-aiosrs-pro-schema.php:1195 -#: classes/class-bsf-aiosrs-pro-schema.php:1451 +#: classes/class-bsf-aiosrs-pro-schema.php:1220 +#: classes/class-bsf-aiosrs-pro-schema.php:1476 msgid "URL" msgstr "" @@ -438,18 +438,18 @@ msgid "Modified Date" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:452 -#: classes/class-bsf-aiosrs-pro-schema.php:1346 -#: classes/class-bsf-aiosrs-pro-schema.php:1964 +#: classes/class-bsf-aiosrs-pro-schema.php:1371 +#: classes/class-bsf-aiosrs-pro-schema.php:1989 msgid "Publisher Name" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:458 -#: classes/class-bsf-aiosrs-pro-schema.php:1969 +#: classes/class-bsf-aiosrs-pro-schema.php:1994 msgid "Publisher Logo" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:468 -#: classes/class-bsf-aiosrs-pro-schema.php:1304 +#: classes/class-bsf-aiosrs-pro-schema.php:1329 msgid "Book" msgstr "" @@ -470,7 +470,7 @@ msgid "ISBN" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:505 -#: classes/class-bsf-aiosrs-pro-schema.php:2262 +#: classes/class-bsf-aiosrs-pro-schema.php:2287 msgid "" "The International Standard Book Number (ISBN) is a unique numeric " "commercial book identifier. ISBN having 10 or 13 digit number." @@ -527,16 +527,16 @@ msgid "Offer Availability Status" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:569 -#: classes/class-bsf-aiosrs-pro-schema.php:744 -#: classes/class-bsf-aiosrs-pro-schema.php:1446 +#: classes/class-bsf-aiosrs-pro-schema.php:769 +#: classes/class-bsf-aiosrs-pro-schema.php:1471 msgid "A Reference Link" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:572 -#: classes/class-bsf-aiosrs-pro-schema.php:747 -#: classes/class-bsf-aiosrs-pro-schema.php:1448 -#: classes/class-bsf-aiosrs-pro-schema.php:2274 -#: classes/class-bsf-aiosrs-pro-schema.php:2812 +#: classes/class-bsf-aiosrs-pro-schema.php:772 +#: classes/class-bsf-aiosrs-pro-schema.php:1473 +#: classes/class-bsf-aiosrs-pro-schema.php:2299 +#: classes/class-bsf-aiosrs-pro-schema.php:2837 msgid "" "A reference page that unambiguously indicates the item's identity; for " "example, the URL of the item's Wikipedia page, Freebase page, or official " @@ -544,7 +544,7 @@ msgid "" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:579 -#: classes/class-bsf-aiosrs-pro-schema.php:1305 +#: classes/class-bsf-aiosrs-pro-schema.php:1330 msgid "Course" msgstr "" @@ -553,7 +553,7 @@ msgid "Course Title" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:590 -#: classes/class-bsf-aiosrs-pro-schema.php:2085 +#: classes/class-bsf-aiosrs-pro-schema.php:2110 msgid "Description" msgstr "" @@ -582,29 +582,39 @@ msgid "" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:609 -#: classes/class-bsf-aiosrs-pro-schema.php:778 +msgid "Offer Category" +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:612 +msgid "" +"The pricing category of the course.(e.g. Free, Partially Free, " +"Subscription, Paid)." +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:615 +#: classes/class-bsf-aiosrs-pro-schema.php:803 msgid "Course Instance" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:611 +#: classes/class-bsf-aiosrs-pro-schema.php:617 msgid "" "An offering of the course at a specific time and place or through specific " "media or mode of study or to a specific section of students." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:614 +#: classes/class-bsf-aiosrs-pro-schema.php:620 msgid "Instance Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:620 +#: classes/class-bsf-aiosrs-pro-schema.php:626 msgid "Instance Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:626 +#: classes/class-bsf-aiosrs-pro-schema.php:632 msgid "Course Mode" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:629 +#: classes/class-bsf-aiosrs-pro-schema.php:635 msgid "" "The medium or means of delivery of the course instance or the mode of " "study, either as a text label (e.g. \"online\", \"onsite\" or \"blended\"; " @@ -613,3735 +623,3747 @@ msgid "" "https://ceds.ed.gov/element/001311#Asynchronous )" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:637 +#: classes/class-bsf-aiosrs-pro-schema.php:643 msgid "Course Status" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:642 +#: classes/class-bsf-aiosrs-pro-schema.php:648 msgid "The status of the Course Instance." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:646 +#: classes/class-bsf-aiosrs-pro-schema.php:652 msgid "Course Attendance Mode" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:651 +#: classes/class-bsf-aiosrs-pro-schema.php:657 msgid "" "The location of the Course Instance. There are different requirements " "depending on if the Course is happening online or at a physical location." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:655 -#: classes/class-bsf-aiosrs-pro-schema.php:833 +#: classes/class-bsf-aiosrs-pro-schema.php:661 +#: classes/class-bsf-aiosrs-pro-schema.php:858 msgid "Start Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:661 -#: classes/class-bsf-aiosrs-pro-schema.php:839 +#: classes/class-bsf-aiosrs-pro-schema.php:667 +#: classes/class-bsf-aiosrs-pro-schema.php:864 msgid "End Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:666 -msgid "Course Previous Start Date" -msgstr "" - #: classes/class-bsf-aiosrs-pro-schema.php:672 -msgid "Online Course URL" +msgid "Repeat Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:678 -msgid "Course Organizer Name" -msgstr "" - -#: classes/class-bsf-aiosrs-pro-schema.php:682 -msgid "The person or organization that is hosting the Course." +#: classes/class-bsf-aiosrs-pro-schema.php:681 +msgid "Repeat Frequency" msgstr "" #: classes/class-bsf-aiosrs-pro-schema.php:686 +msgid "Course Workload" +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:691 +msgid "Course Previous Start Date" +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:697 +msgid "Online Course URL" +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:703 +msgid "Course Organizer Name" +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:707 +msgid "The person or organization that is hosting the Course." +msgstr "" + +#: classes/class-bsf-aiosrs-pro-schema.php:711 msgid "Course Organizer URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:692 -#: classes/class-bsf-aiosrs-pro-schema.php:857 +#: classes/class-bsf-aiosrs-pro-schema.php:717 +#: classes/class-bsf-aiosrs-pro-schema.php:882 msgid "Location Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:696 +#: classes/class-bsf-aiosrs-pro-schema.php:721 msgid "The venue of the course." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:699 +#: classes/class-bsf-aiosrs-pro-schema.php:724 msgid "Location Address" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:706 -#: classes/class-bsf-aiosrs-pro-schema.php:908 -#: classes/class-bsf-aiosrs-pro-schema.php:1896 +#: classes/class-bsf-aiosrs-pro-schema.php:731 +#: classes/class-bsf-aiosrs-pro-schema.php:933 +#: classes/class-bsf-aiosrs-pro-schema.php:1921 msgid "Price" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:715 -#: classes/class-bsf-aiosrs-pro-schema.php:917 -#: classes/class-bsf-aiosrs-pro-schema.php:1528 -#: classes/class-bsf-aiosrs-pro-schema.php:1906 +#: classes/class-bsf-aiosrs-pro-schema.php:740 +#: classes/class-bsf-aiosrs-pro-schema.php:942 +#: classes/class-bsf-aiosrs-pro-schema.php:1553 +#: classes/class-bsf-aiosrs-pro-schema.php:1931 msgid "Currency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:721 -#: classes/class-bsf-aiosrs-pro-schema.php:923 +#: classes/class-bsf-aiosrs-pro-schema.php:746 +#: classes/class-bsf-aiosrs-pro-schema.php:948 msgid "Valid From" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:726 +#: classes/class-bsf-aiosrs-pro-schema.php:751 msgid "Offer URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:731 -#: classes/class-bsf-aiosrs-pro-schema.php:901 +#: classes/class-bsf-aiosrs-pro-schema.php:756 +#: classes/class-bsf-aiosrs-pro-schema.php:926 msgid "Availability" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:737 -#: classes/class-bsf-aiosrs-pro-schema.php:933 +#: classes/class-bsf-aiosrs-pro-schema.php:762 +#: classes/class-bsf-aiosrs-pro-schema.php:958 msgid "Performer" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:750 -#: classes/class-bsf-aiosrs-pro-schema.php:1278 -#: classes/class-bsf-aiosrs-pro-schema.php:1565 -#: classes/class-bsf-aiosrs-pro-schema.php:1781 -#: classes/class-bsf-aiosrs-pro-schema.php:1917 +#: classes/class-bsf-aiosrs-pro-schema.php:775 +#: classes/class-bsf-aiosrs-pro-schema.php:1303 +#: classes/class-bsf-aiosrs-pro-schema.php:1590 +#: classes/class-bsf-aiosrs-pro-schema.php:1806 +#: classes/class-bsf-aiosrs-pro-schema.php:1942 msgid "Rating" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:755 -#: classes/class-bsf-aiosrs-pro-schema.php:1283 -#: classes/class-bsf-aiosrs-pro-schema.php:1570 -#: classes/class-bsf-aiosrs-pro-schema.php:1786 -#: classes/class-bsf-aiosrs-pro-schema.php:1923 +#: classes/class-bsf-aiosrs-pro-schema.php:780 +#: classes/class-bsf-aiosrs-pro-schema.php:1308 +#: classes/class-bsf-aiosrs-pro-schema.php:1595 +#: classes/class-bsf-aiosrs-pro-schema.php:1811 +#: classes/class-bsf-aiosrs-pro-schema.php:1948 msgid "Review Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:758 -#: classes/class-bsf-aiosrs-pro-schema.php:1286 -#: classes/class-bsf-aiosrs-pro-schema.php:1573 -#: classes/class-bsf-aiosrs-pro-schema.php:1789 -#: classes/class-bsf-aiosrs-pro-schema.php:1927 -#: classes/class-bsf-aiosrs-pro-schema.php:2606 -#: classes/class-bsf-aiosrs-pro-schema.php:2738 -#: classes/class-bsf-aiosrs-pro-schema.php:2773 +#: classes/class-bsf-aiosrs-pro-schema.php:783 +#: classes/class-bsf-aiosrs-pro-schema.php:1311 +#: classes/class-bsf-aiosrs-pro-schema.php:1598 +#: classes/class-bsf-aiosrs-pro-schema.php:1814 +#: classes/class-bsf-aiosrs-pro-schema.php:1952 +#: classes/class-bsf-aiosrs-pro-schema.php:2631 +#: classes/class-bsf-aiosrs-pro-schema.php:2763 +#: classes/class-bsf-aiosrs-pro-schema.php:2798 msgid "The count of total number of reviews. e.g. \"11\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:765 -#: classes/class-bsf-aiosrs-pro-schema.php:1306 +#: classes/class-bsf-aiosrs-pro-schema.php:790 +#: classes/class-bsf-aiosrs-pro-schema.php:1331 msgid "Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:770 +#: classes/class-bsf-aiosrs-pro-schema.php:795 msgid "Event Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:774 +#: classes/class-bsf-aiosrs-pro-schema.php:799 msgid "Event (General)" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:775 +#: classes/class-bsf-aiosrs-pro-schema.php:800 msgid "Business Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:776 +#: classes/class-bsf-aiosrs-pro-schema.php:801 msgid "Childrens Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:777 +#: classes/class-bsf-aiosrs-pro-schema.php:802 msgid "Comedy Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:779 +#: classes/class-bsf-aiosrs-pro-schema.php:804 msgid "Dance Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:780 +#: classes/class-bsf-aiosrs-pro-schema.php:805 msgid "Delivery Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:781 +#: classes/class-bsf-aiosrs-pro-schema.php:806 msgid "Education Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:782 +#: classes/class-bsf-aiosrs-pro-schema.php:807 msgid "EventSeries" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:783 +#: classes/class-bsf-aiosrs-pro-schema.php:808 msgid "Exhibition Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:784 +#: classes/class-bsf-aiosrs-pro-schema.php:809 msgid "Festival" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:785 +#: classes/class-bsf-aiosrs-pro-schema.php:810 msgid "Food Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:786 +#: classes/class-bsf-aiosrs-pro-schema.php:811 msgid "Literary Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:787 +#: classes/class-bsf-aiosrs-pro-schema.php:812 msgid "Music Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:788 +#: classes/class-bsf-aiosrs-pro-schema.php:813 msgid "Publication Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:789 +#: classes/class-bsf-aiosrs-pro-schema.php:814 msgid "Sale Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:790 +#: classes/class-bsf-aiosrs-pro-schema.php:815 msgid "Screening Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:791 +#: classes/class-bsf-aiosrs-pro-schema.php:816 msgid "Social Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:792 +#: classes/class-bsf-aiosrs-pro-schema.php:817 msgid "Sports Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:793 +#: classes/class-bsf-aiosrs-pro-schema.php:818 msgid "Theater Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:794 +#: classes/class-bsf-aiosrs-pro-schema.php:819 msgid "Visual Arts Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:799 +#: classes/class-bsf-aiosrs-pro-schema.php:824 msgid " Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:805 +#: classes/class-bsf-aiosrs-pro-schema.php:830 msgid " Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:810 +#: classes/class-bsf-aiosrs-pro-schema.php:835 msgid " Image/Logo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:815 -#: classes/class-bsf-aiosrs-pro-schema.php:2312 -#: classes/class-bsf-aiosrs-pro-schema.php:2354 +#: classes/class-bsf-aiosrs-pro-schema.php:840 +#: classes/class-bsf-aiosrs-pro-schema.php:2337 +#: classes/class-bsf-aiosrs-pro-schema.php:2379 msgid " Status" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:820 -#: classes/class-bsf-aiosrs-pro-schema.php:2317 -#: classes/class-bsf-aiosrs-pro-schema.php:2359 +#: classes/class-bsf-aiosrs-pro-schema.php:845 +#: classes/class-bsf-aiosrs-pro-schema.php:2342 +#: classes/class-bsf-aiosrs-pro-schema.php:2384 msgid "" "The status of the event. If you don't use this field, Google understands " "the eventStatus to be EventScheduled. " msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:824 -#: classes/class-bsf-aiosrs-pro-schema.php:2321 -#: classes/class-bsf-aiosrs-pro-schema.php:2363 +#: classes/class-bsf-aiosrs-pro-schema.php:849 +#: classes/class-bsf-aiosrs-pro-schema.php:2346 +#: classes/class-bsf-aiosrs-pro-schema.php:2388 msgid " Attendance Mode" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:829 -#: classes/class-bsf-aiosrs-pro-schema.php:2326 -#: classes/class-bsf-aiosrs-pro-schema.php:2368 +#: classes/class-bsf-aiosrs-pro-schema.php:854 +#: classes/class-bsf-aiosrs-pro-schema.php:2351 +#: classes/class-bsf-aiosrs-pro-schema.php:2393 msgid "" "The location of the event. There are different requirements depending on if " "the event is happening online or at a physical location." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:844 -#: classes/class-bsf-aiosrs-pro-schema.php:2341 +#: classes/class-bsf-aiosrs-pro-schema.php:869 +#: classes/class-bsf-aiosrs-pro-schema.php:2366 msgid "Previous Start Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:850 -#: classes/class-bsf-aiosrs-pro-schema.php:2347 +#: classes/class-bsf-aiosrs-pro-schema.php:875 +#: classes/class-bsf-aiosrs-pro-schema.php:2372 msgid "Online Event URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:861 +#: classes/class-bsf-aiosrs-pro-schema.php:886 msgid "" "The detailed name of the place or venue where the event is being held. This " "property is only recommended for events that take place at a physical " "location." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:864 -#: classes/class-bsf-aiosrs-pro-schema.php:1067 -#: classes/class-bsf-aiosrs-pro-schema.php:1200 -#: classes/class-bsf-aiosrs-pro-schema.php:1416 -#: classes/class-bsf-aiosrs-pro-schema.php:1854 +#: classes/class-bsf-aiosrs-pro-schema.php:889 +#: classes/class-bsf-aiosrs-pro-schema.php:1092 +#: classes/class-bsf-aiosrs-pro-schema.php:1225 +#: classes/class-bsf-aiosrs-pro-schema.php:1441 +#: classes/class-bsf-aiosrs-pro-schema.php:1879 msgid "Street Address" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:871 -#: classes/class-bsf-aiosrs-pro-schema.php:1073 -#: classes/class-bsf-aiosrs-pro-schema.php:1206 -#: classes/class-bsf-aiosrs-pro-schema.php:1422 -#: classes/class-bsf-aiosrs-pro-schema.php:1844 +#: classes/class-bsf-aiosrs-pro-schema.php:896 +#: classes/class-bsf-aiosrs-pro-schema.php:1098 +#: classes/class-bsf-aiosrs-pro-schema.php:1231 +#: classes/class-bsf-aiosrs-pro-schema.php:1447 +#: classes/class-bsf-aiosrs-pro-schema.php:1869 msgid "Locality" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:878 -#: classes/class-bsf-aiosrs-pro-schema.php:1079 -#: classes/class-bsf-aiosrs-pro-schema.php:1212 -#: classes/class-bsf-aiosrs-pro-schema.php:1428 +#: classes/class-bsf-aiosrs-pro-schema.php:903 +#: classes/class-bsf-aiosrs-pro-schema.php:1104 +#: classes/class-bsf-aiosrs-pro-schema.php:1237 +#: classes/class-bsf-aiosrs-pro-schema.php:1453 msgid "Postal Code" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:885 -#: classes/class-bsf-aiosrs-pro-schema.php:1085 -#: classes/class-bsf-aiosrs-pro-schema.php:1218 -#: classes/class-bsf-aiosrs-pro-schema.php:1434 -#: classes/class-bsf-aiosrs-pro-schema.php:1849 +#: classes/class-bsf-aiosrs-pro-schema.php:910 +#: classes/class-bsf-aiosrs-pro-schema.php:1110 +#: classes/class-bsf-aiosrs-pro-schema.php:1243 +#: classes/class-bsf-aiosrs-pro-schema.php:1459 +#: classes/class-bsf-aiosrs-pro-schema.php:1874 msgid "Region" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:892 -#: classes/class-bsf-aiosrs-pro-schema.php:1091 -#: classes/class-bsf-aiosrs-pro-schema.php:1224 -#: classes/class-bsf-aiosrs-pro-schema.php:1440 +#: classes/class-bsf-aiosrs-pro-schema.php:917 +#: classes/class-bsf-aiosrs-pro-schema.php:1116 +#: classes/class-bsf-aiosrs-pro-schema.php:1249 +#: classes/class-bsf-aiosrs-pro-schema.php:1465 msgid "Country" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:905 +#: classes/class-bsf-aiosrs-pro-schema.php:930 msgid "" "The availability of this event, for example In stock, Out of stock, " "Pre-order, etc." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:928 +#: classes/class-bsf-aiosrs-pro-schema.php:953 msgid "Online Ticket URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:938 -#: classes/class-bsf-aiosrs-pro-schema.php:2455 +#: classes/class-bsf-aiosrs-pro-schema.php:963 +#: classes/class-bsf-aiosrs-pro-schema.php:2480 msgid "Organizer Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:943 -#: classes/class-bsf-aiosrs-pro-schema.php:2460 +#: classes/class-bsf-aiosrs-pro-schema.php:968 +#: classes/class-bsf-aiosrs-pro-schema.php:2485 msgid "The person or organization that is hosting the event." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:947 -#: classes/class-bsf-aiosrs-pro-schema.php:2464 +#: classes/class-bsf-aiosrs-pro-schema.php:972 +#: classes/class-bsf-aiosrs-pro-schema.php:2489 msgid "Organizer URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:958 +#: classes/class-bsf-aiosrs-pro-schema.php:983 msgid "Job Posting" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:963 -#: classes/class-bsf-aiosrs-pro-schema.php:1400 +#: classes/class-bsf-aiosrs-pro-schema.php:988 +#: classes/class-bsf-aiosrs-pro-schema.php:1425 msgid "Job Title" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:969 +#: classes/class-bsf-aiosrs-pro-schema.php:994 msgid "Hiring Organization" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:975 +#: classes/class-bsf-aiosrs-pro-schema.php:1000 msgid "Hiring Organization URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:979 +#: classes/class-bsf-aiosrs-pro-schema.php:1004 msgid "" "A referenced URL of the organization page to identity information. E.g. The " "URL of the Organization Wikipedia page, Wikidata entry, or official website." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:982 +#: classes/class-bsf-aiosrs-pro-schema.php:1007 msgid "Hiring Organization Logo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:987 +#: classes/class-bsf-aiosrs-pro-schema.php:1012 msgid "Industry" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:992 +#: classes/class-bsf-aiosrs-pro-schema.php:1017 msgid "Employment Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:998 +#: classes/class-bsf-aiosrs-pro-schema.php:1023 msgid "Job Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1004 +#: classes/class-bsf-aiosrs-pro-schema.php:1029 msgid "Date Posted" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1010 +#: classes/class-bsf-aiosrs-pro-schema.php:1035 msgid "Valid Through" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1015 +#: classes/class-bsf-aiosrs-pro-schema.php:1040 msgid "Education" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1018 +#: classes/class-bsf-aiosrs-pro-schema.php:1043 msgid "Educational background needed for the position or Occupation." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1021 +#: classes/class-bsf-aiosrs-pro-schema.php:1046 msgid "Job Experience" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1026 +#: classes/class-bsf-aiosrs-pro-schema.php:1051 msgid "Qualifications" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1029 +#: classes/class-bsf-aiosrs-pro-schema.php:1054 msgid "" "Specific qualifications required for this role or Occupation.For example A " "diploma, academic degree, certification." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1032 +#: classes/class-bsf-aiosrs-pro-schema.php:1057 msgid "Responsibilities" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1037 +#: classes/class-bsf-aiosrs-pro-schema.php:1062 msgid "Skills" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1042 +#: classes/class-bsf-aiosrs-pro-schema.php:1067 msgid "Work Hours" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1047 +#: classes/class-bsf-aiosrs-pro-schema.php:1072 msgid "Job Location Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1051 +#: classes/class-bsf-aiosrs-pro-schema.php:1076 msgid "" "Use value \"TELECOMMUTE\" for jobs in which the employee may or must work " "remotely 100% of the time." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1054 +#: classes/class-bsf-aiosrs-pro-schema.php:1079 msgid "Remote Location" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1098 +#: classes/class-bsf-aiosrs-pro-schema.php:1123 msgid "Base Salary" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1103 +#: classes/class-bsf-aiosrs-pro-schema.php:1128 msgid "Min Salary" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1108 +#: classes/class-bsf-aiosrs-pro-schema.php:1133 msgid "Max Salary" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1113 +#: classes/class-bsf-aiosrs-pro-schema.php:1138 msgid "Salary In Currency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1119 +#: classes/class-bsf-aiosrs-pro-schema.php:1144 msgid "Salary Per Unit" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1123 +#: classes/class-bsf-aiosrs-pro-schema.php:1148 msgid "" "A string or text indicating the unit of salary measurement. For example " "MONTH, YEAR." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1130 +#: classes/class-bsf-aiosrs-pro-schema.php:1155 msgid "Local Business" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1135 +#: classes/class-bsf-aiosrs-pro-schema.php:1160 msgid "Business Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1141 +#: classes/class-bsf-aiosrs-pro-schema.php:1166 msgid "Local Business Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1145 +#: classes/class-bsf-aiosrs-pro-schema.php:1170 #: classes/class-bsf-aiosrs-pro-setup-wizard.php:59 #: classes/class-bsf-aiosrs-pro-setup-wizard.php:265 template/settings.php:16 #: template/settings.php:33 msgid "General" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1146 +#: classes/class-bsf-aiosrs-pro-schema.php:1171 msgid "Animal Shelter" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1147 +#: classes/class-bsf-aiosrs-pro-schema.php:1172 msgid "Automotive" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1148 +#: classes/class-bsf-aiosrs-pro-schema.php:1173 msgid "Child Care" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1149 +#: classes/class-bsf-aiosrs-pro-schema.php:1174 msgid "Dentist" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1150 +#: classes/class-bsf-aiosrs-pro-schema.php:1175 msgid "Dry Cleaning Or Laundry" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1151 +#: classes/class-bsf-aiosrs-pro-schema.php:1176 msgid "Emergency Service" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1152 +#: classes/class-bsf-aiosrs-pro-schema.php:1177 msgid "Employment Agency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1153 +#: classes/class-bsf-aiosrs-pro-schema.php:1178 msgid "Entertainment" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1154 +#: classes/class-bsf-aiosrs-pro-schema.php:1179 msgid "Financial Service" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1155 +#: classes/class-bsf-aiosrs-pro-schema.php:1180 msgid "Food Establishment" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1156 +#: classes/class-bsf-aiosrs-pro-schema.php:1181 msgid "Government Office" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1157 +#: classes/class-bsf-aiosrs-pro-schema.php:1182 msgid "Health And Beauty" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1158 +#: classes/class-bsf-aiosrs-pro-schema.php:1183 msgid "Home And Construction" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1159 +#: classes/class-bsf-aiosrs-pro-schema.php:1184 msgid "Internet Cafe" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1160 +#: classes/class-bsf-aiosrs-pro-schema.php:1185 msgid "Legal Service" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1161 +#: classes/class-bsf-aiosrs-pro-schema.php:1186 msgid "Library" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1162 +#: classes/class-bsf-aiosrs-pro-schema.php:1187 msgid "Locksmith" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1163 +#: classes/class-bsf-aiosrs-pro-schema.php:1188 msgid "Lodging" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1164 +#: classes/class-bsf-aiosrs-pro-schema.php:1189 msgid "Medical Business" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1165 +#: classes/class-bsf-aiosrs-pro-schema.php:1190 msgid "Radio Station" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1166 +#: classes/class-bsf-aiosrs-pro-schema.php:1191 msgid "Real Estate Agent" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1167 +#: classes/class-bsf-aiosrs-pro-schema.php:1192 msgid "Recycling Center" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1168 +#: classes/class-bsf-aiosrs-pro-schema.php:1193 msgid "Self Storage" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1169 +#: classes/class-bsf-aiosrs-pro-schema.php:1194 msgid "Shopping Center" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1170 +#: classes/class-bsf-aiosrs-pro-schema.php:1195 msgid "Sports Activity Location" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1171 +#: classes/class-bsf-aiosrs-pro-schema.php:1196 msgid "Store" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1172 +#: classes/class-bsf-aiosrs-pro-schema.php:1197 msgid "Television Station" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1173 +#: classes/class-bsf-aiosrs-pro-schema.php:1198 msgid "Tourist Information Center" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1174 +#: classes/class-bsf-aiosrs-pro-schema.php:1199 msgid "Travel Agency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1178 +#: classes/class-bsf-aiosrs-pro-schema.php:1203 msgid "Business Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1184 -#: classes/class-bsf-aiosrs-pro-schema.php:1390 -#: classes/class-bsf-aiosrs-pro-schema.php:1859 +#: classes/class-bsf-aiosrs-pro-schema.php:1209 +#: classes/class-bsf-aiosrs-pro-schema.php:1415 +#: classes/class-bsf-aiosrs-pro-schema.php:1884 msgid "Telephone" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1189 -#: classes/class-bsf-aiosrs-pro-schema.php:1864 +#: classes/class-bsf-aiosrs-pro-schema.php:1214 +#: classes/class-bsf-aiosrs-pro-schema.php:1889 msgid "Price Range" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1192 +#: classes/class-bsf-aiosrs-pro-schema.php:1217 msgid "" "The relative price range of a business, commonly specified by either a " "numerical range (for example, \"$10-15\") or a normalized number of " "currency signs (for example, \"$$$\")" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1232 +#: classes/class-bsf-aiosrs-pro-schema.php:1257 msgid "Hours Specification" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1236 +#: classes/class-bsf-aiosrs-pro-schema.php:1261 msgid "Day Of Week" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1241 +#: classes/class-bsf-aiosrs-pro-schema.php:1266 msgid "Here, you can select multiple days. e.g. \"11\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1244 +#: classes/class-bsf-aiosrs-pro-schema.php:1269 msgid "Opens" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1250 +#: classes/class-bsf-aiosrs-pro-schema.php:1275 msgid "Closes" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1258 +#: classes/class-bsf-aiosrs-pro-schema.php:1283 msgid " Latitude" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1265 +#: classes/class-bsf-aiosrs-pro-schema.php:1290 msgid "The latitude of the business location. . e.g. \"37.293058\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1268 +#: classes/class-bsf-aiosrs-pro-schema.php:1293 msgid "Longitude" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1275 +#: classes/class-bsf-aiosrs-pro-schema.php:1300 msgid "The longitude of the business location. e.g. \"-121.988331\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1293 -#: classes/class-bsf-aiosrs-pro-schema.php:1534 -#: classes/class-bsf-aiosrs-pro-schema.php:1576 +#: classes/class-bsf-aiosrs-pro-schema.php:1318 +#: classes/class-bsf-aiosrs-pro-schema.php:1559 +#: classes/class-bsf-aiosrs-pro-schema.php:1601 msgid "Review" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1298 +#: classes/class-bsf-aiosrs-pro-schema.php:1323 msgid "Review Item Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1302 +#: classes/class-bsf-aiosrs-pro-schema.php:1327 msgid "Select Item Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1303 -#: classes/class-bsf-aiosrs-pro-schema.php:1463 +#: classes/class-bsf-aiosrs-pro-schema.php:1328 +#: classes/class-bsf-aiosrs-pro-schema.php:1488 msgid "Product" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1307 +#: classes/class-bsf-aiosrs-pro-schema.php:1332 msgid "Local business" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1308 -#: classes/class-bsf-aiosrs-pro-schema.php:1611 +#: classes/class-bsf-aiosrs-pro-schema.php:1333 +#: classes/class-bsf-aiosrs-pro-schema.php:1636 msgid "Recipe" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1309 -#: classes/class-bsf-aiosrs-pro-schema.php:1873 +#: classes/class-bsf-aiosrs-pro-schema.php:1334 +#: classes/class-bsf-aiosrs-pro-schema.php:1898 msgid "Software Application" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1310 +#: classes/class-bsf-aiosrs-pro-schema.php:1335 msgid "Movie" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1311 -#: classes/class-bsf-aiosrs-pro-schema.php:1337 -#: classes/class-bsf-aiosrs-pro-schema.php:1543 -#: classes/class-bsf-aiosrs-pro-schema.php:1585 -#: classes/class-bsf-aiosrs-pro-schema.php:1638 -#: classes/class-bsf-aiosrs-pro-schema.php:2218 +#: classes/class-bsf-aiosrs-pro-schema.php:1336 +#: classes/class-bsf-aiosrs-pro-schema.php:1362 +#: classes/class-bsf-aiosrs-pro-schema.php:1568 +#: classes/class-bsf-aiosrs-pro-schema.php:1610 +#: classes/class-bsf-aiosrs-pro-schema.php:1663 +#: classes/class-bsf-aiosrs-pro-schema.php:2243 #: classes/class-bsf-aiosrs-pro-setup-wizard.php:276 template/settings.php:58 msgid "Organization" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1315 -#: classes/class-bsf-aiosrs-pro-schema.php:1558 -#: classes/class-bsf-aiosrs-pro-schema.php:1600 +#: classes/class-bsf-aiosrs-pro-schema.php:1340 +#: classes/class-bsf-aiosrs-pro-schema.php:1583 +#: classes/class-bsf-aiosrs-pro-schema.php:1625 msgid "Review Body" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1321 +#: classes/class-bsf-aiosrs-pro-schema.php:1346 msgid "Review Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1327 +#: classes/class-bsf-aiosrs-pro-schema.php:1352 msgid "Review Rating" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1332 -#: classes/class-bsf-aiosrs-pro-schema.php:1538 -#: classes/class-bsf-aiosrs-pro-schema.php:1580 +#: classes/class-bsf-aiosrs-pro-schema.php:1357 +#: classes/class-bsf-aiosrs-pro-schema.php:1563 +#: classes/class-bsf-aiosrs-pro-schema.php:1605 msgid "Reviewer Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1336 -#: classes/class-bsf-aiosrs-pro-schema.php:1355 -#: classes/class-bsf-aiosrs-pro-schema.php:1542 -#: classes/class-bsf-aiosrs-pro-schema.php:1584 -#: classes/class-bsf-aiosrs-pro-schema.php:1637 -#: classes/class-bsf-aiosrs-pro-schema.php:2217 +#: classes/class-bsf-aiosrs-pro-schema.php:1361 +#: classes/class-bsf-aiosrs-pro-schema.php:1380 +#: classes/class-bsf-aiosrs-pro-schema.php:1567 +#: classes/class-bsf-aiosrs-pro-schema.php:1609 +#: classes/class-bsf-aiosrs-pro-schema.php:1662 +#: classes/class-bsf-aiosrs-pro-schema.php:2242 msgid "Person" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1341 -#: classes/class-bsf-aiosrs-pro-schema.php:1547 -#: classes/class-bsf-aiosrs-pro-schema.php:1589 +#: classes/class-bsf-aiosrs-pro-schema.php:1366 +#: classes/class-bsf-aiosrs-pro-schema.php:1572 +#: classes/class-bsf-aiosrs-pro-schema.php:1614 msgid "Reviewer Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1361 +#: classes/class-bsf-aiosrs-pro-schema.php:1386 msgid "Person Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1367 +#: classes/class-bsf-aiosrs-pro-schema.php:1392 msgid "Gender" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1373 +#: classes/class-bsf-aiosrs-pro-schema.php:1398 msgid "DOB" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1378 +#: classes/class-bsf-aiosrs-pro-schema.php:1403 msgid "Member Of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1381 +#: classes/class-bsf-aiosrs-pro-schema.php:1406 msgid "" "An Organization (or ProgramMembership) to which this Person or Organization " "belongs." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1384 +#: classes/class-bsf-aiosrs-pro-schema.php:1409 msgid "Person Email" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1395 +#: classes/class-bsf-aiosrs-pro-schema.php:1420 msgid "Photograph" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1405 +#: classes/class-bsf-aiosrs-pro-schema.php:1430 msgid "Homepage URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1410 +#: classes/class-bsf-aiosrs-pro-schema.php:1435 msgid "Nationality" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1468 -#: classes/class-bsf-aiosrs-pro-schema.php:2532 +#: classes/class-bsf-aiosrs-pro-schema.php:1493 +#: classes/class-bsf-aiosrs-pro-schema.php:2557 msgid "Product Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1474 +#: classes/class-bsf-aiosrs-pro-schema.php:1499 msgid "Product Brand" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1479 +#: classes/class-bsf-aiosrs-pro-schema.php:1504 msgid "Product Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1485 +#: classes/class-bsf-aiosrs-pro-schema.php:1510 msgid "Product URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1490 -#: classes/class-bsf-aiosrs-pro-schema.php:2554 +#: classes/class-bsf-aiosrs-pro-schema.php:1515 +#: classes/class-bsf-aiosrs-pro-schema.php:2579 msgid "Product Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1495 -#: classes/class-bsf-aiosrs-pro-schema.php:2560 +#: classes/class-bsf-aiosrs-pro-schema.php:1520 +#: classes/class-bsf-aiosrs-pro-schema.php:2585 msgid "Product SKU" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1498 +#: classes/class-bsf-aiosrs-pro-schema.php:1523 msgid "" "The Stock Keeping Unit (SKU) is a unique numerical identifying number that " "refers to a specific stock item in a retailers inventory or product catalog." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1501 -#: classes/class-bsf-aiosrs-pro-schema.php:2566 +#: classes/class-bsf-aiosrs-pro-schema.php:1526 +#: classes/class-bsf-aiosrs-pro-schema.php:2591 msgid "Product MPN" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1504 -#: classes/class-bsf-aiosrs-pro-schema.php:2569 +#: classes/class-bsf-aiosrs-pro-schema.php:1529 +#: classes/class-bsf-aiosrs-pro-schema.php:2594 msgid "" "The Manufacturer Part Number (MPN) of the product, or the product to which " "the offer refers. e.g. \"925872\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1507 -#: classes/class-bsf-aiosrs-pro-schema.php:2572 +#: classes/class-bsf-aiosrs-pro-schema.php:1532 +#: classes/class-bsf-aiosrs-pro-schema.php:2597 msgid "Product Availability" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1513 +#: classes/class-bsf-aiosrs-pro-schema.php:1538 msgid "Price Valid Until" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1516 +#: classes/class-bsf-aiosrs-pro-schema.php:1541 msgid "" "The date after which the price will no longer be available. e.g. " "\"31/12/2021 09:00 AM\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1519 -#: classes/class-bsf-aiosrs-pro-schema.php:2583 +#: classes/class-bsf-aiosrs-pro-schema.php:1544 +#: classes/class-bsf-aiosrs-pro-schema.php:2608 msgid "Product Price" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1553 -#: classes/class-bsf-aiosrs-pro-schema.php:1595 -#: classes/class-bsf-aiosrs-pro-schema.php:2598 +#: classes/class-bsf-aiosrs-pro-schema.php:1578 +#: classes/class-bsf-aiosrs-pro-schema.php:1620 +#: classes/class-bsf-aiosrs-pro-schema.php:2623 msgid "Product Rating" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1616 -#: classes/class-bsf-aiosrs-pro-schema.php:2613 +#: classes/class-bsf-aiosrs-pro-schema.php:1641 +#: classes/class-bsf-aiosrs-pro-schema.php:2638 msgid "Recipe Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1622 -#: classes/class-bsf-aiosrs-pro-schema.php:2619 +#: classes/class-bsf-aiosrs-pro-schema.php:1647 +#: classes/class-bsf-aiosrs-pro-schema.php:2644 msgid "Recipe Photo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1628 -#: classes/class-bsf-aiosrs-pro-schema.php:2625 +#: classes/class-bsf-aiosrs-pro-schema.php:1653 +#: classes/class-bsf-aiosrs-pro-schema.php:2650 msgid "Recipe Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1633 +#: classes/class-bsf-aiosrs-pro-schema.php:1658 msgid "Author Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1647 +#: classes/class-bsf-aiosrs-pro-schema.php:1672 msgid "Preparation Time" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1652 +#: classes/class-bsf-aiosrs-pro-schema.php:1677 msgid "Cook Time" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1657 +#: classes/class-bsf-aiosrs-pro-schema.php:1682 msgid "Keywords" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1660 -#: classes/class-bsf-aiosrs-pro-schema.php:2648 +#: classes/class-bsf-aiosrs-pro-schema.php:1685 +#: classes/class-bsf-aiosrs-pro-schema.php:2673 msgid "e.g. \"winter apple pie\", \"nutmeg crust\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1663 -#: classes/class-bsf-aiosrs-pro-schema.php:2651 +#: classes/class-bsf-aiosrs-pro-schema.php:1688 +#: classes/class-bsf-aiosrs-pro-schema.php:2676 msgid "Recipe Category" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1666 -#: classes/class-bsf-aiosrs-pro-schema.php:2654 +#: classes/class-bsf-aiosrs-pro-schema.php:1691 +#: classes/class-bsf-aiosrs-pro-schema.php:2679 msgid "e.g. \"dinner\", \"entree\", or \"dessert\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1669 -#: classes/class-bsf-aiosrs-pro-schema.php:2657 +#: classes/class-bsf-aiosrs-pro-schema.php:1694 +#: classes/class-bsf-aiosrs-pro-schema.php:2682 msgid "Recipe Cuisine" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1672 -#: classes/class-bsf-aiosrs-pro-schema.php:2660 +#: classes/class-bsf-aiosrs-pro-schema.php:1697 +#: classes/class-bsf-aiosrs-pro-schema.php:2685 msgid "e.g. \"French\", \"Indian\", or \"American\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1675 -#: classes/class-bsf-aiosrs-pro-schema.php:2663 +#: classes/class-bsf-aiosrs-pro-schema.php:1700 +#: classes/class-bsf-aiosrs-pro-schema.php:2688 msgid "Recipe Calories" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1678 -#: classes/class-bsf-aiosrs-pro-schema.php:2666 +#: classes/class-bsf-aiosrs-pro-schema.php:1703 +#: classes/class-bsf-aiosrs-pro-schema.php:2691 msgid "The number of calories in the recipe." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1681 -#: classes/class-bsf-aiosrs-pro-schema.php:2669 +#: classes/class-bsf-aiosrs-pro-schema.php:1706 +#: classes/class-bsf-aiosrs-pro-schema.php:2694 msgid "Recipe Ingredients" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1684 -#: classes/class-bsf-aiosrs-pro-schema.php:2672 +#: classes/class-bsf-aiosrs-pro-schema.php:1709 +#: classes/class-bsf-aiosrs-pro-schema.php:2697 msgid "Ingredient used in the recipe. Separate multiple ingredients with comma(,)." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1687 +#: classes/class-bsf-aiosrs-pro-schema.php:1712 msgid "Recipe Yield" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1693 +#: classes/class-bsf-aiosrs-pro-schema.php:1718 msgid "Recipe Instructions" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1697 +#: classes/class-bsf-aiosrs-pro-schema.php:1722 msgid "Instructions Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1703 +#: classes/class-bsf-aiosrs-pro-schema.php:1728 msgid "Instructions Step" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1708 +#: classes/class-bsf-aiosrs-pro-schema.php:1733 msgid "Instructions URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1714 +#: classes/class-bsf-aiosrs-pro-schema.php:1739 msgid "Instructions Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1723 +#: classes/class-bsf-aiosrs-pro-schema.php:1748 msgid "Recipe Video" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1728 +#: classes/class-bsf-aiosrs-pro-schema.php:1753 msgid "Video Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1734 -#: classes/class-bsf-aiosrs-pro-schema.php:1946 +#: classes/class-bsf-aiosrs-pro-schema.php:1759 +#: classes/class-bsf-aiosrs-pro-schema.php:1971 msgid "Video Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1740 +#: classes/class-bsf-aiosrs-pro-schema.php:1765 msgid "Thumbnail URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1746 -#: classes/class-bsf-aiosrs-pro-schema.php:1974 -#: classes/class-bsf-aiosrs-pro-schema.php:2191 +#: classes/class-bsf-aiosrs-pro-schema.php:1771 +#: classes/class-bsf-aiosrs-pro-schema.php:1999 +#: classes/class-bsf-aiosrs-pro-schema.php:2216 msgid "Content URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1752 -#: classes/class-bsf-aiosrs-pro-schema.php:1979 +#: classes/class-bsf-aiosrs-pro-schema.php:1777 +#: classes/class-bsf-aiosrs-pro-schema.php:2004 msgid "Embed URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1757 +#: classes/class-bsf-aiosrs-pro-schema.php:1782 msgid "Duration" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1762 +#: classes/class-bsf-aiosrs-pro-schema.php:1787 msgid "Upload Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1768 +#: classes/class-bsf-aiosrs-pro-schema.php:1793 msgid "Expires On" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1773 +#: classes/class-bsf-aiosrs-pro-schema.php:1798 msgid "Interaction Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1776 -#: classes/class-bsf-aiosrs-pro-schema.php:1997 +#: classes/class-bsf-aiosrs-pro-schema.php:1801 +#: classes/class-bsf-aiosrs-pro-schema.php:2022 msgid "The number of times the video has been watched." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1796 +#: classes/class-bsf-aiosrs-pro-schema.php:1821 msgid "Service" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1801 +#: classes/class-bsf-aiosrs-pro-schema.php:1826 msgid "Service Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1807 +#: classes/class-bsf-aiosrs-pro-schema.php:1832 msgid "Service Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1811 +#: classes/class-bsf-aiosrs-pro-schema.php:1836 msgid "" "The type of service being offered, e.g. Broadcast Service, Cable Or " "Satellite Service, etc." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1814 +#: classes/class-bsf-aiosrs-pro-schema.php:1839 msgid "Service Area" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1817 +#: classes/class-bsf-aiosrs-pro-schema.php:1842 msgid "The geographic area where a service or offered item is provided." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1820 +#: classes/class-bsf-aiosrs-pro-schema.php:1845 msgid "Service Provider Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1826 +#: classes/class-bsf-aiosrs-pro-schema.php:1851 msgid "Service Provider Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1830 +#: classes/class-bsf-aiosrs-pro-schema.php:1855 msgid "The service provider or service operator Image ." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1833 +#: classes/class-bsf-aiosrs-pro-schema.php:1858 msgid "Service Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1838 +#: classes/class-bsf-aiosrs-pro-schema.php:1863 msgid "Service Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1841 +#: classes/class-bsf-aiosrs-pro-schema.php:1866 msgid "Here,you can add specific service image." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1878 +#: classes/class-bsf-aiosrs-pro-schema.php:1903 msgid "Application Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1884 +#: classes/class-bsf-aiosrs-pro-schema.php:1909 msgid "Application Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1890 +#: classes/class-bsf-aiosrs-pro-schema.php:1915 msgid "Operating System" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1893 -#: classes/class-bsf-aiosrs-pro-schema.php:2754 +#: classes/class-bsf-aiosrs-pro-schema.php:1918 +#: classes/class-bsf-aiosrs-pro-schema.php:2779 msgid "" "Software for the operating system, for example, \"Windows 7\", \"OSX " "10.6\", \"Android 1.6\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1912 +#: classes/class-bsf-aiosrs-pro-schema.php:1937 msgid "Application Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1934 +#: classes/class-bsf-aiosrs-pro-schema.php:1959 msgid "Video Object" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1940 +#: classes/class-bsf-aiosrs-pro-schema.php:1965 msgid "Video Title" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1952 +#: classes/class-bsf-aiosrs-pro-schema.php:1977 msgid "Video Thumbnail" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1958 +#: classes/class-bsf-aiosrs-pro-schema.php:1983 msgid "Video Upload Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1984 +#: classes/class-bsf-aiosrs-pro-schema.php:2009 msgid "Video Duration" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1989 +#: classes/class-bsf-aiosrs-pro-schema.php:2014 msgid "Video Expires On" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:1994 +#: classes/class-bsf-aiosrs-pro-schema.php:2019 msgid "Video Interaction Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2000 +#: classes/class-bsf-aiosrs-pro-schema.php:2025 msgid "Clips" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2005 +#: classes/class-bsf-aiosrs-pro-schema.php:2030 msgid "Clip Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2010 +#: classes/class-bsf-aiosrs-pro-schema.php:2035 msgid "Clip Start Offset" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2013 +#: classes/class-bsf-aiosrs-pro-schema.php:2038 msgid "" "The start time of the clip expressed as the number of seconds from the " "beginning of the work." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2016 +#: classes/class-bsf-aiosrs-pro-schema.php:2041 msgid "Clip End Offset" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2019 +#: classes/class-bsf-aiosrs-pro-schema.php:2044 msgid "" "The end time of the clip expressed as the number of seconds from the " "beginning of the work." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2022 +#: classes/class-bsf-aiosrs-pro-schema.php:2047 msgid "Clip URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2025 -#: classes/class-bsf-aiosrs-pro-schema.php:2039 +#: classes/class-bsf-aiosrs-pro-schema.php:2050 +#: classes/class-bsf-aiosrs-pro-schema.php:2064 msgid "A URL that points to the start time of the clip." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2030 +#: classes/class-bsf-aiosrs-pro-schema.php:2055 msgid "Seek To Action Start Offset" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2033 +#: classes/class-bsf-aiosrs-pro-schema.php:2058 msgid "The number of seconds to skip to." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2036 +#: classes/class-bsf-aiosrs-pro-schema.php:2061 msgid "Seek To Action target URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2046 +#: classes/class-bsf-aiosrs-pro-schema.php:2071 msgid "FAQ" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2052 +#: classes/class-bsf-aiosrs-pro-schema.php:2077 msgid "Question-Answer" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2056 +#: classes/class-bsf-aiosrs-pro-schema.php:2081 msgid "Question" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2062 +#: classes/class-bsf-aiosrs-pro-schema.php:2087 msgid "Answer" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2074 +#: classes/class-bsf-aiosrs-pro-schema.php:2099 msgid "How-to" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2079 -#: classes/class-bsf-aiosrs-pro-schema.php:2101 -#: classes/class-bsf-aiosrs-pro-schema.php:2114 +#: classes/class-bsf-aiosrs-pro-schema.php:2104 +#: classes/class-bsf-aiosrs-pro-schema.php:2126 +#: classes/class-bsf-aiosrs-pro-schema.php:2139 msgid "Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2090 +#: classes/class-bsf-aiosrs-pro-schema.php:2115 msgid "Total Time" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2093 +#: classes/class-bsf-aiosrs-pro-schema.php:2118 msgid "" "The total time required to perform instructions or a direction (including " "time to prepare the supplies)." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2096 +#: classes/class-bsf-aiosrs-pro-schema.php:2121 msgid "Materials" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2098 +#: classes/class-bsf-aiosrs-pro-schema.php:2123 msgid "" "The supply property lists the item(s) “consumed when performing " "instructions or a direction.”" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2109 +#: classes/class-bsf-aiosrs-pro-schema.php:2134 msgid "Tools" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2111 +#: classes/class-bsf-aiosrs-pro-schema.php:2136 msgid "" "The tool property lists the item(s) used (but not consumed) when performing " "instructions or a direction." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2122 +#: classes/class-bsf-aiosrs-pro-schema.php:2147 #: wpsp-blocks/classes/class-bsf-sp-config.php:227 msgid "Steps" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2125 +#: classes/class-bsf-aiosrs-pro-schema.php:2150 msgid "Google needs at least two steps." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2128 +#: classes/class-bsf-aiosrs-pro-schema.php:2153 msgid "Step Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2134 +#: classes/class-bsf-aiosrs-pro-schema.php:2159 msgid "Step Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2140 +#: classes/class-bsf-aiosrs-pro-schema.php:2165 msgid "Step URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2146 +#: classes/class-bsf-aiosrs-pro-schema.php:2171 msgid "Step Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2159 -#: classes/class-bsf-aiosrs-pro-schema.php:2164 +#: classes/class-bsf-aiosrs-pro-schema.php:2184 +#: classes/class-bsf-aiosrs-pro-schema.php:2189 msgid "Custom Markup" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2167 +#: classes/class-bsf-aiosrs-pro-schema.php:2192 msgid "" -"Be sure to add custom schema markup in JSON-LD format.\n" +"Be sure to add custom schema markup in JSON-LD format.\r\n" "\t\t\t\t\t\t\t\tAs the custom schema markup in JSON-LD format, make sure to " -"add it in script tag.\n" +"add it in script tag.\r\n" "\t\t\t\t\t\t\t\tValidate schema markup with the Structured Data Testing " "Tool or Rich Results Test before adding to the website." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2180 -#: classes/class-bsf-aiosrs-pro-schema.php:2186 +#: classes/class-bsf-aiosrs-pro-schema.php:2205 +#: classes/class-bsf-aiosrs-pro-schema.php:2211 msgid "Image License" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2188 +#: classes/class-bsf-aiosrs-pro-schema.php:2213 msgid "" "Include the license property for your image to be eligible to be shown with " "the Licensable badge" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2197 +#: classes/class-bsf-aiosrs-pro-schema.php:2222 msgid "License" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2203 +#: classes/class-bsf-aiosrs-pro-schema.php:2228 msgid "Acquire License Page" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2208 +#: classes/class-bsf-aiosrs-pro-schema.php:2233 msgid "Credit Text" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2213 +#: classes/class-bsf-aiosrs-pro-schema.php:2238 msgid "Creator Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2222 +#: classes/class-bsf-aiosrs-pro-schema.php:2247 msgid "Creator" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2227 +#: classes/class-bsf-aiosrs-pro-schema.php:2252 msgid "Copy Right Notice" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2245 +#: classes/class-bsf-aiosrs-pro-schema.php:2270 msgid "Book Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2251 +#: classes/class-bsf-aiosrs-pro-schema.php:2276 msgid "Book Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2258 +#: classes/class-bsf-aiosrs-pro-schema.php:2283 msgid "Book ISBN" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2265 +#: classes/class-bsf-aiosrs-pro-schema.php:2290 msgid "Book Author Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2271 +#: classes/class-bsf-aiosrs-pro-schema.php:2296 msgid "Same As" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2281 +#: classes/class-bsf-aiosrs-pro-schema.php:2306 msgid "Course Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2287 +#: classes/class-bsf-aiosrs-pro-schema.php:2312 msgid "Course Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2292 +#: classes/class-bsf-aiosrs-pro-schema.php:2317 msgid "Course Organization Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2301 +#: classes/class-bsf-aiosrs-pro-schema.php:2326 msgid "Event Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2307 +#: classes/class-bsf-aiosrs-pro-schema.php:2332 msgid "Event Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2330 +#: classes/class-bsf-aiosrs-pro-schema.php:2355 msgid "Event Start Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2336 +#: classes/class-bsf-aiosrs-pro-schema.php:2361 msgid "Event End Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2372 +#: classes/class-bsf-aiosrs-pro-schema.php:2397 msgid "Event Location Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2378 +#: classes/class-bsf-aiosrs-pro-schema.php:2403 msgid "Event Street Address" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2385 +#: classes/class-bsf-aiosrs-pro-schema.php:2410 msgid "Event Locality" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2392 +#: classes/class-bsf-aiosrs-pro-schema.php:2417 msgid "Event Postal Code" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2399 +#: classes/class-bsf-aiosrs-pro-schema.php:2424 msgid "Event Region" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2406 +#: classes/class-bsf-aiosrs-pro-schema.php:2431 msgid "Event Country" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2414 +#: classes/class-bsf-aiosrs-pro-schema.php:2439 msgid "Event Offer Availability" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2420 +#: classes/class-bsf-aiosrs-pro-schema.php:2445 msgid "Event Offer Price" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2429 +#: classes/class-bsf-aiosrs-pro-schema.php:2454 msgid "Event Currency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2435 +#: classes/class-bsf-aiosrs-pro-schema.php:2460 msgid "Event Offer Valid From" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2440 +#: classes/class-bsf-aiosrs-pro-schema.php:2465 msgid "Event Ticket Link" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2445 +#: classes/class-bsf-aiosrs-pro-schema.php:2470 msgid "Event Performer" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2450 +#: classes/class-bsf-aiosrs-pro-schema.php:2475 msgid "Event Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2476 +#: classes/class-bsf-aiosrs-pro-schema.php:2501 msgid "Local Business Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2482 +#: classes/class-bsf-aiosrs-pro-schema.php:2507 msgid "Local Business Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2488 +#: classes/class-bsf-aiosrs-pro-schema.php:2513 msgid "Local Business Telephone" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2493 +#: classes/class-bsf-aiosrs-pro-schema.php:2518 msgid "Local Business Street Address" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2499 +#: classes/class-bsf-aiosrs-pro-schema.php:2524 msgid "Local Business Locality" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2505 +#: classes/class-bsf-aiosrs-pro-schema.php:2530 msgid "Local Business Postal Code" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2511 +#: classes/class-bsf-aiosrs-pro-schema.php:2536 msgid "Local Business Region" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2517 +#: classes/class-bsf-aiosrs-pro-schema.php:2542 msgid "Local Business Country" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2523 +#: classes/class-bsf-aiosrs-pro-schema.php:2548 msgid "Local Business Price Range" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2538 +#: classes/class-bsf-aiosrs-pro-schema.php:2563 msgid "Product Brand Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2543 +#: classes/class-bsf-aiosrs-pro-schema.php:2568 msgid " Product Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2549 +#: classes/class-bsf-aiosrs-pro-schema.php:2574 msgid " Product URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2563 +#: classes/class-bsf-aiosrs-pro-schema.php:2588 msgid "" "The Stock Keeping Unit (SKU), a merchant-specific identifier for a product " "or service, or the product e.g. \"0446310786\"" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2578 +#: classes/class-bsf-aiosrs-pro-schema.php:2603 msgid "Product Price Valid Until" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2592 +#: classes/class-bsf-aiosrs-pro-schema.php:2617 msgid "Product Currency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2603 +#: classes/class-bsf-aiosrs-pro-schema.php:2628 msgid "Product Review Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2630 +#: classes/class-bsf-aiosrs-pro-schema.php:2655 msgid "Recipe Author Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2635 +#: classes/class-bsf-aiosrs-pro-schema.php:2660 msgid "Recipe Preparation Time" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2640 +#: classes/class-bsf-aiosrs-pro-schema.php:2665 msgid "Recipe Cook Time" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2645 +#: classes/class-bsf-aiosrs-pro-schema.php:2670 msgid "Recipe Keywords" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2675 +#: classes/class-bsf-aiosrs-pro-schema.php:2700 msgid "Recipe Instructions Step" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2678 +#: classes/class-bsf-aiosrs-pro-schema.php:2703 msgid "" "Recipe Instructions Steps used in the recipe. Separate multiple " "Instructions Steps with comma(,)." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2681 +#: classes/class-bsf-aiosrs-pro-schema.php:2706 msgid "Recipe Video Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2687 +#: classes/class-bsf-aiosrs-pro-schema.php:2712 msgid "Recipe Video Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2693 +#: classes/class-bsf-aiosrs-pro-schema.php:2718 msgid "Recipe Video Thumbnail Url" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2699 +#: classes/class-bsf-aiosrs-pro-schema.php:2724 msgid "Recipe Video Content URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2704 +#: classes/class-bsf-aiosrs-pro-schema.php:2729 msgid "Recipe Video Embed URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2709 +#: classes/class-bsf-aiosrs-pro-schema.php:2734 msgid "Recipe Video Duration" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2714 +#: classes/class-bsf-aiosrs-pro-schema.php:2739 msgid "Recipe Video Upload Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2720 +#: classes/class-bsf-aiosrs-pro-schema.php:2745 msgid "Recipe Video Expires On" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2725 +#: classes/class-bsf-aiosrs-pro-schema.php:2750 msgid "Recipe Video Interaction Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2730 +#: classes/class-bsf-aiosrs-pro-schema.php:2755 msgid "Recipe Video Rating" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2735 +#: classes/class-bsf-aiosrs-pro-schema.php:2760 msgid "Recipe Video Review Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2745 +#: classes/class-bsf-aiosrs-pro-schema.php:2770 msgid "Software Application Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2751 +#: classes/class-bsf-aiosrs-pro-schema.php:2776 msgid "Software Application Operating System" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2757 +#: classes/class-bsf-aiosrs-pro-schema.php:2782 msgid "Software Application Category" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2763 +#: classes/class-bsf-aiosrs-pro-schema.php:2788 msgid "Software Application Rating" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2769 +#: classes/class-bsf-aiosrs-pro-schema.php:2794 msgid "Software Application Review Count" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2776 +#: classes/class-bsf-aiosrs-pro-schema.php:2801 msgid "Software Application Price" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2786 +#: classes/class-bsf-aiosrs-pro-schema.php:2811 msgid "Software Application Currency" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2796 +#: classes/class-bsf-aiosrs-pro-schema.php:2821 msgid "Movie Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2802 +#: classes/class-bsf-aiosrs-pro-schema.php:2827 msgid "Movie Description" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2808 +#: classes/class-bsf-aiosrs-pro-schema.php:2833 msgid "Movie SameAs" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2815 +#: classes/class-bsf-aiosrs-pro-schema.php:2840 msgid "Movie Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2821 +#: classes/class-bsf-aiosrs-pro-schema.php:2846 msgid "Movie Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2826 +#: classes/class-bsf-aiosrs-pro-schema.php:2851 msgid "Movie Director Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2835 +#: classes/class-bsf-aiosrs-pro-schema.php:2860 #: classes/class-bsf-aiosrs-pro-setup-wizard.php:329 template/settings.php:111 msgid "Organization Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2841 +#: classes/class-bsf-aiosrs-pro-schema.php:2866 msgid "Organization Street Address" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2846 +#: classes/class-bsf-aiosrs-pro-schema.php:2871 msgid "Organization Locality" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2851 +#: classes/class-bsf-aiosrs-pro-schema.php:2876 msgid "Organization Postal Code" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2856 +#: classes/class-bsf-aiosrs-pro-schema.php:2881 msgid "Organization Region" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2861 +#: classes/class-bsf-aiosrs-pro-schema.php:2886 msgid "Organization Country" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2887 -#: classes/class-bsf-aiosrs-pro-schema.php:2925 +#: classes/class-bsf-aiosrs-pro-schema.php:2912 +#: classes/class-bsf-aiosrs-pro-schema.php:2950 msgid "Site Meta" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2889 +#: classes/class-bsf-aiosrs-pro-schema.php:2914 msgid "Site Title" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2890 +#: classes/class-bsf-aiosrs-pro-schema.php:2915 msgid "Tagline" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2891 +#: classes/class-bsf-aiosrs-pro-schema.php:2916 msgid "Site URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2895 -#: classes/class-bsf-aiosrs-pro-schema.php:2931 +#: classes/class-bsf-aiosrs-pro-schema.php:2920 +#: classes/class-bsf-aiosrs-pro-schema.php:2956 msgid "Post Meta (Basic Fields)" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2897 +#: classes/class-bsf-aiosrs-pro-schema.php:2922 #: classes/lib/class-bsf-custom-post-list-table.php:132 msgid "Title" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2898 +#: classes/class-bsf-aiosrs-pro-schema.php:2923 msgid "Content" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2899 +#: classes/class-bsf-aiosrs-pro-schema.php:2924 msgid "Excerpt" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2900 +#: classes/class-bsf-aiosrs-pro-schema.php:2925 msgid "Permalink" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2902 +#: classes/class-bsf-aiosrs-pro-schema.php:2927 msgid "Author First Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2903 +#: classes/class-bsf-aiosrs-pro-schema.php:2928 msgid "Author Last Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2905 +#: classes/class-bsf-aiosrs-pro-schema.php:2930 msgid "Publish Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2906 +#: classes/class-bsf-aiosrs-pro-schema.php:2931 msgid "Last Modify Date" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2910 -#: classes/class-bsf-aiosrs-pro-schema.php:2938 +#: classes/class-bsf-aiosrs-pro-schema.php:2935 +#: classes/class-bsf-aiosrs-pro-schema.php:2963 msgid "Add Custom Info" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2912 +#: classes/class-bsf-aiosrs-pro-schema.php:2937 msgid "Fixed Text" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2913 -#: classes/class-bsf-aiosrs-pro-schema.php:2942 +#: classes/class-bsf-aiosrs-pro-schema.php:2938 +#: classes/class-bsf-aiosrs-pro-schema.php:2967 msgid "New Custom Field" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2917 -#: classes/class-bsf-aiosrs-pro-schema.php:2946 +#: classes/class-bsf-aiosrs-pro-schema.php:2942 +#: classes/class-bsf-aiosrs-pro-schema.php:2971 msgid "All Other Custom Fields" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2919 -#: classes/class-bsf-aiosrs-pro-schema.php:2948 +#: classes/class-bsf-aiosrs-pro-schema.php:2944 +#: classes/class-bsf-aiosrs-pro-schema.php:2973 msgid "Select Other Custom Fields Here" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2927 +#: classes/class-bsf-aiosrs-pro-schema.php:2952 msgid "Logo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2933 +#: classes/class-bsf-aiosrs-pro-schema.php:2958 msgid "Featured Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2934 +#: classes/class-bsf-aiosrs-pro-schema.php:2959 msgid "Author Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2940 +#: classes/class-bsf-aiosrs-pro-schema.php:2965 msgid "Fixed Image" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:2941 +#: classes/class-bsf-aiosrs-pro-schema.php:2966 msgid "Image URL" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3014 -#: classes/class-bsf-aiosrs-pro-schema.php:3021 +#: classes/class-bsf-aiosrs-pro-schema.php:3039 +#: classes/class-bsf-aiosrs-pro-schema.php:3046 msgid "Advanced Custom Fields" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3089 +#: classes/class-bsf-aiosrs-pro-schema.php:3114 msgid "Schema Settings" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3183 +#: classes/class-bsf-aiosrs-pro-schema.php:3208 #. translators: %s post title. msgid "Schema requires mapping of %s meta fields." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3186 +#: classes/class-bsf-aiosrs-pro-schema.php:3211 #. translators: %s post title. msgid "Schema requires mapping of %s meta field." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3272 +#: classes/class-bsf-aiosrs-pro-schema.php:3297 msgid "Schema Type" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3274 +#: classes/class-bsf-aiosrs-pro-schema.php:3299 msgid "Select schema type." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3298 +#: classes/class-bsf-aiosrs-pro-schema.php:3323 msgid "Set Target Location" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3299 +#: classes/class-bsf-aiosrs-pro-schema.php:3324 msgid "Select location where this schema should be integrated." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3306 +#: classes/class-bsf-aiosrs-pro-schema.php:3331 msgid "Add target locations where this Schema should appear." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3327 +#: classes/class-bsf-aiosrs-pro-schema.php:3352 msgid "This Schema will not appear at these locations." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3348 +#: classes/class-bsf-aiosrs-pro-schema.php:3373 msgid "All Schema Fields" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3349 +#: classes/class-bsf-aiosrs-pro-schema.php:3374 msgid "" "Below are the fields/properties that Google Requires you to fill so that " "the schema will work properly." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3364 +#: classes/class-bsf-aiosrs-pro-schema.php:3389 msgid "Guidelines" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3371 +#: classes/class-bsf-aiosrs-pro-schema.php:3396 #. translators: %s Schema type msgid "Read Guidelines for %s Schema" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3621 +#: classes/class-bsf-aiosrs-pro-schema.php:3646 #: template/breadcrumb-settings.php:81 msgid "None" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3860 +#: classes/class-bsf-aiosrs-pro-schema.php:3885 msgid "Discontinued" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3861 +#: classes/class-bsf-aiosrs-pro-schema.php:3886 msgid "In Stock" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3862 +#: classes/class-bsf-aiosrs-pro-schema.php:3887 msgid "In Store Only" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3863 +#: classes/class-bsf-aiosrs-pro-schema.php:3888 msgid "Limited Availability" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3864 +#: classes/class-bsf-aiosrs-pro-schema.php:3889 msgid "Online Only" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3865 +#: classes/class-bsf-aiosrs-pro-schema.php:3890 msgid "Out Of Stock" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3866 +#: classes/class-bsf-aiosrs-pro-schema.php:3891 msgid "Pre Order" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3867 +#: classes/class-bsf-aiosrs-pro-schema.php:3892 msgid "Pre Sale" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3868 +#: classes/class-bsf-aiosrs-pro-schema.php:3893 msgid "Sold Out" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3869 +#: classes/class-bsf-aiosrs-pro-schema.php:3894 msgid "Back Order" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3879 +#: classes/class-bsf-aiosrs-pro-schema.php:3904 msgid "EBook" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3880 +#: classes/class-bsf-aiosrs-pro-schema.php:3905 msgid "Hardcover" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3881 +#: classes/class-bsf-aiosrs-pro-schema.php:3906 msgid "Paperback" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3882 +#: classes/class-bsf-aiosrs-pro-schema.php:3907 msgid "AudioBook" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3890 +#: classes/class-bsf-aiosrs-pro-schema.php:3915 #: classes/lib/class-bsf-custom-post-list-table.php:377 msgid "Scheduled" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3891 +#: classes/class-bsf-aiosrs-pro-schema.php:3916 msgid "Rescheduled" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3892 +#: classes/class-bsf-aiosrs-pro-schema.php:3917 msgid "Postponed" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3893 +#: classes/class-bsf-aiosrs-pro-schema.php:3918 msgid "Moved Online" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3894 +#: classes/class-bsf-aiosrs-pro-schema.php:3919 msgid "Cancelled" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3902 +#: classes/class-bsf-aiosrs-pro-schema.php:3927 msgid "Physical Location" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3903 +#: classes/class-bsf-aiosrs-pro-schema.php:3928 msgid "Online Event" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3904 +#: classes/class-bsf-aiosrs-pro-schema.php:3929 msgid "Mix Of Online & Physical Locations" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3913 +#: classes/class-bsf-aiosrs-pro-schema.php:3938 msgid "DesktopWebPlatform" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3914 +#: classes/class-bsf-aiosrs-pro-schema.php:3939 msgid "MobileWebPlatform" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3915 +#: classes/class-bsf-aiosrs-pro-schema.php:3940 msgid "AndroidPlatform" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3916 +#: classes/class-bsf-aiosrs-pro-schema.php:3941 msgid "IOSPlatform" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3924 +#: classes/class-bsf-aiosrs-pro-schema.php:3949 msgid "Monday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3925 +#: classes/class-bsf-aiosrs-pro-schema.php:3950 msgid "Tuesday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3926 +#: classes/class-bsf-aiosrs-pro-schema.php:3951 msgid "Wednesday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3927 +#: classes/class-bsf-aiosrs-pro-schema.php:3952 msgid "Thursday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3928 +#: classes/class-bsf-aiosrs-pro-schema.php:3953 msgid "Friday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3929 +#: classes/class-bsf-aiosrs-pro-schema.php:3954 msgid "Saturday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3930 +#: classes/class-bsf-aiosrs-pro-schema.php:3955 msgid "Sunday" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3938 +#: classes/class-bsf-aiosrs-pro-schema.php:3963 msgid "Afghanistan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3939 +#: classes/class-bsf-aiosrs-pro-schema.php:3964 msgid "Åland Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3940 +#: classes/class-bsf-aiosrs-pro-schema.php:3965 msgid "Albania" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3941 +#: classes/class-bsf-aiosrs-pro-schema.php:3966 msgid "Algeria" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3942 +#: classes/class-bsf-aiosrs-pro-schema.php:3967 msgid "American Samoa" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3943 +#: classes/class-bsf-aiosrs-pro-schema.php:3968 msgid "Andorra" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3944 +#: classes/class-bsf-aiosrs-pro-schema.php:3969 msgid "Angola" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3945 +#: classes/class-bsf-aiosrs-pro-schema.php:3970 msgid "Anguilla" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3946 +#: classes/class-bsf-aiosrs-pro-schema.php:3971 msgid "Antarctica" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3947 +#: classes/class-bsf-aiosrs-pro-schema.php:3972 msgid "Antigua and Barbuda" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3948 +#: classes/class-bsf-aiosrs-pro-schema.php:3973 msgid "Argentina" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3949 +#: classes/class-bsf-aiosrs-pro-schema.php:3974 msgid "Armenia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3950 +#: classes/class-bsf-aiosrs-pro-schema.php:3975 msgid "Aruba" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3951 +#: classes/class-bsf-aiosrs-pro-schema.php:3976 msgid "Australia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3952 +#: classes/class-bsf-aiosrs-pro-schema.php:3977 msgid "Austria" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3953 +#: classes/class-bsf-aiosrs-pro-schema.php:3978 msgid "Azerbaijan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3954 +#: classes/class-bsf-aiosrs-pro-schema.php:3979 msgid "Bahrain" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3955 +#: classes/class-bsf-aiosrs-pro-schema.php:3980 msgid "Bahamas" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3956 +#: classes/class-bsf-aiosrs-pro-schema.php:3981 msgid "Bangladesh" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3957 +#: classes/class-bsf-aiosrs-pro-schema.php:3982 msgid "Barbados" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3958 +#: classes/class-bsf-aiosrs-pro-schema.php:3983 msgid "Belarus" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3959 +#: classes/class-bsf-aiosrs-pro-schema.php:3984 msgid "Belgium" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3960 +#: classes/class-bsf-aiosrs-pro-schema.php:3985 msgid "Belize" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3961 +#: classes/class-bsf-aiosrs-pro-schema.php:3986 msgid "Benin" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3962 +#: classes/class-bsf-aiosrs-pro-schema.php:3987 msgid "Bermuda" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3963 +#: classes/class-bsf-aiosrs-pro-schema.php:3988 msgid "Bhutan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3964 +#: classes/class-bsf-aiosrs-pro-schema.php:3989 msgid "Bonaire, Sint Eustatius and Saba" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3965 +#: classes/class-bsf-aiosrs-pro-schema.php:3990 msgid "Bosnia and Herzegovina" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3966 +#: classes/class-bsf-aiosrs-pro-schema.php:3991 msgid "Botswana" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3967 +#: classes/class-bsf-aiosrs-pro-schema.php:3992 msgid "Bouvet Island" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3968 +#: classes/class-bsf-aiosrs-pro-schema.php:3993 msgid "Brazil" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3969 +#: classes/class-bsf-aiosrs-pro-schema.php:3994 msgid "British Indian Ocean Territory" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3970 +#: classes/class-bsf-aiosrs-pro-schema.php:3995 msgid "Brunei Darussalam" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3971 +#: classes/class-bsf-aiosrs-pro-schema.php:3996 msgid "Bulgaria" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3972 +#: classes/class-bsf-aiosrs-pro-schema.php:3997 msgid "Burkina Faso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3973 +#: classes/class-bsf-aiosrs-pro-schema.php:3998 msgid "Burundi" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3974 +#: classes/class-bsf-aiosrs-pro-schema.php:3999 msgid "Cambodia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3975 +#: classes/class-bsf-aiosrs-pro-schema.php:4000 msgid "Cameroon" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3976 +#: classes/class-bsf-aiosrs-pro-schema.php:4001 msgid "Canada" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3977 +#: classes/class-bsf-aiosrs-pro-schema.php:4002 msgid "Cape Verde" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3978 +#: classes/class-bsf-aiosrs-pro-schema.php:4003 msgid "Cayman Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3979 +#: classes/class-bsf-aiosrs-pro-schema.php:4004 msgid "Central African Republic" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3980 +#: classes/class-bsf-aiosrs-pro-schema.php:4005 msgid "Chad" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3981 +#: classes/class-bsf-aiosrs-pro-schema.php:4006 msgid "Chile" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3982 +#: classes/class-bsf-aiosrs-pro-schema.php:4007 msgid "China" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3983 +#: classes/class-bsf-aiosrs-pro-schema.php:4008 msgid "Christmas Island" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3984 +#: classes/class-bsf-aiosrs-pro-schema.php:4009 msgid "Cocos (Keeling) Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3985 +#: classes/class-bsf-aiosrs-pro-schema.php:4010 msgid "Colombia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3986 +#: classes/class-bsf-aiosrs-pro-schema.php:4011 msgid "Comoros" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3987 +#: classes/class-bsf-aiosrs-pro-schema.php:4012 msgid "Congo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3988 +#: classes/class-bsf-aiosrs-pro-schema.php:4013 msgid "Congo, the Democratic Republic of the" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3989 +#: classes/class-bsf-aiosrs-pro-schema.php:4014 msgid "Cook Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3990 +#: classes/class-bsf-aiosrs-pro-schema.php:4015 msgid "Costa Rica" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3991 +#: classes/class-bsf-aiosrs-pro-schema.php:4016 msgid "Ivory Coast" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3992 +#: classes/class-bsf-aiosrs-pro-schema.php:4017 msgid "Croatia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3993 +#: classes/class-bsf-aiosrs-pro-schema.php:4018 msgid "Cuba" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3994 +#: classes/class-bsf-aiosrs-pro-schema.php:4019 msgid "Curaçao" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3995 +#: classes/class-bsf-aiosrs-pro-schema.php:4020 msgid "Cyprus" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3996 +#: classes/class-bsf-aiosrs-pro-schema.php:4021 msgid "Czech Republic" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3997 +#: classes/class-bsf-aiosrs-pro-schema.php:4022 msgid "Denmark" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3998 +#: classes/class-bsf-aiosrs-pro-schema.php:4023 msgid "Djibouti" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:3999 +#: classes/class-bsf-aiosrs-pro-schema.php:4024 msgid "Dominica" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4000 +#: classes/class-bsf-aiosrs-pro-schema.php:4025 msgid "Dominican Republic" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4001 +#: classes/class-bsf-aiosrs-pro-schema.php:4026 msgid "Ecuador" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4002 +#: classes/class-bsf-aiosrs-pro-schema.php:4027 msgid "Egypt" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4003 +#: classes/class-bsf-aiosrs-pro-schema.php:4028 msgid "El Salvador" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4004 +#: classes/class-bsf-aiosrs-pro-schema.php:4029 msgid "Equatorial Guinea" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4005 +#: classes/class-bsf-aiosrs-pro-schema.php:4030 msgid "Eritrea" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4006 +#: classes/class-bsf-aiosrs-pro-schema.php:4031 msgid "Estonia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4007 +#: classes/class-bsf-aiosrs-pro-schema.php:4032 msgid "Ethiopia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4008 +#: classes/class-bsf-aiosrs-pro-schema.php:4033 msgid "Falkland Islands (Malvinas)" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4009 +#: classes/class-bsf-aiosrs-pro-schema.php:4034 msgid "Faroe Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4010 +#: classes/class-bsf-aiosrs-pro-schema.php:4035 msgid "Federated States of Micronesia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4011 +#: classes/class-bsf-aiosrs-pro-schema.php:4036 msgid "Fiji" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4012 +#: classes/class-bsf-aiosrs-pro-schema.php:4037 msgid "Finland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4013 +#: classes/class-bsf-aiosrs-pro-schema.php:4038 msgid "France" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4014 +#: classes/class-bsf-aiosrs-pro-schema.php:4039 msgid "French Guiana" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4015 +#: classes/class-bsf-aiosrs-pro-schema.php:4040 msgid "French Polynesia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4016 +#: classes/class-bsf-aiosrs-pro-schema.php:4041 msgid "French Southern Territories" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4017 +#: classes/class-bsf-aiosrs-pro-schema.php:4042 msgid "Gabon" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4018 +#: classes/class-bsf-aiosrs-pro-schema.php:4043 msgid "Gambia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4019 +#: classes/class-bsf-aiosrs-pro-schema.php:4044 msgid "Georgia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4020 +#: classes/class-bsf-aiosrs-pro-schema.php:4045 msgid "Germany" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4021 +#: classes/class-bsf-aiosrs-pro-schema.php:4046 msgid "Ghana" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4022 +#: classes/class-bsf-aiosrs-pro-schema.php:4047 msgid "Gibraltar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4023 +#: classes/class-bsf-aiosrs-pro-schema.php:4048 msgid "Greece" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4024 +#: classes/class-bsf-aiosrs-pro-schema.php:4049 msgid "Greenland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4025 +#: classes/class-bsf-aiosrs-pro-schema.php:4050 msgid "Grenada" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4026 +#: classes/class-bsf-aiosrs-pro-schema.php:4051 msgid "Guadeloupe" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4027 +#: classes/class-bsf-aiosrs-pro-schema.php:4052 msgid "Guam" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4028 +#: classes/class-bsf-aiosrs-pro-schema.php:4053 msgid "Guatemala" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4029 +#: classes/class-bsf-aiosrs-pro-schema.php:4054 msgid "Guernsey" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4030 +#: classes/class-bsf-aiosrs-pro-schema.php:4055 msgid "Guinea" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4031 +#: classes/class-bsf-aiosrs-pro-schema.php:4056 msgid "Guinea-Bissau" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4032 +#: classes/class-bsf-aiosrs-pro-schema.php:4057 msgid "Guyana" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4033 +#: classes/class-bsf-aiosrs-pro-schema.php:4058 msgid "Haiti" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4034 +#: classes/class-bsf-aiosrs-pro-schema.php:4059 msgid "Heard Island and McDonald Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4035 +#: classes/class-bsf-aiosrs-pro-schema.php:4060 msgid "Holy See (Vatican City State)" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4036 +#: classes/class-bsf-aiosrs-pro-schema.php:4061 msgid "Honduras" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4037 +#: classes/class-bsf-aiosrs-pro-schema.php:4062 msgid "Hong Kong" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4038 +#: classes/class-bsf-aiosrs-pro-schema.php:4063 msgid "Hungary" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4039 +#: classes/class-bsf-aiosrs-pro-schema.php:4064 msgid "Iceland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4040 +#: classes/class-bsf-aiosrs-pro-schema.php:4065 msgid "India" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4041 +#: classes/class-bsf-aiosrs-pro-schema.php:4066 msgid "Indonesia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4042 +#: classes/class-bsf-aiosrs-pro-schema.php:4067 msgid "Iran, Islamic Republic of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4043 +#: classes/class-bsf-aiosrs-pro-schema.php:4068 msgid "Iraq" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4044 +#: classes/class-bsf-aiosrs-pro-schema.php:4069 msgid "Ireland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4045 +#: classes/class-bsf-aiosrs-pro-schema.php:4070 msgid "Isle of Man" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4046 +#: classes/class-bsf-aiosrs-pro-schema.php:4071 msgid "Israel" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4047 +#: classes/class-bsf-aiosrs-pro-schema.php:4072 msgid "Italy" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4048 +#: classes/class-bsf-aiosrs-pro-schema.php:4073 msgid "Jamaica" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4049 +#: classes/class-bsf-aiosrs-pro-schema.php:4074 msgid "Japan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4050 +#: classes/class-bsf-aiosrs-pro-schema.php:4075 msgid "Jersey" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4051 +#: classes/class-bsf-aiosrs-pro-schema.php:4076 msgid "Jordan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4052 +#: classes/class-bsf-aiosrs-pro-schema.php:4077 msgid "Kazakhstan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4053 +#: classes/class-bsf-aiosrs-pro-schema.php:4078 msgid "Kenya" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4054 +#: classes/class-bsf-aiosrs-pro-schema.php:4079 msgid "Kiribati" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4055 +#: classes/class-bsf-aiosrs-pro-schema.php:4080 msgid "Korea, Democratic People's Republic of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4056 +#: classes/class-bsf-aiosrs-pro-schema.php:4081 msgid "Korea, Republic of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4057 +#: classes/class-bsf-aiosrs-pro-schema.php:4082 msgid "Kuwait" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4058 +#: classes/class-bsf-aiosrs-pro-schema.php:4083 msgid "Kyrgyzstan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4059 +#: classes/class-bsf-aiosrs-pro-schema.php:4084 msgid "Laos" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4060 +#: classes/class-bsf-aiosrs-pro-schema.php:4085 msgid "Latvia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4061 +#: classes/class-bsf-aiosrs-pro-schema.php:4086 msgid "Lebanon" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4062 +#: classes/class-bsf-aiosrs-pro-schema.php:4087 msgid "Lesotho" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4063 +#: classes/class-bsf-aiosrs-pro-schema.php:4088 msgid "Liberia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4064 +#: classes/class-bsf-aiosrs-pro-schema.php:4089 msgid "Libya" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4065 +#: classes/class-bsf-aiosrs-pro-schema.php:4090 msgid "Liechtenstein" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4066 +#: classes/class-bsf-aiosrs-pro-schema.php:4091 msgid "Lithuania" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4067 +#: classes/class-bsf-aiosrs-pro-schema.php:4092 msgid "Luxembourg" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4068 +#: classes/class-bsf-aiosrs-pro-schema.php:4093 msgid "Macao" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4069 +#: classes/class-bsf-aiosrs-pro-schema.php:4094 msgid "Madagascar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4070 +#: classes/class-bsf-aiosrs-pro-schema.php:4095 msgid "Malawi" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4071 +#: classes/class-bsf-aiosrs-pro-schema.php:4096 msgid "Malaysia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4072 +#: classes/class-bsf-aiosrs-pro-schema.php:4097 msgid "Maldives" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4073 +#: classes/class-bsf-aiosrs-pro-schema.php:4098 msgid "Mali" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4074 +#: classes/class-bsf-aiosrs-pro-schema.php:4099 msgid "Malta" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4075 +#: classes/class-bsf-aiosrs-pro-schema.php:4100 msgid "Marshall Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4076 +#: classes/class-bsf-aiosrs-pro-schema.php:4101 msgid "Martinique" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4077 +#: classes/class-bsf-aiosrs-pro-schema.php:4102 msgid "Mauritania" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4078 +#: classes/class-bsf-aiosrs-pro-schema.php:4103 msgid "Mauritius" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4079 +#: classes/class-bsf-aiosrs-pro-schema.php:4104 msgid "Mayotte" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4080 +#: classes/class-bsf-aiosrs-pro-schema.php:4105 msgid "Mexico" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4081 +#: classes/class-bsf-aiosrs-pro-schema.php:4106 msgid "Monaco" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4082 +#: classes/class-bsf-aiosrs-pro-schema.php:4107 msgid "Mongolia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4083 +#: classes/class-bsf-aiosrs-pro-schema.php:4108 msgid "Montenegro" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4084 +#: classes/class-bsf-aiosrs-pro-schema.php:4109 msgid "Montserrat" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4085 +#: classes/class-bsf-aiosrs-pro-schema.php:4110 msgid "Morocco" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4086 +#: classes/class-bsf-aiosrs-pro-schema.php:4111 msgid "Mozambique" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4087 +#: classes/class-bsf-aiosrs-pro-schema.php:4112 msgid "Myanmar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4088 +#: classes/class-bsf-aiosrs-pro-schema.php:4113 msgid "Namibia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4089 +#: classes/class-bsf-aiosrs-pro-schema.php:4114 msgid "Nauru" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4090 +#: classes/class-bsf-aiosrs-pro-schema.php:4115 msgid "Nepal" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4091 +#: classes/class-bsf-aiosrs-pro-schema.php:4116 msgid "Netherlands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4092 +#: classes/class-bsf-aiosrs-pro-schema.php:4117 msgid "New Caledonia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4093 +#: classes/class-bsf-aiosrs-pro-schema.php:4118 msgid "New Zealand" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4094 +#: classes/class-bsf-aiosrs-pro-schema.php:4119 msgid "Nicaragua" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4095 +#: classes/class-bsf-aiosrs-pro-schema.php:4120 msgid "Niger" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4096 +#: classes/class-bsf-aiosrs-pro-schema.php:4121 msgid "Nigeria" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4097 +#: classes/class-bsf-aiosrs-pro-schema.php:4122 msgid "Niue" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4098 +#: classes/class-bsf-aiosrs-pro-schema.php:4123 msgid "Norfolk Island" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4099 +#: classes/class-bsf-aiosrs-pro-schema.php:4124 msgid "Northern Mariana Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4100 +#: classes/class-bsf-aiosrs-pro-schema.php:4125 msgid "Norway" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4101 +#: classes/class-bsf-aiosrs-pro-schema.php:4126 msgid "Oman" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4102 +#: classes/class-bsf-aiosrs-pro-schema.php:4127 msgid "Pakistan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4103 +#: classes/class-bsf-aiosrs-pro-schema.php:4128 msgid "Palau" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4104 +#: classes/class-bsf-aiosrs-pro-schema.php:4129 msgid "Palestine, State of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4105 +#: classes/class-bsf-aiosrs-pro-schema.php:4130 msgid "Panama" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4106 +#: classes/class-bsf-aiosrs-pro-schema.php:4131 msgid "Papua New Guinea" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4107 +#: classes/class-bsf-aiosrs-pro-schema.php:4132 msgid "Paraguay" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4108 +#: classes/class-bsf-aiosrs-pro-schema.php:4133 msgid "Peru" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4109 +#: classes/class-bsf-aiosrs-pro-schema.php:4134 msgid "Philippines" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4110 +#: classes/class-bsf-aiosrs-pro-schema.php:4135 msgid "Pitcairn" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4111 +#: classes/class-bsf-aiosrs-pro-schema.php:4136 msgid "Plurinational State of Bolivia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4112 +#: classes/class-bsf-aiosrs-pro-schema.php:4137 msgid "Poland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4113 +#: classes/class-bsf-aiosrs-pro-schema.php:4138 msgid "Portugal" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4114 +#: classes/class-bsf-aiosrs-pro-schema.php:4139 msgid "Puerto Rico" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4115 +#: classes/class-bsf-aiosrs-pro-schema.php:4140 msgid "Qatar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4116 +#: classes/class-bsf-aiosrs-pro-schema.php:4141 msgid "Réunion" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4117 +#: classes/class-bsf-aiosrs-pro-schema.php:4142 msgid "Republic of Macedonia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4118 +#: classes/class-bsf-aiosrs-pro-schema.php:4143 msgid "Republic of Moldova" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4119 +#: classes/class-bsf-aiosrs-pro-schema.php:4144 msgid "Romania" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4120 +#: classes/class-bsf-aiosrs-pro-schema.php:4145 msgid "Russian Federation" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4121 +#: classes/class-bsf-aiosrs-pro-schema.php:4146 msgid "Rwanda" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4122 +#: classes/class-bsf-aiosrs-pro-schema.php:4147 msgid "Saint Barthélemy" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4123 +#: classes/class-bsf-aiosrs-pro-schema.php:4148 msgid "Saint Helena, Ascension and Tristan da Cunha" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4124 +#: classes/class-bsf-aiosrs-pro-schema.php:4149 msgid "Saint Kitts and Nevis" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4125 +#: classes/class-bsf-aiosrs-pro-schema.php:4150 msgid "Saint Lucia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4126 +#: classes/class-bsf-aiosrs-pro-schema.php:4151 msgid "Saint Martin (French part" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4127 +#: classes/class-bsf-aiosrs-pro-schema.php:4152 msgid "Saint Pierre and Miquelon" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4128 +#: classes/class-bsf-aiosrs-pro-schema.php:4153 msgid "Saint Vincent and the Grenadines" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4129 +#: classes/class-bsf-aiosrs-pro-schema.php:4154 msgid "Samoa" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4130 +#: classes/class-bsf-aiosrs-pro-schema.php:4155 msgid "San Marino" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4131 +#: classes/class-bsf-aiosrs-pro-schema.php:4156 msgid "Sao Tome and Principe" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4132 +#: classes/class-bsf-aiosrs-pro-schema.php:4157 msgid "Saudi Arabia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4133 +#: classes/class-bsf-aiosrs-pro-schema.php:4158 msgid "Senegal" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4134 +#: classes/class-bsf-aiosrs-pro-schema.php:4159 msgid "Serbia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4135 +#: classes/class-bsf-aiosrs-pro-schema.php:4160 msgid "Seychelles" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4136 +#: classes/class-bsf-aiosrs-pro-schema.php:4161 msgid "Sierra Leone" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4137 +#: classes/class-bsf-aiosrs-pro-schema.php:4162 msgid "Singapore" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4138 +#: classes/class-bsf-aiosrs-pro-schema.php:4163 msgid "Sint Maarten (Dutch part)" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4139 +#: classes/class-bsf-aiosrs-pro-schema.php:4164 msgid "Slovakia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4140 +#: classes/class-bsf-aiosrs-pro-schema.php:4165 msgid "Slovenia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4141 +#: classes/class-bsf-aiosrs-pro-schema.php:4166 msgid "Solomon Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4142 +#: classes/class-bsf-aiosrs-pro-schema.php:4167 msgid "Somalia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4143 +#: classes/class-bsf-aiosrs-pro-schema.php:4168 msgid "South Africa" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4144 +#: classes/class-bsf-aiosrs-pro-schema.php:4169 msgid "South Georgia and the South Sandwich Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4145 +#: classes/class-bsf-aiosrs-pro-schema.php:4170 msgid "South Sudan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4146 +#: classes/class-bsf-aiosrs-pro-schema.php:4171 msgid "Spain" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4147 +#: classes/class-bsf-aiosrs-pro-schema.php:4172 msgid "Sri Lanka" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4148 +#: classes/class-bsf-aiosrs-pro-schema.php:4173 msgid "Sudan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4149 +#: classes/class-bsf-aiosrs-pro-schema.php:4174 msgid "Suriname" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4150 +#: classes/class-bsf-aiosrs-pro-schema.php:4175 msgid "Svalbard and Jan Mayen" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4151 +#: classes/class-bsf-aiosrs-pro-schema.php:4176 msgid "Swaziland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4152 +#: classes/class-bsf-aiosrs-pro-schema.php:4177 msgid "Sweden" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4153 +#: classes/class-bsf-aiosrs-pro-schema.php:4178 msgid "Switzerland" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4154 +#: classes/class-bsf-aiosrs-pro-schema.php:4179 msgid "Syrian Arab Republic" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4155 +#: classes/class-bsf-aiosrs-pro-schema.php:4180 msgid "Taiwan, Province of China" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4156 +#: classes/class-bsf-aiosrs-pro-schema.php:4181 msgid "Tajikistan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4157 +#: classes/class-bsf-aiosrs-pro-schema.php:4182 msgid "Tanzania, United Republic of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4158 +#: classes/class-bsf-aiosrs-pro-schema.php:4183 msgid "Thailand" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4159 +#: classes/class-bsf-aiosrs-pro-schema.php:4184 msgid "Timor-Leste" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4160 +#: classes/class-bsf-aiosrs-pro-schema.php:4185 msgid "Togo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4161 +#: classes/class-bsf-aiosrs-pro-schema.php:4186 msgid "Tokelau" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4162 +#: classes/class-bsf-aiosrs-pro-schema.php:4187 msgid "Tonga" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4163 +#: classes/class-bsf-aiosrs-pro-schema.php:4188 msgid "Trinidad and Tobago" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4164 +#: classes/class-bsf-aiosrs-pro-schema.php:4189 msgid "Tunisia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4165 +#: classes/class-bsf-aiosrs-pro-schema.php:4190 msgid "Turkey" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4166 +#: classes/class-bsf-aiosrs-pro-schema.php:4191 msgid "Turkmenistan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4167 +#: classes/class-bsf-aiosrs-pro-schema.php:4192 msgid "Turks and Caicos Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4168 +#: classes/class-bsf-aiosrs-pro-schema.php:4193 msgid "Tuvalu" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4169 +#: classes/class-bsf-aiosrs-pro-schema.php:4194 msgid "Uganda" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4170 +#: classes/class-bsf-aiosrs-pro-schema.php:4195 msgid "Ukraine" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4171 +#: classes/class-bsf-aiosrs-pro-schema.php:4196 msgid "United Arab Emirates" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4172 +#: classes/class-bsf-aiosrs-pro-schema.php:4197 msgid "United Kingdom" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4173 +#: classes/class-bsf-aiosrs-pro-schema.php:4198 msgid "United States" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4174 +#: classes/class-bsf-aiosrs-pro-schema.php:4199 msgid "United States Minor Outlying Islands" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4175 +#: classes/class-bsf-aiosrs-pro-schema.php:4200 msgid "Uruguay" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4176 +#: classes/class-bsf-aiosrs-pro-schema.php:4201 msgid "Uzbekistan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4177 +#: classes/class-bsf-aiosrs-pro-schema.php:4202 msgid "Vanuatu" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4178 +#: classes/class-bsf-aiosrs-pro-schema.php:4203 msgid "Venezuela, Bolivarian Republic of" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4179 +#: classes/class-bsf-aiosrs-pro-schema.php:4204 msgid "Viet Nam" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4180 +#: classes/class-bsf-aiosrs-pro-schema.php:4205 msgid "Virgin Islands, British" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4181 +#: classes/class-bsf-aiosrs-pro-schema.php:4206 msgid "Virgin Islands, U.S" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4182 +#: classes/class-bsf-aiosrs-pro-schema.php:4207 msgid "Wallis and Futuna" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4183 +#: classes/class-bsf-aiosrs-pro-schema.php:4208 msgid "Western Sahara" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4184 +#: classes/class-bsf-aiosrs-pro-schema.php:4209 msgid "Yemen" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4185 +#: classes/class-bsf-aiosrs-pro-schema.php:4210 msgid "Zambia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4186 +#: classes/class-bsf-aiosrs-pro-schema.php:4211 msgid "Zimbabwe" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4194 +#: classes/class-bsf-aiosrs-pro-schema.php:4219 msgid "FULL TIME" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4195 +#: classes/class-bsf-aiosrs-pro-schema.php:4220 msgid "PART TIME" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4196 +#: classes/class-bsf-aiosrs-pro-schema.php:4221 msgid "CONTRACTOR" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4197 +#: classes/class-bsf-aiosrs-pro-schema.php:4222 msgid "TEMPORARY" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4198 +#: classes/class-bsf-aiosrs-pro-schema.php:4223 msgid "INTERN" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4199 +#: classes/class-bsf-aiosrs-pro-schema.php:4224 msgid "VOLUNTEER" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4200 +#: classes/class-bsf-aiosrs-pro-schema.php:4225 msgid "PER DIEM" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4201 +#: classes/class-bsf-aiosrs-pro-schema.php:4226 msgid "OTHER" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4209 +#: classes/class-bsf-aiosrs-pro-schema.php:4234 msgid "Afghan Afghani" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4210 +#: classes/class-bsf-aiosrs-pro-schema.php:4235 msgid "Albanian Lek" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4211 +#: classes/class-bsf-aiosrs-pro-schema.php:4236 msgid "Algerian Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4212 +#: classes/class-bsf-aiosrs-pro-schema.php:4237 msgid "Angolan Kwanza" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4213 +#: classes/class-bsf-aiosrs-pro-schema.php:4238 msgid "Argentine Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4214 +#: classes/class-bsf-aiosrs-pro-schema.php:4239 msgid "Armenian Dram" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4215 +#: classes/class-bsf-aiosrs-pro-schema.php:4240 msgid "Aruban Florin" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4216 +#: classes/class-bsf-aiosrs-pro-schema.php:4241 msgid "Australian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4217 +#: classes/class-bsf-aiosrs-pro-schema.php:4242 msgid "Azerbaijani Manat" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4218 +#: classes/class-bsf-aiosrs-pro-schema.php:4243 msgid "Bahamian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4219 +#: classes/class-bsf-aiosrs-pro-schema.php:4244 msgid "Bahraini Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4220 +#: classes/class-bsf-aiosrs-pro-schema.php:4245 msgid "Bangladeshi Taka" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4221 +#: classes/class-bsf-aiosrs-pro-schema.php:4246 msgid "Barbadian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4222 +#: classes/class-bsf-aiosrs-pro-schema.php:4247 msgid "Belarusian Ruble" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4223 +#: classes/class-bsf-aiosrs-pro-schema.php:4248 msgid "Belgian Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4224 +#: classes/class-bsf-aiosrs-pro-schema.php:4249 msgid "Belize Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4225 +#: classes/class-bsf-aiosrs-pro-schema.php:4250 msgid "Bermudan Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4226 +#: classes/class-bsf-aiosrs-pro-schema.php:4251 msgid "Bhutanese Ngultrum" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4227 +#: classes/class-bsf-aiosrs-pro-schema.php:4252 msgid "Bitcoin" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4228 +#: classes/class-bsf-aiosrs-pro-schema.php:4253 msgid "Bolivian Boliviano" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4229 +#: classes/class-bsf-aiosrs-pro-schema.php:4254 msgid "Bosnia-Herzegovina Convertible Mark" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4230 +#: classes/class-bsf-aiosrs-pro-schema.php:4255 msgid "Botswanan Pula" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4231 +#: classes/class-bsf-aiosrs-pro-schema.php:4256 msgid "Brazilian Real" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4232 +#: classes/class-bsf-aiosrs-pro-schema.php:4257 msgid "British Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4233 +#: classes/class-bsf-aiosrs-pro-schema.php:4258 msgid "Brunei Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4234 +#: classes/class-bsf-aiosrs-pro-schema.php:4259 msgid "Bulgarian Lev" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4235 +#: classes/class-bsf-aiosrs-pro-schema.php:4260 msgid "Burundian Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4236 +#: classes/class-bsf-aiosrs-pro-schema.php:4261 msgid "Cambodian Riel" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4237 +#: classes/class-bsf-aiosrs-pro-schema.php:4262 msgid "Canadian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4238 +#: classes/class-bsf-aiosrs-pro-schema.php:4263 msgid "Cape Verdean Escudo" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4239 +#: classes/class-bsf-aiosrs-pro-schema.php:4264 msgid "Cayman Islands Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4240 +#: classes/class-bsf-aiosrs-pro-schema.php:4265 msgid "Central African CFA Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4241 +#: classes/class-bsf-aiosrs-pro-schema.php:4266 msgid "CFP Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4242 +#: classes/class-bsf-aiosrs-pro-schema.php:4267 msgid "Chilean Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4243 +#: classes/class-bsf-aiosrs-pro-schema.php:4268 msgid "Chinese Yuan" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4244 +#: classes/class-bsf-aiosrs-pro-schema.php:4269 msgid "Colombian Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4245 +#: classes/class-bsf-aiosrs-pro-schema.php:4270 msgid "Comorian Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4246 +#: classes/class-bsf-aiosrs-pro-schema.php:4271 msgid "Congolese Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4247 +#: classes/class-bsf-aiosrs-pro-schema.php:4272 msgid "Costa Rican Colón" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4248 +#: classes/class-bsf-aiosrs-pro-schema.php:4273 msgid "Croatian Kuna" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4249 +#: classes/class-bsf-aiosrs-pro-schema.php:4274 msgid "Cuban Convertible Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4250 +#: classes/class-bsf-aiosrs-pro-schema.php:4275 msgid "Czech Koruna" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4251 +#: classes/class-bsf-aiosrs-pro-schema.php:4276 msgid "Danish Krone" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4252 +#: classes/class-bsf-aiosrs-pro-schema.php:4277 msgid "Djiboutian Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4253 +#: classes/class-bsf-aiosrs-pro-schema.php:4278 msgid "Dominican Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4254 +#: classes/class-bsf-aiosrs-pro-schema.php:4279 msgid "East Caribbean Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4255 +#: classes/class-bsf-aiosrs-pro-schema.php:4280 msgid "Egyptian Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4256 +#: classes/class-bsf-aiosrs-pro-schema.php:4281 msgid "Eritrean Nakfa" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4257 +#: classes/class-bsf-aiosrs-pro-schema.php:4282 msgid "Estonian Kroon" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4258 +#: classes/class-bsf-aiosrs-pro-schema.php:4283 msgid "Ethiopian Birr" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4259 +#: classes/class-bsf-aiosrs-pro-schema.php:4284 msgid "Euro" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4260 +#: classes/class-bsf-aiosrs-pro-schema.php:4285 msgid "Falkland Islands Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4261 +#: classes/class-bsf-aiosrs-pro-schema.php:4286 msgid "Fijian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4262 +#: classes/class-bsf-aiosrs-pro-schema.php:4287 msgid "Gambian Dalasi" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4263 +#: classes/class-bsf-aiosrs-pro-schema.php:4288 msgid "Georgian Lari" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4264 +#: classes/class-bsf-aiosrs-pro-schema.php:4289 msgid "German Mark" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4265 +#: classes/class-bsf-aiosrs-pro-schema.php:4290 msgid "Ghanaian Cedi" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4266 +#: classes/class-bsf-aiosrs-pro-schema.php:4291 msgid "Gibraltar Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4267 +#: classes/class-bsf-aiosrs-pro-schema.php:4292 msgid "Greek Drachma" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4268 +#: classes/class-bsf-aiosrs-pro-schema.php:4293 msgid "Guatemalan Quetzal" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4269 +#: classes/class-bsf-aiosrs-pro-schema.php:4294 msgid "Guinean Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4270 +#: classes/class-bsf-aiosrs-pro-schema.php:4295 msgid "Guyanaese Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4271 +#: classes/class-bsf-aiosrs-pro-schema.php:4296 msgid "Haitian Gourde" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4272 +#: classes/class-bsf-aiosrs-pro-schema.php:4297 msgid "Honduran Lempira" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4273 +#: classes/class-bsf-aiosrs-pro-schema.php:4298 msgid "Hong Kong Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4274 +#: classes/class-bsf-aiosrs-pro-schema.php:4299 msgid "Hungarian Forint" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4275 +#: classes/class-bsf-aiosrs-pro-schema.php:4300 msgid "Icelandic Króna" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4276 +#: classes/class-bsf-aiosrs-pro-schema.php:4301 msgid "Indian Rupee" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4277 +#: classes/class-bsf-aiosrs-pro-schema.php:4302 msgid "Indonesian Rupiah" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4278 +#: classes/class-bsf-aiosrs-pro-schema.php:4303 msgid "Iranian Rial" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4279 +#: classes/class-bsf-aiosrs-pro-schema.php:4304 msgid "Iraqi Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4280 +#: classes/class-bsf-aiosrs-pro-schema.php:4305 msgid "Israeli New Shekel" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4281 +#: classes/class-bsf-aiosrs-pro-schema.php:4306 msgid "Italian Lira" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4282 +#: classes/class-bsf-aiosrs-pro-schema.php:4307 msgid "Jamaican Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4283 +#: classes/class-bsf-aiosrs-pro-schema.php:4308 msgid "Japanese Yen" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4284 +#: classes/class-bsf-aiosrs-pro-schema.php:4309 msgid "Jordanian Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4285 +#: classes/class-bsf-aiosrs-pro-schema.php:4310 msgid "Kazakhstani Tenge" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4286 +#: classes/class-bsf-aiosrs-pro-schema.php:4311 msgid "Kenyan Shilling" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4287 +#: classes/class-bsf-aiosrs-pro-schema.php:4312 msgid "Kuwaiti Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4288 +#: classes/class-bsf-aiosrs-pro-schema.php:4313 msgid "Kyrgystani Som" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4289 +#: classes/class-bsf-aiosrs-pro-schema.php:4314 msgid "Laotian Kip" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4290 +#: classes/class-bsf-aiosrs-pro-schema.php:4315 msgid "Latvian Lats" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4291 +#: classes/class-bsf-aiosrs-pro-schema.php:4316 msgid "Lebanese Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4292 +#: classes/class-bsf-aiosrs-pro-schema.php:4317 msgid "Lesotho Loti" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4293 +#: classes/class-bsf-aiosrs-pro-schema.php:4318 msgid "Liberian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4294 +#: classes/class-bsf-aiosrs-pro-schema.php:4319 msgid "Libyan Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4295 +#: classes/class-bsf-aiosrs-pro-schema.php:4320 msgid "Lithuanian Litas" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4296 +#: classes/class-bsf-aiosrs-pro-schema.php:4321 msgid "Macanese Pataca" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4297 +#: classes/class-bsf-aiosrs-pro-schema.php:4322 msgid "Macedonian Denar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4298 +#: classes/class-bsf-aiosrs-pro-schema.php:4323 msgid "Malagasy Ariary" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4299 +#: classes/class-bsf-aiosrs-pro-schema.php:4324 msgid "Malawian Kwacha" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4300 +#: classes/class-bsf-aiosrs-pro-schema.php:4325 msgid "Malaysian Ringgit" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4301 +#: classes/class-bsf-aiosrs-pro-schema.php:4326 msgid "Maldivian Rufiyaa" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4302 +#: classes/class-bsf-aiosrs-pro-schema.php:4327 msgid "Mauritanian Ouguiya" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4303 +#: classes/class-bsf-aiosrs-pro-schema.php:4328 msgid "Mauritian Rupee" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4304 +#: classes/class-bsf-aiosrs-pro-schema.php:4329 msgid "Mexican Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4305 +#: classes/class-bsf-aiosrs-pro-schema.php:4330 msgid "Moldovan Leu" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4306 +#: classes/class-bsf-aiosrs-pro-schema.php:4331 msgid "Mongolian Tugrik" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4307 +#: classes/class-bsf-aiosrs-pro-schema.php:4332 msgid "Moroccan Dirham" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4308 +#: classes/class-bsf-aiosrs-pro-schema.php:4333 msgid "Mozambican Metical" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4309 +#: classes/class-bsf-aiosrs-pro-schema.php:4334 msgid "Myanmar Kyat" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4310 +#: classes/class-bsf-aiosrs-pro-schema.php:4335 msgid "Namibian Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4311 +#: classes/class-bsf-aiosrs-pro-schema.php:4336 msgid "Nepalese Rupee" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4312 +#: classes/class-bsf-aiosrs-pro-schema.php:4337 msgid "Netherlands Antillean Guilder" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4313 +#: classes/class-bsf-aiosrs-pro-schema.php:4338 msgid "New Taiwan Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4314 +#: classes/class-bsf-aiosrs-pro-schema.php:4339 msgid "New Zealand Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4315 +#: classes/class-bsf-aiosrs-pro-schema.php:4340 msgid "Nicaraguan Córdoba" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4316 +#: classes/class-bsf-aiosrs-pro-schema.php:4341 msgid "Nigerian Naira" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4317 +#: classes/class-bsf-aiosrs-pro-schema.php:4342 msgid "North Korean Won" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4318 +#: classes/class-bsf-aiosrs-pro-schema.php:4343 msgid "Norwegian Krone" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4319 +#: classes/class-bsf-aiosrs-pro-schema.php:4344 msgid "Omani Rial" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4320 +#: classes/class-bsf-aiosrs-pro-schema.php:4345 msgid "Pakistani Rupee" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4321 +#: classes/class-bsf-aiosrs-pro-schema.php:4346 msgid "Panamanian Balboa" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4322 +#: classes/class-bsf-aiosrs-pro-schema.php:4347 msgid "Papua New Guinean Kina" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4323 +#: classes/class-bsf-aiosrs-pro-schema.php:4348 msgid "Paraguayan Guarani" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4324 +#: classes/class-bsf-aiosrs-pro-schema.php:4349 msgid "Peruvian Sol" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4325 +#: classes/class-bsf-aiosrs-pro-schema.php:4350 msgid "Philippine Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4326 +#: classes/class-bsf-aiosrs-pro-schema.php:4351 msgid "Polish Zloty" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4327 +#: classes/class-bsf-aiosrs-pro-schema.php:4352 msgid "Qatari Rial" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4328 +#: classes/class-bsf-aiosrs-pro-schema.php:4353 msgid "Romanian Leu" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4329 +#: classes/class-bsf-aiosrs-pro-schema.php:4354 msgid "Russian Ruble" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4330 +#: classes/class-bsf-aiosrs-pro-schema.php:4355 msgid "Rwandan Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4331 +#: classes/class-bsf-aiosrs-pro-schema.php:4356 msgid "Salvadoran Colón" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4332 +#: classes/class-bsf-aiosrs-pro-schema.php:4357 msgid "Samoan Tala" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4333 +#: classes/class-bsf-aiosrs-pro-schema.php:4358 msgid "Saudi Riyal" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4334 +#: classes/class-bsf-aiosrs-pro-schema.php:4359 msgid "Serbian Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4335 +#: classes/class-bsf-aiosrs-pro-schema.php:4360 msgid "Seychellois Rupee" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4336 +#: classes/class-bsf-aiosrs-pro-schema.php:4361 msgid "Sierra Leonean Leone" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4337 +#: classes/class-bsf-aiosrs-pro-schema.php:4362 msgid "Singapore Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4338 +#: classes/class-bsf-aiosrs-pro-schema.php:4363 msgid "Slovak Koruna" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4339 +#: classes/class-bsf-aiosrs-pro-schema.php:4364 msgid "Solomon Islands Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4340 +#: classes/class-bsf-aiosrs-pro-schema.php:4365 msgid "Somali Shilling" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4341 +#: classes/class-bsf-aiosrs-pro-schema.php:4366 msgid "South African Rand" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4342 +#: classes/class-bsf-aiosrs-pro-schema.php:4367 msgid "South Korean Won" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4343 +#: classes/class-bsf-aiosrs-pro-schema.php:4368 msgid "Special Drawing Rights" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4344 +#: classes/class-bsf-aiosrs-pro-schema.php:4369 msgid "Sri Lankan Rupee" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4345 +#: classes/class-bsf-aiosrs-pro-schema.php:4370 msgid "St. Helena Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4346 +#: classes/class-bsf-aiosrs-pro-schema.php:4371 msgid "Sudanese Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4347 +#: classes/class-bsf-aiosrs-pro-schema.php:4372 msgid "Surinamese Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4348 +#: classes/class-bsf-aiosrs-pro-schema.php:4373 msgid "Swazi Lilangeni" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4349 +#: classes/class-bsf-aiosrs-pro-schema.php:4374 msgid "Swedish Krona" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4350 +#: classes/class-bsf-aiosrs-pro-schema.php:4375 msgid "Swiss Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4351 +#: classes/class-bsf-aiosrs-pro-schema.php:4376 msgid "Syrian Pound" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4352 +#: classes/class-bsf-aiosrs-pro-schema.php:4377 msgid "São Tomé & Príncipe Dobra" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4353 +#: classes/class-bsf-aiosrs-pro-schema.php:4378 msgid "Tajikistani Somoni" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4354 +#: classes/class-bsf-aiosrs-pro-schema.php:4379 msgid "Tanzanian Shilling" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4355 +#: classes/class-bsf-aiosrs-pro-schema.php:4380 msgid "Thai Baht" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4356 +#: classes/class-bsf-aiosrs-pro-schema.php:4381 msgid "Tongan Pa'anga" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4357 +#: classes/class-bsf-aiosrs-pro-schema.php:4382 msgid "Trinidad & Tobago Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4358 +#: classes/class-bsf-aiosrs-pro-schema.php:4383 msgid "Tunisian Dinar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4359 +#: classes/class-bsf-aiosrs-pro-schema.php:4384 msgid "Turkish Lira" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4360 +#: classes/class-bsf-aiosrs-pro-schema.php:4385 msgid "Turkmenistani Manat" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4361 +#: classes/class-bsf-aiosrs-pro-schema.php:4386 msgid "Ugandan Shilling" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4362 +#: classes/class-bsf-aiosrs-pro-schema.php:4387 msgid "Ukrainian Hryvnia" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4363 +#: classes/class-bsf-aiosrs-pro-schema.php:4388 msgid "United Arab Emirates Dirham" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4364 +#: classes/class-bsf-aiosrs-pro-schema.php:4389 msgid "Uruguayan Peso" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4365 +#: classes/class-bsf-aiosrs-pro-schema.php:4390 msgid "US Dollar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4366 +#: classes/class-bsf-aiosrs-pro-schema.php:4391 msgid "Uzbekistani Som" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4367 +#: classes/class-bsf-aiosrs-pro-schema.php:4392 msgid "Vanuatu Vatu" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4368 +#: classes/class-bsf-aiosrs-pro-schema.php:4393 msgid "Venezuelan Bolívar" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4369 +#: classes/class-bsf-aiosrs-pro-schema.php:4394 msgid "Vietnamese Dong" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4370 +#: classes/class-bsf-aiosrs-pro-schema.php:4395 msgid "West African CFA Franc" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4371 +#: classes/class-bsf-aiosrs-pro-schema.php:4396 msgid "Yemeni Rial" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4372 +#: classes/class-bsf-aiosrs-pro-schema.php:4397 msgid "Zambian Kwacha" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4380 -#: classes/class-bsf-aiosrs-pro-schema.php:4400 +#: classes/class-bsf-aiosrs-pro-schema.php:4405 +#: classes/class-bsf-aiosrs-pro-schema.php:4425 msgid "Business App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4381 +#: classes/class-bsf-aiosrs-pro-schema.php:4406 msgid "Game App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4382 +#: classes/class-bsf-aiosrs-pro-schema.php:4407 msgid "Multimedia App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4383 +#: classes/class-bsf-aiosrs-pro-schema.php:4408 msgid "Mobile App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4384 +#: classes/class-bsf-aiosrs-pro-schema.php:4409 msgid "Web App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4385 +#: classes/class-bsf-aiosrs-pro-schema.php:4410 msgid "Social Networking App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4386 +#: classes/class-bsf-aiosrs-pro-schema.php:4411 msgid "Travel App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4387 +#: classes/class-bsf-aiosrs-pro-schema.php:4412 msgid "Shopping App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4388 +#: classes/class-bsf-aiosrs-pro-schema.php:4413 msgid "Sports App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4389 +#: classes/class-bsf-aiosrs-pro-schema.php:4414 msgid "Lifestyle App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4390 +#: classes/class-bsf-aiosrs-pro-schema.php:4415 msgid "Design App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4391 +#: classes/class-bsf-aiosrs-pro-schema.php:4416 msgid "Developer App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4392 +#: classes/class-bsf-aiosrs-pro-schema.php:4417 msgid "Driver App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4393 +#: classes/class-bsf-aiosrs-pro-schema.php:4418 msgid "Educational App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4394 +#: classes/class-bsf-aiosrs-pro-schema.php:4419 msgid "Health App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4395 +#: classes/class-bsf-aiosrs-pro-schema.php:4420 msgid "Finance App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4396 +#: classes/class-bsf-aiosrs-pro-schema.php:4421 msgid "Security App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4397 +#: classes/class-bsf-aiosrs-pro-schema.php:4422 msgid "Browser App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4398 +#: classes/class-bsf-aiosrs-pro-schema.php:4423 msgid "Communication App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4399 +#: classes/class-bsf-aiosrs-pro-schema.php:4424 msgid "Desktop Enhancement App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4401 +#: classes/class-bsf-aiosrs-pro-schema.php:4426 msgid "Home App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4402 +#: classes/class-bsf-aiosrs-pro-schema.php:4427 msgid "Utilities App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4403 +#: classes/class-bsf-aiosrs-pro-schema.php:4428 msgid "Reference App" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4469 +#: classes/class-bsf-aiosrs-pro-schema.php:4494 msgid "-- None --" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4614 -#: classes/class-bsf-aiosrs-pro-schema.php:4652 +#: classes/class-bsf-aiosrs-pro-schema.php:4639 +#: classes/class-bsf-aiosrs-pro-schema.php:4677 msgid "All Schemas" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4651 +#: classes/class-bsf-aiosrs-pro-schema.php:4676 msgid "Search Schema" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4653 +#: classes/class-bsf-aiosrs-pro-schema.php:4678 msgid "Edit Schema" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4654 +#: classes/class-bsf-aiosrs-pro-schema.php:4679 msgid "View Schema" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4655 -#: classes/class-bsf-aiosrs-pro-schema.php:4657 +#: classes/class-bsf-aiosrs-pro-schema.php:4680 +#: classes/class-bsf-aiosrs-pro-schema.php:4682 msgid "Add New" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4656 +#: classes/class-bsf-aiosrs-pro-schema.php:4681 msgid "Update Schema" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4658 +#: classes/class-bsf-aiosrs-pro-schema.php:4683 msgid "New Schema Name" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4691 -#: classes/class-bsf-aiosrs-pro-schema.php:4697 +#: classes/class-bsf-aiosrs-pro-schema.php:4716 +#: classes/class-bsf-aiosrs-pro-schema.php:4722 #. translators: %s: singular custom post type name msgid "%s updated." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4693 +#: classes/class-bsf-aiosrs-pro-schema.php:4718 #. translators: %s: singular custom post type name msgid "Custom %s updated." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4695 +#: classes/class-bsf-aiosrs-pro-schema.php:4720 #. translators: %s: singular custom post type name msgid "Custom %s deleted." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4699 +#: classes/class-bsf-aiosrs-pro-schema.php:4724 #. translators: %1$s: singular custom post type name ,%2$s: date and time of #. the revision msgid "%1$s restored to revision from %2$s" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4701 +#: classes/class-bsf-aiosrs-pro-schema.php:4726 #. translators: %s: singular custom post type name msgid "%s published." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4703 +#: classes/class-bsf-aiosrs-pro-schema.php:4728 #. translators: %s: singular custom post type name msgid "%s saved." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4705 +#: classes/class-bsf-aiosrs-pro-schema.php:4730 #. translators: %s: singular custom post type name msgid "%s submitted." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4707 +#: classes/class-bsf-aiosrs-pro-schema.php:4732 #. translators: %s: singular custom post type name msgid "%s scheduled for." msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4709 +#: classes/class-bsf-aiosrs-pro-schema.php:4734 #. translators: %s: singular custom post type name msgid "%s draft updated." msgstr "" @@ -5372,12 +5394,12 @@ msgctxt "rating out of" msgid "%s/5" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4649 +#: classes/class-bsf-aiosrs-pro-schema.php:4674 msgctxt "aiosrs-schemas general name" msgid "Schemas" msgstr "" -#: classes/class-bsf-aiosrs-pro-schema.php:4650 +#: classes/class-bsf-aiosrs-pro-schema.php:4675 msgctxt "aiosrs-schemas singular name" msgid "Schema" msgstr "" diff --git a/wp/wp-content/plugins/wp-schema-pro/wp-schema-pro.php b/wp/wp-content/plugins/wp-schema-pro/wp-schema-pro.php index 46b3b0ff..f8c92da0 100644 --- a/wp/wp-content/plugins/wp-schema-pro/wp-schema-pro.php +++ b/wp/wp-content/plugins/wp-schema-pro/wp-schema-pro.php @@ -5,7 +5,7 @@ * Author: Brainstorm Force * Author URI: https://www.brainstormforce.com * Description: Schema Pro is the go-to plugin to adding Schema Markup on your website with ease. Enables you to display rich snippets on search engines and improve your overall page SEO. - * Version: 2.7.10 + * Version: 2.7.11 * Text Domain: wp-schema-pro * License: GPL2 * @@ -70,7 +70,7 @@ define( 'BSF_AIOSRS_PRO_FILE', __FILE__ ); define( 'BSF_AIOSRS_PRO_BASE', plugin_basename( BSF_AIOSRS_PRO_FILE ) ); define( 'BSF_AIOSRS_PRO_DIR', plugin_dir_path( BSF_AIOSRS_PRO_FILE ) ); define( 'BSF_AIOSRS_PRO_URI', plugins_url( '/', BSF_AIOSRS_PRO_FILE ) ); -define( 'BSF_AIOSRS_PRO_VER', '2.7.10' ); +define( 'BSF_AIOSRS_PRO_VER', '2.7.11' ); define( 'BSF_AIOSRS_PRO_CACHE_KEY', 'wp_schema_pro_optimized_structured_data' ); define( 'BSF_AIOSRS_PRO_WEBSITE_URL', 'https://wpschema.com/' ); diff --git a/wp/wp-content/plugins/wp-schema-pro/wpsp-blocks/classes/class-bsf-sp-helper.php b/wp/wp-content/plugins/wp-schema-pro/wpsp-blocks/classes/class-bsf-sp-helper.php index cb60cf2e..66fb9ba6 100644 --- a/wp/wp-content/plugins/wp-schema-pro/wpsp-blocks/classes/class-bsf-sp-helper.php +++ b/wp/wp-content/plugins/wp-schema-pro/wpsp-blocks/classes/class-bsf-sp-helper.php @@ -1,731 +1,731 @@ - $curr_block_name ) { - - $js_assets = ( isset( $blocks[ $curr_block_name ]['js_assets'] ) ) ? $blocks[ $curr_block_name ]['js_assets'] : array(); - - $css_assets = ( isset( $blocks[ $curr_block_name ]['css_assets'] ) ) ? $blocks[ $curr_block_name ]['css_assets'] : array(); - - foreach ( $js_assets as $asset_handle => $val ) { - // Scripts. - if ( 'wpsp-faq-js' === $val ) { - if ( self::$wpsp_faq_layout ) { - wp_enqueue_script( 'wpsp-faq-js' ); - } - } else { - wp_enqueue_script( $val ); - } - } - - foreach ( $css_assets as $asset_handle => $val ) { - // Styles. - wp_enqueue_style( $val ); - } - } - - } - - /** - * Print the Script in footer. - */ - public function print_script() { - - ob_start(); - ?> - - - - $gfont_values ) { - if ( ! empty( $link ) ) { - $link .= '%7C'; // Append a new font to the string. - } - $link .= $gfont_values['fontfamily']; - if ( ! empty( $gfont_values['fontvariants'] ) ) { - $link .= ':'; - $link .= implode( ',', $gfont_values['fontvariants'] ); - } - if ( ! empty( $gfont_values['fontsubsets'] ) ) { - foreach ( $gfont_values['fontsubsets'] as $subset ) { - if ( ! in_array( $subset, $subsets, true ) ) { - array_push( $subsets, $subset ); - } - } - } - } - if ( ! empty( $subsets ) ) { - $link .= '&subset=' . implode( ',', $subsets ); - } - if ( isset( $link ) && ! empty( $link ) ) { - echo ''; //phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet - } - } - - - /** - * Parse CSS into correct CSS syntax. - * - * @param array $selectors The block selectors. - * @param string $id The selector ID. - * @since 2.2.0 - */ - public static function generate_css( $selectors, $id ) { - $styling_css = ''; - - if ( empty( $selectors ) ) { - return ''; - } - - foreach ( $selectors as $key => $value ) { - - $css = ''; - - foreach ( $value as $j => $val ) { - - if ( 'font-family' === $j && 'Default' === $val ) { - continue; - } - - if ( ! empty( $val ) || 0 === $val ) { - if ( 'font-family' === $j ) { - $css .= $j . ': "' . $val . '";'; - } else { - $css .= $j . ': ' . $val . ';'; - } - } - } - - if ( ! empty( $css ) ) { - $styling_css .= $id; - $styling_css .= $key . '{'; - $styling_css .= $css . '}'; - } - } - - return $styling_css; - } - - /** - * Get CSS value - * - * Syntax: - * - * get_css_value( VALUE, UNIT ); - * - * E.g. - * - * get_css_value( VALUE, 'em' ); - * - * @param string $value CSS value. - * @param string $unit CSS unit. - * @since 2.2.0 - */ - public static function get_css_value( $value = '', $unit = '' ) { - - if ( '' == $value ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison - return $value; - } - - $css_val = ''; - - if ( ! empty( $value ) ) { - $css_val = esc_attr( $value ) . $unit; - } - - return $css_val; - } - - /** - * Generates CSS recurrsively. - * - * @param object $block The block object. - * @since 2.2.0 - */ - public function get_block_css_and_js( $block ) { - - $block = (array) $block; - - $name = $block['blockName']; - $css = array(); - $js = ''; - $block_id = ''; - - if ( ! isset( $name ) ) { - return array( - 'css' => array(), - 'js' => '', - ); - } - $blockattr = array(); - if ( isset( $block['attrs'] ) && is_array( $block['attrs'] ) ) { - $blockattr = $block['attrs']; - if ( isset( $blockattr['block_id'] ) ) { - $block_id = $blockattr['block_id']; - } - } - - self::$current_block_list[] = $name; - - if ( strpos( $name, 'wpsp/' ) !== false ) { - self::$wpsp_flag = true; - } - - switch ( $name ) { - - case 'wpsp/faq': - if ( ! empty( $blockattr ) ) { - $css = BSF_SP_Block_Helper::get_faq_css( $blockattr, $block_id ); - if ( ! isset( $blockattr['layout'] ) ) { - self::$wpsp_faq_layout = true; - } - BSF_SP_Block_JS::blocks_faq_gfont( $blockattr ); - } - break; - case 'wpsp/how-to': - if ( ! empty( $blockattr ) ) { - $css += BSF_SP_Block_Helper::get_how_to_css( $blockattr, $block_id ); - BSF_SP_Block_JS::blocks_how_to_gfont( $blockattr ); - } - break; - case 'wpsp/how-to-child': - if ( ! empty( $blockattr ) ) { - $css += BSF_SP_Block_Helper::get_how_to_child_css( $blockattr, $block_id ); - BSF_SP_Block_JS::blocks_how_to_child_gfont( $blockattr ); - } - break; - default: - // Nothing to do here. - break; - } - - if ( isset( $block['innerBlocks'] ) ) { - foreach ( $block['innerBlocks'] as $j => $inner_block ) { - if ( 'core/block' === $inner_block['blockName'] ) { - $id = ( isset( $inner_block['attrs']['ref'] ) ) ? $inner_block['attrs']['ref'] : 0; - - if ( $id ) { - $content = get_post_field( 'post_content', $id ); - - $reusable_blocks = $this->parse( $content ); - - $assets = $this->get_assets( $reusable_blocks ); - - self::$stylesheet .= $assets['css']; - self::$script .= $assets['js']; - } - } else { - // Get CSS for the Block. - $inner_assets = $this->get_block_css_and_js( $inner_block ); - $inner_block_css = $inner_assets['css']; - - $css_desktop = ( isset( $css['desktop'] ) ? $css['desktop'] : '' ); - $css_tablet = ( isset( $css['tablet'] ) ? $css['tablet'] : '' ); - $css_mobile = ( isset( $css['mobile'] ) ? $css['mobile'] : '' ); - - if ( isset( $inner_block_css['desktop'] ) ) { - $css['desktop'] = $css_desktop . $inner_block_css['desktop']; - $css['tablet'] = $css_tablet . $inner_block_css['tablet']; - $css['mobile'] = $css_mobile . $inner_block_css['mobile']; - } - - $js .= $inner_assets['js']; - } - } - } - - self::$current_block_list = array_unique( self::$current_block_list ); - - return array( - 'css' => $css, - 'js' => $js, - ); - - } - - /** - * Adds Google fonts all blocks. - * - * @param array $load_google_font the blocks attr. - * @param array $font_family the blocks attr. - * @param array $font_weight the blocks attr. - * @param array $font_subset the blocks attr. - */ - public static function blocks_google_font( $load_google_font, $font_family, $font_weight, $font_subset ) { - - if ( true === $load_google_font ) { - if ( ! array_key_exists( $font_family, self::$gfonts ) ) { - $add_font = array( - 'fontfamily' => $font_family, - 'fontvariants' => ( isset( $font_weight ) && ! empty( $font_weight ) ? array( $font_weight ) : array() ), - 'fontsubsets' => ( isset( $font_subset ) && ! empty( $font_subset ) ? array( $font_subset ) : array() ), - ); - self::$gfonts[ $font_family ] = $add_font; - } else { - if ( isset( $font_weight ) && ! empty( $font_weight ) && ! in_array( $font_weight, self::$gfonts[ $font_family ]['fontvariants'], true ) ) { - array_push( self::$gfonts[ $font_family ]['fontvariants'], $font_weight ); - } - if ( isset( $font_subset ) && ! empty( $font_subset ) && ! in_array( $font_subset, self::$gfonts[ $font_family ]['fontsubsets'], true ) ) { - array_push( self::$gfonts[ $font_family ]['fontsubsets'], $font_subset ); - } - } - } - } - - /** - * Generates stylesheet and appends in head tag. - * - * @since 2.2.0 - */ - public function generate_assets() { - - $this_post = array(); - - global $post; - $this_post = $post; - - if ( ! is_object( $this_post ) ) { - return; - } - - /** - * Filters the post to build stylesheet for. - * - * @param \WP_Post $this_post The global post. - */ - $this_post = apply_filters( 'wpsp_post_for_stylesheet', $this_post ); - - $this->get_generated_stylesheet( $this_post ); - - } - - /** - * Generates stylesheet in loop. - * - * @param object $this_post Current Post Object. - * @since 2.2.0 - */ - public function get_generated_stylesheet( $this_post ) { - - if ( ! is_object( $this_post ) ) { - return; - } - - if ( ! isset( $this_post->ID ) ) { - return; - } - if ( function_exists( 'has_blocks' ) && has_blocks( $this_post->ID ) && isset( $this_post->post_content ) ) { - $blocks = $this->parse( $this_post->post_content ); - self::$page_blocks = $blocks; - - if ( ! is_array( $blocks ) || empty( $blocks ) ) { - return; - } - - $assets = $this->get_assets( $blocks ); - - self::$stylesheet .= $assets['css']; - self::$script .= $assets['js']; - } - } - - /** - * Parse Guten Block. - * - * @param string $content the content string. - * @since 2.2.0 - */ - public function parse( $content ) { - - global $wp_version; - - return ( version_compare( $wp_version, '5', '>=' ) ) ? parse_blocks( $content ) : gutenberg_parse_blocks( $content ); - } - - /** - * Generates stylesheet for reusable blocks. - * - * @param array $blocks Blocks array. - * @since 2.2.0 - */ - public function get_assets( $blocks ) { - - $desktop = ''; - $tablet = ''; - $mobile = ''; - - $tab_styling_css = ''; - $mob_styling_css = ''; - - $js = ''; - - foreach ( $blocks as $i => $block ) { - - if ( is_array( $block ) ) { - - if ( '' === $block['blockName'] ) { - continue; - } - if ( 'core/block' === $block['blockName'] ) { - $id = ( isset( $block['attrs']['ref'] ) ) ? $block['attrs']['ref'] : 0; - - if ( $id ) { - $content = get_post_field( 'post_content', $id ); - - $reusable_blocks = $this->parse( $content ); - - $assets = $this->get_assets( $reusable_blocks ); - - self::$stylesheet .= $assets['css']; - self::$script .= $assets['js']; - - } - } else { - - $block_assets = $this->get_block_css_and_js( $block ); - - // Get CSS for the Block. - $css = $block_assets['css']; - - if ( isset( $css['desktop'] ) ) { - $desktop .= $css['desktop']; - $tablet .= $css['tablet']; - $mobile .= $css['mobile']; - } - - $js .= $block_assets['js']; - } - } - } - - if ( ! empty( $tablet ) ) { - $tab_styling_css .= '@media only screen and (max-width: ' . WPSP_TABLET_BREAKPOINT . 'px) {'; - $tab_styling_css .= $tablet; - $tab_styling_css .= '}'; - } - - if ( ! empty( $mobile ) ) { - $mob_styling_css .= '@media only screen and (max-width: ' . WPSP_MOBILE_BREAKPOINT . 'px) {'; - $mob_styling_css .= $mobile; - $mob_styling_css .= '}'; - } - - return array( - 'css' => $desktop . $tab_styling_css . $mob_styling_css, - 'js' => $js, - ); - } - - /** - * Get Typography Dynamic CSS. - * - * @param array $attr The Attribute array. - * @param string $slug The field slug. - * @param string $selector The selector array. - * @param array $combined_selectors The combined selector array. - * @since 2.2.0 - * @return bool|string - */ - public static function get_typography_css( $attr, $slug, $selector, $combined_selectors ) { - - $typo_css_desktop = array(); - $typo_css_tablet = array(); - $typo_css_mobile = array(); - - $already_selectors_desktop = ( isset( $combined_selectors['desktop'][ $selector ] ) ) ? $combined_selectors['desktop'][ $selector ] : array(); - $already_selectors_tablet = ( isset( $combined_selectors['tablet'][ $selector ] ) ) ? $combined_selectors['tablet'][ $selector ] : array(); - $already_selectors_mobile = ( isset( $combined_selectors['mobile'][ $selector ] ) ) ? $combined_selectors['mobile'][ $selector ] : array(); - - $family_slug = ( '' === $slug ) ? 'fontFamily' : $slug . 'FontFamily'; - $weight_slug = ( '' === $slug ) ? 'fontWeight' : $slug . 'FontWeight'; - - $l_ht_slug = ( '' === $slug ) ? 'lineHeight' : $slug . 'LineHeight'; - $f_sz_slug = ( '' === $slug ) ? 'fontSize' : $slug . 'FontSize'; - $l_ht_type_slug = ( '' === $slug ) ? 'lineHeightType' : $slug . 'LineHeightType'; - $f_sz_type_slug = ( '' === $slug ) ? 'fontSizeType' : $slug . 'FontSizeType'; - - $typo_css_desktop[ $selector ] = array( - 'font-family' => $attr[ $family_slug ], - 'font-weight' => $attr[ $weight_slug ], - 'font-size' => ( isset( $attr[ $f_sz_slug ] ) ) ? self::get_css_value( $attr[ $f_sz_slug ], $attr[ $f_sz_type_slug ] ) : '', - 'line-height' => ( isset( $attr[ $l_ht_slug ] ) ) ? self::get_css_value( $attr[ $l_ht_slug ], $attr[ $l_ht_type_slug ] ) : '', - ); - - $typo_css_desktop[ $selector ] = array_merge( - $typo_css_desktop[ $selector ], - $already_selectors_desktop - ); - - $typo_css_tablet[ $selector ] = array( - 'font-size' => ( isset( $attr[ $f_sz_slug . 'Tablet' ] ) ) ? self::get_css_value( $attr[ $f_sz_slug . 'Tablet' ], $attr[ $f_sz_type_slug ] ) : '', - 'line-height' => ( isset( $attr[ $l_ht_slug . 'Tablet' ] ) ) ? self::get_css_value( $attr[ $l_ht_slug . 'Tablet' ], $attr[ $l_ht_type_slug ] ) : '', - ); - - $typo_css_tablet[ $selector ] = array_merge( - $typo_css_tablet[ $selector ], - $already_selectors_tablet - ); - - $typo_css_mobile[ $selector ] = array( - 'font-size' => ( isset( $attr[ $f_sz_slug . 'Mobile' ] ) ) ? self::get_css_value( $attr[ $f_sz_slug . 'Mobile' ], $attr[ $f_sz_type_slug ] ) : '', - 'line-height' => ( isset( $attr[ $l_ht_slug . 'Mobile' ] ) ) ? self::get_css_value( $attr[ $l_ht_slug . 'Mobile' ], $attr[ $l_ht_type_slug ] ) : '', - ); - - $typo_css_mobile[ $selector ] = array_merge( - $typo_css_mobile[ $selector ], - $already_selectors_mobile - ); - - return array( - 'desktop' => array_merge( - $combined_selectors['desktop'], - $typo_css_desktop - ), - 'tablet' => array_merge( - $combined_selectors['tablet'], - $typo_css_tablet - ), - 'mobile' => array_merge( - $combined_selectors['mobile'], - $typo_css_mobile - ), - ); - } - - /** - * Parse CSS into correct CSS syntax. - * - * @param array $combined_selectors The combined selector array. - * @param string $id The selector ID. - * @since 2.2.0 - */ - public static function generate_all_css( $combined_selectors, $id ) { - - return array( - 'desktop' => self::generate_css( $combined_selectors['desktop'], $id ), - 'tablet' => self::generate_css( $combined_selectors['tablet'], $id ), - 'mobile' => self::generate_css( $combined_selectors['mobile'], $id ), - ); - } - - /** - * Get an instance of WP_Filesystem_Direct. - * - * @since 1.14.4 - * @return object A WP_Filesystem_Direct instance. - */ - public function get_filesystem() { - global $wp_filesystem; - - require_once ABSPATH . '/wp-admin/includes/file.php'; - - WP_Filesystem(); - - return $wp_filesystem; - } - } - - - /** - * Prepare if class 'BSF_SP_Helper' exist. - * Kicking this off by calling 'get_instance()' method - */ - BSF_SP_Helper::get_instance(); -} - + $curr_block_name ) { + + $js_assets = ( isset( $blocks[ $curr_block_name ]['js_assets'] ) ) ? $blocks[ $curr_block_name ]['js_assets'] : array(); + + $css_assets = ( isset( $blocks[ $curr_block_name ]['css_assets'] ) ) ? $blocks[ $curr_block_name ]['css_assets'] : array(); + + foreach ( $js_assets as $asset_handle => $val ) { + // Scripts. + if ( 'wpsp-faq-js' === $val ) { + if ( self::$wpsp_faq_layout ) { + wp_enqueue_script( 'wpsp-faq-js' ); + } + } else { + wp_enqueue_script( $val ); + } + } + + foreach ( $css_assets as $asset_handle => $val ) { + // Styles. + wp_enqueue_style( $val ); + } + } + + } + + /** + * Print the Script in footer. + */ + public function print_script() { + + ob_start(); + ?> + + + + $gfont_values ) { + if ( ! empty( $link ) ) { + $link .= '%7C'; // Append a new font to the string. + } + $link .= $gfont_values['fontfamily']; + if ( ! empty( $gfont_values['fontvariants'] ) ) { + $link .= ':'; + $link .= implode( ',', $gfont_values['fontvariants'] ); + } + if ( ! empty( $gfont_values['fontsubsets'] ) ) { + foreach ( $gfont_values['fontsubsets'] as $subset ) { + if ( ! in_array( $subset, $subsets, true ) ) { + array_push( $subsets, $subset ); + } + } + } + } + if ( ! empty( $subsets ) ) { + $link .= '&subset=' . implode( ',', $subsets ); + } + if ( isset( $link ) && ! empty( $link ) ) { + echo ''; //phpcs:ignore WordPress.WP.EnqueuedResources.NonEnqueuedStylesheet + } + } + + + /** + * Parse CSS into correct CSS syntax. + * + * @param array $selectors The block selectors. + * @param string $id The selector ID. + * @since 2.2.0 + */ + public static function generate_css( $selectors, $id ) { + $styling_css = ''; + + if ( empty( $selectors ) ) { + return ''; + } + + foreach ( $selectors as $key => $value ) { + + $css = ''; + + foreach ( $value as $j => $val ) { + + if ( 'font-family' === $j && 'Default' === $val ) { + continue; + } + + if ( ! empty( $val ) || 0 === $val ) { + if ( 'font-family' === $j ) { + $css .= $j . ': "' . $val . '";'; + } else { + $css .= $j . ': ' . $val . ';'; + } + } + } + + if ( ! empty( $css ) ) { + $styling_css .= $id; + $styling_css .= $key . '{'; + $styling_css .= $css . '}'; + } + } + + return $styling_css; + } + + /** + * Get CSS value + * + * Syntax: + * + * get_css_value( VALUE, UNIT ); + * + * E.g. + * + * get_css_value( VALUE, 'em' ); + * + * @param string $value CSS value. + * @param string $unit CSS unit. + * @since 2.2.0 + */ + public static function get_css_value( $value = '', $unit = '' ) { + + if ( '' == $value ) { // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison + return $value; + } + + $css_val = ''; + + if ( ! empty( $value ) ) { + $css_val = esc_attr( $value ) . $unit; + } + + return $css_val; + } + + /** + * Generates CSS recurrsively. + * + * @param object $block The block object. + * @since 2.2.0 + */ + public function get_block_css_and_js( $block ) { + + $block = (array) $block; + + $name = $block['blockName']; + $css = array(); + $js = ''; + $block_id = ''; + + if ( ! isset( $name ) ) { + return array( + 'css' => array(), + 'js' => '', + ); + } + $blockattr = array(); + if ( isset( $block['attrs'] ) && is_array( $block['attrs'] ) ) { + $blockattr = $block['attrs']; + if ( isset( $blockattr['block_id'] ) ) { + $block_id = $blockattr['block_id']; + } + } + + self::$current_block_list[] = $name; + + if ( strpos( $name, 'wpsp/' ) !== false ) { + self::$wpsp_flag = true; + } + + switch ( $name ) { + + case 'wpsp/faq': + if ( ! empty( $blockattr ) ) { + $css = BSF_SP_Block_Helper::get_faq_css( $blockattr, $block_id ); + if ( ! isset( $blockattr['layout'] ) ) { + self::$wpsp_faq_layout = true; + } + BSF_SP_Block_JS::blocks_faq_gfont( $blockattr ); + } + break; + case 'wpsp/how-to': + if ( ! empty( $blockattr ) ) { + $css += BSF_SP_Block_Helper::get_how_to_css( $blockattr, $block_id ); + BSF_SP_Block_JS::blocks_how_to_gfont( $blockattr ); + } + break; + case 'wpsp/how-to-child': + if ( ! empty( $blockattr ) ) { + $css += BSF_SP_Block_Helper::get_how_to_child_css( $blockattr, $block_id ); + BSF_SP_Block_JS::blocks_how_to_child_gfont( $blockattr ); + } + break; + default: + // Nothing to do here. + break; + } + + if ( isset( $block['innerBlocks'] ) ) { + foreach ( $block['innerBlocks'] as $j => $inner_block ) { + if ( 'core/block' === $inner_block['blockName'] ) { + $id = ( isset( $inner_block['attrs']['ref'] ) ) ? $inner_block['attrs']['ref'] : 0; + + if ( $id ) { + $content = get_post_field( 'post_content', $id ); + + $reusable_blocks = $this->parse( $content ); + + $assets = $this->get_assets( $reusable_blocks ); + + self::$stylesheet .= $assets['css']; + self::$script .= $assets['js']; + } + } else { + // Get CSS for the Block. + $inner_assets = $this->get_block_css_and_js( $inner_block ); + $inner_block_css = $inner_assets['css']; + + $css_desktop = ( isset( $css['desktop'] ) ? $css['desktop'] : '' ); + $css_tablet = ( isset( $css['tablet'] ) ? $css['tablet'] : '' ); + $css_mobile = ( isset( $css['mobile'] ) ? $css['mobile'] : '' ); + + if ( isset( $inner_block_css['desktop'] ) ) { + $css['desktop'] = $css_desktop . $inner_block_css['desktop']; + $css['tablet'] = $css_tablet . $inner_block_css['tablet']; + $css['mobile'] = $css_mobile . $inner_block_css['mobile']; + } + + $js .= $inner_assets['js']; + } + } + } + + self::$current_block_list = array_unique( self::$current_block_list ); + + return array( + 'css' => $css, + 'js' => $js, + ); + + } + + /** + * Adds Google fonts all blocks. + * + * @param array $load_google_font the blocks attr. + * @param array $font_family the blocks attr. + * @param array $font_weight the blocks attr. + * @param array $font_subset the blocks attr. + */ + public static function blocks_google_font( $load_google_font, $font_family, $font_weight, $font_subset ) { + + if ( true === $load_google_font ) { + if ( ! array_key_exists( $font_family, self::$gfonts ) ) { + $add_font = array( + 'fontfamily' => $font_family, + 'fontvariants' => ( isset( $font_weight ) && ! empty( $font_weight ) ? array( $font_weight ) : array() ), + 'fontsubsets' => ( isset( $font_subset ) && ! empty( $font_subset ) ? array( $font_subset ) : array() ), + ); + self::$gfonts[ $font_family ] = $add_font; + } else { + if ( isset( $font_weight ) && ! empty( $font_weight ) && ! in_array( $font_weight, self::$gfonts[ $font_family ]['fontvariants'], true ) ) { + array_push( self::$gfonts[ $font_family ]['fontvariants'], $font_weight ); + } + if ( isset( $font_subset ) && ! empty( $font_subset ) && ! in_array( $font_subset, self::$gfonts[ $font_family ]['fontsubsets'], true ) ) { + array_push( self::$gfonts[ $font_family ]['fontsubsets'], $font_subset ); + } + } + } + } + + /** + * Generates stylesheet and appends in head tag. + * + * @since 2.2.0 + */ + public function generate_assets() { + + $this_post = array(); + + global $post; + $this_post = $post; + + if ( ! is_object( $this_post ) ) { + return; + } + + /** + * Filters the post to build stylesheet for. + * + * @param \WP_Post $this_post The global post. + */ + $this_post = apply_filters( 'wpsp_post_for_stylesheet', $this_post ); + + $this->get_generated_stylesheet( $this_post ); + + } + + /** + * Generates stylesheet in loop. + * + * @param object $this_post Current Post Object. + * @since 2.2.0 + */ + public function get_generated_stylesheet( $this_post ) { + + if ( ! is_object( $this_post ) ) { + return; + } + + if ( ! isset( $this_post->ID ) ) { + return; + } + if ( function_exists( 'has_blocks' ) && has_blocks( $this_post->ID ) && isset( $this_post->post_content ) ) { + $blocks = $this->parse( $this_post->post_content ); + self::$page_blocks = $blocks; + + if ( ! is_array( $blocks ) || empty( $blocks ) ) { + return; + } + + $assets = $this->get_assets( $blocks ); + + self::$stylesheet .= $assets['css']; + self::$script .= $assets['js']; + } + } + + /** + * Parse Guten Block. + * + * @param string $content the content string. + * @since 2.2.0 + */ + public function parse( $content ) { + + global $wp_version; + + return ( version_compare( $wp_version, '5', '>=' ) ) ? parse_blocks( $content ) : gutenberg_parse_blocks( $content ); + } + + /** + * Generates stylesheet for reusable blocks. + * + * @param array $blocks Blocks array. + * @since 2.2.0 + */ + public function get_assets( $blocks ) { + + $desktop = ''; + $tablet = ''; + $mobile = ''; + + $tab_styling_css = ''; + $mob_styling_css = ''; + + $js = ''; + + foreach ( $blocks as $i => $block ) { + + if ( is_array( $block ) ) { + + if ( '' === $block['blockName'] ) { + continue; + } + if ( 'core/block' === $block['blockName'] ) { + $id = ( isset( $block['attrs']['ref'] ) ) ? $block['attrs']['ref'] : 0; + + if ( $id ) { + $content = get_post_field( 'post_content', $id ); + + $reusable_blocks = $this->parse( $content ); + + $assets = $this->get_assets( $reusable_blocks ); + + self::$stylesheet .= $assets['css']; + self::$script .= $assets['js']; + + } + } else { + + $block_assets = $this->get_block_css_and_js( $block ); + + // Get CSS for the Block. + $css = $block_assets['css']; + + if ( isset( $css['desktop'] ) ) { + $desktop .= $css['desktop']; + $tablet .= $css['tablet']; + $mobile .= $css['mobile']; + } + + $js .= $block_assets['js']; + } + } + } + + if ( ! empty( $tablet ) ) { + $tab_styling_css .= '@media only screen and (max-width: ' . WPSP_TABLET_BREAKPOINT . 'px) {'; + $tab_styling_css .= $tablet; + $tab_styling_css .= '}'; + } + + if ( ! empty( $mobile ) ) { + $mob_styling_css .= '@media only screen and (max-width: ' . WPSP_MOBILE_BREAKPOINT . 'px) {'; + $mob_styling_css .= $mobile; + $mob_styling_css .= '}'; + } + + return array( + 'css' => $desktop . $tab_styling_css . $mob_styling_css, + 'js' => $js, + ); + } + + /** + * Get Typography Dynamic CSS. + * + * @param array $attr The Attribute array. + * @param string $slug The field slug. + * @param string $selector The selector array. + * @param array $combined_selectors The combined selector array. + * @since 2.2.0 + * @return bool|string + */ + public static function get_typography_css( $attr, $slug, $selector, $combined_selectors ) { + + $typo_css_desktop = array(); + $typo_css_tablet = array(); + $typo_css_mobile = array(); + + $already_selectors_desktop = ( isset( $combined_selectors['desktop'][ $selector ] ) ) ? $combined_selectors['desktop'][ $selector ] : array(); + $already_selectors_tablet = ( isset( $combined_selectors['tablet'][ $selector ] ) ) ? $combined_selectors['tablet'][ $selector ] : array(); + $already_selectors_mobile = ( isset( $combined_selectors['mobile'][ $selector ] ) ) ? $combined_selectors['mobile'][ $selector ] : array(); + + $family_slug = ( '' === $slug ) ? 'fontFamily' : $slug . 'FontFamily'; + $weight_slug = ( '' === $slug ) ? 'fontWeight' : $slug . 'FontWeight'; + + $l_ht_slug = ( '' === $slug ) ? 'lineHeight' : $slug . 'LineHeight'; + $f_sz_slug = ( '' === $slug ) ? 'fontSize' : $slug . 'FontSize'; + $l_ht_type_slug = ( '' === $slug ) ? 'lineHeightType' : $slug . 'LineHeightType'; + $f_sz_type_slug = ( '' === $slug ) ? 'fontSizeType' : $slug . 'FontSizeType'; + + $typo_css_desktop[ $selector ] = array( + 'font-family' => $attr[ $family_slug ], + 'font-weight' => $attr[ $weight_slug ], + 'font-size' => ( isset( $attr[ $f_sz_slug ] ) ) ? self::get_css_value( $attr[ $f_sz_slug ], $attr[ $f_sz_type_slug ] ) : '', + 'line-height' => ( isset( $attr[ $l_ht_slug ] ) ) ? self::get_css_value( $attr[ $l_ht_slug ], $attr[ $l_ht_type_slug ] ) : '', + ); + + $typo_css_desktop[ $selector ] = array_merge( + $typo_css_desktop[ $selector ], + $already_selectors_desktop + ); + + $typo_css_tablet[ $selector ] = array( + 'font-size' => ( isset( $attr[ $f_sz_slug . 'Tablet' ] ) ) ? self::get_css_value( $attr[ $f_sz_slug . 'Tablet' ], $attr[ $f_sz_type_slug ] ) : '', + 'line-height' => ( isset( $attr[ $l_ht_slug . 'Tablet' ] ) ) ? self::get_css_value( $attr[ $l_ht_slug . 'Tablet' ], $attr[ $l_ht_type_slug ] ) : '', + ); + + $typo_css_tablet[ $selector ] = array_merge( + $typo_css_tablet[ $selector ], + $already_selectors_tablet + ); + + $typo_css_mobile[ $selector ] = array( + 'font-size' => ( isset( $attr[ $f_sz_slug . 'Mobile' ] ) ) ? self::get_css_value( $attr[ $f_sz_slug . 'Mobile' ], $attr[ $f_sz_type_slug ] ) : '', + 'line-height' => ( isset( $attr[ $l_ht_slug . 'Mobile' ] ) ) ? self::get_css_value( $attr[ $l_ht_slug . 'Mobile' ], $attr[ $l_ht_type_slug ] ) : '', + ); + + $typo_css_mobile[ $selector ] = array_merge( + $typo_css_mobile[ $selector ], + $already_selectors_mobile + ); + + return array( + 'desktop' => array_merge( + $combined_selectors['desktop'], + $typo_css_desktop + ), + 'tablet' => array_merge( + $combined_selectors['tablet'], + $typo_css_tablet + ), + 'mobile' => array_merge( + $combined_selectors['mobile'], + $typo_css_mobile + ), + ); + } + + /** + * Parse CSS into correct CSS syntax. + * + * @param array $combined_selectors The combined selector array. + * @param string $id The selector ID. + * @since 2.2.0 + */ + public static function generate_all_css( $combined_selectors, $id ) { + + return array( + 'desktop' => self::generate_css( $combined_selectors['desktop'], $id ), + 'tablet' => self::generate_css( $combined_selectors['tablet'], $id ), + 'mobile' => self::generate_css( $combined_selectors['mobile'], $id ), + ); + } + + /** + * Get an instance of WP_Filesystem_Direct. + * + * @since 1.14.4 + * @return object A WP_Filesystem_Direct instance. + */ + public function get_filesystem() { + global $wp_filesystem; + + require_once ABSPATH . '/wp-admin/includes/file.php'; + + WP_Filesystem(); + + return $wp_filesystem; + } + } + + + /** + * Prepare if class 'BSF_SP_Helper' exist. + * Kicking this off by calling 'get_instance()' method + */ + BSF_SP_Helper::get_instance(); +} + diff --git a/wp/wp-includes/block-patterns.php b/wp/wp-includes/block-patterns.php index b74f7561..66bdfd68 100644 --- a/wp/wp-includes/block-patterns.php +++ b/wp/wp-includes/block-patterns.php @@ -324,7 +324,7 @@ function _register_remote_theme_patterns() { * @since 6.0.0 * @since 6.1.0 The `postTypes` property was added. * @since 6.2.0 The `templateTypes` property was added. - * @since 6.4.0 Uses the `_wp_get_block_patterns` function. + * @since 6.4.0 Uses the `WP_Theme::get_block_patterns` method. * @access private */ function _register_theme_block_patterns() { diff --git a/wp/wp-includes/block-template-utils.php b/wp/wp-includes/block-template-utils.php index a4e54432..265758b9 100644 --- a/wp/wp-includes/block-template-utils.php +++ b/wp/wp-includes/block-template-utils.php @@ -518,12 +518,12 @@ function _remove_theme_attribute_from_template_part_block( &$block ) { */ function _build_block_template_result_from_file( $template_file, $template_type ) { $default_template_types = get_default_block_template_types(); - $template_content = file_get_contents( $template_file['path'] ); $theme = get_stylesheet(); $template = new WP_Block_Template(); $template->id = $theme . '//' . $template_file['slug']; $template->theme = $theme; + $template->content = file_get_contents( $template_file['path'] ); $template->slug = $template_file['slug']; $template->source = 'theme'; $template->type = $template_type; @@ -554,7 +554,7 @@ function _build_block_template_result_from_file( $template_file, $template_type $before_block_visitor = make_before_block_visitor( $hooked_blocks, $template ); $after_block_visitor = make_after_block_visitor( $hooked_blocks, $template ); } - $blocks = parse_blocks( $template_content ); + $blocks = parse_blocks( $template->content ); $template->content = traverse_and_serialize_blocks( $blocks, $before_block_visitor, $after_block_visitor ); return $template; diff --git a/wp/wp-includes/html-api/class-wp-html-tag-processor.php b/wp/wp-includes/html-api/class-wp-html-tag-processor.php index 1fe00293..0572c466 100644 --- a/wp/wp-includes/html-api/class-wp-html-tag-processor.php +++ b/wp/wp-includes/html-api/class-wp-html-tag-processor.php @@ -116,7 +116,7 @@ * * Example: * - * if ( $tags->next_tag( array( 'class' => 'wp-group-block' ) ) ) { + * if ( $tags->next_tag( array( 'class_name' => 'wp-group-block' ) ) ) { * $tags->set_attribute( 'title', 'This groups the contained content.' ); * $tags->remove_attribute( 'data-test-id' ); * } diff --git a/wp/wp-includes/html-api/class-wp-html-token.php b/wp/wp-includes/html-api/class-wp-html-token.php index f6edd523..86dd7658 100644 --- a/wp/wp-includes/html-api/class-wp-html-token.php +++ b/wp/wp-includes/html-api/class-wp-html-token.php @@ -94,4 +94,13 @@ class WP_HTML_Token { call_user_func( $this->on_destroy, $this->bookmark_name ); } } + + /** + * Wakeup magic method. + * + * @since 6.4.2 + */ + public function __wakeup() { + throw new \LogicException( __CLASS__ . ' should never be unserialized' ); + } } diff --git a/wp/wp-includes/ms-blogs.php b/wp/wp-includes/ms-blogs.php index 7e91e11b..eddb99c6 100644 --- a/wp/wp-includes/ms-blogs.php +++ b/wp/wp-includes/ms-blogs.php @@ -491,8 +491,6 @@ function update_blog_option( $id, $option, $value, $deprecated = null ) { * @global array $_wp_switched_stack * @global bool $switched * @global string $table_prefix - * @global string $wp_template_path - * @global string $wp_stylesheet_path * @global WP_Object_Cache $wp_object_cache * * @param int $new_blog_id The ID of the blog to switch to. Default: current blog. @@ -534,10 +532,8 @@ function switch_to_blog( $new_blog_id, $deprecated = null ) { } $wpdb->set_blog_id( $new_blog_id ); - $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); - $GLOBALS['blog_id'] = $new_blog_id; - $GLOBALS['wp_template_path'] = null; - $GLOBALS['wp_stylesheet_path'] = null; + $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); + $GLOBALS['blog_id'] = $new_blog_id; if ( function_exists( 'wp_cache_switch_to_blog' ) ) { wp_cache_switch_to_blog( $new_blog_id ); @@ -604,8 +600,6 @@ function switch_to_blog( $new_blog_id, $deprecated = null ) { * @global int $blog_id * @global bool $switched * @global string $table_prefix - * @global string $wp_template_path - * @global string $wp_stylesheet_path * @global WP_Object_Cache $wp_object_cache * * @return bool True on success, false if we're already on the current blog. @@ -631,10 +625,8 @@ function restore_current_blog() { } $wpdb->set_blog_id( $new_blog_id ); - $GLOBALS['blog_id'] = $new_blog_id; - $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); - $GLOBALS['wp_template_path'] = null; - $GLOBALS['wp_stylesheet_path'] = null; + $GLOBALS['blog_id'] = $new_blog_id; + $GLOBALS['table_prefix'] = $wpdb->get_blog_prefix(); if ( function_exists( 'wp_cache_switch_to_blog' ) ) { wp_cache_switch_to_blog( $new_blog_id ); diff --git a/wp/wp-includes/rest-api/class-wp-rest-server.php b/wp/wp-includes/rest-api/class-wp-rest-server.php index 4304881b..a1bc4b91 100644 --- a/wp/wp-includes/rest-api/class-wp-rest-server.php +++ b/wp/wp-includes/rest-api/class-wp-rest-server.php @@ -1294,6 +1294,13 @@ class WP_REST_Server { $this->add_active_theme_link_to_index( $response ); $this->add_site_logo_to_index( $response ); $this->add_site_icon_to_index( $response ); + } else { + if ( rest_is_field_included( 'site_logo', $fields ) ) { + $this->add_site_logo_to_index( $response ); + } + if ( rest_is_field_included( 'site_icon', $fields ) || rest_is_field_included( 'site_icon_url', $fields ) ) { + $this->add_site_icon_to_index( $response ); + } } /** diff --git a/wp/wp-includes/theme.php b/wp/wp-includes/theme.php index 6315cc2a..89fccddd 100644 --- a/wp/wp-includes/theme.php +++ b/wp/wp-includes/theme.php @@ -188,39 +188,25 @@ function get_stylesheet() { * * @since 1.5.0 * @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme. - * - * @global string $wp_stylesheet_path Current theme stylesheet directory path. + * @since 6.4.2 Memoization removed. * * @return string Path to active theme's stylesheet directory. */ function get_stylesheet_directory() { - global $wp_stylesheet_path; + $stylesheet = get_stylesheet(); + $theme_root = get_theme_root( $stylesheet ); + $stylesheet_dir = "$theme_root/$stylesheet"; - if ( null === $wp_stylesheet_path ) { - $stylesheet = get_stylesheet(); - $theme_root = get_theme_root( $stylesheet ); - $stylesheet_dir = "$theme_root/$stylesheet"; - - /** - * Filters the stylesheet directory path for the active theme. - * - * @since 1.5.0 - * - * @param string $stylesheet_dir Absolute path to the active theme. - * @param string $stylesheet Directory name of the active theme. - * @param string $theme_root Absolute path to themes directory. - */ - $stylesheet_dir = apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root ); - - // If there are filter callbacks, force the logic to execute on every call. - if ( has_filter( 'stylesheet' ) || has_filter( 'theme_root' ) || has_filter( 'stylesheet_directory' ) ) { - return $stylesheet_dir; - } - - $wp_stylesheet_path = $stylesheet_dir; - } - - return $wp_stylesheet_path; + /** + * Filters the stylesheet directory path for the active theme. + * + * @since 1.5.0 + * + * @param string $stylesheet_dir Absolute path to the active theme. + * @param string $stylesheet Directory name of the active theme. + * @param string $theme_root Absolute path to themes directory. + */ + return apply_filters( 'stylesheet_directory', $stylesheet_dir, $stylesheet, $theme_root ); } /** @@ -338,39 +324,25 @@ function get_template() { * * @since 1.5.0 * @since 6.4.0 Memoizes filter execution so that it only runs once for the current theme. - * - * @global string $wp_template_path Current theme template directory path. + * @since 6.4.1 Memoization removed. * * @return string Path to active theme's template directory. */ function get_template_directory() { - global $wp_template_path; + $template = get_template(); + $theme_root = get_theme_root( $template ); + $template_dir = "$theme_root/$template"; - if ( null === $wp_template_path ) { - $template = get_template(); - $theme_root = get_theme_root( $template ); - $template_dir = "$theme_root/$template"; - - /** - * Filters the active theme directory path. - * - * @since 1.5.0 - * - * @param string $template_dir The path of the active theme directory. - * @param string $template Directory name of the active theme. - * @param string $theme_root Absolute path to the themes directory. - */ - $template_dir = apply_filters( 'template_directory', $template_dir, $template, $theme_root ); - - // If there are filter callbacks, force the logic to execute on every call. - if ( has_filter( 'template' ) || has_filter( 'theme_root' ) || has_filter( 'template_directory' ) ) { - return $template_dir; - } - - $wp_template_path = $template_dir; - } - - return $wp_template_path; + /** + * Filters the active theme directory path. + * + * @since 1.5.0 + * + * @param string $template_dir The path of the active theme directory. + * @param string $template Directory name of the active theme. + * @param string $theme_root Absolute path to the themes directory. + */ + return apply_filters( 'template_directory', $template_dir, $template, $theme_root ); } /** @@ -776,13 +748,11 @@ function locale_stylesheet() { * @global WP_Customize_Manager $wp_customize * @global array $sidebars_widgets * @global array $wp_registered_sidebars - * @global string $wp_stylesheet_path - * @global string $wp_template_path * * @param string $stylesheet Stylesheet name. */ function switch_theme( $stylesheet ) { - global $wp_theme_directories, $wp_customize, $sidebars_widgets, $wp_registered_sidebars, $wp_stylesheet_path, $wp_template_path; + global $wp_theme_directories, $wp_customize, $sidebars_widgets, $wp_registered_sidebars; $requirements = validate_theme_requirements( $stylesheet ); if ( is_wp_error( $requirements ) ) { @@ -866,13 +836,6 @@ function switch_theme( $stylesheet ) { update_option( 'theme_switched', $old_theme->get_stylesheet() ); - /* - * Reset globals to force refresh the next time these directories are - * accessed via `get_stylesheet_directory()` / `get_template_directory()`. - */ - $wp_stylesheet_path = null; - $wp_template_path = null; - // Clear pattern caches. $new_theme->delete_pattern_cache(); $old_theme->delete_pattern_cache(); diff --git a/wp/wp-includes/version.php b/wp/wp-includes/version.php index fa2d7488..9c1a4f74 100644 --- a/wp/wp-includes/version.php +++ b/wp/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.4.1'; +$wp_version = '6.4.2'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.