Version Description
- Released 11/30/2020
- Fixed CSRF security vulnerabilities inside the new login
- Fixed XSS vulnerabilities in metamarks function
- Replaced deprecated wp_make_content_images_responsive with wp_filter_content_tags
- Fixed a bug that was causing the text color to be white in the Title input in post editor
Download this release
Release Info
Developer | benbeecroft |
Plugin | PowerPress Podcasting plugin by Blubrry |
Version | 8.4.5 |
Comparing to | |
See all releases |
Code changes from version 8.4.4 to 8.4.5
- css/style.css +0 -5
- css/style.min.css +1 -1
- feed-podcast.php +2 -2
- js/admin.js +3 -0
- powerpress-metamarks.php +15 -15
- powerpress.php +2 -2
- powerpressadmin-auth.class.php +20 -12
- powerpressadmin-dashboard.php +1 -1
- powerpressadmin-jquery.php +3 -3
- powerpressadmin-metabox.php +4 -5
- powerpressadmin-rss-import.php +4 -2
- powerpressadmin.php +7 -1
- readme.txt +8 -1
- views/onboarding/blubrry_signin.php +286 -274
- views/onboarding/nohost.php +3 -2
- views/onboarding/want_stats.php +2 -1
css/style.css
CHANGED
@@ -671,11 +671,6 @@ a > h4 {
|
|
671 |
clear: both;
|
672 |
}
|
673 |
|
674 |
-
#title {
|
675 |
-
color: white;
|
676 |
-
|
677 |
-
}
|
678 |
-
|
679 |
.play-button-outer {
|
680 |
width: 2em;
|
681 |
height: 2em;
|
671 |
clear: both;
|
672 |
}
|
673 |
|
|
|
|
|
|
|
|
|
|
|
674 |
.play-button-outer {
|
675 |
width: 2em;
|
676 |
height: 2em;
|
css/style.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#test{font-size:80px}.card{min-height:100px;min-width:100px}.well-z-depth-1{min-height:20px;padding:19px;background-color:#f9f9f9;border:1px solid transparent;border-radius:3px;margin:auto auto 20px auto;width:100%}.ppn-container{margin:10px}.ppn-header{text-align:center;font-family:Montserrat,sans-serif}#ppn-header p{font-size:18px}#ppn-header h2{font-size:30px;text-shadow:0 3px 4px rgba(63,63,63,.2);font-weight:400}#ppn-episode h3{color:#1976d2}#ppn-episode i{margin-top:7px;display:block;padding:0 0 0 55px}.jumbotron{background-image:url("../images/ShowPageRedesign_Banner BG Image.jpg");background-size:cover;border:1px solid;padding-right:0;overflow:inherit;margin-bottom:0}.jumbotron .share-icons{position:relative;color:#fff;font-size:25px;background:rgba(25,25,25,.35);width:100%;float:right;height:40px;text-align:center;vertical-align:center}@media screen and (min-width:768px){.container .jumbotron,.container-fluid .jumbotron{padding-right:0!important;padding-left:0!important}}.pp-sub-button{width:100%;height:48px;padding:0;background-color:#888;color:#fff;display:inline-block;margin:10px 0 5px 0;text-decoration:none;text-align:left;vertical-align:middle;line-height:48px;font-size:90%;font-weight:700;overflow:hidden;border-radius:1px;box-shadow:0 1px 4px rgba(0,0,0,.2)}.pp-sub-buttons{width:90%!important;margin:0;margin-left:5%;padding:5px;display:inline-block}.twitter{background-image:url(../images/twitter.png);background-position:0 0;background-repeat:no-repeat}.facebook{background-image:url(../images/facebook.png);background-position:0 0;background-repeat:no-repeat}.linkedin{background-image:url(../images/linkedin.png);background-position:0 0;background-repeat:no-repeat}.email{background-image:url(../images/email.png);background-position:0 0;background-repeat:no-repeat}.pp-sub-buttons .pp-sub-img{width:48px;height:48px;border:0;display:inline-block;vertical-align:middle;margin-right:2px}.pp-sub-img{background-image:url(../images/spriteStandard.png);background-repeat:no-repeat;background-size:294px}.pp-sub-itunes{background-color:#732bbe}.pp-sub-mycast{background-color:#003466}.pp-sub-email,.pp-sub-pr{background-color:#337ec9}.pp-sub-bp,.pp-sub-rss{background-color:#f80}.pp-sub-browse{background-color:#1976d2}.pp-sub-android{background-color:#6ab344}.pp-sub-itunes .pp-sub-img{background:url(../images/spriteStandard.png) -49px 0}.pp-sub-rss .pp-sub-img{background:url(../images/spriteStandard.png) 0 -49px}.pp-sub-email .pp-sub-img{background:url(../images/spriteStandard.png) -196px -49px}.pp-sub-pr .pp-sub-img{background:url(../images/spriteStandard.png) -196px 0}.pp-sub-bp .pp-sub-img{background:url(../images/spriteStandard.png) -147px 0}.pp-sub-mycast .pp-sub-img{background:url(../images/spriteStandard.png) 0 -98px}.pp-sub-share .pp-sub-img{background:url(../images/spriteStandard.png) -245px 0}.pp-sub-browse .pp-sub-img{background:url(../images/spriteStandard.png) -49px -98px}.pp-sub-android .pp-sub-img{background:url(../images/spriteStandard.png) -98px -98px}h4{margin:0}.playnow{width:48px;height:48px;float:left;padding:0;margin:0;margin-right:10px;text-decoration:none;text-align:left;vertical-align:top;line-height:48px;overflow:hidden;background:url(../images/spriteStandard.png) -98px 0;background-color:#1976d2;border-radius:1px;box-shadow:0 1px 4px rgba(0,0,0,.2)}.share-popup{z-index:5000;position:absolute;color:#000;padding:5px;font-weight:400;width:100%;margin:5px;line-height:normal}.share-popup h2{font-size:20px;margin:5px 0 15px 10px}.share-popup ul{list-style-type:none;padding:0;margin:0}.share-popup ul li{font-weight:400;margin:0 10px;height:28px;width:130px;float:left;font-size:16px}.share-popup ul li a{padding-left:24px}.mycast_popup{display:none;z-index:5000;position:absolute;display:none;background-color:#eee;border:1px solid #999;color:#000;padding:5px;font-weight:400;width:300px;margin:5px}.mycast_popup p{margin-top:10px}.episode-container{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all .3s cubic-bezier(.25,.8,.25,1)}.episode-container a{text-decoration:underline;font-size:18px}@media screen and (min-width:768px){#cbocContent{width:100%;height:100%}}.featured-container{overflow:hidden;width:100%;height:235px;display:flex;margin-right:10px}h3{margin-top:0}.featured-container-large{width:100%;display:flex;flex-wrap:wrap;overflow:hidden;height:235px;justify-content:stretch;flex-direction:row;min-height:336px}.featured{overflow:hidden;min-width:100px;display:flex;justify-content:stretch;flex-direction:row;flex-wrap:wrap}.featured-large{min-width:100px;display:flex;justify-content:stretch;flex-direction:row;flex-wrap:wrap;position:inherit;padding-top:15px}.featured-item{width:130px;justify-content:center;background:#f7f7f7}p{margin-block-start:0;margin-block-end:0;margin:0}.title{margin-bottom:0;font-size:small;font-weight:500;margin-left:8px;background:#f7f7f7}.blubrry-icon{color:#fff}.featured-item-container{width:auto;min-width:150px;justify-content:center;border-radius:2px;display:inline-block;height:200px;background:#f7f7f7;margin:1.5rem;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all .3s cubic-bezier(.25,.8,.25,1)}.artwork{width:150px;padding:1px}#results-artwork{padding:1px;border:solid 2px rgba(0,0,0,.1)}.featured-link{text-decoration:none;color:inherit;justify-content:center}.first{border:none}.header-link{color:inherit;text-decoration:none!important}#featured-container .row{content:"";clear:both;display:flex;position:absolute}.row{margin-left:0!important;margin-right:0!important}#featured-column{float:left;min-width:300px}#search-btn{text-decoration:none}.search-container{display:inline-block}.search-container-container{margin:auto;margin-top:20px}@media (min-width:200px){#search.form-control{width:0%!important}}#search.form-control{width:100%!important}.search-button{position:absolute;right:0;top:0;line-height:0;width:37px;height:37px;font-size:34px}.search-container{margin:auto;padding:0;position:relative;width:100%}.no-style-button{background-color:inherit!important;color:transparent!important;border:none!important;position:absolute;right:0;top:0;height:37px;width:37px}.artwork-container{padding-left:0;height:90px!important;width:90px!important}.results-container{overflow-y:auto;min-width:320px;max-width:800px;margin:auto}.result{padding-top:10px;padding-left:20px;height:120px;border-top:1px solid rgba(0,0,0,.2)}.first{border-top:none}.result-text{float:left;margin-top:-10px;margin-left:10px}@media (min-width:300px){.result-text{max-width:200px}}@media (min-width:400px){.result-text{max-width:250px}}@media (min-width:500px){.result-text{max-width:350px}}@media (min-width:600px){.result-text{max-width:400px}}a>h4{color:inherit}.results-header{border-bottom:2px solid rgba(0,0,0,.4);clear:both;display:block;overflow:auto}.header-text{float:right}.page-next{float:right;width:50%;text-align:right}.page-prev{float:left;width:50%}.page-nav{border-top:2px solid rgba(0,0,0,.4);padding-top:20px}.disabled,.disabled:hover{color:grey;text-decoration:none!important}.audio-panel{margin:0;padding:0}#playist ul{list-style:none;margin:0;padding:20px}#playist li{margin:0;padding:0}#playist li,a{transition:all .5s}.list-group-item.active a{text-decoration:none;color:#fff;vertical-align:bottom;border-color:transparent transparent transparent #fff}.list-group-item{vertical-align:bottom}#playist a{display:block;position:relative;width:100%}#playist li a{display:block;text-decoration:none}#playist li:hover{background-color:#333}#playist li a:hover{text-decoration:none;color:#fff}#playist a{color:#fff;text-decoration:none}.last{display:none}#playlist{padding-left:0}.column{float:left;padding:.5%}.row:after{content:"";display:table;clear:both}#title{color:#fff}.play-button-outer{width:2em;height:2em;cursor:pointer;float:left;padding-right:3%}.play-button{margin:0 auto;position:relative;width:0;height:0;border-style:solid;border-width:1em 0 1em 1.75em;border-color:transparent transparent transparent #0a6ebd;opacity:.75}.active .list-group-item .play-button-outer .play-button{border-color:transparent transparent transparent #fff}.play-button-outer:hover .play-button{opacity:1}.active .play-button{border-color:transparent transparent transparent #fff}.item1{grid-area:header}.item2{grid-area:menu}.item3{grid-area:main}.coverart{grid-area:left;margin-left:25px}.player{grid-area:footer}.share-icons{grid-area:share;margin-top:90%}.grid-container{display:grid;grid-template-areas:'header header header header header header header' 'left main main main main main share' 'footer footer footer footer footer footer footer';grid-template-columns:300px auto auto auto auto auto 300px}@media screen and (max-width:425px){.grid-container{display:grid;grid-template-areas:'left left left left left left' 'share share share share share share' 'footer footer footer footer footer footer'}.coverart{margin-left:0}}.grid-container>div{text-align:center;font-size:30px}.caret{display:inline;float:right;border-top:0;border-bottom:6px dashed;border-right:6px solid transparent;border-left:6px solid transparent;color:#1976d2;margin-top:1%;cursor:pointer}li.active p.caret{display:inline;float:right;border-top:6px dashed;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:0;color:#ffff}.subtitle{margin-block-end:0;margin-left:3%}.mejs__controls,.mejs__mediaelement{background:#eee!important}.mejs__container{border:1px solid #eee}.mejs__container *{color:#020202!important}.mejs__controls button{color:#020101!important}.mejs__controls .mejs__time-rail .mejs__time-total{background:#fff!important}.mejs__controls .mejs__time-rail .mejs__time-current{background:#8f8f8f!important}.mejs__controls .mejs__time-rail .mejs__time-loaded{background:#fff!important}.mejs__controls .mejs__horizontal-volume-slider .mejs__horizontal-volume-total{background:#fff!important}.mejs__controls .mejs__horizontal-volume-slider .mejs__horizontal-volume-current{background:#8f8f8f!important}.category-text{text-decoration:none;font-size:large;font-weight:700}.entry-content a{text-decoration:none!important}.entry-content a:hover{text-decoration:underline}.playbutton{width:48px;height:48px;padding:0;margin:0;display:inline-block;text-decoration:none;text-align:left;vertical-align:top;line-height:48px}.list-group-item{padding:3px}.playbuttoncontainer{float:left;vertical-align:center;margin-right:1%;margin-top:1%}.subshare{vertical-align:text-bottom;display:inline;color:#fff;font-family:Roboto,Arial,Helvetica,sans-serif;padding:5px}a:hover a:focus{color:#fff}.ppn-program-description,.ppn-program-talent-name{text-align:left;font-family:Montserrat,sans-serif;letter-spacing:0;color:#444;font-weight:700;opacity:1}.ppn-program-url a{text-align:left;font-family:Montserrat,sans-serif;letter-spacing:0;color:#1976d2;opacity:1}.ppn-episode-title{color:#444;font-family:Montserrat,sans-serif;font-weight:bolder}.ppn-episode-row{outline:1px solid #707070;padding:20px}.ppn-episode-date{color:#444;font-family:Montserrat,sans-serif;font-style:italic;font-size:larger}.ppn-episode-description{color:#444;font-family:Montserrat,sans-serif;font-size:medium}.ppn-download-link{width:150px;max-width:250px;background-color:#1976d2;text-align:center;min-height:40px}@media screen and (max-width:500px){.ppn-download-link{max-width:100%}}.ppn-download-link div{color:#fff;font-family:Montserrat,sans-serif;font-weight:100;font-size:18px;line-height:40px;vertical-align:middle}.ppn-download-arrow{display:inline-block;background-image:url(../images/download.svg);background-repeat:no-repeat;width:30px;height:30px}.ppn-program-sub-title{color:#444;font-family:Montserrat,sans-serif;font-size:x-large;font-weight:bolder;padding-top:10px}.ppn-program-artwork-cell{outline:1px solid #444}div.ppn-artwork-inline{float:left}.ppn-list-artwork,.ppn-program-artwork{max-width:100%}.ppn-program-row{border:1px solid #707070;padding:20px}.ppn-program-title{margin-top:0;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:500px){.ppn-program-title{font-size:larger}}.ppn-program-detail *{font-family:Montserrat,sans-serif;color:#444}.ppn-program-detail h2{font-weight:bolder}.sub-success{border:1px solid #06843a;display:flex;width:100%;margin-bottom:10px;color:#06843a}.sub-success-icon{background-color:#06843a;margin:-1px}.sub-success-icon-check{width:100%;height:100%;min-height:50px;min-width:80px;background-size:40px 40px!important;background:url(../images/circlecheck.svg) center no-repeat}.sub-error{border:1px solid #b2201a;display:flex;width:100%;margin-bottom:10px;color:#b2201a}.sub-error-icon{background-color:#b2201a;margin:-1px}.sub-error-icon-check{width:100%;height:100%;min-height:50px;min-width:80px;background-size:40px 40px!important;background:url(../images/circleerror.svg) center no-repeat}@media screen and (min-width:688px){.ppn-form-div{margin-left:0;margin-right:60px}}.sub-alert-text{padding:15px;vertical-align:center}.sub-form{border:1px solid #707070;padding:20px;font-family:Montserrat,sans-serif}.sub-checkbox-cl{display:none}.sub-checkbox-cl-label{display:inline-block;position:relative;vertical-align:middle;margin:5px;cursor:pointer;font-weight:400}.sub-checkbox-cl+.sub-checkbox-cl-label:before{content:'';background:#ddd;border-radius:5px;border:2px solid #ddd;display:inline-block;vertical-align:middle;width:20px;height:20px;padding:2px;margin-right:10px;text-align:center}.sub-checkbox-cl:checked+.sub-checkbox-cl-label:after{content:"";padding:2px;text-align:center;position:absolute;width:1px;height:12px;border:solid #1c7cd5;border-width:0 3px 3px 0;transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);top:6px;left:6px}.sub-checkbox-cl:checked{background:#1c7cd5}.sub-btn{width:150px;height:40px;text-align:center;border:none;background-color:#1976d2;color:#fff;font-family:Montserrat,sans-serif}.ppn-grid-header{padding-top:5%}.ppn-grid-rows{position:relative;top:0;left:0;height:100%;width:100%;margin-bottom:20px}.ppn-grid-cell{position:relative;align-content:center}.ppn-grid-img{align-items:center;justify-content:center;display:block}.ppn-grid-title{line-height:1.5em;height:3em;overflow:hidden}.ppn-grid-title:hover{cursor:hand}.ppn-title{font-size:100%;margin-top:5px;padding-bottom:5px}.ppn-title a{color:#fff;font-family:Montserrat,sans-serif}.ppn-img{width:100%;height:100%;max-width:300px!important;max-height:300px!important;position:absolute}.square{width:100%;padding-bottom:100%}.square:after{content:"";display:block;padding-bottom:100%}.app-paragraphs{color:#373a3c;margin:0;font-size:large}.app-form-border{border:none}.tos-color{color:#1976d2}.podcast-filename{margin-top:2%;margin-bottom:1%}.audio-tag-filename{width:100%;margin:2%}.display-inline{display:inline}.display-inline-block{display:inline-block}.podcast-summary-paragraph{color:#000;font-size:small}.text-decoration-none{text-decoration:none}.ppn-subscribe-style{color:#fff;padding:3px}.ppn-share-style{color:#fff;padding:5px}.ppn-margin-bottom{margin-bottom:0}.ppn-claim-style{font-family:Roboto,Arial,Helvetica,sans-serif}.ppn-padding{padding:0}.word-break{word-break:break-all}h1{font-size:38px}
|
1 |
+
#test{font-size:80px}.card{min-height:100px;min-width:100px}.well-z-depth-1{min-height:20px;padding:19px;background-color:#f9f9f9;border:1px solid transparent;border-radius:3px;margin:auto auto 20px auto;width:100%}.ppn-container{margin:10px}.ppn-header{text-align:center;font-family:Montserrat,sans-serif}#ppn-header p{font-size:18px}#ppn-header h2{font-size:30px;text-shadow:0 3px 4px rgba(63,63,63,.2);font-weight:400}#ppn-episode h3{color:#1976d2}#ppn-episode i{margin-top:7px;display:block;padding:0 0 0 55px}.jumbotron{background-image:url("../images/ShowPageRedesign_Banner BG Image.jpg");background-size:cover;border:1px solid;padding-right:0;overflow:inherit;margin-bottom:0}.jumbotron .share-icons{position:relative;color:#fff;font-size:25px;background:rgba(25,25,25,.35);width:100%;float:right;height:40px;text-align:center;vertical-align:center}@media screen and (min-width:768px){.container .jumbotron,.container-fluid .jumbotron{padding-right:0!important;padding-left:0!important}}.pp-sub-button{width:100%;height:48px;padding:0;background-color:#888;color:#fff;display:inline-block;margin:10px 0 5px 0;text-decoration:none;text-align:left;vertical-align:middle;line-height:48px;font-size:90%;font-weight:700;overflow:hidden;border-radius:1px;box-shadow:0 1px 4px rgba(0,0,0,.2)}.pp-sub-buttons{width:90%!important;margin:0;margin-left:5%;padding:5px;display:inline-block}.twitter{background-image:url(../images/twitter.png);background-position:0 0;background-repeat:no-repeat}.facebook{background-image:url(../images/facebook.png);background-position:0 0;background-repeat:no-repeat}.linkedin{background-image:url(../images/linkedin.png);background-position:0 0;background-repeat:no-repeat}.email{background-image:url(../images/email.png);background-position:0 0;background-repeat:no-repeat}.pp-sub-buttons .pp-sub-img{width:48px;height:48px;border:0;display:inline-block;vertical-align:middle;margin-right:2px}.pp-sub-img{background-image:url(../images/spriteStandard.png);background-repeat:no-repeat;background-size:294px}.pp-sub-itunes{background-color:#732bbe}.pp-sub-mycast{background-color:#003466}.pp-sub-email,.pp-sub-pr{background-color:#337ec9}.pp-sub-bp,.pp-sub-rss{background-color:#f80}.pp-sub-browse{background-color:#1976d2}.pp-sub-android{background-color:#6ab344}.pp-sub-itunes .pp-sub-img{background:url(../images/spriteStandard.png) -49px 0}.pp-sub-rss .pp-sub-img{background:url(../images/spriteStandard.png) 0 -49px}.pp-sub-email .pp-sub-img{background:url(../images/spriteStandard.png) -196px -49px}.pp-sub-pr .pp-sub-img{background:url(../images/spriteStandard.png) -196px 0}.pp-sub-bp .pp-sub-img{background:url(../images/spriteStandard.png) -147px 0}.pp-sub-mycast .pp-sub-img{background:url(../images/spriteStandard.png) 0 -98px}.pp-sub-share .pp-sub-img{background:url(../images/spriteStandard.png) -245px 0}.pp-sub-browse .pp-sub-img{background:url(../images/spriteStandard.png) -49px -98px}.pp-sub-android .pp-sub-img{background:url(../images/spriteStandard.png) -98px -98px}h4{margin:0}.playnow{width:48px;height:48px;float:left;padding:0;margin:0;margin-right:10px;text-decoration:none;text-align:left;vertical-align:top;line-height:48px;overflow:hidden;background:url(../images/spriteStandard.png) -98px 0;background-color:#1976d2;border-radius:1px;box-shadow:0 1px 4px rgba(0,0,0,.2)}.share-popup{z-index:5000;position:absolute;color:#000;padding:5px;font-weight:400;width:100%;margin:5px;line-height:normal}.share-popup h2{font-size:20px;margin:5px 0 15px 10px}.share-popup ul{list-style-type:none;padding:0;margin:0}.share-popup ul li{font-weight:400;margin:0 10px;height:28px;width:130px;float:left;font-size:16px}.share-popup ul li a{padding-left:24px}.mycast_popup{display:none;z-index:5000;position:absolute;display:none;background-color:#eee;border:1px solid #999;color:#000;padding:5px;font-weight:400;width:300px;margin:5px}.mycast_popup p{margin-top:10px}.episode-container{box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all .3s cubic-bezier(.25,.8,.25,1)}.episode-container a{text-decoration:underline;font-size:18px}@media screen and (min-width:768px){#cbocContent{width:100%;height:100%}}.featured-container{overflow:hidden;width:100%;height:235px;display:flex;margin-right:10px}h3{margin-top:0}.featured-container-large{width:100%;display:flex;flex-wrap:wrap;overflow:hidden;height:235px;justify-content:stretch;flex-direction:row;min-height:336px}.featured{overflow:hidden;min-width:100px;display:flex;justify-content:stretch;flex-direction:row;flex-wrap:wrap}.featured-large{min-width:100px;display:flex;justify-content:stretch;flex-direction:row;flex-wrap:wrap;position:inherit;padding-top:15px}.featured-item{width:130px;justify-content:center;background:#f7f7f7}p{margin-block-start:0;margin-block-end:0;margin:0}.title{margin-bottom:0;font-size:small;font-weight:500;margin-left:8px;background:#f7f7f7}.blubrry-icon{color:#fff}.featured-item-container{width:auto;min-width:150px;justify-content:center;border-radius:2px;display:inline-block;height:200px;background:#f7f7f7;margin:1.5rem;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);transition:all .3s cubic-bezier(.25,.8,.25,1)}.artwork{width:150px;padding:1px}#results-artwork{padding:1px;border:solid 2px rgba(0,0,0,.1)}.featured-link{text-decoration:none;color:inherit;justify-content:center}.first{border:none}.header-link{color:inherit;text-decoration:none!important}#featured-container .row{content:"";clear:both;display:flex;position:absolute}.row{margin-left:0!important;margin-right:0!important}#featured-column{float:left;min-width:300px}#search-btn{text-decoration:none}.search-container{display:inline-block}.search-container-container{margin:auto;margin-top:20px}@media (min-width:200px){#search.form-control{width:0%!important}}#search.form-control{width:100%!important}.search-button{position:absolute;right:0;top:0;line-height:0;width:37px;height:37px;font-size:34px}.search-container{margin:auto;padding:0;position:relative;width:100%}.no-style-button{background-color:inherit!important;color:transparent!important;border:none!important;position:absolute;right:0;top:0;height:37px;width:37px}.artwork-container{padding-left:0;height:90px!important;width:90px!important}.results-container{overflow-y:auto;min-width:320px;max-width:800px;margin:auto}.result{padding-top:10px;padding-left:20px;height:120px;border-top:1px solid rgba(0,0,0,.2)}.first{border-top:none}.result-text{float:left;margin-top:-10px;margin-left:10px}@media (min-width:300px){.result-text{max-width:200px}}@media (min-width:400px){.result-text{max-width:250px}}@media (min-width:500px){.result-text{max-width:350px}}@media (min-width:600px){.result-text{max-width:400px}}a>h4{color:inherit}.results-header{border-bottom:2px solid rgba(0,0,0,.4);clear:both;display:block;overflow:auto}.header-text{float:right}.page-next{float:right;width:50%;text-align:right}.page-prev{float:left;width:50%}.page-nav{border-top:2px solid rgba(0,0,0,.4);padding-top:20px}.disabled,.disabled:hover{color:grey;text-decoration:none!important}.audio-panel{margin:0;padding:0}#playist ul{list-style:none;margin:0;padding:20px}#playist li{margin:0;padding:0}#playist li,a{transition:all .5s}.list-group-item.active a{text-decoration:none;color:#fff;vertical-align:bottom;border-color:transparent transparent transparent #fff}.list-group-item{vertical-align:bottom}#playist a{display:block;position:relative;width:100%}#playist li a{display:block;text-decoration:none}#playist li:hover{background-color:#333}#playist li a:hover{text-decoration:none;color:#fff}#playist a{color:#fff;text-decoration:none}.last{display:none}#playlist{padding-left:0}.column{float:left;padding:.5%}.row:after{content:"";display:table;clear:both}.play-button-outer{width:2em;height:2em;cursor:pointer;float:left;padding-right:3%}.play-button{margin:0 auto;position:relative;width:0;height:0;border-style:solid;border-width:1em 0 1em 1.75em;border-color:transparent transparent transparent #0a6ebd;opacity:.75}.active .list-group-item .play-button-outer .play-button{border-color:transparent transparent transparent #fff}.play-button-outer:hover .play-button{opacity:1}.active .play-button{border-color:transparent transparent transparent #fff}.item1{grid-area:header}.item2{grid-area:menu}.item3{grid-area:main}.coverart{grid-area:left;margin-left:25px}.player{grid-area:footer}.share-icons{grid-area:share;margin-top:90%}.grid-container{display:grid;grid-template-areas:'header header header header header header header' 'left main main main main main share' 'footer footer footer footer footer footer footer';grid-template-columns:300px auto auto auto auto auto 300px}@media screen and (max-width:425px){.grid-container{display:grid;grid-template-areas:'left left left left left left' 'share share share share share share' 'footer footer footer footer footer footer'}.coverart{margin-left:0}}.grid-container>div{text-align:center;font-size:30px}.caret{display:inline;float:right;border-top:0;border-bottom:6px dashed;border-right:6px solid transparent;border-left:6px solid transparent;color:#1976d2;margin-top:1%;cursor:pointer}li.active p.caret{display:inline;float:right;border-top:6px dashed;border-right:6px solid transparent;border-left:6px solid transparent;border-bottom:0;color:#ffff}.subtitle{margin-block-end:0;margin-left:3%}.mejs__controls,.mejs__mediaelement{background:#eee!important}.mejs__container{border:1px solid #eee}.mejs__container *{color:#020202!important}.mejs__controls button{color:#020101!important}.mejs__controls .mejs__time-rail .mejs__time-total{background:#fff!important}.mejs__controls .mejs__time-rail .mejs__time-current{background:#8f8f8f!important}.mejs__controls .mejs__time-rail .mejs__time-loaded{background:#fff!important}.mejs__controls .mejs__horizontal-volume-slider .mejs__horizontal-volume-total{background:#fff!important}.mejs__controls .mejs__horizontal-volume-slider .mejs__horizontal-volume-current{background:#8f8f8f!important}.category-text{text-decoration:none;font-size:large;font-weight:700}.entry-content a{text-decoration:none!important}.entry-content a:hover{text-decoration:underline}.playbutton{width:48px;height:48px;padding:0;margin:0;display:inline-block;text-decoration:none;text-align:left;vertical-align:top;line-height:48px}.list-group-item{padding:3px}.playbuttoncontainer{float:left;vertical-align:center;margin-right:1%;margin-top:1%}.subshare{vertical-align:text-bottom;display:inline;color:#fff;font-family:Roboto,Arial,Helvetica,sans-serif;padding:5px}a:hover a:focus{color:#fff}.ppn-program-description,.ppn-program-talent-name{text-align:left;font-family:Montserrat,sans-serif;letter-spacing:0;color:#444;font-weight:700;opacity:1}.ppn-program-url a{text-align:left;font-family:Montserrat,sans-serif;letter-spacing:0;color:#1976d2;opacity:1}.ppn-episode-title{color:#444;font-family:Montserrat,sans-serif;font-weight:bolder}.ppn-episode-row{outline:1px solid #707070;padding:20px}.ppn-episode-date{color:#444;font-family:Montserrat,sans-serif;font-style:italic;font-size:larger}.ppn-episode-description{color:#444;font-family:Montserrat,sans-serif;font-size:medium}.ppn-download-link{width:150px;max-width:250px;background-color:#1976d2;text-align:center;min-height:40px}@media screen and (max-width:500px){.ppn-download-link{max-width:100%}}.ppn-download-link div{color:#fff;font-family:Montserrat,sans-serif;font-weight:100;font-size:18px;line-height:40px;vertical-align:middle}.ppn-download-arrow{display:inline-block;background-image:url(../images/download.svg);background-repeat:no-repeat;width:30px;height:30px}.ppn-program-sub-title{color:#444;font-family:Montserrat,sans-serif;font-size:x-large;font-weight:bolder;padding-top:10px}.ppn-program-artwork-cell{outline:1px solid #444}div.ppn-artwork-inline{float:left}.ppn-list-artwork,.ppn-program-artwork{max-width:100%}.ppn-program-row{border:1px solid #707070;padding:20px}.ppn-program-title{margin-top:0;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width:500px){.ppn-program-title{font-size:larger}}.ppn-program-detail *{font-family:Montserrat,sans-serif;color:#444}.ppn-program-detail h2{font-weight:bolder}.sub-success{border:1px solid #06843a;display:flex;width:100%;margin-bottom:10px;color:#06843a}.sub-success-icon{background-color:#06843a;margin:-1px}.sub-success-icon-check{width:100%;height:100%;min-height:50px;min-width:80px;background-size:40px 40px!important;background:url(../images/circlecheck.svg) center no-repeat}.sub-error{border:1px solid #b2201a;display:flex;width:100%;margin-bottom:10px;color:#b2201a}.sub-error-icon{background-color:#b2201a;margin:-1px}.sub-error-icon-check{width:100%;height:100%;min-height:50px;min-width:80px;background-size:40px 40px!important;background:url(../images/circleerror.svg) center no-repeat}@media screen and (min-width:688px){.ppn-form-div{margin-left:0;margin-right:60px}}.sub-alert-text{padding:15px;vertical-align:center}.sub-form{border:1px solid #707070;padding:20px;font-family:Montserrat,sans-serif}.sub-checkbox-cl{display:none}.sub-checkbox-cl-label{display:inline-block;position:relative;vertical-align:middle;margin:5px;cursor:pointer;font-weight:400}.sub-checkbox-cl+.sub-checkbox-cl-label:before{content:'';background:#ddd;border-radius:5px;border:2px solid #ddd;display:inline-block;vertical-align:middle;width:20px;height:20px;padding:2px;margin-right:10px;text-align:center}.sub-checkbox-cl:checked+.sub-checkbox-cl-label:after{content:"";padding:2px;text-align:center;position:absolute;width:1px;height:12px;border:solid #1c7cd5;border-width:0 3px 3px 0;transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);top:6px;left:6px}.sub-checkbox-cl:checked{background:#1c7cd5}.sub-btn{width:150px;height:40px;text-align:center;border:none;background-color:#1976d2;color:#fff;font-family:Montserrat,sans-serif}.ppn-grid-header{padding-top:5%}.ppn-grid-rows{position:relative;top:0;left:0;height:100%;width:100%;margin-bottom:20px}.ppn-grid-cell{position:relative;align-content:center}.ppn-grid-img{align-items:center;justify-content:center;display:block}.ppn-grid-title{line-height:1.5em;height:3em;overflow:hidden}.ppn-grid-title:hover{cursor:hand}.ppn-title{font-size:100%;margin-top:5px;padding-bottom:5px}.ppn-title a{color:#fff;font-family:Montserrat,sans-serif}.ppn-img{width:100%;height:100%;max-width:300px!important;max-height:300px!important;position:absolute}.square{width:100%;padding-bottom:100%}.square:after{content:"";display:block;padding-bottom:100%}.app-paragraphs{color:#373a3c;margin:0;font-size:large}.app-form-border{border:none}.tos-color{color:#1976d2}.podcast-filename{margin-top:2%;margin-bottom:1%}.audio-tag-filename{width:100%;margin:2%}.display-inline{display:inline}.display-inline-block{display:inline-block}.podcast-summary-paragraph{color:#000;font-size:small}.text-decoration-none{text-decoration:none}.ppn-subscribe-style{color:#fff;padding:3px}.ppn-share-style{color:#fff;padding:5px}.ppn-margin-bottom{margin-bottom:0}.ppn-claim-style{font-family:Roboto,Arial,Helvetica,sans-serif}.ppn-padding{padding:0}.word-break{word-break:break-all}h1{font-size:38px}
|
feed-podcast.php
CHANGED
@@ -22,8 +22,8 @@
|
|
22 |
$content = wpautop($content);
|
23 |
$content = shortcode_unautop($content); // Why do we do this?
|
24 |
$content = prepend_attachment($content);
|
25 |
-
if( function_exists('
|
26 |
-
$content =
|
27 |
|
28 |
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
29 |
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
22 |
$content = wpautop($content);
|
23 |
$content = shortcode_unautop($content); // Why do we do this?
|
24 |
$content = prepend_attachment($content);
|
25 |
+
if( function_exists('wp_filter_content_tags') )
|
26 |
+
$content = wp_filter_content_tags($content);
|
27 |
|
28 |
$shortcodesTemp = $GLOBALS['shortcode_tags'];
|
29 |
$GLOBALS['shortcode_tags']['skipto'] = 'powerpress_shortcode_skipto';
|
js/admin.js
CHANGED
@@ -301,6 +301,7 @@ function powerpress_cancelMediaEdit(el) {
|
|
301 |
let url_field = jQuery("#powerpress_url_" + feed_slug + " > input");
|
302 |
let show_input = jQuery("#powerpress_url_show_" + feed_slug);
|
303 |
let edit_media = jQuery("#edit-media-file-" + feed_slug);
|
|
|
304 |
let buttons = jQuery("#pp-change-media-file-" + feed_slug);
|
305 |
let warning = jQuery("#file-change-warning-" + feed_slug);
|
306 |
let blubrry_info = jQuery("#ep-box-blubrry-service-" + feed_slug);
|
@@ -316,6 +317,8 @@ function powerpress_cancelMediaEdit(el) {
|
|
316 |
show_input.css("display", "inline-block");
|
317 |
edit_media.removeAttr("style");
|
318 |
edit_media.attr("style", "display: inline-block");
|
|
|
|
|
319 |
buttons.removeAttr("style");
|
320 |
buttons.attr("style", "display: none");
|
321 |
blubrry_info.removeAttr("style");
|
301 |
let url_field = jQuery("#powerpress_url_" + feed_slug + " > input");
|
302 |
let show_input = jQuery("#powerpress_url_show_" + feed_slug);
|
303 |
let edit_media = jQuery("#edit-media-file-" + feed_slug);
|
304 |
+
let select_file = jQuery("#select-media-file-" + feed_slug);
|
305 |
let buttons = jQuery("#pp-change-media-file-" + feed_slug);
|
306 |
let warning = jQuery("#file-change-warning-" + feed_slug);
|
307 |
let blubrry_info = jQuery("#ep-box-blubrry-service-" + feed_slug);
|
317 |
show_input.css("display", "inline-block");
|
318 |
edit_media.removeAttr("style");
|
319 |
edit_media.attr("style", "display: inline-block");
|
320 |
+
select_file.removeAttr("style");
|
321 |
+
select_file.attr("style", "display: none");
|
322 |
buttons.removeAttr("style");
|
323 |
buttons.attr("style", "display: none");
|
324 |
blubrry_info.removeAttr("style");
|
powerpress-metamarks.php
CHANGED
@@ -105,21 +105,21 @@ function powerpress_metamarks_editrow_html($feed_slug, $next_row, $data = null,
|
|
105 |
$class = '';
|
106 |
$option = 'Save';
|
107 |
}
|
108 |
-
$html = '<div class="pp-metamarks-row" id="powerpress_metamarks_row_'. $feed_slug .'_'. $next_row .'">';
|
109 |
-
$html .= '<div class="metamark-top-section id="metamark-top-section-' . $feed_slug .'-'. $next_row . '">';
|
110 |
-
$html .= '<div id="pp-metamark-preview-pos-' . $feed_slug .'-'. $next_row . '" class="pp-metamark-preview-pos-">' . $pos . '</div>';
|
111 |
-
$html .= '<div id="pp-metamark-preview-type--' . $feed_slug .'-'. $next_row . '" class="pp-metamark-preview-type-">' . $type . '</div>';
|
112 |
-
$html .= '<div class="pp-metamark-delete"><a href="" onclick="return powerpress_metamarks_deleterow(\'powerpress_metamarks_row_'. $feed_slug .'_'. $next_row .'\');" title="'. __('Delete', 'powerpress') .'">';
|
113 |
-
$html .= __('Delete', 'powerpress') . '</a></div><div class="pp-metamark-edit"><a href="" id="pp-toggle-metamark-'. $next_row . '-' . $feed_slug . '" title="'. __($option, 'powerpress') .'" onclick="powerpress_toggleMetamarksSettings(this); return false;">' . __($option, 'powerpress') . '</a></div>';
|
114 |
-
$html .= '</div><div id="pp-hide-metamark-' . $feed_slug .'-'. $next_row . '"' . $class . '>';
|
115 |
-
$html .= '<div class="pp-section-container"><div class="powerpress-label-container" id="pp-type-label' . $feed_slug .'-'. $next_row . '"><label class="pp-ep-box-label" style="width: 100%;" for="pp-metamark-type-'. $feed_slug .'_'. $next_row .'">' . __('Type', 'powerpress') . '</label><select id="pp-metamark-type-'. $feed_slug .'-'. $next_row .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Type', 'powerpress') .'" name="MetaMarks['
|
116 |
-
$html .= powerpress_print_options( array(''=>'Select Type')+ $MarkTypes, $data['type'], true);
|
117 |
-
$html .= '</select></div><div class="powerpress-label-container" id="pp-pos-label' . $feed_slug .'-'. $next_row . '"><label class="pp-ep-box-label" for="pp-metamark-pos-'. $feed_slug .'-'. $next_row .'">' . __('Position', 'powerpress') . '</label>';
|
118 |
-
$html .= '<input id="pp-metamark-pos-'. $feed_slug .'-'. $next_row .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Position', 'powerpress') .'" name="MetaMarks['
|
119 |
-
$html .= '<div class="powerpress-label-container" id="pp-dur-label' . $feed_slug .'-'. $next_row . '"><label class="pp-ep-box-label" for=\"pp-metamark-dur-'. $feed_slug .'-'. $next_row .'\">' . __('Duration', 'powerpress') . '</label>';
|
120 |
-
$html .= '<input id="pp-metamark-dur-'. $feed_slug .'-'. $next_row .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Duration', 'powerpress') .'" name="MetaMarks['
|
121 |
-
$html .= '<div class="pp-section-container"><div class="powerpress-label-container" style="width: 100%;"><label class="pp-ep-box-label" for="pp-metamark-link-' . $feed_slug .'-'. $next_row .'">' . __('Link', 'powerpress') . '</label><input id="pp-metamark-link-'. $feed_slug .'-'. $next_row .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Link', 'powerpress') .'" name="MetaMarks['
|
122 |
-
$html .= '<div class="pp-section-container" id="pp-value-container-' . $feed_slug .'-'. $next_row . '"><div class="powerpress-label-container" style="width: 100%;"><label class="pp-ep-box-label" for="pp-metamark-val-' . $next_row .'">' . __('Value', 'powerpress') . '</label><textarea id="pp-metamark-val-'. $feed_slug .'-'. $next_row .'" class="pp-ep-box-input" style="width: 100%;" name="MetaMarks['
|
123 |
|
124 |
|
125 |
$html .= '</div></div>';
|
105 |
$class = '';
|
106 |
$option = 'Save';
|
107 |
}
|
108 |
+
$html = '<div class="pp-metamarks-row" id="powerpress_metamarks_row_'. esc_attr($feed_slug) .'_'. esc_attr($next_row) .'">';
|
109 |
+
$html .= '<div class="metamark-top-section id="metamark-top-section-' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '">';
|
110 |
+
$html .= '<div id="pp-metamark-preview-pos-' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '" class="pp-metamark-preview-pos-">' . esc_html($pos) . '</div>';
|
111 |
+
$html .= '<div id="pp-metamark-preview-type--' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '" class="pp-metamark-preview-type-">' . esc_html($type) . '</div>';
|
112 |
+
$html .= '<div class="pp-metamark-delete"><a href="" onclick="return powerpress_metamarks_deleterow(\'powerpress_metamarks_row_'. esc_js($feed_slug) .'_'. esc_js($next_row) .'\');" title="'. __('Delete', 'powerpress') .'">';
|
113 |
+
$html .= __('Delete', 'powerpress') . '</a></div><div class="pp-metamark-edit"><a href="" id="pp-toggle-metamark-'. esc_attr($next_row) . '-' . esc_attr($feed_slug) . '" title="'. __($option, 'powerpress') .'" onclick="powerpress_toggleMetamarksSettings(this); return false;">' . __($option, 'powerpress') . '</a></div>';
|
114 |
+
$html .= '</div><div id="pp-hide-metamark-' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '"' . $class . '>';
|
115 |
+
$html .= '<div class="pp-section-container"><div class="powerpress-label-container" id="pp-type-label' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '"><label class="pp-ep-box-label" style="width: 100%;" for="pp-metamark-type-'. esc_attr($feed_slug) .'_'. esc_attr($next_row) .'">' . __('Type', 'powerpress') . '</label><select id="pp-metamark-type-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Type', 'powerpress') .'" name="MetaMarks['.esc_attr($feed_slug).']['.esc_attr($next_row).'][type]">';
|
116 |
+
$html .= powerpress_print_options( array(''=>'Select Type')+ $MarkTypes, esc_html($data['type']), true);
|
117 |
+
$html .= '</select></div><div class="powerpress-label-container" id="pp-pos-label' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '"><label class="pp-ep-box-label" for="pp-metamark-pos-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'">' . __('Position', 'powerpress') . '</label>';
|
118 |
+
$html .= '<input id="pp-metamark-pos-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Position', 'powerpress') .'" name="MetaMarks['.esc_attr($feed_slug).']['.esc_attr($next_row).'][position]" value="' .htmlspecialchars($data['position']) .'" placeholder="'. htmlspecialchars(__('Position', 'powerpress')) .'" /></div>';
|
119 |
+
$html .= '<div class="powerpress-label-container" id="pp-dur-label' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '"><label class="pp-ep-box-label" for=\"pp-metamark-dur-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'\">' . __('Duration', 'powerpress') . '</label>';
|
120 |
+
$html .= '<input id="pp-metamark-dur-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Duration', 'powerpress') .'" name="MetaMarks['.esc_attr($feed_slug).']['.esc_attr($next_row).'][duration]" value="' .htmlspecialchars($data['duration']) .'" placeholder="'. htmlspecialchars(__('Duration', 'powerpress')) .'" /></div></div>';
|
121 |
+
$html .= '<div class="pp-section-container"><div class="powerpress-label-container" style="width: 100%;"><label class="pp-ep-box-label" for="pp-metamark-link-' . esc_attr($feed_slug) .'-'. esc_attr($next_row) .'">' . __('Link', 'powerpress') . '</label><input id="pp-metamark-link-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'" class="pp-ep-box-input" style="width: 100%;" type="text" title="'. __('Link', 'powerpress') .'" name="MetaMarks['.esc_attr($feed_slug).']['.esc_attr($next_row).'][link]" value="' .htmlspecialchars($data['link']) .'" placeholder="'. htmlspecialchars(__('Link', 'powerpress')) .'" /></div></div>';
|
122 |
+
$html .= '<div class="pp-section-container" id="pp-value-container-' . esc_attr($feed_slug) .'-'. esc_attr($next_row) . '"><div class="powerpress-label-container" style="width: 100%;"><label class="pp-ep-box-label" for="pp-metamark-val-' . esc_attr($next_row) .'">' . __('Value', 'powerpress') . '</label><textarea id="pp-metamark-val-'. esc_attr($feed_slug) .'-'. esc_attr($next_row) .'" class="pp-ep-box-input" style="width: 100%;" name="MetaMarks['.esc_attr($feed_slug).']['.esc_attr($next_row).'][value]" title="'. __('Value', 'powerpress') .'" placeholder="'. htmlspecialchars(__('Value', 'powerpress')) .'">' .htmlspecialchars($data['value']) .'</textarea></div></div>';
|
123 |
|
124 |
|
125 |
$html .= '</div></div>';
|
powerpress.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="https://create.blubrry.com/resources/powerpress/" target="_blank">Blubrry PowerPress</a> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
-
Version: 8.4.
|
7 |
Author: Blubrry
|
8 |
Author URI: https://blubrry.com/
|
9 |
Requires at least: 3.6
|
@@ -36,7 +36,7 @@ if( !function_exists('add_action') ) {
|
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
|
39 |
-
define('POWERPRESS_VERSION', '8.4.
|
40 |
|
41 |
// Translation support:
|
42 |
if ( !defined('POWERPRESS_ABSPATH') )
|
3 |
Plugin Name: Blubrry PowerPress
|
4 |
Plugin URI: http://create.blubrry.com/resources/powerpress/
|
5 |
Description: <a href="https://create.blubrry.com/resources/powerpress/" target="_blank">Blubrry PowerPress</a> is the No. 1 Podcasting plugin for WordPress. Developed by podcasters for podcasters; features include Simple and Advanced modes, multiple audio/video player options, subscribe to podcast tools, podcast SEO features, and more! Fully supports Apple Podcasts (previously iTunes), Google Podcasts, Spotify, Stitcher, and Blubrry Podcasting directories, as well as all podcast applications and clients.
|
6 |
+
Version: 8.4.5
|
7 |
Author: Blubrry
|
8 |
Author URI: https://blubrry.com/
|
9 |
Requires at least: 3.6
|
36 |
|
37 |
// WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
|
38 |
|
39 |
+
define('POWERPRESS_VERSION', '8.4.5' );
|
40 |
|
41 |
// Translation support:
|
42 |
if ( !defined('POWERPRESS_ABSPATH') )
|
powerpressadmin-auth.class.php
CHANGED
@@ -128,18 +128,18 @@ class PowerPressAuth {
|
|
128 |
return $this->api($accessToken, $path, array('client_id' => $clientID, 'client_secret' => $clientSecret));
|
129 |
}
|
130 |
|
131 |
-
function api($accessToken, $path, $post = false, $custom_request = false, $timeout = 15 )
|
132 |
{
|
133 |
$requestUrl = $this->apiUrl[ $this->apiUrlIndex ] . ltrim($path, '/'); // Make sure prefix slash is removed
|
134 |
-
$return = $this->_makeApiCall($requestUrl, $post, false, $accessToken, $custom_request, $timeout);
|
135 |
while( $return === false && $this->_retryApiUrl() ) {
|
136 |
$requestUrl = $this->apiUrl[ $this->apiUrlIndex ] . ltrim($path, '/'); // Make sure prefix slash is removed
|
137 |
-
$return = $this->_makeApiCall($requestUrl, $post, false, $accessToken, $custom_request, $timeout);
|
138 |
}
|
139 |
return $return;
|
140 |
}
|
141 |
|
142 |
-
private function _makeApiCallCurl($url, $post = false, $clientCredsBase64 = false, $bearerValue = '', $custom_request = false, $timeout = 15 ) {
|
143 |
|
144 |
$curl = curl_init();
|
145 |
if ( version_compare( PHP_VERSION, '5.5.0') > 0 )
|
@@ -237,9 +237,13 @@ class PowerPressAuth {
|
|
237 |
if( !empty($returnedBody) ) {
|
238 |
//mail('cio@rawvoice,com', '_makeApiCallCurl body', "$returnedBody");
|
239 |
//var_dump($returnedBody);
|
240 |
-
|
241 |
-
|
242 |
-
|
|
|
|
|
|
|
|
|
243 |
|
244 |
if( $this->errorCode != 0 ) {
|
245 |
$this->error = 'Unable to decode response.';
|
@@ -256,13 +260,13 @@ class PowerPressAuth {
|
|
256 |
return false;
|
257 |
}
|
258 |
|
259 |
-
private function _makeApiCall($url, $post = false, $clientCredsBase64 = false, $bearerValue = '', $custom_request = false, $timeout = 15) {
|
260 |
|
261 |
// Reset the errors
|
262 |
$this->error = '';
|
263 |
$this->errorCode = 0;
|
264 |
if( function_exists('curl_init') ) // If using CURL, better handling of errors
|
265 |
-
return $this->_makeApiCallCurl($url, $post, $clientCredsBase64, $bearerValue, $custom_request);
|
266 |
|
267 |
if( !function_exists('wp_remote_post') ) {
|
268 |
$this->error = 'WordPress or curl library required.';
|
@@ -317,9 +321,13 @@ class PowerPressAuth {
|
|
317 |
}
|
318 |
|
319 |
if( !empty($returnedBody) ) {
|
320 |
-
|
321 |
-
|
322 |
-
|
|
|
|
|
|
|
|
|
323 |
}
|
324 |
|
325 |
if( $this->errorCode != 0 ) {
|
128 |
return $this->api($accessToken, $path, array('client_id' => $clientID, 'client_secret' => $clientSecret));
|
129 |
}
|
130 |
|
131 |
+
function api($accessToken, $path, $post = false, $custom_request = false, $timeout = 15, $decode_json = true )
|
132 |
{
|
133 |
$requestUrl = $this->apiUrl[ $this->apiUrlIndex ] . ltrim($path, '/'); // Make sure prefix slash is removed
|
134 |
+
$return = $this->_makeApiCall($requestUrl, $post, false, $accessToken, $custom_request, $timeout, $decode_json);
|
135 |
while( $return === false && $this->_retryApiUrl() ) {
|
136 |
$requestUrl = $this->apiUrl[ $this->apiUrlIndex ] . ltrim($path, '/'); // Make sure prefix slash is removed
|
137 |
+
$return = $this->_makeApiCall($requestUrl, $post, false, $accessToken, $custom_request, $timeout, $decode_json);
|
138 |
}
|
139 |
return $return;
|
140 |
}
|
141 |
|
142 |
+
private function _makeApiCallCurl($url, $post = false, $clientCredsBase64 = false, $bearerValue = '', $custom_request = false, $timeout = 15, $decode_json = true ) {
|
143 |
|
144 |
$curl = curl_init();
|
145 |
if ( version_compare( PHP_VERSION, '5.5.0') > 0 )
|
237 |
if( !empty($returnedBody) ) {
|
238 |
//mail('cio@rawvoice,com', '_makeApiCallCurl body', "$returnedBody");
|
239 |
//var_dump($returnedBody);
|
240 |
+
if ($decode_json) {
|
241 |
+
$decoded = @json_decode($returnedBody, true);
|
242 |
+
if (!empty($decoded))
|
243 |
+
return $decoded;
|
244 |
+
} else {
|
245 |
+
return $returnedBody;
|
246 |
+
}
|
247 |
|
248 |
if( $this->errorCode != 0 ) {
|
249 |
$this->error = 'Unable to decode response.';
|
260 |
return false;
|
261 |
}
|
262 |
|
263 |
+
private function _makeApiCall($url, $post = false, $clientCredsBase64 = false, $bearerValue = '', $custom_request = false, $timeout = 15, $decode_json = true) {
|
264 |
|
265 |
// Reset the errors
|
266 |
$this->error = '';
|
267 |
$this->errorCode = 0;
|
268 |
if( function_exists('curl_init') ) // If using CURL, better handling of errors
|
269 |
+
return $this->_makeApiCallCurl($url, $post, $clientCredsBase64, $bearerValue, $custom_request, $timeout, $decode_json);
|
270 |
|
271 |
if( !function_exists('wp_remote_post') ) {
|
272 |
$this->error = 'WordPress or curl library required.';
|
321 |
}
|
322 |
|
323 |
if( !empty($returnedBody) ) {
|
324 |
+
if ($decode_json) {
|
325 |
+
$decoded = @json_decode($returnedBody, true);
|
326 |
+
if ($decoded !== false) {
|
327 |
+
return $decoded;
|
328 |
+
}
|
329 |
+
} else {
|
330 |
+
return $returnedBody;
|
331 |
}
|
332 |
|
333 |
if( $this->errorCode != 0 ) {
|
powerpressadmin-dashboard.php
CHANGED
@@ -169,7 +169,7 @@ function powerpress_dashboard_stats_content()
|
|
169 |
$accessToken = powerpress_getAccessToken();
|
170 |
$req_url = sprintf('/2/stats/%s/summary.html?nobody=1', $Keyword);
|
171 |
$req_url .= (defined('POWERPRESS_BLUBRRY_API_QSA')?'?'. POWERPRESS_BLUBRRY_API_QSA:'');
|
172 |
-
$new_content = $auth->api($accessToken, $req_url, false, false, 2);
|
173 |
|
174 |
if( $new_content )
|
175 |
{
|
169 |
$accessToken = powerpress_getAccessToken();
|
170 |
$req_url = sprintf('/2/stats/%s/summary.html?nobody=1', $Keyword);
|
171 |
$req_url .= (defined('POWERPRESS_BLUBRRY_API_QSA')?'?'. POWERPRESS_BLUBRRY_API_QSA:'');
|
172 |
+
$new_content = $auth->api($accessToken, $req_url, false, false, 2, false);
|
173 |
|
174 |
if( $new_content )
|
175 |
{
|
powerpressadmin-jquery.php
CHANGED
@@ -587,7 +587,7 @@ window.onload = function() {
|
|
587 |
powerpress_admin_jquery_footer();
|
588 |
exit;
|
589 |
}
|
590 |
-
|
591 |
|
592 |
if (isset($_GET['logout']) && $_GET['logout']) {
|
593 |
$action_url = admin_url('admin.php?action=powerpress-jquery-account-save');
|
@@ -706,7 +706,7 @@ window.onload = function() {
|
|
706 |
exit;
|
707 |
}
|
708 |
|
709 |
-
|
710 |
|
711 |
$SaveSettings = isset($_POST['Settings']) ? $_POST['Settings'] : array();
|
712 |
$SaveSettings = powerpress_stripslashes($SaveSettings);
|
@@ -934,7 +934,7 @@ jQuery(document).ready(function($) {
|
|
934 |
exit;
|
935 |
}
|
936 |
|
937 |
-
|
938 |
|
939 |
if( !$Settings )
|
940 |
$Settings = get_option('powerpress_general');
|
587 |
powerpress_admin_jquery_footer();
|
588 |
exit;
|
589 |
}
|
590 |
+
check_admin_referer('powerpress-jquery-account-verify');
|
591 |
|
592 |
if (isset($_GET['logout']) && $_GET['logout']) {
|
593 |
$action_url = admin_url('admin.php?action=powerpress-jquery-account-save');
|
706 |
exit;
|
707 |
}
|
708 |
|
709 |
+
check_admin_referer('powerpress-jquery-account-save');
|
710 |
|
711 |
$SaveSettings = isset($_POST['Settings']) ? $_POST['Settings'] : array();
|
712 |
$SaveSettings = powerpress_stripslashes($SaveSettings);
|
934 |
exit;
|
935 |
}
|
936 |
|
937 |
+
check_admin_referer('powerpress-jquery-account-edit');
|
938 |
|
939 |
if( !$Settings )
|
940 |
$Settings = get_option('powerpress_general');
|
powerpressadmin-metabox.php
CHANGED
@@ -92,6 +92,7 @@ function episode_box_top($EnclosureURL, $FeedSlug, $ExtraData, $GeneralSettings,
|
|
92 |
</a>
|
93 |
</div>
|
94 |
<?php } else {
|
|
|
95 |
?>
|
96 |
<div id="ep-box-blubrry-connect-<?php echo $FeedSlug; ?>" style="<?php echo $style4; ?>">
|
97 |
<img class="ep-box-blubrry-icon" src="<?php echo powerpress_get_root_url(); ?>images/blubrry_icon.png" alt="" />
|
@@ -99,23 +100,21 @@ function episode_box_top($EnclosureURL, $FeedSlug, $ExtraData, $GeneralSettings,
|
|
99 |
<h4 class="blubrry-connect-info"><?php echo __('If you host with Blubrry', 'powerpress'); ?></h4>
|
100 |
<p class="blubrry-connect-info"><?php echo __('You can select a media file from your computer by connecting your hosting account.', 'powerpress'); ?></p>
|
101 |
</div>
|
102 |
-
<a class="button-blubrry" id="ep-box-connect-account-<?php echo $FeedSlug; ?>" title="<?php echo esc_attr(__('Blubrry Services Integration', 'powerpress')); ?>" href="<?php echo admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&from=new_post"); ?>">
|
103 |
<div id="ep-box-connect-account-button-<?php echo $FeedSlug; ?>"><?php echo __('Connect to Blubrry', 'powerpress'); ?></div>
|
104 |
</a>
|
105 |
</div>
|
106 |
<div id="ep-box-min-blubrry-connect-<?php echo $FeedSlug; ?>" style="<?php echo $style2; ?>">
|
107 |
<div id="pp-connect-account-<?php echo $FeedSlug; ?>">
|
108 |
-
<a id="pp-connect-account-link-<?php echo $FeedSlug; ?>" class="pp-media-edit-details button-blubrry" title="<?php echo esc_attr(__("Blubrry Services Integration","powerpress")); ?>" href="<?php echo admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&from=new_post"); ?>">
|
109 |
<b><?php echo esc_html(__('Connect Blubrry Account', 'powerpress')); ?></b>
|
110 |
</a>
|
111 |
</div>
|
112 |
<div id="pp-cancel-container-<?php echo $FeedSlug; ?>">
|
113 |
-
<!--<div class="ep-box-line-bold"></div>-->
|
114 |
<div id="pp-cancel-media-<?php echo $FeedSlug; ?>">
|
115 |
<button id="cancel-media-edit-<?php echo $FeedSlug; ?>" class="pp-media-edit-details"
|
116 |
onclick="powerpress_cancelMediaEdit(this); return false;"><b><?php echo esc_html(__('CANCEL', 'powerpress')); ?></b></button>
|
117 |
-
|
118 |
-
onclick="showHideMediaDetails(this)"><?php //echo __('Hide File Size and Duration', 'powerpress'); ?> ˄</a>-->
|
119 |
</div>
|
120 |
</div>
|
121 |
</div>
|
92 |
</a>
|
93 |
</div>
|
94 |
<?php } else {
|
95 |
+
$pp_nonce = powerpress_login_create_nonce();
|
96 |
?>
|
97 |
<div id="ep-box-blubrry-connect-<?php echo $FeedSlug; ?>" style="<?php echo $style4; ?>">
|
98 |
<img class="ep-box-blubrry-icon" src="<?php echo powerpress_get_root_url(); ?>images/blubrry_icon.png" alt="" />
|
100 |
<h4 class="blubrry-connect-info"><?php echo __('If you host with Blubrry', 'powerpress'); ?></h4>
|
101 |
<p class="blubrry-connect-info"><?php echo __('You can select a media file from your computer by connecting your hosting account.', 'powerpress'); ?></p>
|
102 |
</div>
|
103 |
+
<a class="button-blubrry" id="ep-box-connect-account-<?php echo $FeedSlug; ?>" title="<?php echo esc_attr(__('Blubrry Services Integration', 'powerpress')); ?>" href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&from=new_post")); ?>">
|
104 |
<div id="ep-box-connect-account-button-<?php echo $FeedSlug; ?>"><?php echo __('Connect to Blubrry', 'powerpress'); ?></div>
|
105 |
</a>
|
106 |
</div>
|
107 |
<div id="ep-box-min-blubrry-connect-<?php echo $FeedSlug; ?>" style="<?php echo $style2; ?>">
|
108 |
<div id="pp-connect-account-<?php echo $FeedSlug; ?>">
|
109 |
+
<a id="pp-connect-account-link-<?php echo $FeedSlug; ?>" class="pp-media-edit-details button-blubrry" title="<?php echo esc_attr(__("Blubrry Services Integration","powerpress")); ?>" href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&from=new_post")); ?>">
|
110 |
<b><?php echo esc_html(__('Connect Blubrry Account', 'powerpress')); ?></b>
|
111 |
</a>
|
112 |
</div>
|
113 |
<div id="pp-cancel-container-<?php echo $FeedSlug; ?>">
|
|
|
114 |
<div id="pp-cancel-media-<?php echo $FeedSlug; ?>">
|
115 |
<button id="cancel-media-edit-<?php echo $FeedSlug; ?>" class="pp-media-edit-details"
|
116 |
onclick="powerpress_cancelMediaEdit(this); return false;"><b><?php echo esc_html(__('CANCEL', 'powerpress')); ?></b></button>
|
117 |
+
|
|
|
118 |
</div>
|
119 |
</div>
|
120 |
</div>
|
powerpressadmin-rss-import.php
CHANGED
@@ -1334,7 +1334,8 @@ jQuery(document).ready( function() {
|
|
1334 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_basic&step=createEpisode&import=true&migrate=true");
|
1335 |
} else {
|
1336 |
if ($this->isHostedOnBlubrry) {
|
1337 |
-
$
|
|
|
1338 |
} else {
|
1339 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_basic&step=nohost&import=true&from=import");
|
1340 |
}
|
@@ -1345,7 +1346,8 @@ jQuery(document).ready( function() {
|
|
1345 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_onboarding.php&step=createEpisode&import=true&migrate=true");
|
1346 |
} else {
|
1347 |
if ($this->isHostedOnBlubrry) {
|
1348 |
-
$
|
|
|
1349 |
} else {
|
1350 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_onboarding.php&step=nohost&import=true&from=import");
|
1351 |
}
|
1334 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_basic&step=createEpisode&import=true&migrate=true");
|
1335 |
} else {
|
1336 |
if ($this->isHostedOnBlubrry) {
|
1337 |
+
$pp_nonce = powerpress_login_create_nonce();
|
1338 |
+
$nextUrl = add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page=powerpressadmin_basic&step=blubrrySignin&import=true"));
|
1339 |
} else {
|
1340 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_basic&step=nohost&import=true&from=import");
|
1341 |
}
|
1346 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_onboarding.php&step=createEpisode&import=true&migrate=true");
|
1347 |
} else {
|
1348 |
if ($this->isHostedOnBlubrry) {
|
1349 |
+
$pp_nonce = powerpress_login_create_nonce();
|
1350 |
+
$nextUrl = add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&import=true"));
|
1351 |
} else {
|
1352 |
$nextUrl = admin_url("admin.php?page=powerpressadmin_onboarding.php&step=nohost&import=true&from=import");
|
1353 |
}
|
powerpressadmin.php
CHANGED
@@ -13,6 +13,10 @@ function powerpress_esc_html($escape)
|
|
13 |
}
|
14 |
return esc_html($escape);
|
15 |
}
|
|
|
|
|
|
|
|
|
16 |
|
17 |
function powerpress_page_message_add_error($msg, $classes='inline', $escape=true)
|
18 |
{
|
@@ -661,9 +665,11 @@ function powerpress_admin_init()
|
|
661 |
}
|
662 |
|
663 |
if (isset($_POST['blubrry-login'])) {
|
|
|
|
|
664 |
$tab_string = isset($_POST['tab']) ? "&tab={$_POST['tab']}" : "";
|
665 |
$sidenav_tab_string = isset($_POST['sidenav-tab']) ? "&sidenav-tab={$_POST['sidenav-tab']}" : "";
|
666 |
-
header("Location: " . admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&from=powerpressadmin_basic{$tab_string}{$sidenav_tab_string}"));
|
667 |
}
|
668 |
|
669 |
// Anytime settings are saved lets flush the rewrite rules
|
13 |
}
|
14 |
return esc_html($escape);
|
15 |
}
|
16 |
+
|
17 |
+
function powerpress_login_create_nonce() {
|
18 |
+
return wp_create_nonce( 'powerpress-link-blubrry' );
|
19 |
+
}
|
20 |
|
21 |
function powerpress_page_message_add_error($msg, $classes='inline', $escape=true)
|
22 |
{
|
665 |
}
|
666 |
|
667 |
if (isset($_POST['blubrry-login'])) {
|
668 |
+
check_admin_referer('powerpress-edit');
|
669 |
+
$pp_nonce = powerpress_login_create_nonce();
|
670 |
$tab_string = isset($_POST['tab']) ? "&tab={$_POST['tab']}" : "";
|
671 |
$sidenav_tab_string = isset($_POST['sidenav-tab']) ? "&sidenav-tab={$_POST['sidenav-tab']}" : "";
|
672 |
+
header("Location: " . add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page=powerpressadmin_onboarding.php&step=blubrrySignin&from=powerpressadmin_basic{$tab_string}{$sidenav_tab_string}")));
|
673 |
}
|
674 |
|
675 |
// Anytime settings are saved lets flush the rewrite rules
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: podcasting, podcast, podcaster, powerpress, itunes, apple, apple podcasts,
|
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 5.5
|
7 |
-
Stable tag: 8.4.
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
@@ -236,6 +236,13 @@ To install Blubrry PowerPress manually, follow these steps:
|
|
236 |
= Fan of PowerPress and want to show your support? =
|
237 |
If you are a fan of PowerPress, we would greatly appreciate it if you could take a moment and [leave us a review on WordPress.org](https://wordpress.org/support/plugin/powerpress/reviews/?rate=5#new-post). Your support is greatly appreciated!
|
238 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
= 8.4.4 =
|
240 |
* Released 11/17/2020
|
241 |
* Re-ordered destinations to better integrate new Amazon Music and Podcast Index
|
4 |
Requires at least: 3.6
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 5.5
|
7 |
+
Stable tag: 8.4.5
|
8 |
Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
|
9 |
License: GPLv2 or later
|
10 |
|
236 |
= Fan of PowerPress and want to show your support? =
|
237 |
If you are a fan of PowerPress, we would greatly appreciate it if you could take a moment and [leave us a review on WordPress.org](https://wordpress.org/support/plugin/powerpress/reviews/?rate=5#new-post). Your support is greatly appreciated!
|
238 |
|
239 |
+
= 8.4.5 =
|
240 |
+
* Released 11/30/2020
|
241 |
+
* Fixed CSRF security vulnerabilities inside the new login
|
242 |
+
* Fixed XSS vulnerabilities in metamarks function
|
243 |
+
* Replaced deprecated wp_make_content_images_responsive with wp_filter_content_tags
|
244 |
+
* Fixed a bug that was causing the text color to be white in the Title input in post editor
|
245 |
+
|
246 |
= 8.4.4 =
|
247 |
* Released 11/17/2020
|
248 |
* Re-ordered destinations to better integrate new Amazon Music and Podcast Index
|
views/onboarding/blubrry_signin.php
CHANGED
@@ -3,327 +3,339 @@
|
|
3 |
require_once(POWERPRESS_ABSPATH .'/powerpressadmin-auth.class.php');
|
4 |
$auth = new PowerPressAuth();
|
5 |
add_thickbox();
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
$path = 'create';
|
12 |
-
$actType = '&account_type=2';
|
13 |
-
} else {
|
14 |
-
$path = 'authorize';
|
15 |
-
$actType = '';
|
16 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
$
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
30 |
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
31 |
-
|
32 |
-
|
33 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
|
|
|
|
35 |
}
|
36 |
-
$redirect_uri = admin_url($url_string);
|
37 |
-
update_option('powerpress_blubrry_api_redirect_uri', $redirect_uri);
|
38 |
-
//header('location:' . $auth->getApiUrl() . 'oauth2/authorize?response_type=code&client_id=' . $result['temp_client_id'] . '&state=' . $state . '&redirect_uri=' . urlencode($redirect_uri) );
|
39 |
-
echo '<script>window.location.href = "' . $auth->getApiUrl() . 'oauth2/' . $path . '?response_type=code&client_id=' . $result['temp_client_id'] . '&state=' . $state . '&redirect_uri=' . urlencode($redirect_uri) . $actType . '";</script>';
|
40 |
-
exit;
|
41 |
-
}
|
42 |
-
} else if(isset($_GET['code']) || isset($_GET['error'])) {
|
43 |
-
if (isset($_GET['error']) && $_GET['error'] == 'consent_required') {
|
44 |
-
if(isset($_GET['from']) && $_GET['from'] == 'powerpressadmin_basic') {
|
45 |
-
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
46 |
-
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
47 |
-
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['from']}{$tab_string}{$sidenav_tab_string}") . '";</script>';
|
48 |
-
exit;
|
49 |
-
} elseif (isset($_GET['from']) && $_GET['from'] == 'new_post') {
|
50 |
-
echo '<script>window.location.href = "' . admin_url('post-new.php') . '";</script>';
|
51 |
-
exit;
|
52 |
-
} else {
|
53 |
-
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['page']}&step=nohost") . '";</script>';
|
54 |
-
exit;
|
55 |
-
}
|
56 |
-
} elseif (empty($_GET['state']) || empty($_GET['code'])) {
|
57 |
-
powerpress_page_message_add_error(__('An error occurred linking your account. Missing parameters.', 'powerpress'));
|
58 |
-
}
|
59 |
//First, check if we're already logged in. If we are, we'll skip the client issuing and get access token
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
// Get the client ID for this installation
|
70 |
-
$resultClient = $auth->issueClient($_GET['code'], $tempClient['temp_client_id'], $tempClient['temp_client_secret'], $redirectUri);
|
71 |
-
if ($resultClient === false || empty($resultClient['client_id']) || empty($resultClient['client_secret'])) {
|
72 |
-
if (!empty($resultTokens['error_description']))
|
73 |
-
powerpress_page_message_add_error($resultTokens['error_description']);
|
74 |
-
else if (!empty($resultTokens['error']))
|
75 |
-
powerpress_page_message_add_error($resultTokens['error']);
|
76 |
-
else
|
77 |
-
powerpress_page_message_add_error(__('Error issuing client:', 'powerpress-network') . ' ' . $auth->GetLastError() . $auth->getDebugInfo());
|
78 |
-
powerpress_page_message_print();
|
79 |
-
exit;
|
80 |
-
}
|
81 |
|
82 |
-
|
83 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
powerpress_page_message_add_error($resultTokens['error_description']);
|
88 |
-
else if (!empty($resultTokens['error']))
|
89 |
-
powerpress_page_message_add_error($resultTokens['error']);
|
90 |
-
else
|
91 |
-
powerpress_page_message_add_error(__('Error retrieving access token:', 'powerpress-network') . ' ' . $auth->GetLastError());
|
92 |
-
powerpress_page_message_print();
|
93 |
-
exit;
|
94 |
-
}
|
95 |
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
|
|
|
|
104 |
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
$props['
|
112 |
powerpress_save_settings($props, 'powerpress_creds');
|
113 |
-
|
114 |
} else {
|
115 |
-
$props
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
|
|
135 |
}
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
}
|
146 |
-
|
147 |
-
wp_enqueue_style('powerpress_onboarding_styles',POWERPRESS_ABSPATH . '/css/onboarding.css' );?>
|
148 |
|
149 |
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
168 |
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
|
|
|
|
174 |
</div>
|
175 |
-
|
176 |
-
|
177 |
-
</
|
178 |
</div>
|
179 |
</div>
|
180 |
</div>
|
181 |
-
|
182 |
-
|
|
|
|
|
|
|
|
|
|
|
183 |
}
|
184 |
-
|
185 |
-
|
186 |
-
powerpress_save_settings($props, 'powerpress_creds');
|
187 |
-
powerpress_page_message_add_error(__('Error verifying account: ', 'powerpress') . isset($result['error']) ? $result['error'] : $auth->getLastError());
|
188 |
-
powerpress_page_message_print();
|
189 |
-
}
|
190 |
-
//var_dump($result);
|
191 |
-
//exit;
|
192 |
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
|
|
|
|
261 |
}
|
262 |
-
$add_urls .= $url;
|
263 |
}
|
|
|
264 |
}
|
265 |
-
powepress_admin_migrate_add_urls($add_urls);
|
266 |
}
|
267 |
-
}
|
268 |
|
269 |
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
293 |
}
|
294 |
-
powerpress_add_blubrry_redirect($keyword);
|
295 |
-
$Close = true;
|
296 |
-
$Save = true;
|
297 |
} else {
|
298 |
-
$
|
299 |
-
$Settings['blubrry_username'] = $SaveSettings['blubrry_username'];
|
300 |
}
|
301 |
-
} else {
|
302 |
-
$Error = __('No podcasts for this account are listed on blubrry.com.', 'powerpress');
|
303 |
}
|
304 |
-
}
|
305 |
|
306 |
-
|
307 |
-
|
308 |
-
$Error .= '<p style="text-align: center;"><a href="http://create.blubrry.com/resources/powerpress/powerpress-settings/services-stats/" target="_blank">'. __('Click Here For Help','powerpress') .'</a></p>';
|
309 |
-
}
|
310 |
-
if( $Save ) {
|
311 |
-
powerpress_save_settings($SaveSettings);
|
312 |
-
if (isset($_GET['from']) && $_GET['from'] == 'powerpressadmin_basic') {
|
313 |
-
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
314 |
-
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
315 |
-
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['from']}{$tab_string}{$sidenav_tab_string}") . '";</script>';
|
316 |
-
} elseif (isset($_GET['from']) && $_GET['from'] == 'new_post') {
|
317 |
-
echo '<script>window.location.href = "' . admin_url('post-new.php') . '";</script>';
|
318 |
}
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
|
324 |
-
|
325 |
-
|
326 |
|
327 |
|
|
|
|
|
|
|
|
|
|
|
328 |
}
|
329 |
?>
|
3 |
require_once(POWERPRESS_ABSPATH .'/powerpressadmin-auth.class.php');
|
4 |
$auth = new PowerPressAuth();
|
5 |
add_thickbox();
|
6 |
+
$General = powerpress_get_settings('powerpress_general');
|
7 |
+
if (!isset($_REQUEST['_wpnonce'])) {
|
8 |
+
powerpress_page_message_add_error(__('Invalid link', 'powerpress'));
|
9 |
+
powerpress_page_message_print();
|
10 |
+
exit;
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
12 |
+
if (wp_verify_nonce($_REQUEST['_wpnonce'], 'powerpress-link-blubrry')) {
|
13 |
+
if (isset($_GET['blubrry_create'])) {
|
14 |
+
$path = 'create';
|
15 |
+
$actType = '&account_type=2';
|
16 |
+
} else {
|
17 |
+
$path = 'authorize';
|
18 |
+
$actType = '';
|
19 |
+
}
|
20 |
|
21 |
+
if (!isset($_GET['code']) && !isset($_GET['error']) && !isset($_POST['Settings'])) {
|
22 |
+
$result = $auth->getTemporaryCredentials();
|
23 |
+
// Okay we got it!
|
24 |
+
if ($result !== false && !empty($result['temp_client_id']) && !empty($result['temp_client_secret'])) {
|
25 |
+
$state = md5(rand(0, 999999) . time());
|
26 |
+
update_option('powerpress_temp_client', array('temp_client_id' => $result['temp_client_id'], 'temp_client_secret' => $result['temp_client_secret'], 'state' => $state));
|
27 |
+
$from_string = '';
|
28 |
+
if (isset($_GET['from'])) {
|
29 |
+
$from_string = "&from=" . $_GET['from'];
|
30 |
+
if ($_GET['from'] == 'powerpressadmin_basic') {
|
31 |
+
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
32 |
+
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
33 |
+
$from_string .= $tab_string;
|
34 |
+
$from_string .= $sidenav_tab_string;
|
35 |
+
}
|
36 |
+
}
|
37 |
+
$url_string = "admin.php?page={$_GET['page']}&step=blubrrySignin{$from_string}" . (isset($_GET['blubrry_create']) ? '&blubrry_create=true' : '');
|
38 |
+
$redirect_uri = add_query_arg('_wpnonce', $_REQUEST['_wpnonce'], admin_url($url_string));
|
39 |
+
update_option('powerpress_blubrry_api_redirect_uri', $redirect_uri);
|
40 |
+
echo '<script>window.location.href = "' . $auth->getApiUrl() . 'oauth2/' . $path . '?response_type=code&client_id=' . $result['temp_client_id'] . '&state=' . $state . '&redirect_uri=' . urlencode($redirect_uri) . $actType . '";</script>';
|
41 |
+
exit;
|
42 |
+
}
|
43 |
+
} else if (isset($_GET['code']) || isset($_GET['error'])) {
|
44 |
+
if (isset($_GET['error']) && $_GET['error'] == 'consent_required') {
|
45 |
+
if (isset($_GET['from']) && $_GET['from'] == 'powerpressadmin_basic') {
|
46 |
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
47 |
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
48 |
+
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['from']}{$tab_string}{$sidenav_tab_string}") . '";</script>';
|
49 |
+
exit;
|
50 |
+
} elseif (isset($_GET['from']) && $_GET['from'] == 'new_post') {
|
51 |
+
echo '<script>window.location.href = "' . admin_url('post-new.php') . '";</script>';
|
52 |
+
exit;
|
53 |
+
} elseif (isset($_GET['from']) && $_GET['from'] == 'hosting_plugin') {
|
54 |
+
echo '<script>window.location.href = "' . admin_url('admin.php?page=powerpress-site-setup') . '";</script>';
|
55 |
+
exit;
|
56 |
+
} else {
|
57 |
+
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['page']}&step=nohost") . '";</script>';
|
58 |
+
exit;
|
59 |
}
|
60 |
+
} elseif (empty($_GET['state']) || empty($_GET['code'])) {
|
61 |
+
powerpress_page_message_add_error(__('An error occurred linking your account. Missing parameters.', 'powerpress'));
|
62 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
//First, check if we're already logged in. If we are, we'll skip the client issuing and get access token
|
64 |
+
$creds = get_option('powerpress_creds');
|
65 |
+
if (!$creds) {
|
66 |
+
$tempClient = get_option('powerpress_temp_client');
|
67 |
+
if ($_GET['state'] != $tempClient['state']) {
|
68 |
+
powerpress_page_message_add_error(__('An error occurred linking your account. State does not match.', 'powerpress'));
|
69 |
+
return false;
|
70 |
+
}
|
71 |
+
$redirectUri = get_option('powerpress_blubrry_api_redirect_uri');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
|
73 |
+
// Get the client ID for this installation
|
74 |
+
$resultClient = $auth->issueClient($_GET['code'], $tempClient['temp_client_id'], $tempClient['temp_client_secret'], $redirectUri);
|
75 |
+
if ($resultClient === false || empty($resultClient['client_id']) || empty($resultClient['client_secret'])) {
|
76 |
+
if (!empty($resultTokens['error_description']))
|
77 |
+
powerpress_page_message_add_error($resultTokens['error_description']);
|
78 |
+
else if (!empty($resultTokens['error']))
|
79 |
+
powerpress_page_message_add_error($resultTokens['error']);
|
80 |
+
else
|
81 |
+
powerpress_page_message_add_error(__('Error issuing client:', 'powerpress-network') . ' ' . $auth->GetLastError() . $auth->getDebugInfo());
|
82 |
+
powerpress_page_message_print();
|
83 |
+
exit;
|
84 |
+
}
|
85 |
|
86 |
+
// Get the access and refresh token for this client
|
87 |
+
$resultTokens = $auth->getAccessTokenFromCode($_GET['code'], $resultClient['client_id'], $resultClient['client_secret'], $redirectUri);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
|
89 |
+
if ($resultTokens === false || empty($resultTokens['access_token']) || empty($resultTokens['refresh_token'])) {
|
90 |
+
if (!empty($resultTokens['error_description']))
|
91 |
+
powerpress_page_message_add_error($resultTokens['error_description']);
|
92 |
+
else if (!empty($resultTokens['error']))
|
93 |
+
powerpress_page_message_add_error($resultTokens['error']);
|
94 |
+
else
|
95 |
+
powerpress_page_message_add_error(__('Error retrieving access token:', 'powerpress-network') . ' ' . $auth->GetLastError());
|
96 |
+
powerpress_page_message_print();
|
97 |
+
exit;
|
98 |
+
}
|
99 |
|
100 |
+
$props = array();
|
101 |
+
$props['code'] = $_GET['code'];
|
102 |
+
$props['client_id'] = $resultClient['client_id'];
|
103 |
+
$props['client_secret'] = $resultClient['client_secret'];
|
104 |
+
$props['access_token'] = $resultTokens['access_token'];
|
105 |
+
$props['access_expires'] = (time() + $resultTokens['expires_in'] - 10);
|
106 |
+
$props['refresh_token'] = $resultTokens['refresh_token'];
|
107 |
powerpress_save_settings($props, 'powerpress_creds');
|
108 |
+
|
109 |
} else {
|
110 |
+
$props = $creds;
|
111 |
+
}
|
112 |
+
$result = $auth->checkAccountVerified();
|
113 |
+
if (isset($result['account_enabled']) && isset($result['account_confirmed'])) {
|
114 |
+
if (!$result['account_enabled'] || !$result['account_confirmed']) {
|
115 |
+
$props['account_verified'] = false;
|
116 |
+
powerpress_save_settings($props, 'powerpress_creds');
|
117 |
+
powerpress_check_account_verified_popup(true);
|
118 |
+
} else {
|
119 |
+
$props['account_verified'] = true;
|
120 |
+
powerpress_save_settings($props, 'powerpress_creds');
|
121 |
+
$Save = false;
|
122 |
+
$Close = false;
|
123 |
+
$Programs = array();
|
124 |
+
$ProgramHosting = array();
|
125 |
+
$json_data = false;
|
126 |
+
$results_programs = array();
|
127 |
+
$api_url_array = powerpress_get_api_array();
|
128 |
+
$accessToken = powerpress_getAccessToken();
|
129 |
|
130 |
+
$req_url = '/2/service/index.json';
|
131 |
+
$req_url .= (defined('POWERPRESS_BLUBRRY_API_QSA') ? '?' . POWERPRESS_BLUBRRY_API_QSA : '');
|
132 |
+
$results_programs = $auth->api($accessToken, $req_url);
|
133 |
|
134 |
+
if (!$results_programs) {
|
135 |
+
powerpress_page_message_add_error(__('Error accessing account: ', 'powerpress') . $auth->getLastError());
|
136 |
+
} else {
|
137 |
+
foreach ($results_programs as $null => $row) {
|
138 |
+
$Programs[$row['program_keyword']] = $row['program_title'];
|
139 |
+
}
|
140 |
}
|
141 |
+
$from_string = '';
|
142 |
+
if (isset($_GET['from'])) {
|
143 |
+
$from_string = "&from=" . $_GET['from'];
|
144 |
+
if ($_GET['from'] == 'powerpressadmin_basic') {
|
145 |
+
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
146 |
+
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
147 |
+
$from_string .= $tab_string;
|
148 |
+
$from_string .= $sidenav_tab_string;
|
149 |
+
}
|
150 |
}
|
151 |
+
wp_enqueue_style('powerpress_onboarding_styles', POWERPRESS_ABSPATH . '/css/onboarding.css'); ?>
|
|
|
152 |
|
153 |
|
154 |
+
<div class="pp_container">
|
155 |
+
<h2 class="pp_align-center"><?php echo __('You\'re ready to go!', 'powerpress'); ?></h2>
|
156 |
+
<hr class="pp_align-center"/>
|
157 |
+
<p class="pp_align-center"><?php echo __('You can now now able to upload episodes from within WordPress to blubrry, view basic stats from the wordpress dashboard.', 'powerpress'); ?></p>
|
158 |
+
<p class="pp_align-center"><?php echo __('If this is the wrong Blubrry account, visit settings to unlink this account.', 'powerpress'); ?></p>
|
159 |
+
</div>
|
160 |
|
161 |
+
<div class="pp_container">
|
162 |
+
<?php powerpress_page_message_print() ?>
|
163 |
+
<h2 class="pp_align-center"><?php echo __('Select your default show', 'powerpress'); ?></h2>
|
164 |
+
<p class="pp_align-center"><?php echo __('You have multiple shows in your account. Please select which one you want to be your default show for this website.', 'powerpress'); ?></p>
|
165 |
+
<div class="pp_flex-grid">
|
166 |
+
<div class="pp_col">
|
167 |
+
<div class="pp_button-container">
|
168 |
+
<form action="<?php echo add_query_arg('_wpnonce', $_REQUEST['_wpnonce'], admin_url("admin.php?page={$_GET['page']}&step=blubrrySignin{$from_string}")); ?>"
|
169 |
+
method="post">
|
170 |
+
<?php
|
171 |
+
foreach ($Programs as $value => $desc)
|
172 |
+
echo "<div><button type='submit' name='Settings[blubrry_program_keyword]' value='{$value}' class='pp_button show_button'><span>{$desc}</span></button></div>";
|
173 |
|
174 |
+
if (isset($_GET['from']) && $_GET['from'] == 'import') { ?>
|
175 |
+
<div class="pp_form-group" style="text-align: center">
|
176 |
+
<div class="pp_input-field-login" style="display: inline-block">
|
177 |
+
<input type="checkbox" id="blubrry_migrate_option_signin"
|
178 |
+
name="Settings[blubrry_migrate]">
|
179 |
+
<label for="blubrry_migrate_option_signin"><?php echo __('Migrate media from imported feed (only possible with a hosting account)', 'powerpress'); ?></label>
|
180 |
+
</div>
|
181 |
</div>
|
182 |
+
<?php } ?>
|
183 |
+
</form>
|
184 |
+
</div>
|
185 |
</div>
|
186 |
</div>
|
187 |
</div>
|
188 |
+
<?php
|
189 |
+
}
|
190 |
+
} else {
|
191 |
+
$props['account_verified'] = false;
|
192 |
+
powerpress_save_settings($props, 'powerpress_creds');
|
193 |
+
powerpress_page_message_add_error(__('Error verifying account: ', 'powerpress') . isset($result['error']) ? $result['error'] : $auth->getLastError());
|
194 |
+
powerpress_page_message_print();
|
195 |
}
|
196 |
+
//var_dump($result);
|
197 |
+
//exit;
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
|
199 |
+
} else if (isset($_POST['Settings'])) {
|
200 |
+
$SaveSettings = $_POST['Settings'];
|
201 |
+
$SaveSettings = powerpress_stripslashes($SaveSettings);
|
202 |
+
$Save = false;
|
203 |
+
$Close = false;
|
204 |
+
$Programs = array();
|
205 |
+
$ProgramHosting = array();
|
206 |
+
$json_data = false;
|
207 |
+
$results_programs = array();
|
208 |
+
$api_url_array = powerpress_get_api_array();
|
209 |
+
$accessToken = powerpress_getAccessToken();
|
210 |
+
$req_url = '/2/service/index.json';
|
211 |
+
$req_url .= (defined('POWERPRESS_BLUBRRY_API_QSA') ? '?' . POWERPRESS_BLUBRRY_API_QSA : '');
|
212 |
+
$results = $auth->api($accessToken, $req_url);
|
213 |
+
if (isset($results['error'])) {
|
214 |
+
$Error = $results['error'];
|
215 |
+
if (strstr($Error, __('currently not available', 'powerpress'))) {
|
216 |
+
$Error = __('Unable to find podcasts for this account.', 'powerpress');
|
217 |
+
$Error .= '<br /><span style="font-weight: normal; font-size: 12px;">';
|
218 |
+
$Error .= 'Verify that the email address you enter here matches the email address you used when you listed your podcast on blubrry.com.</span>';
|
219 |
+
} else if (preg_match('/No programs found.*media hosting/i', $results['error'])) {
|
220 |
+
$Error .= '<br/><span style="font-weight: normal; font-size: 12px;">';
|
221 |
+
$Error .= 'Service may take a few minutes to activate.</span>';
|
222 |
+
}
|
223 |
+
} else if (!is_array($results)) {
|
224 |
+
$Error = $json_data;
|
225 |
+
} else {
|
226 |
+
// Get all the programs for this user...
|
227 |
+
foreach ($results as $null => $row) {
|
228 |
+
$Programs[$row['program_keyword']] = $row['program_title'];
|
229 |
+
if ($row['hosting'] === true || $row['hosting'] == 'true')
|
230 |
+
$ProgramHosting[$row['program_keyword']] = true;
|
231 |
+
else
|
232 |
+
$ProgramHosting[$row['program_keyword']] = false;
|
233 |
+
}
|
234 |
|
235 |
+
if (count($Programs) > 0) {
|
236 |
+
global $wpdb;
|
237 |
+
$migrate_string = "";
|
238 |
|
239 |
+
if (isset($SaveSettings['blubrry_migrate']) && $SaveSettings['blubrry_migrate']) {
|
240 |
+
$migrate_string = "&migrate=true";
|
241 |
+
$query = "SELECT meta_id, post_id, meta_key, meta_value FROM {$wpdb->postmeta} WHERE meta_key LIKE \"%enclosure\"";
|
242 |
+
$results_data = $wpdb->get_results($query, ARRAY_A);
|
243 |
+
if ($results_data) {
|
244 |
+
if (empty($GLOBALS['pp_migrate_media_urls']))
|
245 |
+
$GLOBALS['pp_migrate_media_urls'] = array();
|
246 |
+
foreach ($results_data as $index => $row) {
|
247 |
+
list($url) = @explode("\n", $row['meta_value'], 2);
|
248 |
+
$url = trim($url);
|
249 |
+
$post_id = $row['post_id'];
|
250 |
+
$GLOBALS['pp_migrate_media_urls'][$post_id] = $url;
|
251 |
+
}
|
252 |
+
require_once(POWERPRESS_ABSPATH . '/powerpressadmin-migrate.php');
|
253 |
|
254 |
+
$update_option = true;
|
255 |
+
$QueuedFiles = get_option('powerpress_migrate_queued');
|
256 |
+
if (!is_array($QueuedFiles)) {
|
257 |
+
$QueuedFiles = array();
|
258 |
+
$update_option = false;
|
259 |
+
}
|
260 |
|
261 |
+
$add_urls = '';
|
262 |
+
foreach ($GLOBALS['pp_migrate_media_urls'] as $meta_id => $url) {
|
263 |
+
if (empty($QueuedFiles[$meta_id])) { // Add to the array if not already added
|
264 |
+
$QueuedFiles[$meta_id] = $url;
|
265 |
+
if (!empty($add_urls)) {
|
266 |
+
$add_urls .= "\n";
|
267 |
+
}
|
268 |
+
$add_urls .= $url;
|
269 |
}
|
|
|
270 |
}
|
271 |
+
powepress_admin_migrate_add_urls($add_urls);
|
272 |
}
|
|
|
273 |
}
|
|
|
274 |
|
275 |
|
276 |
+
if (!empty($SaveSettings['blubrry_program_keyword'])) {
|
277 |
+
powerpress_add_blubrry_redirect($SaveSettings['blubrry_program_keyword']);
|
278 |
+
$SaveSettings['blubrry_hosting'] = $ProgramHosting[$SaveSettings['blubrry_program_keyword']];
|
279 |
+
if (!is_bool($SaveSettings['blubrry_hosting'])) {
|
280 |
+
if ($SaveSettings['blubrry_hosting'] === 'false' || empty($SaveSettings['blubrry_hosting']))
|
281 |
+
$SaveSettings['blubrry_hosting'] = false;
|
282 |
+
}
|
283 |
|
284 |
+
$Save = true;
|
285 |
+
$Close = true;
|
286 |
+
} else if (isset($SaveSettings['blubrry_program_keyword'])) // Present but empty
|
287 |
+
{
|
288 |
+
$Error = __('You must select a program to continue.', 'powerpress');
|
289 |
+
} else if (count($Programs) == 1) {
|
290 |
+
foreach ($Programs as $keyword => $title) {
|
291 |
+
break;
|
292 |
+
}
|
293 |
|
294 |
+
$SaveSettings['blubrry_program_keyword'] = $keyword;
|
295 |
+
$SaveSettings['blubrry_hosting'] = $ProgramHosting[$keyword];
|
296 |
+
if (!is_bool($SaveSettings['blubrry_hosting'])) {
|
297 |
+
if ($SaveSettings['blubrry_hosting'] === 'false' || empty($SaveSettings['blubrry_hosting']))
|
298 |
+
$SaveSettings['blubrry_hosting'] = false;
|
299 |
+
}
|
300 |
+
powerpress_add_blubrry_redirect($keyword);
|
301 |
+
$Close = true;
|
302 |
+
$Save = true;
|
303 |
+
} else {
|
304 |
+
$Step = 2;
|
305 |
+
$Settings['blubrry_username'] = $SaveSettings['blubrry_username'];
|
306 |
}
|
|
|
|
|
|
|
307 |
} else {
|
308 |
+
$Error = __('No podcasts for this account are listed on blubrry.com.', 'powerpress');
|
|
|
309 |
}
|
|
|
|
|
310 |
}
|
|
|
311 |
|
312 |
+
if (isset($Error)) {
|
313 |
+
$Error .= '<p style="text-align: center;"><a href="http://create.blubrry.com/resources/powerpress/powerpress-settings/services-stats/" target="_blank">' . __('Click Here For Help', 'powerpress') . '</a></p>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
}
|
315 |
+
if ($Save) {
|
316 |
+
powerpress_save_settings($SaveSettings);
|
317 |
+
if (isset($_GET['from']) && $_GET['from'] == 'powerpressadmin_basic') {
|
318 |
+
$tab_string = isset($_GET['tab']) ? "&tab={$_GET['tab']}" : "";
|
319 |
+
$sidenav_tab_string = isset($_GET['sidenav-tab']) ? "&sidenav-tab={$_GET['sidenav-tab']}" : "";
|
320 |
+
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['from']}{$tab_string}{$sidenav_tab_string}") . '";</script>';
|
321 |
+
} elseif (isset($_GET['from']) && $_GET['from'] == 'new_post') {
|
322 |
+
echo '<script>window.location.href = "' . admin_url('post-new.php') . '";</script>';
|
323 |
+
} elseif (isset($_GET['from']) && $_GET['from'] == 'hosting_plugin') {
|
324 |
+
echo '<script>window.location.href = "' . admin_url('admin.php?page=powerpress-site-setup') . '";</script>';
|
325 |
+
}
|
326 |
+
echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['page']}&step=createEpisode$migrate_string") . '";</script>';
|
327 |
+
}
|
328 |
+
// Clear cached statistics
|
329 |
+
delete_option('powerpress_stats');
|
330 |
|
331 |
+
if (isset($Error))
|
332 |
+
powerpress_page_message_add_notice($Error, 'inline', false);
|
333 |
|
334 |
|
335 |
+
}
|
336 |
+
} else {
|
337 |
+
powerpress_page_message_add_error(__('Invalid link', 'powerpress'));
|
338 |
+
powerpress_page_message_print();
|
339 |
+
exit;
|
340 |
}
|
341 |
?>
|
views/onboarding/nohost.php
CHANGED
@@ -11,6 +11,7 @@ if (isset($_GET['from']) && $_GET['from'] == 'import') {
|
|
11 |
} else {
|
12 |
$querystring_import = "";
|
13 |
}
|
|
|
14 |
?>
|
15 |
<div class="wrap">
|
16 |
<div class="pp_container">
|
@@ -57,13 +58,13 @@ if (isset($_GET['from']) && $_GET['from'] == 'import') {
|
|
57 |
<p class="pp_align-center"><?php echo __('Secure media storage, unlimited bandwidth, and pro stats included. Create an account or sign in.', 'powerpress'); ?></p>
|
58 |
</div>
|
59 |
<div class="pp_button-container">
|
60 |
-
<a href="<?php echo admin_url("admin.php?page={$_GET['page']}&step=blubrrySignin$querystring_import"); ?>">
|
61 |
<button type="button" class="pp_button"><span><?php echo __('Login to Blubrry', 'powerpress'); ?></span></button>
|
62 |
</a>
|
63 |
</div>
|
64 |
<?php if (defined('blubrry_internal_create_account_beta')){ ?>
|
65 |
<div class="pp_button-container">
|
66 |
-
<a href="<?php echo admin_url("admin.php?page={$_GET['page']}&blubrry_create=true&step=blubrrySignin$querystring_import"); ?>">
|
67 |
<button type="button" class="pp_button"><span><?php echo __('Create Account with Blubrry', 'powerpress'); ?></span></button>
|
68 |
</a>
|
69 |
</div>
|
11 |
} else {
|
12 |
$querystring_import = "";
|
13 |
}
|
14 |
+
$pp_nonce = powerpress_login_create_nonce();
|
15 |
?>
|
16 |
<div class="wrap">
|
17 |
<div class="pp_container">
|
58 |
<p class="pp_align-center"><?php echo __('Secure media storage, unlimited bandwidth, and pro stats included. Create an account or sign in.', 'powerpress'); ?></p>
|
59 |
</div>
|
60 |
<div class="pp_button-container">
|
61 |
+
<a href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&step=blubrrySignin$querystring_import")); ?>">
|
62 |
<button type="button" class="pp_button"><span><?php echo __('Login to Blubrry', 'powerpress'); ?></span></button>
|
63 |
</a>
|
64 |
</div>
|
65 |
<?php if (defined('blubrry_internal_create_account_beta')){ ?>
|
66 |
<div class="pp_button-container">
|
67 |
+
<a href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&blubrry_create=true&step=blubrrySignin$querystring_import")); ?>">
|
68 |
<button type="button" class="pp_button"><span><?php echo __('Create Account with Blubrry', 'powerpress'); ?></span></button>
|
69 |
</a>
|
70 |
</div>
|
views/onboarding/want_stats.php
CHANGED
@@ -1,4 +1,5 @@
|
|
1 |
<?php
|
|
|
2 |
?>
|
3 |
<div class="wrap">
|
4 |
<div class="pp_container">
|
@@ -43,7 +44,7 @@
|
|
43 |
<p class="pp_align-center"><?php echo __('Don\'t miss out on Blubrry\'s free podcast stats and directory listing.', 'powerpress'); ?></p>
|
44 |
</div>
|
45 |
<div class="pp_button-container">
|
46 |
-
<a href="<?php echo admin_url("admin.php?page={$_GET['page']}&step=blubrrySignin"); ?>">
|
47 |
<button type="button" class="pp_button"><span><?php echo __('I\'d like free tools', 'powerpress'); ?></span></button>
|
48 |
</a>
|
49 |
</div>
|
1 |
<?php
|
2 |
+
$pp_nonce = powerpress_login_create_nonce();
|
3 |
?>
|
4 |
<div class="wrap">
|
5 |
<div class="pp_container">
|
44 |
<p class="pp_align-center"><?php echo __('Don\'t miss out on Blubrry\'s free podcast stats and directory listing.', 'powerpress'); ?></p>
|
45 |
</div>
|
46 |
<div class="pp_button-container">
|
47 |
+
<a href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&step=blubrrySignin")); ?>">
|
48 |
<button type="button" class="pp_button"><span><?php echo __('I\'d like free tools', 'powerpress'); ?></span></button>
|
49 |
</a>
|
50 |
</div>
|