function powerpress_admin_jquery_init() { $Settings = false; // Important, never remove this $Settings = get_option('powerpress_general'); $Error = false; $Programs = false; $Step = 1; $action = isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : false); if (!$action) { return; } $DeleteFile = false; switch ($action) { case 'powerpress-jquery-stats': // Make sure users have permission to access this if (!empty($Settings['use_caps']) && !current_user_can('view_podcast_stats')) { powerpress_admin_jquery_header(__('Blubrry Media Statistics', 'powerpress')); ?> <h2><?php echo __('Blubrry Media Statistics', 'powerpress'); ?> </h2> <p><?php echo __('You do not have sufficient permission to manage options.', 'powerpress'); ?> </p> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> <?php powerpress_admin_jquery_footer(); exit; } else { if (!current_user_can('edit_posts')) { powerpress_admin_jquery_header(__('Blubrry Media Statistics', 'powerpress')); powerpress_page_message_add_notice(__('You do not have sufficient permission to view media statistics.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } } $StatsCached = get_option('powerpress_stats'); powerpress_admin_jquery_header(__('Blubrry Media Statistics', 'powerpress')); ?> <h2><?php echo __('Blubrry Media Statistics', 'powerpress'); ?> </h2> <?php echo $StatsCached['content']; powerpress_admin_jquery_footer(); exit; break; case 'powerpress-jquery-media-disable': if (!current_user_can('edit_posts')) { powerpress_admin_jquery_header('Uploader'); powerpress_page_message_add_notice(__('You do not have sufficient permission to disable this option.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } check_admin_referer('powerpress-jquery-media-disable'); $DisableSetting = array(); $DisableSetting['no_media_url_folder'] = 1; powerpress_save_settings($DisableSetting); powerpress_admin_jquery_header(__('Select Media', 'powerpress')); ?> <h2><?php echo __('Select Media', 'powerpress'); ?> </h2> <p><?php echo __('Blubrry Media Hosting icon will no longer be displayed when editing posts and pages.', 'powerpress'); ?> </p> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> <?php powerpress_admin_jquery_footer(); exit; // No break here, let this fall thru.. // No break here, let this fall thru.. case 'powerpress-jquery-media-delete': if (!current_user_can('edit_posts')) { powerpress_admin_jquery_header('Uploader'); powerpress_page_message_add_notice(__('You do not have sufficient permission to upload media.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } check_admin_referer('powerpress-jquery-media-delete'); $DeleteFile = $_GET['delete']; // No break here, let this fall thru.. // No break here, let this fall thru.. case 'powerpress-jquery-media': if (!current_user_can('edit_posts')) { powerpress_admin_jquery_header(__('Select Media', 'powerpress')); ?> <h2><?php echo __('Select Media', 'powerpress'); ?> </h2> <p><?php echo __('You do not have sufficient permission to manage options.', 'powerpress'); ?> </p> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> <?php powerpress_admin_jquery_footer(); exit; } if (empty($Settings['blubrry_auth']) || empty($Settings['blubrry_hosting']) || $Settings['blubrry_hosting'] === 'false') { powerpress_admin_jquery_header(__('Select Media', 'powerpress')); ?> <h2><?php echo __('Select Media', 'powerpress'); ?> </h2> <p><?php echo __('Wait a sec! This feature is only available to Blubrry Media Podcast Hosting customers.', 'powerpress'); if (!isset($Settings['blubrry_auth'])) { echo ' ' . sprintf(__('Join our community to get free podcast statistics and access to other valuable %s.', 'powerpress'), '<a href="http://create.blubrry.com/resources/" target="_blank">' . __('services', 'powerpress') . '</a>'); } ?> </p> <p><?php echo sprintf(__('Our %s integrated with PowerPress making podcast publishing simple. Check out the %s on our exciting three-step publishing system!', 'powerpress'), '<a href="http://create.blubrry.com/resources/podcast-media-hosting/" target="_blank">' . __('Podcast Media Hosting', 'powerpress') . '</a>', '<a href="http://create.blubrry.com/resources/podcast-media-hosting/blubrry-on-site-podcast-hosting-demo/" target="_blank">' . __('video', 'powerpress') . '</a>'); ?> </p> <p><a href="<?php echo wp_nonce_url("admin.php?action=powerpress-jquery-media-disable", 'powerpress-jquery-media-disable'); ?> &KeepThis=true&TB_iframe=true&modal=true" onclick="return confirm('<?php echo __('Remove the Blubrry Media Hosting icon from the Media URL field?', 'powerpress'); ?> ');"><?php echo __('Do not show this icon next to the Media URL field', 'powerpress'); ?> </a></p> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> <?php powerpress_admin_jquery_footer(); exit; } $Msg = false; if ($DeleteFile) { $json_data = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/media/%s/%s?format=json', rtrim($api_url, '/'), $Settings['blubrry_program_keyword'], $DeleteFile); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '&' . POWERPRESS_BLUBRRY_API_QSA : ''; $json_data = powerpress_remote_fopen($req_url, $Settings['blubrry_auth'], array(), 10, 'DELETE'); if ($json_data != false) { break; } } $results = powerpress_json_decode($json_data); if (isset($results['text'])) { $Msg = $results['text']; } else { if (isset($results['error'])) { $Msg = $results['error']; } else { $Msg = __('An unknown error occurred deleting media file.', 'powerpress'); } } } $json_data = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/media/%s/index.json?quota=true&published=true', rtrim($api_url, '/'), $Settings['blubrry_program_keyword']); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '&' . POWERPRESS_BLUBRRY_API_QSA : ''; $json_data = powerpress_remote_fopen($req_url, $Settings['blubrry_auth']); if ($json_data != false) { break; } } $results = powerpress_json_decode($json_data); $FeedSlug = $_GET['podcast-feed']; powerpress_admin_jquery_header(__('Select Media', 'powerpress'), true); ?> <script language="JavaScript" type="text/javascript"><!-- function SelectMedia(File) { self.parent.document.getElementById('powerpress_url_<?php echo $FeedSlug; ?> ').value=File; self.parent.document.getElementById('powerpress_hosting_<?php echo $FeedSlug; ?> ').value='1'; self.parent.document.getElementById('powerpress_url_<?php echo $FeedSlug; ?> ').readOnly=true; self.parent.document.getElementById('powerpress_hosting_note_<?php echo $FeedSlug; ?> ').style.display='block'; if( self.parent.powerpress_update_for_video ) self.parent.powerpress_update_for_video(File, '<?php echo $FeedSlug; ?> '); self.parent.tb_remove(); } function SelectURL(url) { self.parent.document.getElementById('powerpress_url_<?php echo $FeedSlug; ?> ').value=url; self.parent.document.getElementById('powerpress_hosting_<?php echo $FeedSlug; ?> ').value='0'; self.parent.document.getElementById('powerpress_url_<?php echo $FeedSlug; ?> ').readOnly=false; self.parent.document.getElementById('powerpress_hosting_note_<?php echo $FeedSlug; ?> ').style.display='none'; if( self.parent.powerpress_update_for_video ) self.parent.powerpress_update_for_video(url, '<?php echo $FeedSlug; ?> '); self.parent.tb_remove(); } function DeleteMedia(File) { return confirm('<?php echo __('Delete', 'powerpress'); ?> : '+File+'\n\n<?php echo __('Are you sure you want to delete this media file?', 'powerpress'); ?> '); } //--> </script> <div id="media-header"> <h2><?php echo __('Select Media', 'powerpress'); ?> </h2> <?php if (!empty($results['quota']['expires'])) { $message = ''; if (!empty($results['quota']['expires']['expired'])) { $message = '<p>' . sprintf(__('Media hosting service expired on %s.', 'powerpress'), $results['quota']['expires']['readable_date']) . '</p>'; } else { $message = '<p>' . sprintf(__('Media hosting service will expire on %s.', 'powerpress'), $results['quota']['expires']['readable_date']) . '</p>'; } $message .= '<p style="text-align: center;"><strong><a href="' . $results['quota']['expires']['renew_link'] . '" target="_blank" style="text-decoration: underline;">' . __('Renew Media Hosting Service', 'powerpress') . '</a></strong></p>'; powerpress_page_message_add_notice($message); powerpress_page_message_print(); } else { if (empty($results)) { // Handle the error here. $message = '<h3>' . __('Error', 'powerpress') . '</h3>'; global $g_powerpress_remote_error, $g_powerpress_remote_errorno; if (!empty($g_powerpress_remote_errorno) && $g_powerpress_remote_errorno == 401) { $message .= '<p>' . __('Incorrect sign-in email address or password.', 'powerpress') . '</p><p>' . __('Verify your account entered under Services and Statistics settings then try again.', 'powerpress') . '</p>'; } else { if (!empty($g_powerpress_remote_error)) { $message .= '<p>' . $g_powerpress_remote_error . '</p>'; } else { $message .= '<p>' . __('Unable to connect to service.', 'powerpress') . '</p>'; } } // Print an erro here powerpress_page_message_add_notice($message); powerpress_page_message_print(); } } if ($Msg) { echo '<p>' . $Msg . '</p>'; } ?> <div class="media-upload-link"><a href="<?php echo admin_url() . wp_nonce_url("admin.php?action=powerpress-jquery-upload", 'powerpress-jquery-upload'); ?> &podcast-feed=<?php echo $FeedSlug; ?> &keepThis=true&TB_iframe=true&height=350&width=530&modal=true" class="thickbox"><?php echo __('Upload Media File', 'powerpress'); ?> </a></div> <p><?php echo __('Select from media files uploaded to blubrry.com', 'powerpress'); ?> :</p> </div> <div id="media-items-container"> <div id="media-items"> <?php $QuotaData = false; if (isset($results['error'])) { echo $results['error']; } else { if (is_array($results)) { $PublishedList = false; while (list($index, $data) = each($results)) { if ($index === 'quota') { $QuotaData = $data; continue; } if ($PublishedList == false && !empty($data['published'])) { ?> <div id="media-published-title"> <?php echo __('Media Published within the past 30 days', 'powerpress'); ?> : </div> <?php $PublishedList = true; } ?> <div class="media-item <?php echo empty($data['published']) ? 'media-unpublished' : 'media-published'; ?> "> <strong class="media-name"><?php echo htmlspecialchars($data['name']); ?> </strong> <cite><?php echo powerpress_byte_size($data['length']); ?> </cite> <?php if (!empty($data['published'])) { ?> <div class="media-published-date">· <?php echo __('Published on', 'powerpress'); ?> <?php echo date(get_option('date_format'), $data['last_modified']); ?> </div> <?php } ?> <div class="media-item-links"> <?php if (!empty($data['published']) && !empty($data['url'])) { ?> <a href="#" onclick="SelectURL('<?php echo $data['url']; ?> '); return false;"><?php echo __('Select', 'powerpress'); ?> </a> <?php } else { ?> <?php if (function_exists('curl_init')) { ?> <a href="<?php echo admin_url() . wp_nonce_url("admin.php?action=powerpress-jquery-media-delete", 'powerpress-jquery-media-delete'); ?> &podcast-feed=<?php echo $FeedSlug; ?> &delete=<?php echo urlencode($data['name']); ?> " onclick="return DeleteMedia('<?php echo $data['name']; ?> ');"><?php echo __('Delete', 'powerpress'); ?> </a> | <?php } ?> <a href="#" onclick="SelectMedia('<?php echo $data['name']; ?> '); return false;"><?php echo __('Select', 'powerpress'); ?> </a> <?php } ?> </div> </div> <?php } } } ?> </div> </div> <div id="media-footer"> <div class="media-upload-link"><a href="<?php echo admin_url() . wp_nonce_url("admin.php?action=powerpress-jquery-upload", 'powerpress-jquery-upload'); ?> &podcast-feed=<?php echo $FeedSlug; ?> &keepThis=true&TB_iframe=true&height=350&width=530&modal=true" class="thickbox"><?php echo __('Upload Media File', 'powerpress'); ?> </a></div> <?php if ($QuotaData) { $NextDate = strtotime($QuotaData['published']['next_date']); ?> <?php if ($QuotaData['unpublished']['available'] != $QuotaData['unpublished']['total']) { //echo '<p>'; //echo sprintf( __('You have uploaded %s (%s available) of your %s upload limit.', 'powerpress'), // '<em>'. powerpress_byte_size($QuotaData['unpublished']['used']) .'</em>', // '<em>'. powerpress_byte_size($QuotaData['unpublished']['available']) .'</em>', // '<em>'. powerpress_byte_size($QuotaData['unpublished']['total']) .'</em>' ); //echo '</p>'; } if ($QuotaData['published']['status'] == 'OK') { ?> <p><?php if ($QuotaData['published']['available'] > 0) { echo sprintf(__('Publishing space available: %s of (%s %%) of %s/month quota.', 'powerpress'), '<em>' . powerpress_byte_size($QuotaData['published']['available']) . '</em>', '<em>' . round($QuotaData['published']['available'] / $QuotaData['published']['total'] * 100) . '</em>', '<em>' . str_replace('.0', '', powerpress_byte_size($QuotaData['published']['total'])) . '</em>'); //echo sprintf( __('You have %s available (%s published in the last 30 days) of your %s publish limit.', 'powerpress'), // '<em>'. powerpress_byte_size($QuotaData['published']['available']) .'</em>', // '<em>'. powerpress_byte_size($QuotaData['published']['total']-$QuotaData['published']['available']) .'</em>', // '<em>'. powerpress_byte_size($QuotaData['published']['total']) .'</em>' ); } else { if ($QuotaData['published']['available'] == 0) { } else { echo sprintf(__('You have %s publish space available.', 'powerpress'), '<em>' . powerpress_byte_size($QuotaData['published']['total']) . '</em>'); } } ?> </p> <p> <?php echo sprintf(__('No-Fault Hosting: You may upload a media file up to %s in size and be within the No-Fault maximum (25%% more than your %s quota).', 'powerpress'), powerpress_byte_size($QuotaData['published']['no_fault_maximum']), str_replace('.0', '', powerpress_byte_size($QuotaData['published']['total']))); echo ' '; echo '<a href="http://create.blubrry.com/resources/podcast-media-hosting/no-fault/" target="_blank">' . __('Learn More', 'powerpress') . '</a>'; ?> </p> <p><?php if ($QuotaData['published']['available'] != $QuotaData['published']['total']) { echo sprintf(__('Your quota will reset on %s.', 'powerpress'), date('m/d/Y', $NextDate)); } ?> </p> <?php } else { if ($QuotaData['published']['status'] == 'UNLIMITED') { echo '<p>'; echo __('Publishing Space Available: Unlimited (Professional Hosting)', 'powerpress'); echo '<p>'; } else { echo '<p>'; echo __('Publishing Space Available: Account has expired', 'powerpress'); echo '<p>'; } } ?> <?php } ?> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> </div> <?php powerpress_admin_jquery_footer(true); exit; break; case 'powerpress-jquery-account-save': if (!current_user_can(POWERPRESS_CAPABILITY_MANAGE_OPTIONS)) { powerpress_admin_jquery_header('Blubrry Services Integration', 'powerpress'); powerpress_page_message_add_notice(__('You do not have sufficient permission to manage options.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } check_admin_referer('powerpress-jquery-account'); $Password = $_POST['Password']; $SaveSettings = $_POST['Settings']; $Password = powerpress_stripslashes($Password); $SaveSettings = powerpress_stripslashes($SaveSettings); $Save = false; $Close = false; if (!empty($_POST['Remove'])) { $SaveSettings['blubrry_username'] = ''; $SaveSettings['blubrry_auth'] = ''; $SaveSettings['blubrry_program_keyword'] = ''; $SaveSettings['blubrry_hosting'] = false; $Close = true; $Save = true; } else { $Programs = array(); $ProgramHosting = array(); // Anytime we change the password we need to test it... $auth = base64_encode($SaveSettings['blubrry_username'] . ':' . $Password); $json_data = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/service/index.json', rtrim($api_url, '/')); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '?' . POWERPRESS_BLUBRRY_API_QSA : ''; $json_data = powerpress_remote_fopen($req_url, $auth); if ($json_data != false) { break; } } if ($json_data) { $results = powerpress_json_decode($json_data); if (isset($results['error'])) { $Error = $results['error']; if (strstr($Error, __('currently not available', 'powerpress'))) { $Error = __('Unable to find podcasts for this account.', 'powerpress'); $Error .= '<br /><span style="font-weight: normal; font-size: 12px;">'; $Error .= 'Verify that the email address you enter here matches the email address you used when you listed your podcast on blubrry.com.</span>'; } else { if (preg_match('/No programs found.*media hosting/i', $results['error'])) { $Error .= '<br/><span style="font-weight: normal; font-size: 12px;">'; $Error .= 'Service may take a few minutes to activate.</span>'; } } } else { if (!is_array($results)) { $Error = $json_data; } else { // Get all the programs for this user... while (list($null, $row) = each($results)) { $Programs[$row['program_keyword']] = $row['program_title']; if ($row['hosting'] === true || $row['hosting'] == 'true') { $ProgramHosting[$row['program_keyword']] = true; } else { $ProgramHosting[$row['program_keyword']] = false; } } if (count($Programs) > 0) { $SaveSettings['blubrry_auth'] = $auth; if (!empty($SaveSettings['blubrry_program_keyword'])) { powerpress_add_blubrry_redirect($SaveSettings['blubrry_program_keyword']); $SaveSettings['blubrry_hosting'] = $ProgramHosting[$SaveSettings['blubrry_program_keyword']]; if (!is_bool($SaveSettings['blubrry_hosting'])) { if ($SaveSettings['blubrry_hosting'] === 'false' || empty($SaveSettings['blubrry_hosting'])) { $SaveSettings['blubrry_hosting'] = false; } } $Save = true; $Close = true; } else { if (isset($SaveSettings['blubrry_program_keyword'])) { $Error = __('You must select a program to continue.', 'powerpress'); } else { if (count($Programs) == 1) { list($keyword, $title) = each($Programs); $SaveSettings['blubrry_program_keyword'] = $keyword; $SaveSettings['blubrry_hosting'] = $ProgramHosting[$keyword]; if (!is_bool($SaveSettings['blubrry_hosting'])) { if ($SaveSettings['blubrry_hosting'] === 'false' || empty($SaveSettings['blubrry_hosting'])) { $SaveSettings['blubrry_hosting'] = false; } } powerpress_add_blubrry_redirect($keyword); $Close = true; $Save = true; } else { $Error = __('Please select your podcast program to continue.', 'powerpress'); $Step = 2; $Settings['blubrry_username'] = $SaveSettings['blubrry_username']; } } } } else { $Error = __('No podcasts for this account are listed on blubrry.com.', 'powerpress'); } } } } else { global $g_powerpress_remote_error, $g_powerpress_remote_errorno; //$Error = '<h3>'. __('Error', 'powerpress') .'</h3>'; if (!empty($g_powerpress_remote_errorno) && $g_powerpress_remote_errorno == 401) { $Error .= '<p>' . __('Incorrect sign-in email address or password.', 'powerpress') . '</p><p>' . __('Verify your account settings then try again.', 'powerpress') . '</p>'; } else { if (!empty($g_powerpress_remote_error)) { $Error .= '<p>' . $g_powerpress_remote_error . '</p>'; } else { $Error .= '<p>' . __('Authentication failed.', 'powerpress') . '</p>'; } } } if ($Error) { $Error .= '<p style="text-align: center;"><a href="http://create.blubrry.com/resources/powerpress/powerpress-settings/services-stats/" target="_blank">' . __('Click Here For Help', 'powerpress') . '</a></p>'; } } if ($Save) { powerpress_save_settings($SaveSettings); } // Clear cached statistics delete_option('powerpress_stats'); if ($Error) { powerpress_page_message_add_notice($Error); } if ($Close) { powerpress_admin_jquery_header(__('Blubrry Services Integration', 'powerpress')); powerpress_page_message_print(); ?> <p style="text-align: right; position: absolute; top: 5px; right: 5px; margin: 0; padding:0;"><a href="#" onclick="self.parent.tb_remove(); return false;" title="<?php echo __('Close', 'powerpress'); ?> "><img src="<?php echo admin_url(); ?> /images/no.png" alt="<?php echo __('Close', 'powerpress'); ?> " /></a></p> <h2><?php echo __('Blubrry Services Integration', 'powerpress'); ?> </h2> <p style="text-align: center;"><strong><?php echo __('Settings Saved Successfully!', 'powerpress'); ?> </strong></p> <p style="text-align: center;"> <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_basic.php"); ?> " onclick="self.parent.tb_remove(); return false;" target="_top"><?php echo __('Close', 'powerpress'); ?> </a> </p> <script type="text/javascript"><!-- jQuery(document).ready(function($) { // Upload loading, check the parent window for #blubrry_stats_settings div if( jQuery('#blubrry_stats_settings',parent.document).length ) { jQuery('#blubrry_stats_settings',parent.document).html(''); } }); // --></script> <?php powerpress_admin_jquery_footer(); exit; } // no break here, let the next case catch it... // no break here, let the next case catch it... case 'powerpress-jquery-account': if (!current_user_can(POWERPRESS_CAPABILITY_MANAGE_OPTIONS)) { powerpress_admin_jquery_header(__('Blubrry Services Integration', 'powerpress')); powerpress_page_message_add_notice(__('You do not have sufficient permission to manage options.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } if (!ini_get('allow_url_fopen') && !function_exists('curl_init')) { powerpress_admin_jquery_header(__('Blubrry Services Integration', 'powerpress')); powerpress_page_message_add_notice(__('Your server must either have the php.ini setting \'allow_url_fopen\' enabled or have the PHP cURL library installed in order to continue.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } check_admin_referer('powerpress-jquery-account'); if (!$Settings) { $Settings = get_option('powerpress_general'); } if (empty($Settings['blubrry_username'])) { $Settings['blubrry_username'] = ''; } if (empty($Settings['blubrry_hosting']) || $Settings['blubrry_hosting'] === 'false') { $Settings['blubrry_hosting'] = false; } if (empty($Settings['blubrry_program_keyword'])) { $Settings['blubrry_program_keyword'] = ''; } if ($Programs == false) { $Programs = array(); } powerpress_admin_jquery_header(__('Blubrry Services Integration', 'powerpress')); powerpress_page_message_print(); ?> <form action="<?php echo admin_url('admin.php'); ?> " enctype="multipart/form-data" method="post"> <?php wp_nonce_field('powerpress-jquery-account'); ?> <input type="hidden" name="action" value="powerpress-jquery-account-save" /> <div id="accountinfo"> <h2><?php echo __('Blubrry Services Integration', 'powerpress'); ?> </h2> <?php if ($Step == 1) { ?> <p> <label for="blubrry_username"><?php echo __('Blubrry User Name (Email)', 'powerpress'); ?> </label> <input type="text" id="blubrry_username" name="Settings[blubrry_username]" value="<?php echo $Settings['blubrry_username']; ?> " /> </p> <p id="password_row"> <label for="password_password"><?php echo __('Blubrry Password', 'powerpress'); ?> </label> <input type="password" id="password_password" name="Password" value="" /> </p> <?php } else { ?> <input type="hidden" name="Settings[blubrry_username]" value="<?php echo htmlspecialchars($Settings['blubrry_username']); ?> " /> <input type="hidden" name="Password" value="<?php echo htmlspecialchars($Password); ?> " /> <!-- <input type="hidden" name="Settings[blubrry_hosting]" value="<?php echo $Settings['blubrry_hosting']; ?> " /> --> <p> <label for="blubrry_program_keyword"><?php echo __('Select Blubrry Program', 'powerpress'); ?> </label> <select id="blubrry_program_keyword" name="Settings[blubrry_program_keyword]"> <option value=""><?php echo __('Select Program', 'powerpress'); ?> </option> <?php while (list($value, $desc) = each($Programs)) { echo "\t<option value=\"{$value}\"" . ($Settings['blubrry_program_keyword'] == $value ? ' selected' : '') . ">{$desc}</option>\n"; } ?> </select> </p> <?php } ?> <p> <input type="submit" name="Save" value="<?php echo __('Save', 'powerpress'); ?> " /> <input type="button" name="Cancel" value="<?php echo __('Cancel', 'powerpress'); ?> " onclick="self.parent.tb_remove();" /> <input type="submit" name="Remove" value="Remove" style="float: right;" onclick="return confirm('<?php echo __('Remove Blubrry Services Integration, are you sure?', 'powerpress'); ?> ');" /> </p> </div> </form> <?php powerpress_admin_jquery_footer(); exit; break; case 'powerpress-jquery-upload': if (!current_user_can('edit_posts')) { powerpress_admin_jquery_header(__('Uploader', 'powerpress')); powerpress_page_message_add_notice(__('You do not have sufficient permission to upload media.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } check_admin_referer('powerpress-jquery-upload'); $RedirectURL = false; $Error = false; if (!$Settings) { $Settings = get_option('powerpress_general'); } if (empty($Settings['blubrry_hosting']) || $Settings['blubrry_hosting'] === 'false') { $Settings['blubrry_hosting'] = false; } if (empty($Settings['blubrry_program_keyword'])) { $Settings['blubrry_program_keyword'] = ''; } if (empty($Settings['blubrry_auth'])) { $Settings['blubrry_auth'] = ''; } if (empty($Settings['blubrry_hosting'])) { $Error = __('This feature is available to Blubrry Hosting users only.', 'powerpress'); } if ($Error == false) { $json_data = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/media/%s/upload_session.json', rtrim($api_url, '/'), $Settings['blubrry_program_keyword']); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '?' . POWERPRESS_BLUBRRY_API_QSA : ''; $json_data = powerpress_remote_fopen($req_url, $Settings['blubrry_auth']); if ($json_data != false) { break; } } $results = powerpress_json_decode($json_data); // We need to obtain an upload session for this user... if (isset($results['error']) && strlen($results['error']) > 1) { $Error = $results['error']; if (strstr($Error, 'currently not available')) { $Error = __('Unable to find podcasts for this account.', 'powerpress'); } } else { if ($results === $json_data) { $Error = $json_data; } else { if (!is_array($results) || $results == false) { $Error = $json_data; } else { if (isset($results['url']) && !empty($results['url'])) { $RedirectURL = $results['url']; } } } } } if ($Error == false && $RedirectURL) { $RedirectURL .= '&ReturnURL='; $RedirectURL .= urlencode(admin_url("admin.php?action=powerpress-jquery-upload-complete")); header("Location: {$RedirectURL}"); exit; } else { if ($Error == false) { global $g_powerpress_remote_error, $g_powerpress_remote_errorno; if (!empty($g_powerpress_remote_errorno) && $g_powerpress_remote_errorno == 401) { $Error = '<p>' . __('Incorrect sign-in email address or password.', 'powerpress') . '</p><p>' . __('Verify your account entered under Services and Statistics settings then try again.', 'powerpress') . '</p>'; } else { if (!empty($g_powerpress_remote_error)) { $Error = '<p>' . $g_powerpress_remote_error . '</p>'; } else { $Error = '<p>' . __('Unable to obtain upload session.', 'powerpress') . '</p>'; } } } } powerpress_admin_jquery_header(__('Uploader', 'powerpress')); echo '<h2>' . __('Uploader', 'powerpress') . '</h2>'; echo '<p>'; echo $Error; echo '</p>'; ?> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> <?php powerpress_admin_jquery_footer(); exit; break; case 'powerpress-jquery-upload-complete': if (!current_user_can('edit_posts')) { powerpress_admin_jquery_header('Uploader'); powerpress_page_message_add_notice(__('You do not have sufficient permission to upload media.', 'powerpress')); powerpress_page_message_print(); powerpress_admin_jquery_footer(); exit; } $File = isset($_GET['File']) ? $_GET['File'] : false; $Message = isset($_GET['Message']) ? $_GET['Message'] : false; powerpress_admin_jquery_header(__('Upload Complete', 'powerpress')); echo '<h2>' . __('Uploader', 'powerpress') . '</h2>'; echo '<p>'; if ($File) { echo __('File', 'powerpress') . ': '; echo $File; echo ' - '; } echo $Message; echo '</p>'; ?> <p style="text-align: center;"><a href="#" onclick="self.parent.tb_remove();"><?php echo __('Close', 'powerpress'); ?> </a></p> <?php if ($Message == '') { ?> <script language="JavaScript" type="text/javascript"><!-- <?php if ($File != '') { ?> self.parent.SelectMedia('<?php echo $File; ?> '); <?php } ?> self.parent.tb_remove(); //--> </script> <?php } powerpress_admin_jquery_footer(); exit; break; } }
function powerpress_dashboard_stats_content() { $Settings = get_option('powerpress_general'); if (!empty($Settings['disable_dashboard_stats'])) { return; } // Lets not do anythign to the dashboard for PowerPress Statistics // If using user capabilities... if (!empty($Settings['use_caps']) && !current_user_can('view_podcast_stats')) { return; } $content = ''; $UserPass = !empty($Settings['blubrry_auth']) ? $Settings['blubrry_auth'] : ''; $Keyword = !empty($Settings['blubrry_program_keyword']) ? $Settings['blubrry_program_keyword'] : ''; $StatsCached = get_option('powerpress_stats'); if (empty($StatsCached)) { $StatsCached = array(); } if (!empty($StatsCached['content'])) { $content = $StatsCached['content']; } if (empty($StatsCached['updated'])) { $StatsCached['updated'] = 1; } // Some time // If no content or it's been over 3 hours... if ($UserPass && time() > $StatsCached['updated'] + 60 * 60 * 3) { $success = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/stats/%s/summary.html?nobody=1', rtrim($api_url, '/'), $Keyword); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '&' . POWERPRESS_BLUBRRY_API_QSA : ''; $new_content = powerpress_remote_fopen($req_url, $UserPass, array(), 2); // Only give this 2 seconds to return results if (!$new_content && $api_url == 'https://api.blubrry.com/') { // Lets force cURL and see if that helps... $new_content = powerpress_remote_fopen($req_url, $UserPass, array(), 2, false, true); // Only give this 2 seconds to return results } if ($new_content) { update_option('powerpress_stats', array('updated' => time(), 'content' => $new_content)); $content = $new_content; $success = true; break; } } if ($success == false) { if (empty($StatsCached['retry_count'])) { $StatsCached['retry_count'] = 1; } else { if ($StatsCached['retry_count'] < 24) { $StatsCached['retry_count']++; } } if ($StatsCached['retry_count'] > 12) { $content = ''; } // Update the updated flag so it will not try again for 3 hours... update_option('powerpress_stats', array('updated' => time(), 'content' => $content, 'retry_count' => $StatsCached['retry_count'])); } } if (!$UserPass) { $content = sprintf('<p>' . __('Wait a sec! This feature is only available to Blubrry Podcast Community members. Join our community to get %s and access to other valuable %s.', 'powerpress') . '</p>', '<a href="http://create.blubrry.com/resources/podcast-media-download-statistics/basic-statistics/" target="_blank">' . __('Free Podcast Statistics') . '</a>', '<a href="http://create.blubrry.com/resources/" target="_blank">' . __('Services', 'powerpress') . '</a>'); $content .= ' '; $content .= sprintf('<p>' . __('Our %s integrated PowerPress makes podcast publishing simple. Check out the %s on our exciting three-step publishing system!', 'powerpress') . '</p>', '<a href="http://create.blubrry.com/resources/podcast-media-hosting/" target="_blank">' . __('Podcast Hosting', 'powerpress') . '</a>', '<a href="http://create.blubrry.com/resources/powerpress/using-powerpress/blubrry-hosting-with-powerpress/" target="_blank">' . __('Video', 'powerpress') . '</a>'); } else { if (empty($content)) { $content = sprintf(__('Error: A network or authentication error occurred. To verify your account, click the link "click here to configure Blubrry Statistics and Hosting services" found in the %s tab.', 'powerpress'), '<a href="' . admin_url("admin.php?page=powerpress/powerpressadmin_basic.php") . '#tab2">' . __('Services & Statistics' . '</a>', 'powerprss')); } } ?> <div> <?php echo $content; if ($UserPass) { ?> <div id="blubrry_stats_media_show"> <a href="<?php echo admin_url('admin.php'); ?> ?action=powerpress-jquery-stats&KeepThis=true&TB_iframe=true&modal=false" title="<?php echo __('Blubrry Media statistics', 'powerpress'); ?> " class="thickbox"><?php echo __('more', 'powerpress'); ?> </a> </div> <?php } ?> </div> <?php }
function powerpress_admin_migrate_get_migrated_by_status($status = 'migrated') { $Settings = get_option('powerpress_general'); if (empty($Settings['blubrry_auth'])) { powerpress_page_message_add_error(sprintf(__('You must have a blubrry Podcast Hosting account to continue.', 'powerpress')), 'inline', false); return false; } $json_data = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/media/%s/migrate_status.json?status=%s&limit=10000&simple=true', rtrim($api_url, '/'), $Settings['blubrry_program_keyword'], urlencode($status)); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '&' . POWERPRESS_BLUBRRY_API_QSA : ''; $json_data = powerpress_remote_fopen($req_url, $Settings['blubrry_auth']); if ($json_data != false) { break; } } if (!$json_data) { if (!empty($GLOBALS['g_powerpress_remote_errorno']) && $GLOBALS['g_powerpress_remote_errorno'] == 401) { $error .= __('Incorrect sign-in email address or password.', 'powerpress') . ' ' . __('Verify your account settings then try again.', 'powerpress'); } else { if (!empty($GLOBALS['g_powerpress_remote_error'])) { $error .= '<p>' . $GLOBALS['g_powerpress_remote_error']; } else { $error .= __('Authentication failed.', 'powerpress'); } } powerpress_page_message_add_error($error); return false; } $results = powerpress_json_decode($json_data); if (empty($results)) { $error = __('Unknown error occurred decoding results from server.', 'powerpress'); powerpress_page_message_add_error($error); return false; } if (!empty($results['error'])) { $error = __('Blubrry Migrate Media Error', 'powerpress') . ': ' . $results['error']; powerpress_page_message_add_error($error); return false; } return $results; }
public function admin_init() { $action = isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : false); if (!empty($action)) { switch ($action) { case 'powerpress-multisite-save-network-settings': check_admin_referer('powerpress-multisite-save-network-settings'); $Settings = array(); if (!empty($_POST['PowerPress'])) { $Settings = $_POST['PowerPress']; } if (empty($Settings['services_multisite_only'])) { $Settings['services_multisite_only'] = false; } update_site_option('powerpress_multisite', $Settings); break; case 'powerpress-multisite-save-site-settings': check_admin_referer('powerpress-multisite-save-site-settings'); $blog_id = $_POST['blog_id']; $Settings = get_blog_option($blog_id, 'powerpress_general'); if (empty($_POST['DisableStatsInDashboard'])) { $Settings['disable_dashboard_stats'] = false; } else { $Settings['disable_dashboard_stats'] = true; } $NewSettings = $_POST['General']; while (list($index, $value) = each($NewSettings)) { $Settings[$index] = $value; } update_blog_option($blog_id, 'powerpress_general', $Settings); // Redirect to the sites.php page... //wp_redirect('categories.php?message=3'); wp_redirect(network_admin_url('sites.php')); exit; break; case 'powerpress-multisite': if (!empty($_POST['ajax']) || !empty($_GET['ajax'])) { check_admin_referer('powerpress-multisite-ajax-account'); $blog_id = isset($_GET['blog_id']) ? $_GET['blog_id'] : (isset($_POST['blog_id']) ? $_POST['blog_id'] : false); $Step = 1; $Save = false; $Close = false; $Programs = false; $Password = ''; $Settings = array('blubrry_username' => '', 'blubrry_auth' => ''); // save settings here.... if (isset($_POST['Password']) && isset($_POST['Settings'])) { $Password = $_POST['Password']; $SaveSettings = $_POST['Settings']; $Password = powerpress_stripslashes($Password); $SaveSettings = powerpress_stripslashes($SaveSettings); $Error = ''; if (!empty($_POST['Remove'])) { $SaveSettings['blubrry_username'] = ''; $SaveSettings['blubrry_auth'] = ''; $SaveSettings['blubrry_program_keyword'] = ''; $SaveSettings['blubrry_hosting'] = false; $Step = 3; $Save = true; } else { $Programs = array(); $ProgramHosting = array(); // Anytime we change the password we need to test it... $auth = base64_encode($SaveSettings['blubrry_username'] . ':' . $Password); $json_data = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/service/index.json', rtrim($api_url, '/')); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '?' . POWERPRESS_BLUBRRY_API_QSA : ''; $json_data = powerpress_remote_fopen($req_url, $auth); if ($json_data != false) { break; } } if ($json_data) { $results = powerpress_json_decode($json_data); if (isset($results['error'])) { $Error = $results['error']; if (strstr($Error, __('currently not available', 'powerpress'))) { $Error = __('Unable to find podcasts for this account.', 'powerpress'); $Error .= '<br /><span style="font-weight: normal; font-size: 12px;">'; $Error .= 'Verify that the email address you enter here matches the email address you used when you listed your podcast on blubrry.com.</span>'; } else { if (preg_match('/No programs found.*media hosting/i', $results['error'])) { $Error .= '<br/><span style="font-weight: normal; font-size: 12px;">'; $Error .= 'Service may take a few minutes to activate.</span>'; } } } else { if (!is_array($results)) { $Error = $json_data; } else { // Get all the programs for this user... while (list($null, $row) = each($results)) { $Programs[$row['program_keyword']] = $row['program_title']; if ($row['hosting'] === true || $row['hosting'] == 'true') { $ProgramHosting[$row['program_keyword']] = true; } else { $ProgramHosting[$row['program_keyword']] = false; } } if (count($Programs) > 0) { $SaveSettings['blubrry_auth'] = $auth; if (!empty($SaveSettings['blubrry_program_keyword'])) { $this->add_blubrry_redirect($blog_id, $SaveSettings['blubrry_program_keyword']); $SaveSettings['blubrry_hosting'] = $ProgramHosting[$SaveSettings['blubrry_program_keyword']]; if (!is_bool($SaveSettings['blubrry_hosting'])) { if ($SaveSettings['blubrry_hosting'] === 'false' || empty($SaveSettings['blubrry_hosting'])) { $SaveSettings['blubrry_hosting'] = false; } } $Save = true; $Step = 3; } else { if (isset($SaveSettings['blubrry_program_keyword'])) { $Error = __('You must select a program to continue.', 'powerpress'); } else { if (count($Programs) == 1) { list($keyword, $title) = each($Programs); $SaveSettings['blubrry_program_keyword'] = $keyword; $SaveSettings['blubrry_hosting'] = $ProgramHosting[$keyword]; if (!is_bool($SaveSettings['blubrry_hosting'])) { if ($SaveSettings['blubrry_hosting'] === 'false' || empty($SaveSettings['blubrry_hosting'])) { $SaveSettings['blubrry_hosting'] = false; } } $this->add_blubrry_redirect($blog_id, $keyword); $Step = 3; $Save = true; } else { $Error = __('Please select your podcast program to continue.', 'powerpress'); $Step = 2; $Settings['blubrry_username'] = $SaveSettings['blubrry_username']; } } } } else { $Error = __('No podcasts for this account are listed on blubrry.com.', 'powerpress'); } } } } else { global $g_powerpress_remote_error, $g_powerpress_remote_errorno; if (!empty($g_powerpress_remote_errorno) && $g_powerpress_remote_errorno == 401) { $Error = 'Incorrect user email address or password, or no program was found signed-up for services. <br /><span style="font-weight: normal; font-size: 12px;">Verify your account settings and try again.</span>'; } else { if (!empty($g_powerpress_remote_error)) { $Error = __('Error:', 'powerpress') . ' ' . $g_powerpress_remote_error; } else { $Error = __('Authentication failed.', 'powerpress'); } } } if ($Error) { $Error .= '<p style="text-align: center;"><a href="http://create.blubrry.com/resources/powerpress/powerpress-settings/services-stats/" target="_blank">' . __('Click Here For Help', 'powerpress') . '</a></p>'; } } if ($Save) { $this->save_settings($blog_id, $SaveSettings); delete_blog_option($blog_id, 'powerpress_stats'); // clear the site dashboard statistics } if ($Error) { powerpress_page_message_add_notice($Error); } } // Load the page here... if (empty($Settings)) { $Settings = get_blog_option($blog_id, 'powerpress_general'); } $this->_admin_ajax_header(__('Blubrry Media Services', 'powerpress-multisite')); $this->_admin_ajax_configure_services($blog_id, $Step, $Settings, $Programs, $Password); $this->_admin_ajax_footer(); exit; } break; } } /* if( !empty($_REQUEST['action']) && $_REQUEST['action'] == 'powerpress-multisite' && !empty($_REQUEST['ajax']) ) { check_admin_referer('powerpress-multisite-ajax-account'); $blog_id = $_REQUEST['blog_id']; $step = 1; // save settings here.... i // Load the page here... $this->_admin_ajax_header( __('Blubrry Media Services', 'powerpress-multisite') ); //$this->_admin_ajax_footer(); $this->_admin_ajax_configure_services($blog_id); $this->_admin_ajax_footer(); exit; } */ }
function powerpress_get_media_info($file) { $Settings = get_option('powerpress_general'); $content = false; $api_url_array = powerpress_get_api_array(); while (list($index, $api_url) = each($api_url_array)) { $req_url = sprintf('%s/media/%s/%s?format=json&info=true', rtrim($api_url, '/'), urlencode($Settings['blubrry_program_keyword']), urlencode($file)); $req_url .= defined('POWERPRESS_BLUBRRY_API_QSA') ? '&' . POWERPRESS_BLUBRRY_API_QSA : ''; $content = powerpress_remote_fopen($req_url, $Settings['blubrry_auth']); if ($content != false) { break; } } if ($content) { $Results = powerpress_json_decode($content); if ($Results && is_array($Results)) { return $Results; } } return array('error' => __('Error occurred obtaining media information.', 'powerpress')); }