PowerPress Podcasting plugin by Blubrry - Version 9.0

Version Description

  • Released on 03/08/2022
  • Updated feed import flow
  • Updated media migration flow
  • Updated Blubrry signin flow
Download this release

Release Info

Developer benbeecroft
Plugin Icon 128x128 PowerPress Podcasting plugin by Blubrry
Version 9.0
Comparing to
See all releases

Code changes from version 8.7.14 to 9.0

class.powerpress_onboarding.php CHANGED
@@ -28,9 +28,11 @@ class PowerpressOnboarding
28
  case 'blubrrySignin':
29
  include 'views/onboarding/blubrry_signin.php';
30
  break;
 
 
 
31
  case 'showBasics':
32
  include 'views/onboarding/show_basics.php';
33
- marketing_footer();
34
  break;
35
  case 'createEpisode':
36
  include 'views/onboarding/createepisode.php';
@@ -41,7 +43,6 @@ class PowerpressOnboarding
41
  break;
42
  default:
43
  include 'views/onboarding/start.php';
44
- marketing_footer(true);
45
  break;
46
  }
47
  }
28
  case 'blubrrySignin':
29
  include 'views/onboarding/blubrry_signin.php';
30
  break;
31
+ case 'blubrrySignup':
32
+ include 'views/onboarding/blubrry_signup.php';
33
+ break;
34
  case 'showBasics':
35
  include 'views/onboarding/show_basics.php';
 
36
  break;
37
  case 'createEpisode':
38
  include 'views/onboarding/createepisode.php';
43
  break;
44
  default:
45
  include 'views/onboarding/start.php';
 
46
  break;
47
  }
48
  }
css/admin.css CHANGED
@@ -14,6 +14,24 @@
14
  padding-left: 1em;
15
  }
16
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17
  .powerpress-notice,
18
  div.powerpress-notice,
19
  .wrap div.powerpress-notice {
@@ -190,10 +208,6 @@ div.powerpress-error,
190
  .powerpress-step {
191
  display: inline-block;
192
  float: left;
193
- width: 200px;
194
- width: 24%;
195
- margin-left: 60px;
196
- margin-right: 0;
197
  vertical-align: top;
198
  position: relative;
199
  padding: 8px;
14
  padding-left: 1em;
15
  }
16
 
17
+ .pp-migrate-container {
18
+ background-color: white;
19
+ padding: 1em 2em 2em 2em;
20
+ text-align: center;
21
+ }
22
+
23
+ .pp-migrate-container img {
24
+ width:30%;
25
+ }
26
+
27
+ .pp-migrate-container a {
28
+ color: #1976D2;
29
+ }
30
+
31
+ .pp-migrate-container .powerpress-step {
32
+ text-align: center;
33
+ }
34
+
35
  .powerpress-notice,
36
  div.powerpress-notice,
37
  .wrap div.powerpress-notice {
208
  .powerpress-step {
209
  display: inline-block;
210
  float: left;
 
 
 
 
211
  vertical-align: top;
212
  position: relative;
213
  padding: 8px;
css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .powerpress_save_button_other{float:right;background-color:#2278cf;color:#fff;box-shadow:none;border-radius:4px;border:none;padding:1ch 1em}#powerpress_settings .form-table th{padding-left:1em}.powerpress-notice,.wrap div.powerpress-notice,div.powerpress-notice{margin:20px 0 10px;padding:0 5px;line-height:29px}.powerpress-error,.wrap div.powerpress-error,div.powerpress-error{margin:20px 5px 10px;padding:0 10px;line-height:29px;font-size:12px;border-width:1px;border-style:solid;font-weight:700}#powerpress_settings{background-image:url(//images.blubrry.com/powerpress/blubrry_logo7.png);background-repeat:no-repeat;background-position:bottom right}#powerpress_settings ul li ul{list-style:disc}#powerpress_settings ul li ul li{margin-left:50px;font-size:90%}#powerpress_settings td{padding-top:12px}#powerpress_settings td p{padding-bottom:10px}.bpp_input_sm{width:120px}.bpp_input_med{width:250px}.bpp-input-normal{width:80%}.powerpress_color_box{float:left;width:16px;height:16px;cursor:pointer;margin:4px 1px;border:1px solid #666}#powerpress_support li{margin-left:70px;list-style-type:disc;margin-top:0;margin-bottom:0}.powerpress-welcome-news>div{margin:0 10px 0 0}.powerpress-welcome-news a{text-decoration:none}.powerpress-welcome-news .rssSummary{font-size:95%}.powerpress-welcome-news .powerpressNewsPlayer{margin-top:5px}.powerpress-welcome-highlighted{margin:10px 0 0 0;float:left;width:39%}.powerpress-welcome-highlighted>div{margin:0 0 0 10px}.powerpress-welcome-highlighted a{text-decoration:none}.powerpress-welcome-highlighted .rsswidget{font-size:115%;font-weight:700}.powerpress-welcome-highlighted .rssSummary{font-size:95%}.powerpress-welcome-highlighted ul li,.powerpress-welcome-news ul li{margin:15px 0 10px 0}.powerpress-welcome-highlighted h2,.powerpress-welcome-news h2{padding:0}#powerpress_settings label.powerpress-normal-font{font-size:11px}#powerpress_admin_header{vertical-align:text-bottom}#powerpress_admin_header h2{display:inline-block}#powerpress_admin_header h2,#powerpress_admin_header h3,#powerpress_admin_header h4{line-height:1.1;margin:10px 0 0 0;padding:0;font-weight:700}#powerpress_admin_header p{line-height:1.1;margin:5px 0 10px 0;padding:0}#powerpress_admin_header .powerpress-admin-heading{font-weight:700}#powerpress_admin_header .powerpress-mode{margin-left:14px;display:inline-block;color:#f60;font-size:15px;font-weight:700}#pp-getting-started-box{max-width:1200px}#pp-getting-started-box h2{font-size:200%;margin-bottom:20px;font-style:oblique;line-height:1.2em}#pp-getting-started-box>p{font-size:125%}.powerpress-required{font-size:85%;color:#c00;margin-left:12px;font-style:italic}.powerpress-step{display:inline-block;float:left;width:200px;width:24%;margin-left:60px;margin-right:0;vertical-align:top;position:relative;padding:8px}.blubrry-services{color:#337ec9;font-size:18px;line-height:1.2}.blubrry-services p{margin:0 70px 0 0;padding:0}.blubrry-services strong{color:#f60;font-weight:400}.blubrry-services p.top-lines{margin-right:0}.blubrry-services a{color:#f60;font-size:20px;line-height:2}.blubrry-services .blubrry-hosting,.blubrry-services .blubrry-stats{float:left;width:230px;height:140px;background-color:#ececec;padding:10px;margin-top:10px}.blubrry-services .blubrry-stats{background-image:url(../images/StatsIcon.png);background-repeat:no-repeat;background-position:bottom right}.blubrry-services .blubrry-hosting{margin-right:50px;background-image:url(../images/blubrry_icon.png);background-repeat:no-repeat;background-position:bottom right}@media screen and (min-width:1px) and (max-width:819px){.powerpress-step{width:170px}#powerpress_steps p{font-size:16px;margin:20px 4px}.blubrry-services .blubrry-hosting{margin-right:20px}}@media screen and (min-width:1px) and (max-width:729px){#powerpreess_step_1{background-position:1px bottom}#powerpress_steps p{margin:10px 4px}.blubrry-services .blubrry-hosting{margin-right:10px}}@media screen and (min-width:1px) and (max-width:729px){.powerpress-step{width:24%;margin-left:30px}}.numberCircle{border-radius:50%;behavior:url(PIE.htc);width:36px;height:36px;padding:8px;background:#fff;border:2px solid #666;color:#666;text-align:center;font:32px Arial,sans-serif}#powerpress_settings_page{background:0 0;background-color:inherit;border:none}#powerpress_settings_page .ui-widget-header{background:0 0;border:none}#powerpress_settings_page .ui-state-default,#powerpress_settings_page .ui-widget-content .ui-state-default,#powerpress_settings_page .ui-widget-header .ui-state-default{background:0 0;border:none}#powerpress_settings_page .ui-tabs-nav li{margin-bottom:0;border-bottom:none}#powerpress_settings_page .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}#powerpress_settings_page .ui-tabs-nav li a{padding:4px 5px 2px}#powerpress_settings_page .ui-tabs-nav li.ui-tabs-active a{padding:4px 5px 3px}#powerpress_settings_page .powerpress_tab{background-color:#fff;border-collapse:separate;border-style:solid;border-width:1px;border-color:#dfdfdf;border-color:#b3b3b3}.pp-section{clear:both;padding:0;margin:0}.pp-section dt{font-weight:700}.pp-expand-section{text-decoration:none}a.pp-expand-section,a.pp-expand-section:focus,a.pp-expand-section:hover,a.pp-expand-section:visited{color:#1976d2}.pp-expand-section-expanded:before,.pp-expand-section:before{background-color:#1976d2;border:1px solid #1976d2;border-radius:3px;font-weight:700;color:#fff;height:20px;width:20px;display:inline-block;margin-right:10px;text-align:center;font-size:20px}.pp-expand-section:before{content:' \25C4';content:'+';line-height:20px}.pp-expand-section-expanded:before{content:' \25BC';content:'-';line-height:16px}.bbplayer_settings .form-table th{padding-bottom:0}.bbplayer_settings h3{color:#036;font-weight:700}.wp-core-ui .button-blubrry{background:#1976d2;border-color:#1976d2;color:#fff}.wp-core-ui .button-blubrry-gray{background:#f7f7f7;border-color:#ccc;color:#555}.wp-core-ui .button-blubrry:focus,.wp-core-ui .button-blubrry:hover{background:#0d87e9;border-color:#0d87e9;color:#fff}.pp-form-error{border:red solid 1px}table{width:60%;margin-top:1%;margin-bottom:1%;border-radius:4px;background-color:#f8f8f8;border:solid #ddd;border-collapse:separate}input,textarea{border-radius:4px}ul{clear:both}th{background-color:#fff;color:#000;border-radius:4px 4px 0 0}tr{line-height:12px}td,th{border-collapse:separate;border-bottom:solid #ddd;padding:2.5%}td{text-align:left;font-size:115%}td:hover{background-color:#fff}th{text-align:center;font-size:100%}td.networkTable{text-align:left}th.pendingApply{background-color:grey}td.pendingApply{color:grey}th.processedApply{background-color:#8fbc8f}td.processedApply{color:green}td.approvedApply{color:green}th.approvedApply{background-color:#8fbc8f}td.disapprovedApply{color:red}th.disapprovedApply{background-color:#8b0000}input[type=email],input[type=password],input[type=text],input[type=url],textarea{width:100%;padding:.6% .6%;display:inline-block;border:1px solid #ccc;box-sizing:border-box}.linkInput{width:50%!important}input[type=radio]{transform:scale(1)}select{width:100%}.ppn-back-button{background:0 0;margin:5px 10px 5px 10px;padding:5px;color:#069;cursor:pointer}#signinButton,.backButton,.primaryButton,.subToggleButton,.toggleButton{display:inline-block;border:none;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);border-radius:4px;background-color:#0c74d5;color:#fff;font-family:Roboto,sans-serif;font-size:13px;font-weight:500;padding:1ch 2em 1ch 2em;cursor:pointer;text-align:center}.warningButton{display:inline-block;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);border:none;border-radius:4px;background-color:#b00000;color:#fff;font-family:Roboto,sans-serif;font-size:13px;font-weight:500;padding:1ch 2em 1ch 2em;margin-right:1em;cursor:pointer;text-align:center}.cacheButton{background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);color:#000;display:inline-block;border-radius:4px;font-family:Roboto,sans-serif;font-size:13px;font-weight:700;padding:1ch 2em 1ch 2em;margin-right:1em;cursor:pointer;text-align:center;border:0}#signinButton{width:100%;border-radius:0}.toggleButton{display:inline;width:10%;height:60%;margin:0}.subToggleButton{display:inline;width:7.5%;height:6%;background-color:#696969}.applicantButton{box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);border:none;border-radius:4px;color:#fff;font-family:Roboto,sans-serif;font-size:13px;font-weight:500;padding:1ch 2em 1ch 2em;margin-right:1em;cursor:pointer;text-align:center}.cancelButton{background-color:#0c74d5;color:#fff;padding:1% 1%;margin:0 auto;cursor:pointer;border-radius:4px;font-size:90%;width:auto;vertical-align:top;border:1px solid #000}.cancelButton:hover{cursor:pointer;text-decoration:underline}#choiceForm{margin-top:2%}.tab{background-color:#fff;border-bottom:1px solid grey;max-width:80%}.tabInactive{padding:1.4% 1.4% 2% 1.4%;background-color:#fff;color:#a9a9a9;border:none;cursor:pointer;font-size:150%}.tabActive{padding:1.4% 1.4% 2% 1.4%;background-color:#fff;color:#000;border:none;border-bottom:2px solid #00f;cursor:pointer;font-size:150%;font-weight:700}.tabContent{max-width:80%}.programRow{padding:1% 5% 1% 1%;background-color:#fff;border-bottom:1px #000 solid}.programRow:hover{background-color:#d3d3d3}button:hover{opacity:.8}.pageTitle{padding:0 auto;font-size:220%;letter-spacing:1px;line-height:100%}h3.baseChoice{text-decoration:underline #0c74d5;display:block;font-size:150%;color:#0c74d5}p{margin:5px auto;display:inline-block;font-size:105%}.container{padding:1.8% 15% 1.8% 10%;margin:.08% .08% .08% .08%}ul.choiceList{list-style-type:square;padding-left:5%}ul.subChoiceList{list-style-type:circle;padding-left:10%}ul.mainChoiceList{list-style-type:none;max-width:850px}li.material-list{border-radius:4px;padding:2px 15px 20px 15px;margin-bottom:25px;background-color:#fff}.alert{font-size:130%;padding:.5%;background-color:#f44336;color:#fff;display:inline-block;width:99%}.alert-success{font-size:130%;padding:.5%;background-color:#8fbc8f;color:#fff;display:inline-block;width:99%}.closebtn{color:#fff;font-weight:700;float:right;vertical-align:middle;line-height:normal;cursor:pointer;transition:.3s}.alertMessage{float:left;vertical-align:middle;line-height:normal}small{font-size:100%;padding:0 auto;margin-bottom:10%;color:grey;font-style:italic}.closebtn:hover{color:#000}label{font-size:85%}br{height:10%}figure{width:6px;height:6px;border-radius:5px;background:#000;margin:3px 0}#choiceBox,.confirmUnlink,.selectPageBox{background-color:#fff;padding:0 0 2% 0;width:50%;text-align:center;margin-bottom:5%;border-radius:4%}.settingBox{background-color:#fff;padding:2% 2% 2% 2%;width:100%;margin-top:2%;margin-bottom:2%;border-radius:4px;border:1px solid #f5f5f5}.boxTitle{padding:2%;background-color:#0c74d5;color:#fff;border-radius:4px}.thickboxTitle{color:navy}.dropdownChoice{width:50%!important}.material-icons:hover{cursor:pointer}@media only screen and (max-width:980px){.alert,.alert-success{font-size:80%}input[type=checkbox],input[type=radio]{transform:scale(.7)}}@media only screen and (max-width:1092px){table{width:100%}#choiceBox{width:100%}td{font-size:70%}th{font-size:80%}}@media only screen and (max-width:500px){table{width:100%}#choiceBox{width:100%}td{font-size:70%}th{font-size:80%}input[type=checkbox],input[type=radio]{transform:scale(.5)}}.powerpress-blubrry-hosting-marketing{max-width:80rem;margin:0 auto 2rem auto;padding:2ch 2em;background-color:#fff;border-radius:4px;border-top:2px solid rgba(144,144,144,.25)}.hosting-marketing-blubrry-logo{display:inline-block;width:20%;vertical-align:middle}.hosting-marketing-text-container{display:inline-block;margin-left:2em;height:100%;vertical-align:middle}.hosting-marketing-title{color:#0c74d5;font-weight:700}.hosting-marketing-text{text-decoration:none}a.hosting-marketing-text{color:#0c74d5}.hosting-marketing-button{display:inline-block;border-radius:4px;background-color:#0c74d5;color:#fff;font-family:Roboto,sans-serif;font-size:16px;padding:1ch 2em 1ch 2em;cursor:pointer;text-align:center;font-weight:700;width:20%;border:none;margin-left:1em;vertical-align:middle}@media (max-width:1110px){.hosting-marketing-button{width:95%;padding-top:1em;padding-bottom:1em;margin-right:1em}.hosting-marketing-text-container{width:70%!important}.hosting-marketing-blubrry-logo{margin-left:1em}}@media (max-width:799px){#destinations-blubrry .hosting-marketing-blubrry-logo{width:70%;margin-right:1em;margin-bottom:1em;margin-left:0}#destinations-blubrry .hosting-marketing-text-container{width:90%!important;margin-left:0}}@media (max-width:599px){#destinations-blubrry .hosting-marketing-blubrry-logo{width:80%}}@media (max-width:480px){.hosting-marketing-blubrry-logo{width:90%;margin-right:1em;margin-bottom:1em;margin-left:0}.hosting-marketing-text-container{width:90%!important;margin-left:0}.hosting-marketing-button{margin-left:0}}
1
+ .powerpress_save_button_other{float:right;background-color:#2278cf;color:#fff;box-shadow:none;border-radius:4px;border:none;padding:1ch 1em}#powerpress_settings .form-table th{padding-left:1em}.pp-migrate-container{background-color:#fff;padding:1em 2em 2em 2em;text-align:center}.pp-migrate-container img{width:30%}.pp-migrate-container a{color:#1976d2}.pp-migrate-container .powerpress-step{text-align:center}.powerpress-notice,.wrap div.powerpress-notice,div.powerpress-notice{margin:20px 0 10px;padding:0 5px;line-height:29px}.powerpress-error,.wrap div.powerpress-error,div.powerpress-error{margin:20px 5px 10px;padding:0 10px;line-height:29px;font-size:12px;border-width:1px;border-style:solid;font-weight:700}#powerpress_settings{background-image:url(//images.blubrry.com/powerpress/blubrry_logo7.png);background-repeat:no-repeat;background-position:bottom right}#powerpress_settings ul li ul{list-style:disc}#powerpress_settings ul li ul li{margin-left:50px;font-size:90%}#powerpress_settings td{padding-top:12px}#powerpress_settings td p{padding-bottom:10px}.bpp_input_sm{width:120px}.bpp_input_med{width:250px}.bpp-input-normal{width:80%}.powerpress_color_box{float:left;width:16px;height:16px;cursor:pointer;margin:4px 1px;border:1px solid #666}#powerpress_support li{margin-left:70px;list-style-type:disc;margin-top:0;margin-bottom:0}.powerpress-welcome-news>div{margin:0 10px 0 0}.powerpress-welcome-news a{text-decoration:none}.powerpress-welcome-news .rssSummary{font-size:95%}.powerpress-welcome-news .powerpressNewsPlayer{margin-top:5px}.powerpress-welcome-highlighted{margin:10px 0 0 0;float:left;width:39%}.powerpress-welcome-highlighted>div{margin:0 0 0 10px}.powerpress-welcome-highlighted a{text-decoration:none}.powerpress-welcome-highlighted .rsswidget{font-size:115%;font-weight:700}.powerpress-welcome-highlighted .rssSummary{font-size:95%}.powerpress-welcome-highlighted ul li,.powerpress-welcome-news ul li{margin:15px 0 10px 0}.powerpress-welcome-highlighted h2,.powerpress-welcome-news h2{padding:0}#powerpress_settings label.powerpress-normal-font{font-size:11px}#powerpress_admin_header{vertical-align:text-bottom}#powerpress_admin_header h2{display:inline-block}#powerpress_admin_header h2,#powerpress_admin_header h3,#powerpress_admin_header h4{line-height:1.1;margin:10px 0 0 0;padding:0;font-weight:700}#powerpress_admin_header p{line-height:1.1;margin:5px 0 10px 0;padding:0}#powerpress_admin_header .powerpress-admin-heading{font-weight:700}#powerpress_admin_header .powerpress-mode{margin-left:14px;display:inline-block;color:#f60;font-size:15px;font-weight:700}#pp-getting-started-box{max-width:1200px}#pp-getting-started-box h2{font-size:200%;margin-bottom:20px;font-style:oblique;line-height:1.2em}#pp-getting-started-box>p{font-size:125%}.powerpress-required{font-size:85%;color:#c00;margin-left:12px;font-style:italic}.powerpress-step{display:inline-block;float:left;vertical-align:top;position:relative;padding:8px}.blubrry-services{color:#337ec9;font-size:18px;line-height:1.2}.blubrry-services p{margin:0 70px 0 0;padding:0}.blubrry-services strong{color:#f60;font-weight:400}.blubrry-services p.top-lines{margin-right:0}.blubrry-services a{color:#f60;font-size:20px;line-height:2}.blubrry-services .blubrry-hosting,.blubrry-services .blubrry-stats{float:left;width:230px;height:140px;background-color:#ececec;padding:10px;margin-top:10px}.blubrry-services .blubrry-stats{background-image:url('../images/StatsIcon.png');background-repeat:no-repeat;background-position:bottom right}.blubrry-services .blubrry-hosting{margin-right:50px;background-image:url('../images/blubrry_icon.png');background-repeat:no-repeat;background-position:bottom right}@media screen and (min-width:1px) and (max-width:819px){.powerpress-step{width:170px}#powerpress_steps p{font-size:16px;margin:20px 4px}.blubrry-services .blubrry-hosting{margin-right:20px}}@media screen and (min-width:1px) and (max-width:729px){#powerpreess_step_1{background-position:1px bottom}#powerpress_steps p{margin:10px 4px}.blubrry-services .blubrry-hosting{margin-right:10px}}@media screen and (min-width:1px) and (max-width:729px){.powerpress-step{width:24%;margin-left:30px}}.numberCircle{border-radius:50%;behavior:url(PIE.htc);width:36px;height:36px;padding:8px;background:#fff;border:2px solid #666;color:#666;text-align:center;font:32px Arial,sans-serif}#powerpress_settings_page{background:0 0;background-color:inherit;border:none}#powerpress_settings_page .ui-widget-header{background:0 0;border:none}#powerpress_settings_page .ui-state-default,#powerpress_settings_page .ui-widget-content .ui-state-default,#powerpress_settings_page .ui-widget-header .ui-state-default{background:0 0;border:none}#powerpress_settings_page .ui-tabs-nav li{margin-bottom:0;border-bottom:none}#powerpress_settings_page .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}#powerpress_settings_page .ui-tabs-nav li a{padding:4px 5px 2px}#powerpress_settings_page .ui-tabs-nav li.ui-tabs-active a{padding:4px 5px 3px}#powerpress_settings_page .powerpress_tab{background-color:#fff;border-collapse:separate;border-style:solid;border-width:1px;border-color:#dfdfdf;border-color:#b3b3b3}.pp-section{clear:both;padding:0;margin:0}.pp-section dt{font-weight:700}.pp-expand-section{text-decoration:none}a.pp-expand-section,a.pp-expand-section:focus,a.pp-expand-section:hover,a.pp-expand-section:visited{color:#1976d2}.pp-expand-section-expanded:before,.pp-expand-section:before{background-color:#1976d2;border:1px solid #1976d2;border-radius:3px;font-weight:700;color:#fff;height:20px;width:20px;display:inline-block;margin-right:10px;text-align:center;font-size:20px}.pp-expand-section:before{content:' \25C4';content:'+';line-height:20px}.pp-expand-section-expanded:before{content:' \25BC';content:'-';line-height:16px}.bbplayer_settings .form-table th{padding-bottom:0}.bbplayer_settings h3{color:#036;font-weight:700}.wp-core-ui .button-blubrry{background:#1976d2;border-color:#1976d2;color:#fff}.wp-core-ui .button-blubrry-gray{background:#f7f7f7;border-color:#ccc;color:#555}.wp-core-ui .button-blubrry:focus,.wp-core-ui .button-blubrry:hover{background:#0d87e9;border-color:#0d87e9;color:#fff}.pp-form-error{border:red solid 1px}table{width:60%;margin-top:1%;margin-bottom:1%;border-radius:4px;background-color:#f8f8f8;border:solid #ddd;border-collapse:separate}input,textarea{border-radius:4px}ul{clear:both}th{background-color:#fff;color:#000;border-radius:4px 4px 0 0}tr{line-height:12px}td,th{border-collapse:separate;border-bottom:solid #ddd;padding:2.5%}td{text-align:left;font-size:115%}td:hover{background-color:#fff}th{text-align:center;font-size:100%}td.networkTable{text-align:left}th.pendingApply{background-color:grey}td.pendingApply{color:grey}th.processedApply{background-color:#8fbc8f}td.processedApply{color:green}td.approvedApply{color:green}th.approvedApply{background-color:#8fbc8f}td.disapprovedApply{color:red}th.disapprovedApply{background-color:#8b0000}input[type=email],input[type=password],input[type=text],input[type=url],textarea{width:100%;padding:.6% .6%;display:inline-block;border:1px solid #ccc;box-sizing:border-box}.linkInput{width:50%!important}input[type=radio]{transform:scale(1)}select{width:100%}.ppn-back-button{background:0 0;margin:5px 10px 5px 10px;padding:5px;color:#069;cursor:pointer}#signinButton,.backButton,.primaryButton,.subToggleButton,.toggleButton{display:inline-block;border:none;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);border-radius:4px;background-color:#0c74d5;color:#fff;font-family:Roboto,sans-serif;font-size:13px;font-weight:500;padding:1ch 2em 1ch 2em;cursor:pointer;text-align:center}.warningButton{display:inline-block;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);border:none;border-radius:4px;background-color:#b00000;color:#fff;font-family:Roboto,sans-serif;font-size:13px;font-weight:500;padding:1ch 2em 1ch 2em;margin-right:1em;cursor:pointer;text-align:center}.cacheButton{background-color:#fff;box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);color:#000;display:inline-block;border-radius:4px;font-family:Roboto,sans-serif;font-size:13px;font-weight:700;padding:1ch 2em 1ch 2em;margin-right:1em;cursor:pointer;text-align:center;border:0}#signinButton{width:100%;border-radius:0}.toggleButton{display:inline;width:10%;height:60%;margin:0}.subToggleButton{display:inline;width:7.5%;height:6%;background-color:#696969}.applicantButton{box-shadow:0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12),0 1px 3px 0 rgba(0,0,0,.2);border:none;border-radius:4px;color:#fff;font-family:Roboto,sans-serif;font-size:13px;font-weight:500;padding:1ch 2em 1ch 2em;margin-right:1em;cursor:pointer;text-align:center}.cancelButton{background-color:#0c74d5;color:#fff;padding:1% 1%;margin:0 auto;cursor:pointer;border-radius:4px;font-size:90%;width:auto;vertical-align:top;border:1px solid #000}.cancelButton:hover{cursor:pointer;text-decoration:underline}#choiceForm{margin-top:2%}.tab{background-color:#fff;border-bottom:1px solid grey;max-width:80%}.tabInactive{padding:1.4% 1.4% 2% 1.4%;background-color:#fff;color:#a9a9a9;border:none;cursor:pointer;font-size:150%}.tabActive{padding:1.4% 1.4% 2% 1.4%;background-color:#fff;color:#000;border:none;border-bottom:2px solid #00f;cursor:pointer;font-size:150%;font-weight:700}.tabContent{max-width:80%}.programRow{padding:1% 5% 1% 1%;background-color:#fff;border-bottom:1px #000 solid}.programRow:hover{background-color:#d3d3d3}button:hover{opacity:.8}.pageTitle{padding:0 auto;font-size:220%;letter-spacing:1px;line-height:100%}h3.baseChoice{text-decoration:underline #0C74D5;display:block;font-size:150%;color:#0c74d5}p{margin:5px auto;display:inline-block;font-size:105%}.container{padding:1.8% 15% 1.8% 10%;margin:.08% .08% .08% .08%}ul.choiceList{list-style-type:square;padding-left:5%}ul.subChoiceList{list-style-type:circle;padding-left:10%}ul.mainChoiceList{list-style-type:none;max-width:850px}li.material-list{border-radius:4px;padding:2px 15px 20px 15px;margin-bottom:25px;background-color:#fff}.alert{font-size:130%;padding:.5%;background-color:#f44336;color:#fff;display:inline-block;width:99%}.alert-success{font-size:130%;padding:.5%;background-color:#8fbc8f;color:#fff;display:inline-block;width:99%}.closebtn{color:#fff;font-weight:700;float:right;vertical-align:middle;line-height:normal;cursor:pointer;transition:.3s}.alertMessage{float:left;vertical-align:middle;line-height:normal}small{font-size:100%;padding:0 auto;margin-bottom:10%;color:grey;font-style:italic}.closebtn:hover{color:#000}label{font-size:85%}br{height:10%}figure{width:6px;height:6px;border-radius:5px;background:#000;margin:3px 0}#choiceBox,.confirmUnlink,.selectPageBox{background-color:#fff;padding:0 0 2% 0;width:50%;text-align:center;margin-bottom:5%;border-radius:4%}.settingBox{background-color:#fff;padding:2% 2% 2% 2%;width:100%;margin-top:2%;margin-bottom:2%;border-radius:4px;border:1px solid #f5f5f5}.boxTitle{padding:2%;background-color:#0c74d5;color:#fff;border-radius:4px}.thickboxTitle{color:navy}.dropdownChoice{width:50%!important}.material-icons:hover{cursor:pointer}@media only screen and (max-width:980px){.alert,.alert-success{font-size:80%}input[type=checkbox],input[type=radio]{transform:scale(.7)}}@media only screen and (max-width:1092px){table{width:100%}#choiceBox{width:100%}td{font-size:70%}th{font-size:80%}}@media only screen and (max-width:500px){table{width:100%}#choiceBox{width:100%}td{font-size:70%}th{font-size:80%}input[type=checkbox],input[type=radio]{transform:scale(.5)}}.powerpress-blubrry-hosting-marketing{max-width:80rem;margin:0 auto 2rem auto;padding:2ch 2em;background-color:#fff;border-radius:4px;border-top:2px solid rgba(144,144,144,.25)}.hosting-marketing-blubrry-logo{display:inline-block;width:20%;vertical-align:middle}.hosting-marketing-text-container{display:inline-block;margin-left:2em;height:100%;vertical-align:middle}.hosting-marketing-title{color:#0c74d5;font-weight:700}.hosting-marketing-text{text-decoration:none}a.hosting-marketing-text{color:#0c74d5}.hosting-marketing-button{display:inline-block;border-radius:4px;background-color:#0c74d5;color:#fff;font-family:Roboto,sans-serif;font-size:16px;padding:1ch 2em 1ch 2em;cursor:pointer;text-align:center;font-weight:700;width:20%;border:none;margin-left:1em;vertical-align:middle}@media (max-width:1110px){.hosting-marketing-button{width:95%;padding-top:1em;padding-bottom:1em;margin-right:1em}.hosting-marketing-text-container{width:70%!important}.hosting-marketing-blubrry-logo{margin-left:1em}}@media (max-width:799px){#destinations-blubrry .hosting-marketing-blubrry-logo{width:70%;margin-right:1em;margin-bottom:1em;margin-left:0}#destinations-blubrry .hosting-marketing-text-container{width:90%!important;margin-left:0}}@media (max-width:599px){#destinations-blubrry .hosting-marketing-blubrry-logo{width:80%}}@media (max-width:480px){.hosting-marketing-blubrry-logo{width:90%;margin-right:1em;margin-bottom:1em;margin-left:0}.hosting-marketing-text-container{width:90%!important;margin-left:0}.hosting-marketing-button{margin-left:0}}
css/onboarding.css CHANGED
@@ -219,6 +219,51 @@ hr {
219
  border: 1px solid rgba(144, 144, 144, 0.25);
220
  }
221
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  .pp_box header h2 {
223
  margin-bottom: 2rem;
224
  }
@@ -640,10 +685,6 @@ input[type="text"], input[type="password"] {
640
  height: 50%;
641
  }
642
 
643
- .btn-caption-container {
644
- height: 50%;
645
- }
646
-
647
  .pp_image img {
648
  width: 50%;
649
  margin: 0 auto;
219
  border: 1px solid rgba(144, 144, 144, 0.25);
220
  }
221
 
222
+ .pp_box.pp_service-container {
223
+ border: 1px solid #1976d2;
224
+ padding: 0;
225
+ }
226
+
227
+ .pp_box.pp_service-container .pp_content {
228
+ text-align: center;
229
+ }
230
+
231
+ .pp_box.pp_service-container .pp_button {
232
+ margin-top: 3em;
233
+ }
234
+
235
+ .pp_content {
236
+ font-weight: bold;
237
+ }
238
+
239
+ .pp_button_alt.skip_blubrry {
240
+ margin-top: 3em;
241
+ }
242
+
243
+ p {display: block;}
244
+
245
+ .iab_img {
246
+ width: 20%;
247
+ margin-top: 1em;
248
+ }
249
+
250
+ .pp_box.pp_service-container .pp_image {
251
+ height: 5em;
252
+ background-color: #1976d2;
253
+ /* without adding the 1px to the width, we have a sliver of white space */
254
+ width: calc(100% + 1px);
255
+ }
256
+
257
+ .pp_box.pp_service-container .pp_image>img {
258
+ width: auto;
259
+ height: 50%;
260
+ transform: translateY(50%);
261
+ }
262
+
263
+ .pp_box.pp_service-container .pp_content {
264
+ padding: 3em;
265
+ }
266
+
267
  .pp_box header h2 {
268
  margin-bottom: 2rem;
269
  }
685
  height: 50%;
686
  }
687
 
 
 
 
 
688
  .pp_image img {
689
  width: 50%;
690
  margin: 0 auto;
css/onboarding.min.css CHANGED
@@ -1 +1 @@
1
- body,body *,input,select,textarea{font-family:Roboto,sans-serif;box-sizing:border-box}body ::after,body ::before,body::after,body::before,input::after,input::before,select::after,select::before,textarea::after,textarea::before{box-sizing:border-box}body{background-image:-webkit-linear-gradient(top,#f2f2f2,#e6e6e6)}.pp_container{position:relative;max-width:80rem;margin:2rem auto 1rem auto;background:#fff;width:100%;padding:3rem 5rem;border-radius:4px}.pp_container::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2);-webkit-transform:scale(.98);transform:scale(.98);-webkit-transition:-webkit-transform .28s ease-in-out;transition:-webkit-transform .28s ease-in-out;transition:transform .28s ease-in-out;transition:transform .28s ease-in-out,-webkit-transform .28s ease-in-out;z-index:-1}.pp_container:hover::before{-webkit-transform:scale(1);transform:scale(1)}.pp_button-container{text-align:center}.pp_flex-grid{display:flex}.pp_flex-grid .pp_col{flex:1;margin:0 25px}.pp_flex-grid-thirds{display:flex;justify-content:space-between}.pp_flex-grid-thirds .pp_col{width:32%}@media (max-width:1350px){#pp-create-episode .btn-caption-container{height:80%}}@media (max-width:1100px){#pp-create-episode .btn-caption-container{height:88%}#pp-create-episode .pp_image{height:25%}}@media (max-width:400px){.pp_.flex-grid,.pp_.flex-grid-thirds{display:block}.pp_col{width:100%;margin:0 0 10px 0}}*{box-sizing:border-box}.pp_.flex-grid{margin:0 0 20px 0}.pp_.col{background:salmon;padding:20px}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.5;margin:0 0 .5rem 0;color:#333}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}h2{font-size:1.5rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:.9rem}h6{font-size:.7rem}.pp_small{font-size:10px;color:#888}hr{border:0;border-bottom:solid 1px;margin:2rem 0}hr.major{margin:3rem 0}.pp_align-left{text-align:left}.pp_align-center{text-align:center}.pp_align-right{text-align:right}input,select,textarea{color:#555}a{color:#8a4680}b,strong{color:#555}blockquote{border-left-color:rgba(144,144,144,.25)}code{background:rgba(144,144,144,.075);border-color:rgba(144,144,144,.25)}hr{border-bottom-color:rgba(144,144,144,.25)}.pp_leftline{border-left:3px solid #efefef;padding-left:15px}.pp_box{height:100%;margin-bottom:2rem;background:#fff;padding:3rem;border:1px solid rgba(144,144,144,.25)}.pp_box header h2{margin-bottom:2rem}.pp_box header p{text-transform:uppercase;font-size:.75rem;font-weight:300;margin:0 0 .25rem 0;padding:0 0 .75rem 0;letter-spacing:.25rem}.pp_box header p:after{content:'';position:absolute;margin:auto;right:0;bottom:0;left:0;width:50%;height:1px;background-color:rgba(0,0,0,.125)}.pp_box>:last-child,.pp_box>:last-child>:last-child,.pp_box>:last-child>:last-child>:last-child{margin-bottom:0}.pp_box.alt{border:0;border-radius:0;padding:0}@media screen and (max-width:736px){.pp_box .pp_content{padding:2rem}}#wpcontent{background-image:-webkit-linear-gradient(top,#f2f2f2,#e6e6e6)}fieldset{margin:0 0 3rem}select{width:100%}.pp_input-field{position:relative;width:25%}.pp_input-field-thirds{position:relative;width:100%}input[type=password],input[type=text]{width:100%;padding-left:.75rem;transition:all .15s ease}.pp_outlined{height:38px;box-shadow:inset 0 0 0 1px #b2b2b2;border-radius:4px;background:0 0}.pp_outlined:focus{outline:0;box-shadow:inset 0 0 0 2px #ffb300}.pp_outlined+label{background:#fff;top:.8rem;position:absolute;left:.75rem;color:grey;transition:all .15s ease;padding:0;font-size:12px;pointer-events:none}.pp_outlined:focus+label,.pp_outlined:valid+label{color:#000;transform:scale(.8) translateY(-24px) translateX(-9px);padding:0 3px}.pp_form-group,.pp_form-radio{position:relative;margin-top:1.25rem;margin-bottom:2.25rem}.pp_form-inline>.pp_btn,.pp_form-inline>.pp_form-group{display:inline-block;margin-bottom:0}.pp_form-help{margin-top:.125rem;margin-left:.125rem;color:#b3b3b3;font-size:.8rem}.pp_checkbox .pp_form-help,.pp_form-group .pp_form-help,.pp_form-radio .pp_form-help{position:absolute;width:100%}.pp_checkbox .pp_form-help{position:relative;margin-bottom:1rem}.pp_form-radio .pp_form-help{padding-top:.25rem;margin-top:-1rem}.pp_checkbox label,.pp_form-radio label{position:relative;cursor:pointer;padding-left:2rem;text-align:left;color:#333;display:block}.pp_checkbox input,.pp_form-radio input{width:auto;opacity:.00000001;position:absolute;left:0}.pp_radio{margin-bottom:1rem}.pp_radio .pp_helper{position:absolute;top:-.25rem;left:-.25rem;cursor:pointer;display:block;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.pp_radio .pp_helper::after,.pp_radio .pp_helper::before{content:'';position:absolute;left:0;top:0;margin:.25rem;width:1rem;height:1rem;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;border-radius:50%;border:.125rem solid currentColor}.pp_radio .pp_helper::after{-webkit-transform:scale(0);transform:scale(0);background-color:#337ab7;border-color:#337ab7}.pp_radio label:hover .pp_helper{color:#337ab7}.pp_radio input:checked~.pp_helper::after{-webkit-transform:scale(.5);transform:scale(.5)}.pp_radio input:checked~.pp_helper::before{color:#337ab7}.pp_checkbox{margin-bottom:1rem}.pp_checkbox .pp_helper{color:#999;position:absolute;top:0;left:0;width:1rem;height:1rem;z-index:0;border:.125rem solid currentColor;border-radius:.0625rem;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.pp_checkbox .pp_helper::after,.pp_checkbox .pp_helper::before{position:absolute;height:0;width:.2rem;background-color:#337ab7;display:block;-webkit-transform-origin:left top;transform-origin:left top;border-radius:.25rem;content:'';-webkit-transition:opacity .28s ease,height 0s linear .28s;transition:opacity .28s ease,height 0s linear .28s;opacity:0}.pp_checkbox .pp_helper::before{top:.65rem;left:.38rem;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:0 0 0 .0625rem #fff}.pp_checkbox .helper::after{top:.3rem;left:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.pp_checkbox label:hover .pp_helper{color:#337ab7}.pp_checkbox input:checked~.pp_helper{color:#337ab7}.pp_checkbox input:checked~.pp_helper::after,.pp_checkbox input:checked~.pp_helper::before{opacity:1;-webkit-transition:height .28s ease;transition:height .28s ease}.pp_checkbox input:checked~.pp_helper::after{height:.5rem}.pp_checkbox input:checked~.pp_helper::before{height:1.2rem;-webkit-transition-delay:.28s;transition-delay:.28s}.pp_checkbox+.pp_checkbox,.pp_radio+.pp_radio{margin-top:1rem}.pp_has-error .pp_legend.pp_legend,.pp_has-error.pp_form-group .pp_control-label.pp_control-label{color:#d9534f}.pp_has-error.pp_checkbox .pp_form-help,.pp_has-error.pp_checkbox .pp_helper,.pp_has-error.pp_form-group .pp_form-help,.pp_has-error.pp_form-group .pp_helper,.pp_has-error.pp_form-radio .pp_form-help,.pp_has-error.pp_form-radio .pp_helper,.pp_has-error.pp_radio .pp_form-help,.pp_has-error.pp_radio .pp_helper{color:#d9534f}.pp_has-error .pp_bar::before{background:#d9534f;left:0;width:100%}.pp_button{position:relative;background:currentColor;border:1px solid currentColor;font-size:1.1rem;color:#1976d2;margin:0;padding:.75rem 3rem;cursor:pointer;-webkit-transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.pp_button span{color:#fff;position:relative;z-index:1}.pp_button::before{content:'';position:absolute;background:#003b75;border:50vh solid #1d4567;width:30vh;height:30vh;border-radius:50%;display:block;top:50%;left:50%;z-index:0;opacity:1;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0)}.pp_button:hover{color:#003b75;box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.pp_button:active::before,.pp_button:focus::before{-webkit-transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:transform 1.12s ease,opacity .28s ease 364ms;transition:transform 1.12s ease,opacity .28s ease 364ms,-webkit-transform 1.12s ease;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);opacity:0}.pp_button:focus{outline:0}.pp_button_alt{position:relative;background:#fff;border:1px solid #c4c4c4;font-size:1.1rem;color:#333;margin:0;padding:.75rem 3rem;cursor:pointer;-webkit-transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.pp_button_alt span{color:#333;position:relative;z-index:1}.pp_button_alt::before{content:'';position:absolute;background:#efefef;width:30vh;height:30vh;border-radius:50%;display:block;top:50%;left:50%;z-index:0;opacity:1;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0)}.pp_button_alt:hover{color:#efefef;box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.pp_button_alt:active::before,.pp_button_alt:focus::before{-webkit-transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:transform 1.12s ease,opacity .28s ease 364ms;transition:transform 1.12s ease,opacity .28s ease 364ms,-webkit-transform 1.12s ease;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);opacity:0}.pp_button_alt:focus{outline:0}.pp_image{height:50%}.pp_image.pp_fit{margin:0 auto;width:100%}#blubrry-logo-onboarding{height:1.5rem;margin:0 0 .5ch 1rem;vertical-align:bottom}.pp_content{height:50%}.btn-caption-container{height:50%}.pp_image img{width:50%;margin:0 auto}.pp_image.center>img{display:block;margin-left:auto;margin-right:auto}.pp_button.show_button{min-width:240px;margin-top:15px}.pp_input-field-login{position:relative}.pp_file_upload{opacity:0;left:0;top:0;z-index:999;height:50px}.pp_file_upload::-webkit-file-upload-button{height:50px}.image_center{display:block;margin-left:auto;margin-right:auto;width:40%}.image_wrapper{width:100%;height:auto}#upload-artwork-button{float:right;width:auto;min-height:40px;margin:1em 0 0 1em}#filepath{float:left;width:100%;margin:3ch 0 2em 0}#artwork-spec{margin-top:6em}#filePath{width:100%}.pp_input-field-login,button[name=signin]{width:40%}h5.pp_align-center,p{font-size:16px}p.pp-smaller-text{font-size:13px}.wrap div.error{border-right-width:0;border-top-width:0;border-bottom-width:0;border-left-width:3px;color:#dc3232;box-shadow:none;margin-bottom:0}@media (max-width:1095px){#showbasics_artwork{display:block}#artwork-spec{margin-top:0}#upload-artwork-button{width:95%;text-align:center;margin-bottom:1em;margin-left:0;float:left}.pp_input-field-login,button[name=signin]{width:50%}}@media (max-width:736px){.pp_flex-grid{display:block}.pp_container{padding:3rem 1rem}.bpp_input_med{width:100%}#showbasics_artwork_upload{margin:0}.pp_button,.pp_button_alt{padding:.75rem}}@media (max-width:610px){#filePath{width:100%}}@media (max-width:475px){.pp_box{padding:1rem}.pp_input-field-login,button[name=signin]{width:90%}}
1
+ body,body *,input,select,textarea{font-family:Roboto,sans-serif;box-sizing:border-box}body ::after,body ::before,body::after,body::before,input::after,input::before,select::after,select::before,textarea::after,textarea::before{box-sizing:border-box}body{background-image:-webkit-linear-gradient(top,#f2f2f2,#e6e6e6)}.pp_container{position:relative;max-width:80rem;margin:2rem auto 1rem auto;background:#fff;width:100%;padding:3rem 5rem;border-radius:4px}.pp_container::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2);-webkit-transform:scale(.98);transform:scale(.98);-webkit-transition:-webkit-transform .28s ease-in-out;transition:-webkit-transform .28s ease-in-out;transition:transform .28s ease-in-out;transition:transform .28s ease-in-out,-webkit-transform .28s ease-in-out;z-index:-1}.pp_container:hover::before{-webkit-transform:scale(1);transform:scale(1)}.pp_button-container{text-align:center}.pp_flex-grid{display:flex}.pp_flex-grid .pp_col{flex:1;margin:0 25px}.pp_flex-grid-thirds{display:flex;justify-content:space-between}.pp_flex-grid-thirds .pp_col{width:32%}@media (max-width:1350px){#pp-create-episode .btn-caption-container{height:80%}}@media (max-width:1100px){#pp-create-episode .btn-caption-container{height:88%}#pp-create-episode .pp_image{height:25%}}@media (max-width:400px){.pp_.flex-grid,.pp_.flex-grid-thirds{display:block}.pp_col{width:100%;margin:0 0 10px 0}}*{box-sizing:border-box}.pp_.flex-grid{margin:0 0 20px 0}.pp_.col{background:salmon;padding:20px}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.5;margin:0 0 .5rem 0;color:#333}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit;text-decoration:none}h2{font-size:1.5rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:.9rem}h6{font-size:.7rem}.pp_small{font-size:10px;color:#888}hr{border:0;border-bottom:solid 1px;margin:2rem 0}hr.major{margin:3rem 0}.pp_align-left{text-align:left}.pp_align-center{text-align:center}.pp_align-right{text-align:right}input,select,textarea{color:#555}a{color:#8a4680}b,strong{color:#555}blockquote{border-left-color:rgba(144,144,144,.25)}code{background:rgba(144,144,144,.075);border-color:rgba(144,144,144,.25)}hr{border-bottom-color:rgba(144,144,144,.25)}.pp_leftline{border-left:3px solid #efefef;padding-left:15px}.pp_box{height:100%;margin-bottom:2rem;background:#fff;padding:3rem;border:1px solid rgba(144,144,144,.25)}.pp_box.pp_service-container{border:1px solid #1976d2;padding:0}.pp_box.pp_service-container .pp_content{text-align:center}.pp_box.pp_service-container .pp_button{margin-top:3em}.pp_content{font-weight:700}.pp_button_alt.skip_blubrry{margin-top:3em}p{display:block}.iab_img{width:20%;margin-top:1em}.pp_box.pp_service-container .pp_image{height:5em;background-color:#1976d2;width:calc(100% + 1px)}.pp_box.pp_service-container .pp_image>img{width:auto;height:50%;transform:translateY(50%)}.pp_box.pp_service-container .pp_content{padding:3em}.pp_box header h2{margin-bottom:2rem}.pp_box header p{text-transform:uppercase;font-size:.75rem;font-weight:300;margin:0 0 .25rem 0;padding:0 0 .75rem 0;letter-spacing:.25rem}.pp_box header p:after{content:'';position:absolute;margin:auto;right:0;bottom:0;left:0;width:50%;height:1px;background-color:rgba(0,0,0,.125)}.pp_box>:last-child,.pp_box>:last-child>:last-child,.pp_box>:last-child>:last-child>:last-child{margin-bottom:0}.pp_box.alt{border:0;border-radius:0;padding:0}@media screen and (max-width:736px){.pp_box .pp_content{padding:2rem}}#wpcontent{background-image:-webkit-linear-gradient(top,#f2f2f2,#e6e6e6)}fieldset{margin:0 0 3rem}select{width:100%}.pp_input-field{position:relative;width:25%}.pp_input-field-thirds{position:relative;width:100%}input[type=password],input[type=text]{width:100%;padding-left:.75rem;transition:all .15s ease}.pp_outlined{height:38px;box-shadow:inset 0 0 0 1px #b2b2b2;border-radius:4px;background:0 0}.pp_outlined:focus{outline:0;box-shadow:inset 0 0 0 2px #ffb300}.pp_outlined+label{background:#fff;top:.8rem;position:absolute;left:.75rem;color:grey;transition:all .15s ease;padding:0;font-size:12px;pointer-events:none}.pp_outlined:focus+label,.pp_outlined:valid+label{color:#000;transform:scale(.8) translateY(-24px) translateX(-9px);padding:0 3px}.pp_form-group,.pp_form-radio{position:relative;margin-top:1.25rem;margin-bottom:2.25rem}.pp_form-inline>.pp_btn,.pp_form-inline>.pp_form-group{display:inline-block;margin-bottom:0}.pp_form-help{margin-top:.125rem;margin-left:.125rem;color:#b3b3b3;font-size:.8rem}.pp_checkbox .pp_form-help,.pp_form-group .pp_form-help,.pp_form-radio .pp_form-help{position:absolute;width:100%}.pp_checkbox .pp_form-help{position:relative;margin-bottom:1rem}.pp_form-radio .pp_form-help{padding-top:.25rem;margin-top:-1rem}.pp_checkbox label,.pp_form-radio label{position:relative;cursor:pointer;padding-left:2rem;text-align:left;color:#333;display:block}.pp_checkbox input,.pp_form-radio input{width:auto;opacity:.00000001;position:absolute;left:0}.pp_radio{margin-bottom:1rem}.pp_radio .pp_helper{position:absolute;top:-.25rem;left:-.25rem;cursor:pointer;display:block;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#999}.pp_radio .pp_helper::after,.pp_radio .pp_helper::before{content:'';position:absolute;left:0;top:0;margin:.25rem;width:1rem;height:1rem;-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;border-radius:50%;border:.125rem solid currentColor}.pp_radio .pp_helper::after{-webkit-transform:scale(0);transform:scale(0);background-color:#337ab7;border-color:#337ab7}.pp_radio label:hover .pp_helper{color:#337ab7}.pp_radio input:checked~.pp_helper::after{-webkit-transform:scale(.5);transform:scale(.5)}.pp_radio input:checked~.pp_helper::before{color:#337ab7}.pp_checkbox{margin-bottom:1rem}.pp_checkbox .pp_helper{color:#999;position:absolute;top:0;left:0;width:1rem;height:1rem;z-index:0;border:.125rem solid currentColor;border-radius:.0625rem;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}.pp_checkbox .pp_helper::after,.pp_checkbox .pp_helper::before{position:absolute;height:0;width:.2rem;background-color:#337ab7;display:block;-webkit-transform-origin:left top;transform-origin:left top;border-radius:.25rem;content:'';-webkit-transition:opacity .28s ease,height 0s linear .28s;transition:opacity .28s ease,height 0s linear .28s;opacity:0}.pp_checkbox .pp_helper::before{top:.65rem;left:.38rem;-webkit-transform:rotate(-135deg);transform:rotate(-135deg);box-shadow:0 0 0 .0625rem #fff}.pp_checkbox .helper::after{top:.3rem;left:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.pp_checkbox label:hover .pp_helper{color:#337ab7}.pp_checkbox input:checked~.pp_helper{color:#337ab7}.pp_checkbox input:checked~.pp_helper::after,.pp_checkbox input:checked~.pp_helper::before{opacity:1;-webkit-transition:height .28s ease;transition:height .28s ease}.pp_checkbox input:checked~.pp_helper::after{height:.5rem}.pp_checkbox input:checked~.pp_helper::before{height:1.2rem;-webkit-transition-delay:0.28s;transition-delay:0.28s}.pp_checkbox+.pp_checkbox,.pp_radio+.pp_radio{margin-top:1rem}.pp_has-error .pp_legend.pp_legend,.pp_has-error.pp_form-group .pp_control-label.pp_control-label{color:#d9534f}.pp_has-error.pp_checkbox .pp_form-help,.pp_has-error.pp_checkbox .pp_helper,.pp_has-error.pp_form-group .pp_form-help,.pp_has-error.pp_form-group .pp_helper,.pp_has-error.pp_form-radio .pp_form-help,.pp_has-error.pp_form-radio .pp_helper,.pp_has-error.pp_radio .pp_form-help,.pp_has-error.pp_radio .pp_helper{color:#d9534f}.pp_has-error .pp_bar::before{background:#d9534f;left:0;width:100%}.pp_button{position:relative;background:currentColor;border:1px solid currentColor;font-size:1.1rem;color:#1976d2;margin:0;padding:.75rem 3rem;cursor:pointer;-webkit-transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.pp_button span{color:#fff;position:relative;z-index:1}.pp_button::before{content:'';position:absolute;background:#003b75;border:50vh solid #1d4567;width:30vh;height:30vh;border-radius:50%;display:block;top:50%;left:50%;z-index:0;opacity:1;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0)}.pp_button:hover{color:#003b75;box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.pp_button:active::before,.pp_button:focus::before{-webkit-transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:transform 1.12s ease,opacity .28s ease 364ms;transition:transform 1.12s ease,opacity .28s ease 364ms,-webkit-transform 1.12s ease;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);opacity:0}.pp_button:focus{outline:0}.pp_button_alt{position:relative;background:#fff;border:1px solid #c4c4c4;font-size:1.1rem;color:#333;margin:0;padding:.75rem 3rem;cursor:pointer;-webkit-transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;transition:background-color .28s ease,color .28s ease,box-shadow .28s ease;overflow:hidden;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.pp_button_alt span{color:#333;position:relative;z-index:1}.pp_button_alt::before{content:'';position:absolute;background:#efefef;width:30vh;height:30vh;border-radius:50%;display:block;top:50%;left:50%;z-index:0;opacity:1;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0)}.pp_button_alt:hover{color:#efefef;box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.pp_button_alt:active::before,.pp_button_alt:focus::before{-webkit-transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:opacity .28s ease 364ms,-webkit-transform 1.12s ease;transition:transform 1.12s ease,opacity .28s ease 364ms;transition:transform 1.12s ease,opacity .28s ease 364ms,-webkit-transform 1.12s ease;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);opacity:0}.pp_button_alt:focus{outline:0}.pp_image{height:50%}.pp_image.pp_fit{margin:0 auto;width:100%}#blubrry-logo-onboarding{height:1.5rem;margin:0 0 .5ch 1rem;vertical-align:bottom}.pp_content{height:50%}.pp_image img{width:50%;margin:0 auto}.pp_image.center>img{display:block;margin-left:auto;margin-right:auto}.pp_button.show_button{min-width:240px;margin-top:15px}.pp_input-field-login{position:relative}.pp_file_upload{opacity:0;left:0;top:0;z-index:999;height:50px}.pp_file_upload::-webkit-file-upload-button{height:50px}.image_center{display:block;margin-left:auto;margin-right:auto;width:40%}.image_wrapper{width:100%;height:auto}#upload-artwork-button{float:right;width:auto;min-height:40px;margin:1em 0 0 1em}#filepath{float:left;width:100%;margin:3ch 0 2em 0}#artwork-spec{margin-top:6em}#filePath{width:100%}.pp_input-field-login,button[name=signin]{width:40%}h5.pp_align-center,p{font-size:16px}p.pp-smaller-text{font-size:13px}.wrap div.error{border-right-width:0;border-top-width:0;border-bottom-width:0;border-left-width:3px;color:#dc3232;box-shadow:none;margin-bottom:0}@media (max-width:1095px){#showbasics_artwork{display:block}#artwork-spec{margin-top:0}#upload-artwork-button{width:95%;text-align:center;margin-bottom:1em;margin-left:0;float:left}.pp_input-field-login,button[name=signin]{width:50%}}@media (max-width:736px){.pp_flex-grid{display:block}.pp_container{padding:3rem 1rem}.bpp_input_med{width:100%}#showbasics_artwork_upload{margin:0}.pp_button,.pp_button_alt{padding:.75rem}}@media (max-width:610px){#filePath{width:100%}}@media (max-width:475px){.pp_box{padding:1rem}.pp_input-field-login,button[name=signin]{width:90%}}
images/access_time.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" fill="#1976D2"/></svg>
images/add_to_queue.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 15h2v-3h3v-2h-3V7h-2v3H8v2h3zM21 3H3c-1.11 0-2 .89-2 2v12c0 1.1.89 2 2 2h5v2h8v-2h5c1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm0 14H3V5h18v12z" fill="#1976D2"/></svg>
images/onboarding/BlubrryBannerLogo.png ADDED
Binary file
images/onboarding/iab_badge.png ADDED
Binary file
images/refresh.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z" fill="#1976D2"/></svg>
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.7.14
7
  Author: Blubrry
8
  Author URI: https://blubrry.com/
9
  Requires at least: 3.6
@@ -35,8 +35,7 @@ if( !function_exists('add_action') ) {
35
  }
36
 
37
  // WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
38
-
39
- define('POWERPRESS_VERSION', '8.7.14' );
40
 
41
  // Translation support:
42
  if ( !defined('POWERPRESS_ABSPATH') )
@@ -1823,6 +1822,7 @@ function powerpress_init()
1823
  }
1824
  }
1825
  }
 
1826
  }
1827
 
1828
  add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
@@ -4007,6 +4007,35 @@ function powerpress_in_custom_post_widget()
4007
  }
4008
  return false;
4009
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4010
  /*
4011
  End Helper Functions
4012
  */
@@ -4016,6 +4045,19 @@ if( is_admin() )
4016
  {
4017
  require_once(POWERPRESS_ABSPATH.'/powerpressadmin.php');
4018
  register_activation_hook( __FILE__, 'powerpress_admin_activate' );
 
 
 
 
 
 
 
 
 
 
 
 
 
4019
  }
4020
 
4021
  if( defined('POWERPRESS_SUBSCRIBE') && POWERPRESS_SUBSCRIBE )
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: 9.0
7
  Author: Blubrry
8
  Author URI: https://blubrry.com/
9
  Requires at least: 3.6
35
  }
36
 
37
  // WP_PLUGIN_DIR (REMEMBER TO USE THIS DEFINE IF NEEDED)
38
+ define('POWERPRESS_VERSION', '9.0' );
 
39
 
40
  // Translation support:
41
  if ( !defined('POWERPRESS_ABSPATH') )
1822
  }
1823
  }
1824
  }
1825
+
1826
  }
1827
 
1828
  add_action('init', 'powerpress_init', -100); // We need to add the feeds before other plugins start screwing with them
4007
  }
4008
  return false;
4009
  }
4010
+
4011
+ function powerpress_admin_migration_notice() {
4012
+ $QueuedResults = get_option('powerpress_migrate_queued');
4013
+ $Status = get_option('powerpress_migrate_status');
4014
+ $completed = false;
4015
+
4016
+ // we have successfully migrated all media, or there is no more media to migrate
4017
+ if (count($QueuedResults) == $Status['completed'] || ($Status['queued'] == 0 && $Status['downloading'] == 0)) {
4018
+ $completed = true;
4019
+ }
4020
+
4021
+ $alert_link = $root_url = ( (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://' ) ) . $_SERVER['HTTP_HOST'] . "/wp-admin/admin.php?page=powerpress/powerpressadmin_migrate.php";
4022
+ $alert_class = 'powerpress-notice notice is-dismissible ';
4023
+ if ($completed) {
4024
+ $alert_class .= ' notice-success ';
4025
+ $alert_message = 'Your migration has completed. ';
4026
+ $alert_link = $root_url . "&action=powerpress-migrate-media&migrate_step=3";;
4027
+ $alert_link_message = " to update your episodes.";
4028
+ } else {
4029
+ $alert_class .= ' notice-info ';
4030
+ $alert_message = 'Your migration is in progress. ';
4031
+ $alert_link = $root_url . "&action=powerpress-migrate-media&refresh_migrate_status=1";
4032
+ $alert_link_message = " to check the status of your migration.";
4033
+ }
4034
+
4035
+ $html = "<div class='$alert_class'><p class='alertMessage'>$alert_message<a href='$alert_link'>Click here</a>$alert_link_message</p>"
4036
+ . '<p>&nbsp; <a style="float:right;" href="#" class="notice-dismiss-link"></a></p></div>' . PHP_EOL;
4037
+ echo $html;
4038
+ }
4039
  /*
4040
  End Helper Functions
4041
  */
4045
  {
4046
  require_once(POWERPRESS_ABSPATH.'/powerpressadmin.php');
4047
  register_activation_hook( __FILE__, 'powerpress_admin_activate' );
4048
+
4049
+ // check for ongoing migration, if one exisits, call the function to display
4050
+ $migrationInprogress = get_option('powerpress_migrate_queued');
4051
+ $migrationComplete = get_option('powerpress_migrate_completed');
4052
+
4053
+ if (!empty($migrationComplete)) {
4054
+ // unregister cron task if it still exists
4055
+ $timestamp = wp_next_scheduled( 'powerpress_admin_migration_hook' );
4056
+ wp_unschedule_event( $timestamp, 'powerpress_admin_migration_hook' );
4057
+ } elseif (!empty($migrationInprogress)) {
4058
+ // handles in progress, and update episode directive
4059
+ powerpress_admin_migration_notice();
4060
+ }
4061
  }
4062
 
4063
  if( defined('POWERPRESS_SUBSCRIBE') && POWERPRESS_SUBSCRIBE )
powerpressadmin-auth.class.php CHANGED
@@ -119,8 +119,9 @@ class PowerPressAuth {
119
 
120
  function checkAccountVerified() {
121
  $creds = get_option('powerpress_creds');
 
122
  $path = '/account/create-status?cache=' . md5( rand(0, 999) . time() ) . '&client_id=' . urlencode($creds['client_id']);
123
- return $this->api('', $path);
124
  }
125
 
126
  function revokeClient($accessToken, $clientID, $clientSecret) {
@@ -128,18 +129,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, $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 )
@@ -189,7 +190,11 @@ class PowerPressAuth {
189
  }
190
 
191
  // Handle post data
192
- if( is_array($post) && count($post) > 0 )
 
 
 
 
193
  {
194
  $post_query = '';
195
  foreach( $post as $name => $value )
@@ -260,13 +265,13 @@ class PowerPressAuth {
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.';
@@ -283,7 +288,11 @@ class PowerPressAuth {
283
  $options['headers']['Authorization'] = 'Bearer '.$bearerValue;
284
 
285
  if( !empty($post) ) {
286
- $options['body'] = $post;
 
 
 
 
287
  $response = wp_remote_post( $url, $options );
288
  } else if($custom_request) {
289
  $options['method'] = $custom_request;
119
 
120
  function checkAccountVerified() {
121
  $creds = get_option('powerpress_creds');
122
+ $accessToken = !empty($creds['access_token']) ? $creds['access_token'] : '';
123
  $path = '/account/create-status?cache=' . md5( rand(0, 999) . time() ) . '&client_id=' . urlencode($creds['client_id']);
124
+ return $this->api($accessToken, $path);
125
  }
126
 
127
  function revokeClient($accessToken, $clientID, $clientSecret) {
129
  return $this->api($accessToken, $path, array('client_id' => $clientID, 'client_secret' => $clientSecret));
130
  }
131
 
132
+ function api($accessToken, $path, $post = false, $custom_request = false, $timeout = 15, $decode_json = true, $encode_json = false )
133
  {
134
  $requestUrl = $this->apiUrl[ $this->apiUrlIndex ] . ltrim($path, '/'); // Make sure prefix slash is removed
135
+ $return = $this->_makeApiCall($requestUrl, $post, false, $accessToken, $custom_request, $timeout, $decode_json, $encode_json);
136
  while( $return === false && $this->_retryApiUrl() ) {
137
  $requestUrl = $this->apiUrl[ $this->apiUrlIndex ] . ltrim($path, '/'); // Make sure prefix slash is removed
138
+ $return = $this->_makeApiCall($requestUrl, $post, false, $accessToken, $custom_request, $timeout, $decode_json, $encode_json);
139
  }
140
  return $return;
141
  }
142
 
143
+ private function _makeApiCallCurl($url, $post = false, $clientCredsBase64 = false, $bearerValue = '', $custom_request = false, $timeout = 15, $decode_json = true, $encode_json = false ) {
144
 
145
  $curl = curl_init();
146
  if ( version_compare( PHP_VERSION, '5.5.0') > 0 )
190
  }
191
 
192
  // Handle post data
193
+ if ($encode_json && is_array($post)) {
194
+ $post_query = json_encode($post);
195
+ curl_setopt($curl, CURLOPT_POST, 1);
196
+ curl_setopt($curl, CURLOPT_POSTFIELDS, $post_query);
197
+ } elseif( is_array($post) && count($post) > 0 )
198
  {
199
  $post_query = '';
200
  foreach( $post as $name => $value )
265
  return false;
266
  }
267
 
268
+ private function _makeApiCall($url, $post = false, $clientCredsBase64 = false, $bearerValue = '', $custom_request = false, $timeout = 15, $decode_json = true, $encode_json = false) {
269
 
270
  // Reset the errors
271
  $this->error = '';
272
  $this->errorCode = 0;
273
  if( function_exists('curl_init') ) // If using CURL, better handling of errors
274
+ return $this->_makeApiCallCurl($url, $post, $clientCredsBase64, $bearerValue, $custom_request, $timeout, $decode_json, $encode_json);
275
 
276
  if( !function_exists('wp_remote_post') ) {
277
  $this->error = 'WordPress or curl library required.';
288
  $options['headers']['Authorization'] = 'Bearer '.$bearerValue;
289
 
290
  if( !empty($post) ) {
291
+ if ($encode_json) {
292
+ $options['body'] = json_encode($post);
293
+ } else {
294
+ $options['body'] = $post;
295
+ }
296
  $response = wp_remote_post( $url, $options );
297
  } else if($custom_request) {
298
  $options['method'] = $custom_request;
powerpressadmin-migrate.php CHANGED
@@ -288,7 +288,7 @@ function powerpress_admin_migrate_request()
288
  {
289
  powerpress_admin_queue_files($_POST['Migrate']);
290
 
291
- // Else error message handled in functoin called above
292
  }
293
  }; break;
294
  case 'update_episodes': { // <input type="hidden" name="migrate_action" value="update_episodes" />
@@ -425,6 +425,10 @@ function powerpress_admin_migrate_request()
425
  powerpress_page_message_add_notice( sprintf(__('No episodes updated.', 'powerpress')) );
426
  }
427
  }
 
 
 
 
428
  }; break;
429
  }
430
  }
@@ -547,6 +551,13 @@ function powerpress_admin_queue_files($extensions=array() )
547
  {
548
  powerpress_page_message_add_notice( sprintf(__('%d media files were already added to migration queue.', 'powerpress'), $AlreadyAddedCount) );
549
  }
 
 
 
 
 
 
 
550
  }
551
 
552
 
@@ -783,7 +794,18 @@ function powerpress_admin_migrate()
783
  {
784
  $General = powerpress_get_settings('powerpress_general');
785
  $files = powerpress_admin_migrate_get_files();
786
-
 
 
 
 
 
 
 
 
 
 
 
787
  if( !empty($_REQUEST['migrate_step']) && $_REQUEST['migrate_step'] == 1 )
788
  {
789
  powerpress_admin_migrate_step1();
@@ -871,6 +893,7 @@ function powerpress_admin_migrate()
871
  }
872
 
873
  ?>
 
874
  <?php powerpress_page_message_print(); ?>
875
  <?php
876
  if( !empty($GLOBALS['g_powerpress_verify_failed_count']) )
@@ -916,44 +939,61 @@ function powerpress_admin_migrate()
916
  ?>
917
 
918
 
919
- <div id="powerpress_steps">
920
- <div class="powerpress-step active-step" id="powerpreess_step_1a">
 
921
  <h3><?php echo __('Step 1', 'powerpress'); ?></h3>
922
- <p>
923
- <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;migrate_step=1"); ?>"><?php echo __('Select Media to Migrate', 'powerpress'); ?></a>
924
- </p>
 
 
 
 
 
 
 
925
  <br />
926
  <p class="normal"><?php echo sprintf( __('%d files requested', 'powerpress'), $RequestedCount); ?></p>
927
- <p class="normal"><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;migrate_step=1"); ?>">Add media files</a></p>
928
- <?php ?>
929
  </div>
930
- <div class="powerpress-step<?php echo ($Step >= 1? ' active-step':''); ?>">
 
931
  <h3><?php echo __('Step 2', 'powerpress'); ?></h3>
932
  <p>
933
  <?php echo __('Wait for media to migrate', 'powerpress'); ?>
934
  </p>
935
- <br />
936
  <?php if( $Step >= 1 ) { ?>
937
  <?php if( $BlubrryQueuedCount ) { ?><p class="normal"><?php echo sprintf( __('%d files in queue', 'powerpress'), $BlubrryQueuedCount); ?></p> <?php } ?>
938
  <p class="normal"><?php echo sprintf( __('%d files migrated', 'powerpress'), $MigratedCount); ?></p><?php } ?>
939
  <?php if( $FailedCount ) { ?><p class="normal"><?php echo sprintf( __('%d files failed', 'powerpress'), $FailedCount); ?></p><?php } ?>
940
  <?php if( $SkippedCount ) { ?><p class="normal"><?php echo sprintf( __('%d files skipped', 'powerpress'), $SkippedCount); ?></p><?php } ?>
941
-
942
- <p class="normal"><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;refresh_migrate_status=1"); ?>"><?php echo __('Refresh', 'powerpress'); ?></a></p>
 
 
 
 
943
  <?php ?>
944
  </div>
945
- <div class="powerpress-step<?php echo ($Step >= 2? ' active-step':''); ?>">
 
946
  <h3><?php echo __('Step 3', 'powerpress'); ?></h3>
947
 
 
 
 
948
  <?php if( $CompletedCount ) { ?><p class="normal"><?php echo sprintf( __('%d episodes updated', 'powerpress'), $CompletedCount); ?></p><?php } ?>
949
  <!-- <p class="normal">0 episodes updated</p> -->
950
- <p class="normal"><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;migrate_step=3"); ?>"><?php echo __('Update Episodes Now', 'powerpress'); ?></a></p>
 
 
 
 
951
  <?php ?>
952
  </div>
953
  <div class="clear"></div>
954
  </div>
955
  <div class="clear"></div>
956
- <br /><br />
957
  <?php
958
 
959
  if( !empty($MigrateStatus['updated_timestamp']) )
@@ -983,8 +1023,75 @@ function powerpress_admin_migrate()
983
  <p><a href="<?php echo admin_url(); echo wp_nonce_url( "admin.php?page=powerpress/powerpressadmin_migrate.php&amp;migrate_action=reset_migrate_media&amp;action=powerpress-migrate-media", 'powerpress-migrate-media'); ?>" onclick="return confirm('<?php echo esc_js(__('Reset migration, are you sure?','powerpress')); ?>');"><?php echo __('Reset Migration', 'powerpress'); ?></a>
984
  <?php ?>
985
  </p>
986
- <br /><br />
987
  <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
988
  <?php
989
  }
990
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  {
289
  powerpress_admin_queue_files($_POST['Migrate']);
290
 
291
+ // Else error message handled in function called above
292
  }
293
  }; break;
294
  case 'update_episodes': { // <input type="hidden" name="migrate_action" value="update_episodes" />
425
  powerpress_page_message_add_notice( sprintf(__('No episodes updated.', 'powerpress')) );
426
  }
427
  }
428
+
429
+ // delete the cron task that check for the migration status
430
+ $timestamp = wp_next_scheduled( 'powerpress_admin_migration_hook' );
431
+ wp_unschedule_event( $timestamp, 'powerpress_admin_migration_hook' );
432
  }; break;
433
  }
434
  }
551
  {
552
  powerpress_page_message_add_notice( sprintf(__('%d media files were already added to migration queue.', 'powerpress'), $AlreadyAddedCount) );
553
  }
554
+
555
+
556
+
557
+ if( !wp_next_scheduled('powerpress_admin_migration_hook')) {
558
+ add_action( 'powerpress_admin_migration_hook', 'powerpress_admin_migration_cron' );
559
+ wp_schedule_event(time(), 'hourly', 'powerpress_admin_migration_hook');
560
+ }
561
  }
562
 
563
 
794
  {
795
  $General = powerpress_get_settings('powerpress_general');
796
  $files = powerpress_admin_migrate_get_files();
797
+
798
+ // styles for create episode and PP settings buttons
799
+ if (defined('WP_DEBUG')) {
800
+ if (WP_DEBUG) {
801
+ wp_enqueue_style('powerpress_onboarding_styles', plugin_dir_url(__FILE__) . 'css/onboarding.css', array(), POWERPRESS_VERSION);
802
+ } else {
803
+ wp_enqueue_style('powerpress_onboarding_styles', plugin_dir_url(__FILE__) . 'css/onboarding.min.css', array(), POWERPRESS_VERSION);
804
+ }
805
+ } else {
806
+ wp_enqueue_style('powerpress_onboarding_styles', plugin_dir_url(__FILE__) . 'css/onboarding.min.css', array(), POWERPRESS_VERSION);
807
+ }
808
+
809
  if( !empty($_REQUEST['migrate_step']) && $_REQUEST['migrate_step'] == 1 )
810
  {
811
  powerpress_admin_migrate_step1();
893
  }
894
 
895
  ?>
896
+ <div class="pp-migrate-container">
897
  <?php powerpress_page_message_print(); ?>
898
  <?php
899
  if( !empty($GLOBALS['g_powerpress_verify_failed_count']) )
939
  ?>
940
 
941
 
942
+ <div id="powerpress_steps" class="pp_flex-grid" style="margin-top: 2em;">
943
+ <div class="powerpress-step active-step pp_col" id="powerpreess_step_1a">
944
+ <img alt="Step 1" src="<?php echo powerpress_get_root_url() . 'images/add_to_queue.svg'?>" />
945
  <h3><?php echo __('Step 1', 'powerpress'); ?></h3>
946
+ <p>
947
+ <?php echo __('Select Media to Migrate', 'powerpress'); ?>
948
+ </p>
949
+
950
+ <div class="pp_button-container" style="margin-top: 1em;">
951
+ <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;migrate_step=1"); ?>">
952
+ <button type="button" class="pp_button"><span><?php echo __('Add Files', 'powerpress'); ?></span></button>
953
+ </a>
954
+ </div>
955
+
956
  <br />
957
  <p class="normal"><?php echo sprintf( __('%d files requested', 'powerpress'), $RequestedCount); ?></p>
 
 
958
  </div>
959
+ <div class="powerpress-step<?php echo ($Step >= 1? ' active-step':''); ?> pp_col">
960
+ <img alt="Step 2" src="<?php echo powerpress_get_root_url() . 'images/access_time.svg'?>" />
961
  <h3><?php echo __('Step 2', 'powerpress'); ?></h3>
962
  <p>
963
  <?php echo __('Wait for media to migrate', 'powerpress'); ?>
964
  </p>
 
965
  <?php if( $Step >= 1 ) { ?>
966
  <?php if( $BlubrryQueuedCount ) { ?><p class="normal"><?php echo sprintf( __('%d files in queue', 'powerpress'), $BlubrryQueuedCount); ?></p> <?php } ?>
967
  <p class="normal"><?php echo sprintf( __('%d files migrated', 'powerpress'), $MigratedCount); ?></p><?php } ?>
968
  <?php if( $FailedCount ) { ?><p class="normal"><?php echo sprintf( __('%d files failed', 'powerpress'), $FailedCount); ?></p><?php } ?>
969
  <?php if( $SkippedCount ) { ?><p class="normal"><?php echo sprintf( __('%d files skipped', 'powerpress'), $SkippedCount); ?></p><?php } ?>
970
+
971
+ <div class="pp_button-container" style="margin-top: 1em;">
972
+ <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;refresh_migrate_status=1"); ?>">
973
+ <button type="button" class="pp_button"><span><?php echo __('Refresh', 'powerpress'); ?></span></button>
974
+ </a>
975
+ </div>
976
  <?php ?>
977
  </div>
978
+ <div class="powerpress-step<?php echo ($Step >= 2? ' active-step':''); ?> pp_col">
979
+ <img alt="Step 3" src="<?php echo powerpress_get_root_url() . 'images/refresh.svg'?>" />
980
  <h3><?php echo __('Step 3', 'powerpress'); ?></h3>
981
 
982
+ <p>
983
+ <?php echo __('Update episodes in your feed', 'powerpress'); ?>
984
+ </p>
985
  <?php if( $CompletedCount ) { ?><p class="normal"><?php echo sprintf( __('%d episodes updated', 'powerpress'), $CompletedCount); ?></p><?php } ?>
986
  <!-- <p class="normal">0 episodes updated</p> -->
987
+ <div class="pp_button-container" style="margin-top: 1em;">
988
+ <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&amp;action=powerpress-migrate-media&amp;migrate_step=3"); ?>">
989
+ <button type="button" class="pp_button"><span><?php echo __('Update', 'powerpress'); ?></span></button>
990
+ </a>
991
+ </div>
992
  <?php ?>
993
  </div>
994
  <div class="clear"></div>
995
  </div>
996
  <div class="clear"></div>
 
997
  <?php
998
 
999
  if( !empty($MigrateStatus['updated_timestamp']) )
1023
  <p><a href="<?php echo admin_url(); echo wp_nonce_url( "admin.php?page=powerpress/powerpressadmin_migrate.php&amp;migrate_action=reset_migrate_media&amp;action=powerpress-migrate-media", 'powerpress-migrate-media'); ?>" onclick="return confirm('<?php echo esc_js(__('Reset migration, are you sure?','powerpress')); ?>');"><?php echo __('Reset Migration', 'powerpress'); ?></a>
1024
  <?php ?>
1025
  </p>
 
1026
  <?php } ?>
1027
+ <style>
1028
+ #wpfooter {
1029
+ position: relative;
1030
+ }
1031
+ </style>
1032
+ <div id="pp-create-episode">
1033
+ <hr class="pp_align-center" />
1034
+ <section id="one" class="pp_wrapper">
1035
+ <div class="pp_inner">
1036
+
1037
+ <div class="pp_flex-grid">
1038
+
1039
+ <div class="pp_col">
1040
+ <div class="pp_box" style="border: none; margin-bottom: 0; padding: 2em 3em;">
1041
+ <div>
1042
+ <div class="pp_button-container" style="margin-bottom: 2em;">
1043
+ <a href="<?php echo admin_url('post-new.php') ?>"><button type="button" class="pp_button_alt"><span><?php echo __('Create a new episode', 'powerpress'); ?></span></button></a>
1044
+ </div>
1045
+ <div class="btn-caption-container">
1046
+ <p class="pp_align-center" style="width: 100%; margin-bottom: 1ch;"><?php echo __('Release a new episode or blog post.', 'powerpress'); ?></p>
1047
+ </div>
1048
+ </div>
1049
+ </div>
1050
+ </div>
1051
+
1052
+ <div class="pp_col">
1053
+ <div class="pp_box" style="border: none; margin-bottom: 0; padding: 2em 3em;">
1054
+ <div>
1055
+ <div class="pp_button-container" style="margin-bottom: 2em;">
1056
+ <a href="<?php echo admin_url('admin.php?page=powerpressadmin_basic') ?>">
1057
+ <button type="button" class="pp_button_alt"><span><?php echo __('Go to settings', 'powerpress'); ?></span></button>
1058
+ </a>
1059
+ </div>
1060
+ <div class="btn-caption-container">
1061
+ <p class="pp_align-center"><?php echo __('Continue with PowerPress options for your feed and website.', 'powerpress'); ?></p>
1062
+ </div>
1063
+ </div>
1064
+ </div>
1065
+ </div>
1066
+
1067
+ </div>
1068
+ </div>
1069
+ </section>
1070
+ </div>
1071
+ </div>
1072
  <?php
1073
  }
1074
 
1075
+ /**
1076
+ * This function, called hourly by cron, will get the migration status and update the database accordingly.
1077
+ *
1078
+ * @return void
1079
+ */
1080
+ function powerpress_admin_migration_cron() {
1081
+ // do logic to get correct counts and update wp options
1082
+ $MigrateStatus = get_option('powerpress_migrate_status');
1083
+ if( empty($MigrateStatus) || $MigrateStatus['updated_timestamp'] < current_time('timestamp')-(60*30) || !empty($_GET['refresh_migrate_status']) ) // Check every 30 minutes
1084
+ {
1085
+ $update_option = $MigrateStatus == false ? false : true;
1086
+
1087
+ $MigrateStatus = powerpress_admin_migrate_get_status();
1088
+ if( is_array($MigrateStatus) )
1089
+ {
1090
+ $MigrateStatus['updated_timestamp'] = current_time( 'timestamp' );
1091
+ if( $update_option )
1092
+ update_option('powerpress_migrate_status', $MigrateStatus);
1093
+ else
1094
+ add_option('powerpress_migrate_status', $MigrateStatus, '', 'no' );
1095
+ }
1096
+ }
1097
+ }
powerpressadmin-rss-import.php CHANGED
@@ -124,223 +124,16 @@ class PowerPress_RSS_Podcast_Import extends WP_Importer {
124
  <input type="text" name="podcast_feed_url" id="podcast_feed_url" class="pp_outlined" placeholder="<?php echo esc_attr($placeholder); ?>" />
125
  </div>
126
  </div>
127
- <div <?php if ($from_onboarding) { echo "style='display: none;'"; } ?>>
128
- <h3><label for="podcast_feed_file"><?php _e('Or choose from your local disk:', 'powerpress'); ?></label></h3>
129
- <input id="podcast_feed_file" name="podcast_feed_file" type="file" />
130
  </div>
131
 
132
  </div>
133
- <div class="pp_flex-grid">
134
- <!--
135
- <p><?php echo sprintf(__('Importing your feed does not migrate your media files. Please use the %s tool to migrate your media once your feed is imported.', 'powerpress'), '<strong><a href="'.admin_url('admin.php?page=powerpress/powerpressadmin_migrate.php') .'">'. __('Migrate Media', 'powerpress') .'</a></strong>'); ?></p>
136
- -->
137
- <style>
138
- .ppi-option {
139
- margin: 15px 0;
140
- font-size: 14px;
141
- }
142
- .ppi-option > p,
143
- .ppi-option > label {
144
- font-size: 16px;
145
-
146
- }
147
-
148
- </style>
149
- <?php if ($from_onboarding) { ?>
150
- <div class="import-to" id="import-to-default" style="display: none;">
151
- <div style="display: none;">
152
- <input type="checkbox" name="import_overwrite_program_info" value="1" checked>
153
- </div>
154
- <div style="display: none;">
155
- <input type="checkbox" name="import_itunes_image" value="1" checked>
156
- </div>
157
- </div>
158
- <?php if ($General['blubrry_hosting']) { ?>
159
- <div style="display: none;" class="ppi-option">
160
- <input type="checkbox" name="migrate_to_blubrry" value="1" checked>
161
- </div>
162
- <?php }
163
- } else { ?>
164
- <div class="pp_col">
165
-
166
- <div class="ppi-option">
167
- <h3><?php echo __('Import Podcast To', 'powerpress'); ?></h3>
168
- </div>
169
- <div>
170
- <div class="ppi-option">
171
- <label><input type="radio" name="import_to" id="import_to_default" value="default" checked /> <?php echo __('Default podcast feed', 'powerpress'); ?></label><br />
172
- <div class="import-to" id="import-to-default" style="display: none;">
173
- <div style="margin: 10px 0 10px 24px;">
174
- <label><input type="checkbox" name="import_overwrite_program_info" value="1" <?php echo isset($_GET['from']) ? 'checked': '' ?> > <?php echo __('Import program information', 'powerpress'); ?></label>
175
- </div>
176
- <div style="margin: 10px 0 10px 24px;">
177
- <label><input type="checkbox" name="import_itunes_image" value="1" <?php echo isset($_GET['from']) ? 'checked': '' ?>> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
178
- </div>
179
- </div>
180
- </div>
181
- <div class="ppi-option">
182
- <label><input type="radio" name="import_to" id="import_to_category" value="category" /> <?php echo __('Podcast Category feed', 'powerpress'); ?></label>
183
- <div class="import-to" id="import-to-category" style="display: none;">
184
- <div style="margin: 10px 0 10px 24px;">
185
- <label for="category"><?php echo __('Category', 'powerpress'); ?></label> &nbsp; <?php
186
- wp_dropdown_categories(array('show_option_none' => __( '&mdash; Select &mdash;' ), 'option_none_value' => '', 'hide_empty' => 0, 'id'=>'category', 'name' => 'category', 'orderby' => 'name', 'selected' => '', 'hierarchical' => true));
187
- ?>
188
- </div>
189
- <div style="margin: 10px 0 10px 24px;">
190
- <label><input type="checkbox" name="import_overwrite_program_info_category" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
191
- </div>
192
- <div style="margin: 10px 0 10px 24px;">
193
- <label><input type="checkbox" name="import_itunes_image_category" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
194
- </div>
195
- </div>
196
- </div>
197
- <?php
198
-
199
- if( !empty($General['channels']) )
200
- {
201
- // List rall of teh podcast channel feeds
202
- $Feeds = array();
203
- if( isset($General['custom_feeds']) )
204
- $Feeds = $General['custom_feeds'];
205
- if( isset($General['custom_feeds']['podcast']) )
206
- unset($General['custom_feeds']['podcast']);
207
- if( !empty($Feeds) )
208
- {
209
- ?>
210
- <div class="ppi-option">
211
- <label><input type="radio" name="import_to" id="import_to_channel" value="channel" /> <?php echo __('Podcast Channel feed', 'powerpress'); ?></label><br />
212
- <div class="import-to" id="import-to-channel" style="display: none;">
213
- <div style="margin: 10px 0 10px 24px;">
214
- <select id="feed_slug" name="feed_slug" class="large-input">
215
- <option value=""><?php echo __('Select Channel feed', 'powerpress'); ?></option>
216
- <?php
217
-
218
- asort($Feeds, SORT_STRING); // Sort feeds
219
- foreach( $Feeds as $feed_slug => $feed_title ) {
220
-
221
- echo "\t<option value=\"$feed_slug\">$feed_title ($feed_slug)</option>\n";
222
- }
223
- ?>
224
- </select>
225
- </div>
226
- <div style="margin: 10px 0 10px 24px;">
227
- <label><input type="checkbox" name="import_overwrite_program_info_channel" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
228
- </div>
229
- <div style="margin: 10px 0 10px 24px;">
230
- <label><input type="checkbox" name="import_itunes_image_channel" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
231
- </div>
232
- </div>
233
- </div>
234
- <?php
235
- }
236
- } // end podcast channel
237
-
238
- if( !empty($General['posttype_podcasting']) )
239
- {
240
- ?>
241
- <div class="ppi-option">
242
- <label><input type="radio" name="import_to" id="import_to_post_type" value="post_type" /> <?php echo __('Podcast Post Type feed', 'powerpress'); ?></label>
243
- <div class="import-to" id="import-to-post_type" style="display: none;">
244
- <div style="margin: 10px 0 10px 24px;">
245
- <label for="post_type"><?php echo __('Post type', 'powerpress'); ?></label> &nbsp;
246
- <input type="text" name="post_type" id="post_type" class="medium-text" value="" />
247
- </div>
248
- <div style="margin: 10px 0 10px 24px;">
249
- <label for="post_type_feed_slug"><?php echo __('Feed slug', 'powerpress'); ?></label> &nbsp;
250
- <input type="text" name="post_type_feed_slug" id="post_type_feed_slug" class="medium-text" value="" />
251
- </div>
252
- <div style="margin: 10px 0 10px 24px;">
253
- <label><input type="checkbox" name="import_overwrite_program_info_post_type" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
254
- </div>
255
- <div style="margin: 10px 0 10px 24px;">
256
- <label><input type="checkbox" name="import_itunes_image_post_type" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
257
- </div>
258
- </div>
259
- </div>
260
- <?php
261
- } // end post type
262
-
263
- if( !empty($General['taxonomy_podcasting']) )
264
- {
265
- $PowerPressTaxonomies = get_option('powerpress_taxonomy_podcasting');
266
- if( empty($PowerPressTaxonomies) )
267
- $PowerPressTaxonomies = array();
268
-
269
- ?>
270
- <div class="ppi-option">
271
- <label><input type="radio" name="import_to" id="import_to_taxonomy" value="taxonomy" /> <?php echo __('Podcast Taxonomy feed', 'powerpress'); ?></label>
272
- <div class="import-to" id="import-to-taxonomy" style="display: none;">
273
- <div style="margin: 10px 0 10px 24px;">
274
- <?php
275
-
276
- if( !empty($PowerPressTaxonomies) ) { // If taxonomy podcasting feeds exist..
277
-
278
- global $wpdb;
279
- $tt_ids = '';
280
-
281
- $SelectOptions = array();
282
- foreach( $PowerPressTaxonomies as $tt_id => $null ) {
283
- if( !empty($tt_ids) )
284
- $tt_ids .= ',';
285
- $tt_ids .= $tt_id;
286
-
287
- $term = get_term_by('term_taxonomy_id', $tt_id);
288
- if( is_wp_error($term) )
289
- continue;
290
- $SelectOptions[ $tt_id ] = sprintf('%s (%s)', $term->name, $term->slug);
291
- }
292
-
293
- ?>
294
- <select id="podcast_ttid" name="podcast_ttid" style="min-width: 240px;" class="postform">
295
- <option value=""><?php echo __('Select Taxonomy Podcast', ''); ?></option>
296
- <?php
297
-
298
- foreach( $SelectOptions as $tt_id => $label )
299
- {
300
- echo "\t<option value=\"$tt_id\">". htmlspecialchars($label). "</option>\n";
301
- }
302
 
303
- ?>
304
- </select>
305
- </div>
306
- <div style="margin: 10px 0 10px 24px;">
307
- <label><input type="checkbox" name="import_overwrite_program_info_taxonomy" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
308
- </div>
309
- <div style="margin: 10px 0 10px 24px;">
310
- <label><input type="checkbox" name="import_itunes_image_taxonomy" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
311
- </div>
312
- <?php } else { // else no taxonomy feeds have been created yet ?>
313
- <div style="margin: 10px 0 10px 24px;">
314
- <label><?php echo __('Please create a taxonomy podcast to continue.', 'powerpress'); ?></label>
315
- </div>
316
- <?php } ?>
317
- </div>
318
- <?php
319
- } // End if taxonomy podcasting enabled
320
- ?>
321
- </div>
322
- </div>
323
- </div>
324
- </div>
325
  <div class="pp_col">
326
- <h3><?php echo __('Blubrry Podcast Media Hosting', 'powerpress'); ?></h3>
327
- <?php
328
- if( empty($General['blubrry_hosting']) || $General['blubrry_hosting'] === 'false' ) {
329
- ?>
330
- <div class="ppi-option">
331
- <label><input type="checkbox" name="NULL" value="1" disabled> <?php echo __('Migrate media to your Blubrry hosting account', 'powerpress'); ?></label>
332
- </div>
333
- <p><a title="<?php echo esc_attr(__('Blubrry Podcast Hosting', 'powerpress')); ?>" href="<?php echo admin_url('admin.php'); ?>?action=powerpress-jquery-hosting&amp;KeepThis=true&amp;TB_iframe=true&amp;modal=false&amp;width=900&amp;height=600" target="_blank" class="thickbox"><?php echo __('Don\'t have a blubrry podcast hosting account?', 'powerpress'); ?></a></p>
334
- <?php
335
- } else { ?>
336
- <div class="ppi-option">
337
- <label><input type="checkbox" name="migrate_to_blubrry" value="1" checked> <?php echo __('Migrate media to your Blubrry hosting account', 'powerpress'); ?></label>
338
- </div>
339
- <?php
340
- }
341
- ?>
342
  <link rel="stylesheet" href="<?php echo powerpress_get_root_url(); ?>css/admin.css" type="text/css" media="screen" />
343
- <script language="javascript"><!--
344
 
345
  jQuery(document).ready( function() {
346
 
@@ -350,19 +143,227 @@ jQuery(document).ready( function() {
350
  if( jQuery(this).hasClass('pp-expand-section-expanded') ) {
351
  jQuery(this).removeClass('pp-expand-section-expanded');
352
  jQuery(this).parent().next('div').hide(400);
353
- jQuery(this).blur();
 
354
  } else {
355
  jQuery(this).addClass('pp-expand-section-expanded');
356
  jQuery(this).parent().next('div').show(400);
357
- jQuery(this).blur();
 
358
  }
359
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
360
  });
361
 
362
- //-->
363
  </script>
 
 
 
 
 
 
 
 
 
 
 
 
364
  <h3><a href="#" class="pp-expand-section"><?php echo __('Advanced Options', 'powerpress'); ?></a></h3>
365
  <div style="margin-left: 24px; display: none;">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
366
  <div class="ppi-option">
367
  <label><input type="checkbox" name="NULL" value="1" checked disabled> <?php echo __('Match episode by GUID (required)', 'powerpress'); ?></label>
368
  </div>
@@ -380,7 +381,7 @@ jQuery(document).ready( function() {
380
  </div>
381
  <div class="ppi-option">
382
  <input type="hidden" name="remove_query_string" value="0" />
383
- <label><input type="checkbox" name="remove_query_string" value="1" <?php if( !empty($_REQUEST['import']) && $_REQUEST['import'] == 'powerpress-libsyn-rss-podcast' ) {
384
  echo 'checked disabled'; } ?> > <?php echo __('Remove query strings from media URLs', 'powerpress'); ?></label>
385
  </div>
386
  <div class="ppi-option">
@@ -403,7 +404,6 @@ jQuery(document).ready( function() {
403
 
404
  </div>
405
  </div>
406
- <?php } ?>
407
  <div class="pp_col" style="padding: 20px 0px;">
408
  <hr class="pp_align-center">
409
  <div class="pp_button-container" style="float: right;">
@@ -1165,6 +1165,11 @@ jQuery(document).ready( function() {
1165
  $import_to = $_POST['import_to'];
1166
  if( !empty($_REQUEST['import']) && $_REQUEST['import'] == 'powerpress-libsyn-rss-podcast' )
1167
  $remove_query_string = true;
 
 
 
 
 
1168
 
1169
  // Set the correct parameters going in...
1170
  switch( $import_to )
124
  <input type="text" name="podcast_feed_url" id="podcast_feed_url" class="pp_outlined" placeholder="<?php echo esc_attr($placeholder); ?>" />
125
  </div>
126
  </div>
127
+ <div id="import_from_local_disk" style="display: none;">
128
+ <h3><label for="podcast_feed_file"><?php _e('Or choose from your local disk:', 'powerpress'); ?></label></h3>
129
+ <input id="podcast_feed_file" name="podcast_feed_file" type="file" />
130
  </div>
131
 
132
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  <div class="pp_col">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  <link rel="stylesheet" href="<?php echo powerpress_get_root_url(); ?>css/admin.css" type="text/css" media="screen" />
136
+ <script language="javascript">
137
 
138
  jQuery(document).ready( function() {
139
 
143
  if( jQuery(this).hasClass('pp-expand-section-expanded') ) {
144
  jQuery(this).removeClass('pp-expand-section-expanded');
145
  jQuery(this).parent().next('div').hide(400);
146
+ jQuery('#import_from_local_disk').hide(400);
147
+ jQuery(this).blur();
148
  } else {
149
  jQuery(this).addClass('pp-expand-section-expanded');
150
  jQuery(this).parent().next('div').show(400);
151
+ jQuery('#import_from_local_disk').show(400);
152
+ jQuery(this).blur();
153
  }
154
  });
155
+
156
+ <?php
157
+ if(empty($_GET['import']) || $_GET['import'] != 'powerpress-libsyn-rss-podcast'){
158
+ ?>
159
+ jQuery('#podcast_feed_url').on('input', function () {
160
+ if(jQuery(this).val().toUpperCase().includes('LIBSYN')){
161
+ jQuery('#remove_query_string_input').prop('disabled', true);
162
+ jQuery('#remove_query_string_input').prop('checked', true);
163
+ } else {
164
+ jQuery('#remove_query_string_input').prop('disabled', false);
165
+ jQuery('#remove_query_string_input').prop('checked', false);
166
+ }
167
+ });
168
+ <?php } ?>
169
  });
170
 
 
171
  </script>
172
+ <style>
173
+ .ppi-option {
174
+ margin: 15px 0;
175
+ font-size: 14px;
176
+ }
177
+ .ppi-option > p,
178
+ .ppi-option > label {
179
+ font-size: 16px;
180
+
181
+ }
182
+
183
+ </style>
184
  <h3><a href="#" class="pp-expand-section"><?php echo __('Advanced Options', 'powerpress'); ?></a></h3>
185
  <div style="margin-left: 24px; display: none;">
186
+ <div class="ppi-option">
187
+ <h3><?php echo __('Blubrry Podcast Media Hosting', 'powerpress'); ?></h3>
188
+ </div>
189
+ <?php
190
+ if( empty($General['blubrry_hosting']) || $General['blubrry_hosting'] === 'false' ) {
191
+ ?>
192
+ <div class="ppi-option">
193
+ <label><input type="checkbox" name="NULL" value="1" disabled> <?php echo __('Migrate media to your Blubrry hosting account', 'powerpress'); ?></label>
194
+ </div>
195
+ <p><a title="<?php echo esc_attr(__('Blubrry Podcast Hosting', 'powerpress')); ?>" href="<?php echo admin_url('admin.php'); ?>?action=powerpress-jquery-hosting&amp;KeepThis=true&amp;TB_iframe=true&amp;modal=false&amp;width=900&amp;height=600" target="_blank" class="thickbox"><?php echo __('Don\'t have a blubrry podcast hosting account?', 'powerpress'); ?></a></p>
196
+ <?php
197
+ } else { ?>
198
+ <div class="ppi-option">
199
+ <label><input type="checkbox" name="migrate_to_blubrry" value="1" checked> <?php echo __('Migrate media to your Blubrry hosting account', 'powerpress'); ?></label>
200
+ </div>
201
+ <?php
202
+ }
203
+ ?>
204
+ <!--
205
+ <p><?php echo sprintf(__('Importing your feed does not migrate your media files. Please use the %s tool to migrate your media once your feed is imported.', 'powerpress'), '<strong><a href="'.admin_url('admin.php?page=powerpress/powerpressadmin_migrate.php') .'">'. __('Migrate Media', 'powerpress') .'</a></strong>'); ?></p>
206
+ -->
207
+ <div class="ppi-option">
208
+ <h3><?php echo __('Import Podcast To', 'powerpress'); ?></h3>
209
+ </div>
210
+
211
+ <div class="ppi-option">
212
+ <label><input type="radio" name="import_to" id="import_to_default" value="default" checked /> <?php echo __('Default podcast feed', 'powerpress'); ?></label><br />
213
+ <div class="import-to" id="import-to-default" style="display: none;">
214
+ <div style="margin: 10px 0 10px 24px;">
215
+ <label><input type="checkbox" name="import_overwrite_program_info" value="1" <?php echo isset($_GET['from']) ? 'checked': '' ?> > <?php echo __('Import program information', 'powerpress'); ?></label>
216
+ </div>
217
+ <div style="margin: 10px 0 10px 24px;">
218
+ <label><input type="checkbox" name="import_itunes_image" value="1" <?php echo isset($_GET['from']) ? 'checked': '' ?>> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
219
+ </div>
220
+ </div>
221
+ </div>
222
+
223
+ <div class="ppi-option">
224
+ <label><input type="radio" name="import_to" id="import_to_category" value="category" /> <?php echo __('Podcast Category feed', 'powerpress'); ?></label>
225
+ <div class="import-to" id="import-to-category" style="display: none;">
226
+ <div style="margin: 10px 0 10px 24px;">
227
+ <label for="category"><?php echo __('Category', 'powerpress'); ?></label> &nbsp; <?php
228
+ wp_dropdown_categories(array('show_option_none' => __( '&mdash; Select &mdash;' ), 'option_none_value' => '', 'hide_empty' => 0, 'id'=>'category', 'name' => 'category', 'orderby' => 'name', 'selected' => '', 'hierarchical' => true));
229
+ ?>
230
+ </div>
231
+ <div style="margin: 10px 0 10px 24px;">
232
+ <label><input type="checkbox" name="import_overwrite_program_info_category" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
233
+ </div>
234
+ <div style="margin: 10px 0 10px 24px;">
235
+ <label><input type="checkbox" name="import_itunes_image_category" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
236
+ </div>
237
+ </div>
238
+ </div>
239
+ <?php
240
+
241
+ if( !empty($General['channels']) )
242
+ {
243
+ // List rall of teh podcast channel feeds
244
+ $Feeds = array();
245
+ if( isset($General['custom_feeds']) )
246
+ $Feeds = $General['custom_feeds'];
247
+ if( isset($General['custom_feeds']['podcast']) )
248
+ unset($General['custom_feeds']['podcast']);
249
+ if( !empty($Feeds) )
250
+ {
251
+ ?>
252
+ <div class="ppi-option">
253
+ <label><input type="radio" name="import_to" id="import_to_channel" value="channel" /> <?php echo __('Podcast Channel feed', 'powerpress'); ?></label><br />
254
+ <div class="import-to" id="import-to-channel" style="display: none;">
255
+ <div style="margin: 10px 0 10px 24px;">
256
+ <select id="feed_slug" name="feed_slug" class="large-input">
257
+ <option value=""><?php echo __('Select Channel feed', 'powerpress'); ?></option>
258
+ <?php
259
+
260
+ asort($Feeds, SORT_STRING); // Sort feeds
261
+ foreach( $Feeds as $feed_slug => $feed_title ) {
262
+
263
+ echo "\t<option value=\"$feed_slug\">$feed_title ($feed_slug)</option>\n";
264
+ }
265
+ ?>
266
+ </select>
267
+ </div>
268
+ <div style="margin: 10px 0 10px 24px;">
269
+ <label><input type="checkbox" name="import_overwrite_program_info_channel" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
270
+ </div>
271
+ <div style="margin: 10px 0 10px 24px;">
272
+ <label><input type="checkbox" name="import_itunes_image_channel" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
273
+ </div>
274
+ </div>
275
+ </div>
276
+ <?php
277
+ }
278
+ } // end podcast channel
279
+
280
+ if( !empty($General['posttype_podcasting']) )
281
+ {
282
+ ?>
283
+ <div class="ppi-option">
284
+ <label><input type="radio" name="import_to" id="import_to_post_type" value="post_type" /> <?php echo __('Podcast Post Type feed', 'powerpress'); ?></label>
285
+ <div class="import-to" id="import-to-post_type" style="display: none;">
286
+ <div style="margin: 10px 0 10px 24px;">
287
+ <label for="post_type"><?php echo __('Post type', 'powerpress'); ?></label> &nbsp;
288
+ <input type="text" name="post_type" id="post_type" class="medium-text" value="" />
289
+ </div>
290
+ <div style="margin: 10px 0 10px 24px;">
291
+ <label for="post_type_feed_slug"><?php echo __('Feed slug', 'powerpress'); ?></label> &nbsp;
292
+ <input type="text" name="post_type_feed_slug" id="post_type_feed_slug" class="medium-text" value="" />
293
+ </div>
294
+ <div style="margin: 10px 0 10px 24px;">
295
+ <label><input type="checkbox" name="import_overwrite_program_info_post_type" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
296
+ </div>
297
+ <div style="margin: 10px 0 10px 24px;">
298
+ <label><input type="checkbox" name="import_itunes_image_post_type" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ <?php
303
+ } // end post type
304
+
305
+ if( !empty($General['taxonomy_podcasting']) )
306
+ {
307
+ $PowerPressTaxonomies = get_option('powerpress_taxonomy_podcasting');
308
+ if( empty($PowerPressTaxonomies) )
309
+ $PowerPressTaxonomies = array();
310
+
311
+ ?>
312
+ <div class="ppi-option">
313
+ <label><input type="radio" name="import_to" id="import_to_taxonomy" value="taxonomy" /> <?php echo __('Podcast Taxonomy feed', 'powerpress'); ?></label>
314
+ <div class="import-to" id="import-to-taxonomy" style="display: none;">
315
+ <div style="margin: 10px 0 10px 24px;">
316
+ <?php
317
+
318
+ if( !empty($PowerPressTaxonomies) ) { // If taxonomy podcasting feeds exist..
319
+
320
+ global $wpdb;
321
+ $tt_ids = '';
322
+
323
+ $SelectOptions = array();
324
+ foreach( $PowerPressTaxonomies as $tt_id => $null ) {
325
+ if( !empty($tt_ids) )
326
+ $tt_ids .= ',';
327
+ $tt_ids .= $tt_id;
328
+
329
+ $term = get_term_by('term_taxonomy_id', $tt_id);
330
+ if( is_wp_error($term) )
331
+ continue;
332
+ $SelectOptions[ $tt_id ] = sprintf('%s (%s)', $term->name, $term->slug);
333
+ }
334
+
335
+ ?>
336
+ <select id="podcast_ttid" name="podcast_ttid" style="min-width: 240px;" class="postform">
337
+ <option value=""><?php echo __('Select Taxonomy Podcast', ''); ?></option>
338
+ <?php
339
+
340
+ foreach( $SelectOptions as $tt_id => $label )
341
+ {
342
+ echo "\t<option value=\"$tt_id\">". htmlspecialchars($label). "</option>\n";
343
+ }
344
+
345
+ ?>
346
+ </select>
347
+ </div>
348
+ <div style="margin: 10px 0 10px 24px;">
349
+ <label><input type="checkbox" name="import_overwrite_program_info_taxonomy" value="1"> <?php echo __('Import program information', 'powerpress'); ?></label>
350
+ </div>
351
+ <div style="margin: 10px 0 10px 24px;">
352
+ <label><input type="checkbox" name="import_itunes_image_taxonomy" value="1"> <?php echo __('Import iTunes artwork', 'powerpress'); ?></label>
353
+ </div>
354
+ <?php } else { // else no taxonomy feeds have been created yet ?>
355
+ <div style="margin: 10px 0 10px 24px;">
356
+ <label><?php echo __('Please create a taxonomy podcast to continue.', 'powerpress'); ?></label>
357
+ </div>
358
+ <?php } ?>
359
+ </div>
360
+ </div>
361
+ <?php
362
+ } // End if taxonomy podcasting enabled
363
+ ?>
364
+ <div class="ppi-option">
365
+ <h3><?php echo __('Import Options', 'powerpress'); ?></h3>
366
+ </div>
367
  <div class="ppi-option">
368
  <label><input type="checkbox" name="NULL" value="1" checked disabled> <?php echo __('Match episode by GUID (required)', 'powerpress'); ?></label>
369
  </div>
381
  </div>
382
  <div class="ppi-option">
383
  <input type="hidden" name="remove_query_string" value="0" />
384
+ <label><input id="remove_query_string_input" type="checkbox" name="remove_query_string" value="1" <?php if( !empty($_REQUEST['import']) && $_REQUEST['import'] == 'powerpress-libsyn-rss-podcast' ) {
385
  echo 'checked disabled'; } ?> > <?php echo __('Remove query strings from media URLs', 'powerpress'); ?></label>
386
  </div>
387
  <div class="ppi-option">
404
 
405
  </div>
406
  </div>
 
407
  <div class="pp_col" style="padding: 20px 0px;">
408
  <hr class="pp_align-center">
409
  <div class="pp_button-container" style="float: right;">
1165
  $import_to = $_POST['import_to'];
1166
  if( !empty($_REQUEST['import']) && $_REQUEST['import'] == 'powerpress-libsyn-rss-podcast' )
1167
  $remove_query_string = true;
1168
+
1169
+ // Libsyn feeds must always have this option enabled.
1170
+ if(!$remove_query_string && !empty($_POST['podcast_feed_url']) && strpos($_POST['podcast_feed_url'], 'libsyn') !== false){
1171
+ $remove_query_string = true;
1172
+ }
1173
 
1174
  // Set the correct parameters going in...
1175
  switch( $import_to )
powerpressadmin.php CHANGED
@@ -2843,7 +2843,7 @@ function powerpress_check_account_verified_popup($no_signout_link = false) {
2843
  function powerpress_check_credentials($creds) {
2844
  if (isset($creds['client_id'])) {
2845
  if (!isset($creds['account_verified']) || !$creds['account_verified']) {
2846
- powerpress_check_account_verified_popup();
2847
  }
2848
  }
2849
  }
@@ -3290,28 +3290,33 @@ function powerpress_admin_page_import_feed()
3290
  }
3291
 
3292
  function marketing_footer($button = false) {
3293
- echo '<div class="powerpress-blubrry-hosting-marketing">';
3294
- echo '<img class="hosting-marketing-blubrry-logo" src="' . powerpress_get_root_url() . 'images/Blubrry2017Logo-LOWERCASE.svg" alt="Blubrry Podcasting" />';
3295
- echo '<div class="hosting-marketing-text-container" ';
3296
- if ($button) {
3297
- echo 'style="width: 55%">';
3298
- } else {
3299
- echo 'style="width: 70%">';
3300
- }
3301
- echo '<h2 class="hosting-marketing-title">Publish everywhere from this website</h2>';
3302
- echo '<h4 class="hosting-marketing-text">You want podcast hosting that\'s easy to use with full control. ';
3303
- if ($button) {
3304
- echo 'Try Blubrry hosting ';
3305
- } else {
3306
- echo '<a class="hosting-marketing-text" href="https://publish.blubrry.com/start/hosting/?feed_url=' . urlencode(get_home_url() . '/feed/podcast') . '" target="_blank">Try Blubrry hosting</a> ';
3307
- }
3308
- echo 'for free and enjoy additional publishing features with PowerPress.</h4></div>';
3309
- if ($button) {
3310
- echo '<a class="hosting-marketing-link-button" href="https://publish.blubrry.com/start/hosting/?feed_url=' . urlencode(get_home_url() . '/feed/podcast') . '" target="_blank">';
3311
- echo '<button class="hosting-marketing-button">TRY BLUBRRY HOSTING FOR FREE</button>';
3312
- echo '</a>';
 
 
 
 
 
 
3313
  }
3314
- echo '</div>';
3315
  }
3316
 
3317
  function powerpress_admin_page_onboarding() {
@@ -4102,6 +4107,21 @@ function powerpress_admin_import_podcasting_settings()
4102
  return ($Changes||$FeedChanges);
4103
  }
4104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4105
  function powerpress_admin_episodes_per_feed($feed_slug, $post_type='post')
4106
  {
4107
  $field = 'enclosure';
@@ -4109,7 +4129,7 @@ function powerpress_admin_episodes_per_feed($feed_slug, $post_type='post')
4109
  $field = '_'. $feed_slug .':enclosure';
4110
  global $wpdb;
4111
  if ( $results = $wpdb->get_results("SELECT COUNT(pm.post_id) AS episodes_total FROM $wpdb->posts AS p INNER JOIN $wpdb->postmeta AS pm ON pm.post_id = p.ID WHERE pm.meta_key = '$field' AND p.post_status <> 'auto-draft' AND p.post_status <> 'trash' AND p.post_status <> 'inherit' ", ARRAY_A) ) {
4112
- if( count($results) )
4113
  {
4114
  foreach( $results as $key => $row ) {
4115
  break;
2843
  function powerpress_check_credentials($creds) {
2844
  if (isset($creds['client_id'])) {
2845
  if (!isset($creds['account_verified']) || !$creds['account_verified']) {
2846
+ powerpress_check_account_verified_popup($_GET['page'] == 'powerpressadmin_onboarding.php');
2847
  }
2848
  }
2849
  }
3290
  }
3291
 
3292
  function marketing_footer($button = false) {
3293
+ // only display if not signed in
3294
+ $creds = get_option('powerpress_creds');
3295
+ if (!$creds) {
3296
+ $pp_nonce = powerpress_login_create_nonce();
3297
+ echo '<div class="powerpress-blubrry-hosting-marketing">';
3298
+ echo '<img class="hosting-marketing-blubrry-logo" src="' . powerpress_get_root_url() . 'images/Blubrry2017Logo-LOWERCASE.svg" alt="Blubrry Podcasting" />';
3299
+ echo '<div class="hosting-marketing-text-container" ';
3300
+ if ($button) {
3301
+ echo 'style="width: 55%">';
3302
+ } else {
3303
+ echo 'style="width: 70%">';
3304
+ }
3305
+ echo '<h2 class="hosting-marketing-title">Publish everywhere from this website</h2>';
3306
+ echo '<h4 class="hosting-marketing-text">You want podcast hosting that\'s easy to use with full control. ';
3307
+ if ($button) {
3308
+ echo 'Try Blubrry hosting ';
3309
+ } else {
3310
+ echo '<a class="hosting-marketing-text" href="' . add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&step=blubrrySignup&onboarding_type=stats")) . '" target="_blank">Try Blubrry hosting</a> ';
3311
+ }
3312
+ echo 'for free and enjoy additional publishing features with PowerPress.</h4></div>';
3313
+ if ($button) {
3314
+ echo '<a class="hosting-marketing-link-button" href="' . add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&step=blubrrySignup&onboarding_type=stats")) . '" target="_blank">';
3315
+ echo '<button class="hosting-marketing-button">TRY BLUBRRY HOSTING FOR FREE</button>';
3316
+ echo '</a>';
3317
+ }
3318
+ echo '</div>';
3319
  }
 
3320
  }
3321
 
3322
  function powerpress_admin_page_onboarding() {
4107
  return ($Changes||$FeedChanges);
4108
  }
4109
 
4110
+ function powerpress_admin_episodes_not_hosted() {
4111
+ // no need to specify feed slug--this is for use during onboarding, before additional feeds are set up
4112
+ $field = 'enclosure';
4113
+ global $wpdb;
4114
+ if ($results = $wpdb->get_results("SELECT COUNT(pm.post_id) AS episodes_total FROM $wpdb->posts AS p INNER JOIN $wpdb->postmeta AS pm ON pm.post_id = p.ID WHERE pm.meta_key = '$field' AND p.post_status <> 'auto-draft' AND p.post_status <> 'trash' AND p.post_status <> 'inherit' AND pm.meta_value NOT LIKE '%content.blubrry.com%' ", ARRAY_A)) {
4115
+ if (count($results)) {
4116
+ foreach ($results as $key => $row) {
4117
+ if ($row['episodes_total'])
4118
+ return $row['episodes_total'];
4119
+ }
4120
+ }
4121
+ }
4122
+ return 0;
4123
+ }
4124
+
4125
  function powerpress_admin_episodes_per_feed($feed_slug, $post_type='post')
4126
  {
4127
  $field = 'enclosure';
4129
  $field = '_'. $feed_slug .':enclosure';
4130
  global $wpdb;
4131
  if ( $results = $wpdb->get_results("SELECT COUNT(pm.post_id) AS episodes_total FROM $wpdb->posts AS p INNER JOIN $wpdb->postmeta AS pm ON pm.post_id = p.ID WHERE pm.meta_key = '$field' AND p.post_status <> 'auto-draft' AND p.post_status <> 'trash' AND p.post_status <> 'inherit' ", ARRAY_A) ) {
4132
+ if( count($results) )
4133
  {
4134
  foreach( $results as $key => $row ) {
4135
  break;
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.9
7
- Stable tag: 8.7.14
8
  Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
9
  License: GPLv2 or later
10
 
@@ -186,6 +186,12 @@ If you are a fan of PowerPress, we would greatly appreciate it if you could take
186
 
187
  == Changelog ==
188
 
 
 
 
 
 
 
189
  = 8.7.14 =
190
  * Released on 03/30/2022
191
  * Fixed publishing bug that was affecting multi-program users
4
  Requires at least: 3.6
5
  Requires PHP: 5.2
6
  Tested up to: 5.9
7
+ Stable tag: 9.0
8
  Donate link: https://create.blubrry.com/resources/podcast-media-hosting/
9
  License: GPLv2 or later
10
 
186
 
187
  == Changelog ==
188
 
189
+ = 9.0 =
190
+ * Released on 03/08/2022
191
+ * Updated feed import flow
192
+ * Updated media migration flow
193
+ * Updated Blubrry signin flow
194
+
195
  = 8.7.14 =
196
  * Released on 03/30/2022
197
  * Fixed publishing bug that was affecting multi-program users
views/onboarding/blubrry_signin.php CHANGED
@@ -37,7 +37,7 @@
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'])) {
@@ -74,12 +74,12 @@
74
  // Get the client ID for this installation
75
  $resultClient = $auth->issueClient($_GET['code'], $tempClient['temp_client_id'], $tempClient['temp_client_secret'], $redirectUri);
76
  if ($resultClient === false || empty($resultClient['client_id']) || empty($resultClient['client_secret'])) {
77
- if (!empty($resultTokens['error_description']))
78
- powerpress_page_message_add_error($resultTokens['error_description']);
79
- else if (!empty($resultTokens['error']))
80
- powerpress_page_message_add_error($resultTokens['error']);
81
  else
82
- powerpress_page_message_add_error(__('Error issuing client:', 'powerpress-network') . ' ' . $auth->GetLastError() . $auth->getDebugInfo());
83
  powerpress_page_message_print();
84
  exit;
85
  }
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'] . '&client_secret=' . $result['temp_client_secret'] . '&state=' . $state . '&redirect_uri=' . urlencode($redirect_uri) . $actType . '";</script>';
41
  exit;
42
  }
43
  } else if (isset($_GET['code']) || isset($_GET['error'])) {
74
  // Get the client ID for this installation
75
  $resultClient = $auth->issueClient($_GET['code'], $tempClient['temp_client_id'], $tempClient['temp_client_secret'], $redirectUri);
76
  if ($resultClient === false || empty($resultClient['client_id']) || empty($resultClient['client_secret'])) {
77
+ if (!empty($resultClient['error_description']))
78
+ powerpress_page_message_add_error($resultClient['error_description']);
79
+ else if (!empty($resultClient['error']))
80
+ powerpress_page_message_add_error($resultClient['error']);
81
  else
82
+ powerpress_page_message_add_error(__('Error issuing client:', 'powerpress-network') . ' ' . $auth->GetLastError() . $auth->getDebugInfo() . print_r($resultClient, true));
83
  powerpress_page_message_print();
84
  exit;
85
  }
views/onboarding/blubrry_signup.php ADDED
@@ -0,0 +1,165 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ require_once(POWERPRESS_ABSPATH .'/powerpressadmin-auth.class.php');
3
+ $auth = new PowerPressAuth();
4
+ $General = powerpress_get_settings('powerpress_general');
5
+ if (!isset($_REQUEST['_wpnonce'])) {
6
+ powerpress_page_message_add_error(__('Invalid link', 'powerpress'));
7
+ powerpress_page_message_print();
8
+ exit;
9
+ }
10
+ if (wp_verify_nonce($_REQUEST['_wpnonce'], 'powerpress-link-blubrry')) {
11
+ // First step--send data to the onboarding_start endpoint then redirect to the returned session_url
12
+ if (isset($_GET['onboarding_type'])) {
13
+ // add vars to the post array
14
+ $post = array();
15
+
16
+ // random identifier
17
+ $session_uuid = round(time() / rand(0, 999), 0);
18
+ $post['add_show_uuid'] = $session_uuid;
19
+
20
+ // website, feed, and admin url
21
+ $wp_admin_url = add_query_arg('_wpnonce', $_REQUEST['_wpnonce'], admin_url());
22
+ $post['wp_admin_url'] = urlencode($wp_admin_url);
23
+ $feed_url = urlencode(get_feed_link('podcast'));
24
+ $post[ 'feed_url'] = $feed_url;
25
+ $website_url = urlencode(get_home_url());
26
+ $post['website_url'] = $website_url;
27
+
28
+ // hosting or stats
29
+ $onboarding_type = $_GET['onboarding_type'];
30
+ $post['onboard_type'] = $onboarding_type;
31
+
32
+ // show data
33
+ $FeedSettings = get_option('powerpress_feed_podcast');
34
+
35
+ if (isset($FeedSettings['title'])) {
36
+ $post['show_title'] = urlencode($FeedSettings['title']);
37
+ }
38
+ if (isset($FeedSettings['apple_cat_1'])) {
39
+ $post['apple_category'] = urlencode($FeedSettings['apple_cat_1']);
40
+ }
41
+ if (isset($FeedSettings['itunes_explicit'])) {
42
+ if($FeedSettings['itunes_explicit']) {
43
+ $post['explicit'] = 'yes';
44
+ } else {
45
+ $post['explicit'] = 'no';
46
+ }
47
+ }
48
+ if (isset($FeedSettings['itunes_image'])) {
49
+ $post['artwork'] = urlencode($FeedSettings['itunes_image']);
50
+ }
51
+
52
+ // make the API call
53
+ $result = $auth->api(false, '/2/show/start', $post, false, 15, true, true);
54
+ if (!is_array($result)) {
55
+ powerpress_page_message_add_error(__('An unknown error occurred linking your account.', 'powerpress'));
56
+ powerpress_page_message_print();
57
+ exit;
58
+ }
59
+
60
+ if (!empty($result['error'])) {
61
+ powerpress_page_message_add_error(__(print_r($result, true), 'powerpress'));
62
+ powerpress_page_message_print();
63
+ exit;
64
+ }
65
+
66
+ if (!isset($result['add_show_token']) || !isset($result['session_url'])) {
67
+ powerpress_page_message_add_error(__('An unknown error occurred linking your account.', 'powerpress'));
68
+ powerpress_page_message_print();
69
+ exit;
70
+ }
71
+ $props = array();
72
+ $props['add_show_uuid'] = $session_uuid;
73
+ $props['add_show_token'] = $result['add_show_token'];
74
+ powerpress_save_settings($props, 'powerpress_onboarding');
75
+ $publisher_origin = '';
76
+ if (strpos($result['session_url'], 'publish.blubrry') === false ) {
77
+ if (defined('POWERPRESS_BLUBRRY_API_URL')) {
78
+ $origin_array = explode('.', POWERPRESS_BLUBRRY_API_URL);
79
+ $origin_array[0] = str_replace('api', 'publish', $origin_array[0]);
80
+ $publisher_origin = implode('.', $origin_array);
81
+ $publisher_origin = rtrim($publisher_origin, '/');
82
+ } else {
83
+ $publisher_origin = 'https://publish.blubrry.com';
84
+ }
85
+ }
86
+ echo '<script>window.location.href = "' . $publisher_origin . $result['session_url'] . '&add_show_uuid=' . $session_uuid . '&add_show_token=' . $result['add_show_token'] . '";</script>';
87
+
88
+
89
+ } elseif (isset($_GET['return_code'])) {
90
+ $code = $_GET['return_code'];
91
+ $onboarding_creds = get_option('powerpress_onboarding');
92
+ if (isset($onboarding_creds['add_show_uuid']) && isset($onboarding_creds['add_show_token'])) {
93
+ // check that this is the correct session
94
+ if ($_GET['token'] != $onboarding_creds['add_show_token']) {
95
+ echo "Incorrect session for this site";
96
+ exit;
97
+ }
98
+
99
+ // add vars to the post array
100
+ $post = $onboarding_creds;
101
+ $post['return_code'] = $code;
102
+ $post['need_client'] = true;
103
+
104
+ // make the api call
105
+ $result = $auth->api(false, '/2/show/link', $post, false, 15, true, true);
106
+
107
+ if (!is_array($result)) {
108
+ powerpress_page_message_add_error(__('An unknown error occurred linking your Blubrry account.', 'powerpress'));
109
+ powerpress_page_message_print();
110
+ exit;
111
+ }
112
+
113
+ if (!empty($result['error'])) {
114
+ powerpress_page_message_add_error(__($result['error'], 'powerpress'));
115
+ powerpress_page_message_print();
116
+ exit;
117
+ }
118
+
119
+ // save the credentials
120
+ $props = array();
121
+ $props['code'] = $code;
122
+ $props['client_id'] = $result['client_id'];
123
+ $props['client_secret'] = $result['client_secret'];
124
+ $props['access_token'] = $result['access_token'];
125
+ $props['refresh_token'] = $result['refresh_token'];
126
+ // access tokens last an hour, but we'll use a refresh token if it expires in the next ten seconds
127
+ $props['access_expires'] = (time() + 3590);
128
+ powerpress_save_settings($props, 'powerpress_creds');
129
+
130
+ // set the default program
131
+ $General['blubrry_program_keyword'] = $result['show_keyword'];
132
+ $General['blubrry_hosting'] = $result['blubrry_hosting'];
133
+ powerpress_save_settings($General, 'powerpress_general');
134
+
135
+ // set the stats redirect
136
+ powerpress_add_blubrry_redirect($result['show_keyword']);
137
+
138
+ // check whether the account is verified & save result
139
+ // logic in powerpressadmin.php will display a verify message if necessary
140
+ $result = $auth->checkAccountVerified();
141
+ if (!empty($result['account_enabled']) && !empty($result['account_confirmed'])) {
142
+ $props['account_verified'] = true;
143
+ } else {
144
+ $props['account_verified'] = false;
145
+ }
146
+ powerpress_save_settings($props, 'powerpress_creds');
147
+
148
+ // if they have episodes that are not hosted by Blubrry, continue to the migrate page
149
+ if (!empty($General['blubrry_hosting']) && powerpress_admin_episodes_not_hosted() > 0) {
150
+ echo '<script>window.location.href = "' . admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php") . '"</script>';
151
+ } else {
152
+ // otherwise, continue to the last page of onboarding
153
+ echo '<script>window.location.href = "' . admin_url("admin.php?page={$_GET['page']}&step=createEpisode") . '";</script>';
154
+ }
155
+ }
156
+ } else {
157
+ powerpress_page_message_add_error(__('An unknown error occurred linking your Blubrry account.', 'powerpress'));
158
+ exit;
159
+ }
160
+
161
+ } else {
162
+ powerpress_page_message_add_error(__('Invalid link', 'powerpress'));
163
+ powerpress_page_message_print();
164
+ exit;
165
+ }
views/onboarding/createepisode.php CHANGED
@@ -6,6 +6,7 @@
6
  } else {
7
  $message_style = 'display: none;';
8
  }
 
9
  //Needed to add this style rule because the footer doesn't sit at the bottom on this page for some reason ?>
10
  <style>
11
  #wpfooter {
6
  } else {
7
  $message_style = 'display: none;';
8
  }
9
+ add_thickbox();
10
  //Needed to add this style rule because the footer doesn't sit at the bottom on this page for some reason ?>
11
  <style>
12
  #wpfooter {
views/onboarding/nohost.php CHANGED
@@ -18,57 +18,49 @@ $pp_nonce = powerpress_login_create_nonce();
18
  <h2 class="pp_align-center"><?php echo __('Would you like to host with Blubrry?', 'powerpress'); ?></h2>
19
  <h5 class="pp_align-center"><?php echo __('Don’t know what a podcast host is?', 'powerpress'); ?> <a style="color:blue" href="https://blubrry.com/manual/internet-media-hosting/"><?php echo __('Learn more', 'powerpress'); ?></a></h5>
20
  <hr class="pp_align-center" />
21
- <p class="pp_align-center"><?php echo __('A podcast media host is essential for your show. If you host your files and RSS feed on WordPress, it can be very fragile and break.', 'powerpress'); ?> </p>
22
-
23
- <p class="pp_align-center"><?php echo __('Directories may reject your show if they find out you are not using a reliable hosting service.', 'powerpress'); ?></p>
24
 
25
  <section id="one" class="pp_wrapper" style="margin-top:25px;">
26
  <div class="pp_inner">
27
 
28
  <div class="pp_flex-grid">
29
-
30
- <div class="pp_col">
31
- <div class="pp_box">
32
- <div class="pp_image pp_fit center">
33
- <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/nohost.png" alt="" class="" />
34
  </div>
35
  <div class="pp_content">
36
- <!--<div class="pp_align-center">-->
37
- <div class="btn-caption-container">
38
- <p class="pp_align-center"><?php echo __('You may self-host, but have limited options and security for your show.', 'powerpress'); ?></p>
39
- </div>
40
- <div class="pp_button-container">
41
- <a href="<?php echo admin_url("admin.php?page={$_GET['page']}&step=$next_page"); ?>">
42
- <button type="button" class="pp_button_alt"><span><?php echo __('No, thanks', 'powerpress'); ?></span></button>
43
- </a>
44
- </div>
45
- <!--</div>-->
 
 
 
 
46
  </div>
47
  </div>
48
  </div>
49
-
50
  <div class="pp_col">
51
  <div class="pp_box">
52
- <div class="pp_image center">
53
- <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/blubrry.png" alt="" />
54
  </div>
55
  <div class="pp_content">
56
  <!--<div class="pp_align-center">-->
57
  <div class="btn-caption-container">
58
- <p class="pp_align-center"><?php echo __('Secure media storage, unlimited bandwidth, and Standard Statistics 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>
71
- <?php } ?>
72
  <!--</div>-->
73
  </div>
74
  </div>
18
  <h2 class="pp_align-center"><?php echo __('Would you like to host with Blubrry?', 'powerpress'); ?></h2>
19
  <h5 class="pp_align-center"><?php echo __('Don’t know what a podcast host is?', 'powerpress'); ?> <a style="color:blue" href="https://blubrry.com/manual/internet-media-hosting/"><?php echo __('Learn more', 'powerpress'); ?></a></h5>
20
  <hr class="pp_align-center" />
 
 
 
21
 
22
  <section id="one" class="pp_wrapper" style="margin-top:25px;">
23
  <div class="pp_inner">
24
 
25
  <div class="pp_flex-grid">
26
+ <div class="pp_col" style="margin-top: -1px;">
27
+ <div class="pp_box pp_service-container">
28
+ <div class="pp_image center">
29
+ <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/BlubrryBannerLogo.png" alt="" />
 
30
  </div>
31
  <div class="pp_content">
32
+ <div class="btn-caption-container">
33
+ <p class="pp_align-center"><?php echo __('Integrated within PowerPress', 'powerpress'); ?></p>
34
+ <p class="pp_align-center"><?php echo __('Uploaded audio directly in your episode post', 'powerpress'); ?></p>
35
+ <p class="pp_align-center"><?php echo __('Publish your show directly on this website', 'powerpress'); ?></p>
36
+ <p class="pp_align-center"><?php echo __('World-class tech support, phone or email', 'powerpress'); ?></p>
37
+ <p class="pp_align-center"><?php echo __('Includes Standard Statistics', 'powerpress'); ?></p>
38
+ <p class="pp_align-center"><?php echo __('Mobile-ready audio and video player', 'powerpress'); ?></p>
39
+ <p class="pp_align-center"><?php echo __('Free file migration', 'powerpress'); ?></p>
40
+ </div>
41
+ <div class="pp_button-container">
42
+ <a href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&step=blubrrySignup&onboarding_type=hosting$querystring_import")); ?>">
43
+ <button type="button" class="pp_button"><span><?php echo __('Free Hosting Trial', 'powerpress'); ?></span></button>
44
+ </a>
45
+ </div>
46
  </div>
47
  </div>
48
  </div>
 
49
  <div class="pp_col">
50
  <div class="pp_box">
51
+ <div class="pp_image pp_fit center">
52
+ <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/self_host.png" alt="" class="" />
53
  </div>
54
  <div class="pp_content">
55
  <!--<div class="pp_align-center">-->
56
  <div class="btn-caption-container">
57
+ <p class="pp_align-center"><?php echo __('I don\'t need audio/video file hosting', 'powerpress'); ?></p>
58
  </div>
59
  <div class="pp_button-container">
60
+ <a href="<?php echo admin_url("admin.php?page={$_GET['page']}&step=$next_page"); ?>">
61
+ <button type="button" class="pp_button_alt skip_blubrry"><span><?php echo __('SKIP', 'powerpress'); ?></span></button>
 
 
 
 
 
 
62
  </a>
63
  </div>
 
64
  <!--</div>-->
65
  </div>
66
  </div>
views/onboarding/show_basics.php CHANGED
@@ -2,6 +2,7 @@
2
  $AppleCategories = powerpress_apple_categories(true);
3
  $FeedSettings = powerpress_get_settings('powerpress_feed_podcast');
4
  $GeneralSettings = powerpress_get_settings('powerpress_general');
 
5
  $title = $FeedSettings['title'] ? $FeedSettings['title'] : get_bloginfo_rss('name');
6
  if (isset($_FILES['itunes_image_file'])) {
7
  $feed_info = explode(" ", $_POST['basic_details']);
@@ -22,6 +23,11 @@ if (isset($_FILES['itunes_image_file'])) {
22
  $FeedSettings['itunes_explicit'] = intval($feed_info[$i + 1]);
23
  }
24
  break;
 
 
 
 
 
25
  default:
26
  break;
27
  }
@@ -58,6 +64,7 @@ if (isset($_POST['pp_start']['title'])) {
58
  if (isset($previewImageURL)) {
59
  unset($SaveSettings['itunes_image']);
60
  $SaveSettings['itunes_image'] = $previewImageURL;
 
61
  }
62
  //var_dump($SaveSettings);
63
  powerpress_save_settings($SaveSettings, 'powerpress_feed_podcast');
@@ -122,6 +129,21 @@ if (isset($_POST['pp_start']['title'])) {
122
  <label><input type="radio" name="pp_start[itunes_explicit]" value="2" <?php echo $FeedSettings['itunes_explicit'] == 2 ? 'checked': '' ?> /> <?php echo __('No', 'powerpress'); ?></label>
123
  </div>
124
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  <button type="submit" name="basic-feed-submit" class="pp_button" style="visibility: hidden;"><span><?php echo __('Continue', 'powerpress'); ?></span></button>
126
  </form>
127
  </div>
@@ -213,7 +235,8 @@ if (isset($_POST['pp_start']['title'])) {
213
  let title = jQuery("#input-title").val().replace(" ", "_");
214
  let category = jQuery("#apple_cat").val();
215
  let explicit = jQuery("input[type=radio]:checked").val();
216
- jQuery("#basic-details").val("TITLE: " + title + " CATEGORY: " + category + " EXPLICIT: " + explicit);
 
217
  jQuery("#input-title").on("input", function() {
218
  refreshDetails();
219
  });
@@ -246,7 +269,8 @@ if (isset($_POST['pp_start']['title'])) {
246
  let title = jQuery("#input-title").val().replace(" ", "_");
247
  let category = jQuery("#apple_cat").val();
248
  let explicit = jQuery("input[type=radio]:checked").val();
249
- jQuery("#basic-details").val("TITLE: " + title + " CATEGORY: " + category + " EXPLICIT: " + explicit);
 
250
  }
251
 
252
  document.getElementById("FileAttachment").onchange = function () {
2
  $AppleCategories = powerpress_apple_categories(true);
3
  $FeedSettings = powerpress_get_settings('powerpress_feed_podcast');
4
  $GeneralSettings = powerpress_get_settings('powerpress_general');
5
+ $blogEmail = powerpress_get_settings('admin_email');
6
  $title = $FeedSettings['title'] ? $FeedSettings['title'] : get_bloginfo_rss('name');
7
  if (isset($_FILES['itunes_image_file'])) {
8
  $feed_info = explode(" ", $_POST['basic_details']);
23
  $FeedSettings['itunes_explicit'] = intval($feed_info[$i + 1]);
24
  }
25
  break;
26
+ case 'EMAIL':
27
+ if(strlen($feed_info[$i + 1]) > 3){
28
+ $FeedSettings['itunes_email'] = $feed_info[$i + 1];
29
+ }
30
+ break;
31
  default:
32
  break;
33
  }
64
  if (isset($previewImageURL)) {
65
  unset($SaveSettings['itunes_image']);
66
  $SaveSettings['itunes_image'] = $previewImageURL;
67
+ $SaveSettings['rss2_image'] = $previewImageURL;
68
  }
69
  //var_dump($SaveSettings);
70
  powerpress_save_settings($SaveSettings, 'powerpress_feed_podcast');
129
  <label><input type="radio" name="pp_start[itunes_explicit]" value="2" <?php echo $FeedSettings['itunes_explicit'] == 2 ? 'checked': '' ?> /> <?php echo __('No', 'powerpress'); ?></label>
130
  </div>
131
  </div>
132
+ <div class="pp_leftline">
133
+ <h4><?php echo __('Podcast Email', 'powerpress'); ?></h4>
134
+ <div class="pp_form-group">
135
+ <div class="pp_input-field-thirds">
136
+ <input id="input-email" type="text" name="pp_start[email]" class="pp_outlined" value="<?php echo htmlspecialchars($blogEmail); ?>" placeholder="<?php echo __('Enter the email for your podcast', 'powerpress'); ?>">
137
+ <label id="email-label" style="display:none" oninput=""><?php echo __('Enter the show\'s email', 'powerpress'); ?></label>
138
+ <script>
139
+ jQuery("#input-email").on("input", function(el) {
140
+ jQuery("#email-label").css("display", "inline-block");
141
+ jQuery("#input-email").attr("placeholder", "");
142
+ });
143
+ </script>
144
+ </div>
145
+ </div>
146
+ </div>
147
  <button type="submit" name="basic-feed-submit" class="pp_button" style="visibility: hidden;"><span><?php echo __('Continue', 'powerpress'); ?></span></button>
148
  </form>
149
  </div>
235
  let title = jQuery("#input-title").val().replace(" ", "_");
236
  let category = jQuery("#apple_cat").val();
237
  let explicit = jQuery("input[type=radio]:checked").val();
238
+ let email = jQuery("#input-email").val();
239
+ jQuery("#basic-details").val("TITLE: " + title + " CATEGORY: " + category + " EXPLICIT: " + explicit + " EMAIL: " + email);
240
  jQuery("#input-title").on("input", function() {
241
  refreshDetails();
242
  });
269
  let title = jQuery("#input-title").val().replace(" ", "_");
270
  let category = jQuery("#apple_cat").val();
271
  let explicit = jQuery("input[type=radio]:checked").val();
272
+ let email = jQuery("#input-email").val();
273
+ jQuery("#basic-details").val("TITLE: " + title + " CATEGORY: " + category + " EXPLICIT: " + explicit + " EMAIL: " + email);
274
  }
275
 
276
  document.getElementById("FileAttachment").onchange = function () {
views/onboarding/want_stats.php CHANGED
@@ -5,53 +5,59 @@ $pp_nonce = powerpress_login_create_nonce();
5
  <div class="pp_container">
6
  <h2 class="pp_align-center"><?php echo __('Gain access to free tools', 'powerpress'); ?></h2>
7
  <hr class="pp_align-center" />
8
- <p class="pp_align-center"><?php echo __('Signing up for a free Blubrry account will allow you to use a number of helpful features, free of charge.', 'powerpress'); ?> </p>
9
-
10
 
11
  <section id="one" class="pp_wrapper" style="margin-top:25px;">
12
  <div class="pp_inner">
13
 
14
  <div class="pp_flex-grid">
15
-
16
- <div class="pp_col">
17
- <div class="pp_box">
18
- <div class="pp_image pp_fit center">
19
- <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/self_host.png" alt="" class="" />
20
  </div>
21
  <div class="pp_content">
22
  <!--<div class="pp_align-center">-->
23
  <div class="btn-caption-container">
24
- <p class="pp_align-center"><?php echo __('I\'ll continue uploading my episodes to my host and website.', 'powerpress'); ?></p>
 
 
 
 
 
 
 
 
25
  </div>
26
  <div class="pp_button-container">
27
- <a href="<?php echo admin_url("admin.php?page={$_GET['page']}&step=createEpisode"); ?>">
28
- <button type="button" class="pp_button_alt"><span><?php echo __('No, thanks', 'powerpress'); ?></span></button>
29
  </a>
30
  </div>
31
  <!--</div>-->
32
  </div>
33
  </div>
34
  </div>
35
-
36
  <div class="pp_col">
37
  <div class="pp_box">
38
- <div class="pp_image center">
39
- <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/free_tools.png" alt="" />
40
  </div>
41
  <div class="pp_content">
42
  <!--<div class="pp_align-center">-->
43
  <div class="btn-caption-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>
51
  <!--</div>-->
52
  </div>
53
  </div>
54
  </div>
 
 
55
  </div>
56
  </div>
57
  </section>
5
  <div class="pp_container">
6
  <h2 class="pp_align-center"><?php echo __('Gain access to free tools', 'powerpress'); ?></h2>
7
  <hr class="pp_align-center" />
 
 
8
 
9
  <section id="one" class="pp_wrapper" style="margin-top:25px;">
10
  <div class="pp_inner">
11
 
12
  <div class="pp_flex-grid">
13
+ <div class="pp_col" style="margin-top: -1px;">
14
+ <div class="pp_box pp_service-container">
15
+ <div class="pp_image center">
16
+ <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/BlubrryBannerLogo.png" alt="" />
 
17
  </div>
18
  <div class="pp_content">
19
  <!--<div class="pp_align-center">-->
20
  <div class="btn-caption-container">
21
+ <p class="pp_align-center"><?php echo __('60,000 podcasters trust Blubrry', 'powerpress'); ?></p>
22
+ <p class="pp_align-center"><?php echo __('Measure your audience', 'powerpress'); ?></p>
23
+ <p class="pp_align-center"><?php echo __('Geographic data', 'powerpress'); ?></p>
24
+ <p class="pp_align-center"><?php echo __('Apps and device comparison', 'powerpress'); ?></p>
25
+ <p class="pp_align-center"><?php echo __('Show and episode numbers', 'powerpress'); ?></p>
26
+ <p class="pp_align-center"><?php echo __('Date range analysis', 'powerpress'); ?></p>
27
+ <p>
28
+ <img class="iab_img" src="<?php echo powerpress_get_root_url(); ?>images/onboarding/iab_badge.png" alt="IAB Certified" />
29
+ </p>
30
  </div>
31
  <div class="pp_button-container">
32
+ <a href="<?php echo add_query_arg( '_wpnonce', $pp_nonce, admin_url("admin.php?page={$_GET['page']}&step=blubrrySignup&onboarding_type=stats")); ?>">
33
+ <button type="button" class="pp_button" style="margin-top: 1em;"><span><?php echo __('Free Stats', 'powerpress');?> <br /> <?php echo __('Sign up today', 'powerpress'); ?></span></button>
34
  </a>
35
  </div>
36
  <!--</div>-->
37
  </div>
38
  </div>
39
  </div>
 
40
  <div class="pp_col">
41
  <div class="pp_box">
42
+ <div class="pp_image pp_fit center">
43
+ <img src="<?php echo powerpress_get_root_url(); ?>images/onboarding/free_tools.png" alt="" class="" />
44
  </div>
45
  <div class="pp_content">
46
  <!--<div class="pp_align-center">-->
47
  <div class="btn-caption-container">
48
+ <p class="pp_align-center"><?php echo __('I don\'t need free, accurate statistics', 'powerpress'); ?></p>
49
  </div>
50
  <div class="pp_button-container">
51
+ <a href="<?php echo admin_url("admin.php?page={$_GET['page']}&step=createEpisode"); ?>">
52
+ <button type="button" class="pp_button_alt skip_blubrry"><span><?php echo __('SKIP', 'powerpress'); ?></span></button>
53
  </a>
54
  </div>
55
  <!--</div>-->
56
  </div>
57
  </div>
58
  </div>
59
+
60
+
61
  </div>
62
  </div>
63
  </section>