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_admin_mt() { $results = powerpress_get_mt_episodes(); $Settings = powerpress_get_settings('powerpress_general', false); if (!isset($Settings['custom_feeds']['podcast']) && !empty($Settings['custom_feeds'])) { $Settings['custom_feeds'] = array_merge(array('podcast' => __('Podcast Feed (default)', 'powerpress')), $Settings['custom_feeds']); } else { if (empty($Settings['custom_feeds'])) { $Settings['custom_feeds'] = array('podcast' => __('Podcast Feed (default)', 'powerpress')); } } if ($results) { if ($results['feeds_required'] > count($Settings['custom_feeds'])) { powerpress_page_message_add_error(sprintf(__('We found blog posts that have as many as %d media files. You may need to create %d more Custom Feeds in order to import all of the media.', 'powerpress'), $results['feeds_required'], $results['feeds_required'] - count($Settings['custom_feeds']))); powerpress_page_message_print(); } } powerpressadmin_mt_import_print_log(); ?> <style type="text/css"> .column-exclude { width: 80px; } .column-post-date { width: 80px; } .error-mt { background-color: #ffebe8; border-color: #c00; border-width: 1px; border-style: solid; padding: 0 0.6em; margin: 5px 15px 2px; -moz-border-radius: 3px; -khtml-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; } label { float: left; width: 160px; } </style> <script language="javascript"><!-- function check_radio_selection(obj, PostID, FileIndex) { if( obj.value == '' ) // Users can select the no feed option as much as they want return true; var Field = obj.id; while( Field.charAt( Field.length-1 ) >= "0" && Field.charAt( Field.length-1 ) <= "9" ) // ( chr < "0" ) || ( chr > "9" ) { Field = Field.substring(0, Field.length-1); } var Pos = 0; var CheckObj = document.getElementsByName( "Import["+PostID+"]["+Pos+"]" ); while( CheckObj ) { if( CheckObj.length == 0 ) break; if( Pos != FileIndex ) { for (var i = 0; i < CheckObj.length; i++) { if (CheckObj[i].type == 'radio' && CheckObj[i].checked && CheckObj[i].value == obj.value ) { alert("<?php echo __('Sorry, you may only select one media file per post per feed.', 'powerpress'); ?> "); return false; } } } Pos++; var CheckObj = document.getElementsByName( "Import["+PostID+"]["+Pos+"]" ); } return true; } function no_import_all() { if( !confirm('<?php echo __('Select "No Import" option for all media files?', 'powerpress'); ?> ') ) return; var Inputs = document.getElementsByTagName('input'); for (var i = 0; i < Inputs.length; i++) { var Elem = Inputs[i]; if( Elem.type == 'radio' && Elem.value == '' ) Elem.checked = true; } } function select_all(index,value) { var NoImport = []; var Inputs = document.getElementsByTagName('input'); for (var i = 0; i < Inputs.length; i++) { var Elem = Inputs[i]; if( Elem.type == 'radio' && Elem.value == value ) { ElemIndex = Elem.id.substring( Elem.id.lastIndexOf('_')+1); if( ElemIndex == index ) Elem.checked = true; else if( Elem.checked && Elem.value != '' ) NoImport.push( Elem.id ); } } for (var i = 0; i < Inputs.length; i++) { var Elem = Inputs[i]; if( Elem.type == 'radio' && Elem.value == '' ) { for (var j = 0; j < NoImport.length; j++) { if( NoImport[j] == Elem.id ) Elem.checked = true; } } } } //--> </script> <h2><?php echo __('Import Episodes', 'powerpress'); ?> </h2> <?php if (count($results) == 0 || count($results) == 1) { ?> <p><?php echo __('No episodes found to import.', 'powerpress'); ?> </p> <?php } else { ?> <input type="hidden" name="action" value="powerpress-importmt" /> <p><?php echo __('Select the media file under each feed for each episode you wish to import.', 'powerpress'); ?> </p> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <?php print_column_headers('powerpressadmin_importmt'); ?> </tr> </thead> <tfoot> <tr> <?php print_column_headers('powerpressadmin_importmt', false); ?> </tr> </tfoot> <tbody> <?php $StrandedEpisodes = 0; $ImportableEpisodes = 0; $MaxFileIndex = 1; $count = 0; while (list($post_id, $import_data) = each($results)) { $edit_link = get_edit_post_link($post_id); if ($post_id == 'feeds_required') { continue; } $columns = powerpressadmin_importmt_columns(); $CurrentEnclosures = array(); if (is_array($Settings['custom_feeds'])) { while (list($feed_slug, $value) = each($Settings['custom_feeds'])) { if ($feed_slug == 'podcast') { $enclosure_data = get_post_meta($post_id, 'enclosure', true); } else { $enclosure_data = get_post_meta($post_id, '_' . $feed_slug . ':enclosure', true); } if (!$enclosure_data) { continue; } @(list($EnclosureURL, $EnclosureSize, $EnclosureType, $Serialized) = @explode("\n", $enclosure_data)); if ($EnclosureURL) { $CurrentEnclosures[$feed_slug] = array(); $CurrentEnclosures[$feed_slug]['url'] = trim($EnclosureURL); $CurrentEnclosures[$feed_slug]['imported'] = false; } $found = false; while (list($episode_index, $episode_data) = each($import_data['enclosures'])) { if ($episode_data['url'] == $CurrentEnclosures[$feed_slug]['url']) { $import_data['enclosures'][$episode_index]['imported'] = true; $CurrentEnclosures[$feed_slug]['imported'] = true; $found = true; break; } } reset($import_data['enclosures']); if ($found == false) { // Add it to the media file list, prepend it... $is_enclosure_data = array(); $is_enclosure_data['url'] = $CurrentEnclosures[$feed_slug]['url']; $is_enclosure_data['imported'] = true; array_push($import_data['enclosures'], $is_enclosure_data); $CurrentEnclosures[$feed_slug]['imported'] = true; $CurrentEnclosures[$feed_slug]['present'] = true; } } reset($Settings['custom_feeds']); } $feed_title = ''; if ($feed_slug == 'podcast') { $feed_title = __('Podcast Feed (default)', 'powerpress'); } $feed_title = esc_html($feed_title); if ($count % 2 == 0) { echo '<tr valign="middle" class="alternate">'; } else { echo '<tr valign="middle">'; } $CheckedEpisodes = array(); // key = file_index, value = feed-slug $feed_index = 0; foreach ($columns as $column_name => $column_display_name) { $class = "class=\"column-{$column_name}\""; switch ($column_name) { case 'post-title': echo '<td ' . $class . '><strong>'; if (current_user_can('edit_post', $post_id)) { ?> <a class="row-title" href="<?php echo $edit_link; ?> " title="<?php echo esc_attr(sprintf(__('Edit "%s"', 'powerpress'), $import_data['post_title'])); ?> "><?php echo esc_attr($import_data['post_title']); ?> </a><?php } else { echo $import_data['post_title']; } echo '</strong><br />'; echo '<div style="margin-left: 10px;">'; $index = 1; while (list($episode_index, $episode_data) = each($import_data['enclosures'])) { if ($index > $MaxFileIndex) { $MaxFileIndex = $index; } $Parts = parse_url($episode_data['url']); $filename = substr($Parts['path'], strrpos($Parts['path'], '/') + 1); if ($filename == '') { $filename = $episode_data['url']; } echo "File {$index}: "; echo '<input type="hidden" name="Media[' . $post_id . '][' . $episode_index . ']" value="' . htmlspecialchars($episode_data['url']) . '" />'; if (empty($episode_data['imported'])) { echo '<span style="color: #CC0000; font-weight: bold; cursor:pointer;" onclick="alert(\'File: ' . $filename . '\\nURL: ' . $episode_data['url'] . '\')">'; $StrandedEpisodes++; } else { echo '<span style="color: green; font-weight: bold; cursor:pointer;" onclick="alert(\'File: ' . $filename . '\\nURL: ' . $episode_data['url'] . '\')">'; } if (empty($episode_data['imported'])) { echo '*'; } echo $filename; echo '</span>'; echo '<br/>'; $index++; } if ($index > 1) { // Do we need the post title? echo '<input type="hidden" name="Titles[' . $post_id . ']" value="' . htmlspecialchars($import_data['post_title']) . '" />'; } reset($import_data['enclosures']); echo '</div>'; echo '</td>'; break; case 'post-date': echo "<td {$class}>"; $timestamp = strtotime($import_data['post_date']); echo date('Y/m/d', $timestamp); echo "</td>"; break; case 'feed-slug': echo "<td {$class}>{$feed_slug}"; echo "</td>"; break; default: echo "<td {$class}>"; $feed_slug = substr($column_name, 5); if ($column_name == 'exclude') { $feed_slug = ''; } $enclosure_data = false; $EnclosureURL = ''; echo '<div class=""> <br />'; if (isset($CurrentEnclosures[$feed_slug]) && $CurrentEnclosures[$feed_slug]['imported']) { $index = 1; while (list($episode_index, $episode_data) = each($import_data['enclosures'])) { echo "File {$index}: "; if ($CurrentEnclosures[$feed_slug]['url'] == $episode_data['url']) { if (!empty($CurrentEnclosures[$feed_slug]['present'])) { echo '<strong style="color: green;">' . __('present', 'powerpress') . '</strong>'; } else { echo '<strong style="color: green;">' . __('imported', 'powerpress') . '</strong>'; } } else { echo 'X'; } echo "<br/>\n"; $index++; } reset($import_data['enclosures']); } else { $index = 1; while (list($episode_index, $episode_data) = each($import_data['enclosures'])) { echo "File {$index}: "; if (!empty($episode_data['imported'])) { echo ' X'; } else { $checked = ''; if (!isset($CheckedEpisodes[$episode_index]) && !in_array($feed_slug, $CheckedEpisodes)) { $checked = 'checked'; $CheckedEpisodes[$episode_index] = $feed_slug; } if (!isset($CheckedEpisodes[$episode_index]) && $feed_slug == '') { $checked = 'checked'; } echo '<input type="radio" id="import_' . $post_id . '_' . $episode_index . '" name="Import[' . $post_id . '][' . $episode_index . ']" value="' . $feed_slug . '" ' . $checked . ' onclick="return check_radio_selection(this, ' . $post_id . ', ' . $episode_index . ')" />'; } echo '<br/>'; $index++; } reset($import_data['enclosures']); } echo '</div>'; echo "</td>"; $feed_index++; break; } } echo "\n </tr>\n"; $count++; } ?> </tbody> </table> <p><?php echo sprintf(__('Importable episodes highlighted in %s with asterisks *.', 'powerpress'), '<span style="color: #CC0000; font-weight: bold;">' . __('red', 'powerpress') . '</span>'); ?> </p> <p style="margin-bottom: 0; padding-bottom: 0;"><?php echo __('Select Only:', 'powerpress'); ?> </p> <?php if ($results['feeds_required'] < 1) { $results['feeds_required'] = 1; } for ($number = 0; $number < $MaxFileIndex; $number++) { ?> <p style="margin: 0 0 0 40px; padding: 0;"> <?php echo __('File', 'powerpress'); ?> <?php echo $number + 1; ?> : <?php while (list($feed_slug, $feed_title) = each($Settings['custom_feeds'])) { echo '<a href="javascript:void()" onclick="select_all(' . $number . ',\'' . $feed_slug . '\');return false;">' . htmlspecialchars($feed_title) . '</a> | '; } reset($Settings['custom_feeds']); ?> <a href="javascript:void()" onclick="select_all(<?php echo $number; ?> ,'');return false;"><?php echo __('No Import', 'powerpress'); ?> </a> </p> <?php } ?> <p><?php echo __('Types of media found:', 'powerpress'); ?> <?php $comma = false; global $g_import_mt_extensions; while (list($ext, $null) = each($g_import_mt_extensions)) { if ($comma) { echo ', '; } $comma = true; echo $ext; } ?> </p> <?php } if ($StrandedEpisodes) { reset($results); ?> <p><?php echo sprintf(__('There are %d media files that can be imported with a total of %d blog post podcast episodes.', 'powerpress'), $StrandedEpisodes, count($results) - 1); ?> </p> <?php } ?> <p class="submit"> <input type="submit" name="Submit" id="powerpress_import_button" class="button-primary" value="Import Episodes" onclick="return confirm('Import selected episodes, are you sure?');" /> <input type="checkbox" name="DetectDuration" value="1" /> <?php echo __('Detect duration for mp3 media. (expect script to take a while with this option)', 'powerpress'); ?> </p> </p> </form> <hr /> <form enctype="enctype" method="get" action="<?php echo admin_url('admin.php'); ?> "> <input type="hidden" name="page" value="powerpress/powerpressadmin_tools.php" /> <input type="hidden" name="action" value="powerpress-mt-epiosdes" /> <h2><?php echo __('Filter Results', 'powerpress'); ?> </h2> <p><label><?php echo __('Include Only', 'powerpress'); ?> </label><input type="text" name="include_only_ext" value="<?php if (!empty($_GET['include_only_ext'])) { echo htmlspecialchars($_GET['include_only_ext']); } ?> " style="width: 240px;" /> (<?php echo __('leave blank for all media', 'powerpress'); ?> ) <br /> <label> </label><?php echo __('Specify the file extensions to include separated by commas (e.g. mp3, m4v).', 'powerpress'); ?> </p> <p class="submit"> <input type="submit" name="Submit" class="button-primary" value="<?php echo __('Filter Episodes', 'powerpress'); ?> " /> </p> <!-- start footer --> <?php }
function powerpressadmin_diagnostics() { global $powerpress_diags, $powerpress_diag_message; $GeneralSettings = get_option('powerpress_general'); if (empty($powerpress_diags)) { powerpressadmin_diagnostics_process(); powerpress_page_message_print(); } ?> <h2><?php echo __('Blubrry PowerPress Diagnostics', 'powerpress'); ?> </h2> <p> <?php echo __('The Diagnostics page checks to see if your server is configured to support all of the available features in Blubrry PowerPress.', 'powerpress'); ?> </p> <?php if (!empty($powerpress_diag_message)) { ?> <h3 style="margin-bottom: 2px;"><?php echo __('Diagnostics Email Message', 'powerpress'); ?> </h3> <div style="border: 2px inset #000000; padding: 10px; margin-right: 20px; font-size: 85%;"> <?php echo $powerpress_diag_message; ?> </div> <?php } ?> <h3 style="margin-bottom: 0;"><?php echo __('Detecting Media Information', 'powerpress'); ?> </h3> <p style="margin: 0;"> <?php echo __('The following test checks to see if your web server can make connections with other web servers to obtain file size and media duration information. The test checks to see if either the PHP cURL library is installed or the php.ini setting \'allow_url_fopen\' enabled.', 'powerpress'); ?> </p> <table class="form-table"> <tr valign="top"> <th scope="row"> <?php powerpressadmin_diagnostics_status($powerpress_diags['detecting_media']['success'], $powerpress_diags['detecting_media']['warning']); ?> </th> <td> <p><?php echo htmlspecialchars($powerpress_diags['detecting_media']['message']); ?> </p> <?php if ($powerpress_diags['detecting_media']['message2']) { ?> <p><?php echo htmlspecialchars($powerpress_diags['detecting_media']['message2']); ?> </p><?php } if ($powerpress_diags['detecting_media']['success']) { ?> <p><?php echo __('If you are still having problems detecting media information, check with your web hosting provider if there is a firewall blocking your server.', 'powerpress'); ?> </p> <?php } else { ?> <p><?php echo __('Contact your web hosting provider with the information above.', 'powerpress'); ?> </p> <?php } ?> </td> </tr> </table> <!-- <h3 style="margin-bottom: 0;"><?php echo __('Pinging iTunes', 'powerpress'); ?> </h3> <p style="margin: 0;"><?php echo __('The following test checks to see that your web server can make connections with Apple\'s secure ping server.', 'powerpress'); ?> </p> <table class="form-table"> <tr valign="top"> <th scope="row"> <?php powerpressadmin_diagnostics_status($powerpress_diags['pinging_itunes']['success']); ?> </th> <td> <p><?php echo htmlspecialchars($powerpress_diags['pinging_itunes']['message']); ?> </p> <?php if ($powerpress_diags['pinging_itunes']['success'] == false) { ?> <p><?php echo __('Contact your web hosting provider with the information above.', 'powerpress'); ?> </p> <?php } ?> </td> </tr> </table> --> <h3 style="margin-bottom: 0;"><?php echo __('Uploading Artwork', 'powerpress'); ?> </h3> <p style="margin: 0;"><?php echo __('The following test checks to see that you can upload and store files on your web server.', 'powerpress'); ?> </p> <table class="form-table"> <tr valign="top"> <th scope="row"> <?php powerpressadmin_diagnostics_status($powerpress_diags['uploading_artwork']['success']); ?> </th> <td> <p><?php echo htmlspecialchars($powerpress_diags['uploading_artwork']['message']); ?> </p> </td> </tr> </table> <h3 style="margin-bottom: 0;"><?php echo __('System Information', 'powerpress'); ?> </h3> <p style="margin: 0;"><?php echo __('The following test checks your version of PHP, memory usage and temporary directory access.', 'powerpress'); ?> </p> <table class="form-table"> <tr valign="top"> <th scope="row"> <?php powerpressadmin_diagnostics_status($powerpress_diags['system_info']['success'], $powerpress_diags['system_info']['warning'] || $powerpress_diags['system_info']['php_cgi']); ?> </th> <td> <p><?php echo htmlspecialchars(sprintf(__('WordPress Version %s'), $GLOBALS['wp_version'])); ?> </p> <p><?php echo htmlspecialchars($powerpress_diags['system_info']['message']); ?> </p> <p><?php echo htmlspecialchars($powerpress_diags['system_info']['message2']); ?> </p> <p><?php echo htmlspecialchars($powerpress_diags['system_info']['message3']); ?> </p> <?php if (!empty($powerpress_diags['system_info']['php_cgi'])) { ?> <p><?php echo __('Warning:', 'powerpress') . ' ' . __('PHP running in CGI mode.', 'powerpress'); ?> </p> <?php } if ($powerpress_diags['system_info']['warning']) { ?> <p><?php echo __('Contact your web hosting provider to inquire how to increase the PHP memory limit on your web server.', 'powerpress'); ?> </p> <?php } ?> </td> </tr> </table> <form enctype="multipart/form-data" method="get" action="<?php echo admin_url('admin.php'); ?> "> <input type="hidden" name="action" value="powerpress-diagnostics" /> <input type="hidden" name="page" value="powerpress/powerpressadmin_tools.php" /> <?php // Print nonce wp_nonce_field('powerpress-diagnostics'); ?> <h3 style="margin-bottom: 0;"><?php echo __('Email Results', 'powerpress'); ?> </h3> <p style="margin: 0;"><?php echo __('Send the results above to the specified Email address.', 'powerpress'); ?> </p> <table class="form-table"> <tr valign="top"> <th scope="row"> <?php echo __('Email', 'powerpress'); ?> </th> <td> <div style="margin-top: 5px;"> <input type="text" name="Email" value="" style="width: 50%;" /> <input type="submit" name="Submit" id="powerpress_save_button" class="button-primary" value="Send Results" /> </div> <div> <input type="checkbox" name="CC" value="1" style="vertical-align: text-top;" checked /> CC: <?php $user_info = wp_get_current_user(); echo ""{$user_info->user_nicename}" <{$user_info->user_email}>"; ?> </div> <div> <input type="checkbox" name="ap" value="1" style="vertical-align: text-top;" checked /> <?php echo __('Include list of active plugins in diagnostics results.', 'powerpress'); ?> </div> </td> </tr> </table> </form> <p> </p> <!-- start footer --> <?php }
public function _admin_ajax_configure_services($blog_id, $Step = 1, $Settings = false, $Programs = false, $Password = '') { if (!current_user_can(POWERPRESS_CAPABILITY_MANAGE_OPTIONS)) { powerpress_page_message_add_notice(__('You do not have sufficient permission to manage options.', 'powerpress-multisite')); powerpress_page_message_print(); return; } if (!ini_get('allow_url_fopen') && !function_exists('curl_init')) { 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-multisite')); powerpress_page_message_print(); return; } if (empty($blog_id)) { powerpress_page_message_add_notice(__('No site specified.', 'powerpress-multisite')); powerpress_page_message_print(); return; } if (!$Settings) { $Settings = get_blog_option($blog_id, '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 (empty($Programs)) { $Programs = array(); } powerpress_page_message_print(); ?> <form action="<?php echo network_admin_url('sites.php?action=powerpress-multisite'); ?> " enctype="multipart/form-data" method="post"> <?php wp_nonce_field('powerpress-multisite-ajax-account'); ?> <input type="hidden" name="action" value="powerpress-jquery-account-save" /> <input type="hidden" name="ajax" value="1" /> <input type="hidden" name="blog_id" value="<?php echo $blog_id; ?> " /> <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 { if ($Step == 3) { ?> <p style="text-align: center;"><strong><?php echo __('Settings Saved Successfully!', 'powerpress'); ?> </strong></p> <p style="text-align: center;"> <a href="<?php echo network_admin_url("sites.php?page=powerpress-multisite&={$blog_idW}"); ?> " 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 } 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 } } if ($Step != 3) { ?> <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> <?php } ?> </div> </form> <?php }
function powerpress_admin_migrate() { $files = powerpress_admin_migrate_get_files(); if (!empty($_REQUEST['migrate_step']) && $_REQUEST['migrate_step'] == 1) { powerpress_admin_migrate_step1(); return; } $Step = 0; $RequestedCount = 0; $BlubrryQueuedCount = 0; $MigratedCount = 0; $FailedCount = 0; $SkippedCount = 0; $QueuedResults = get_option('powerpress_migrate_queued'); if (is_array($QueuedResults)) { $RequestedCount = count($QueuedResults); $Step = 1; } $MigrateStatus = false; if ($Step >= 1) { $MigrateStatus = get_option('powerpress_migrate_status'); if (empty($MigrateStatus) || $MigrateStatus['updated_timestamp'] < current_time('timestamp') - 60 * 30 || !empty($_GET['refresh_migrate_status'])) { $update_option = true; if ($MigrateStatus == false) { $update_option = false; } $MigrateStatus = powerpress_admin_migrate_get_status(); if (is_array($MigrateStatus)) { $MigrateStatus['updated_timestamp'] = current_time('timestamp'); if ($update_option) { update_option('powerpress_migrate_status', $MigrateStatus); } else { add_option('powerpress_migrate_status', $MigrateStatus, '', 'no'); } } } } if (!empty($MigrateStatus['completed'])) { $Step = 3; $MigratedCount = $MigrateStatus['completed']; } if (!empty($MigrateStatus['failed'])) { $FailedCount = $MigrateStatus['failed']; } if (!empty($MigrateStatus['skipped'])) { $SkippedCount = $MigrateStatus['skipped']; } if (!empty($MigrateStatus['queued'])) { $BlubrryQueuedCount = $MigrateStatus['queued']; } $CompletedResults = get_option('powerpress_migrate_completed'); if (!empty($_REQUEST['migrate_step']) && $_REQUEST['migrate_step'] == 2 && $Step > 0) { powerpress_admin_migrate_step2($QueuedResults, $MigrateStatus, $CompletedResults); return; } if (!empty($_REQUEST['migrate_step']) && $_REQUEST['migrate_step'] == 3 && $Step == 3) { powerpress_admin_migrate_step3($MigrateStatus, $CompletedResults); return; } $CompletedCount = 0; if (!empty($CompletedResults['completed_count'])) { $CompletedCount = $CompletedResults['completed_count']; } powerpress_page_message_print(); if (!empty($GLOBALS['g_powerprss_verify_failed_count'])) { echo '<p>'; echo sprintf(__('%d urls failed verification.', 'powerpress'), $GLOBALS['g_powerprss_verify_failed_count']); echo '</p>'; } if (!empty($GLOBALS['g_powerpress_total_files_found'])) { echo '<p>'; echo sprintf(__('%d migrated files found on this site.', 'powerpress'), $GLOBALS['g_powerpress_total_files_found']); echo '</p>'; } if (!empty($GLOBALS['g_powerpress_already_migrated'])) { echo '<p>'; echo sprintf(__('%d episodes already updated with new URLs.', 'powerpress'), $GLOBALS['g_powerpress_already_migrated']); echo '</p>'; } if (!empty($GLOBALS['g_powerpress_update_errors'])) { echo '<p>'; echo sprintf(__('%d update errors.', 'powerpress'), $GLOBALS['g_powerpress_update_errors']); echo '</p>'; } ?> <h2><?php echo __('Migrate Media to your Blubrry Podcast Media Hosting Account', 'powerpress'); ?> </h2> <p><?php echo __('Migrate all of your media to Blubrry with only a few clicks.', 'powerpress'); ?> </p> <p><a title="<?php echo esc_attr(__('Blubrry Podcast Hosting', 'powerpress')); ?> " href="<?php echo admin_url('admin.php'); ?> ?action=powerpress-jquery-hosting&KeepThis=true&TB_iframe=true&modal=false&width=800&height=400" target="_blank" class="thickbox"><?php echo __('Don\'t have a blubrry podcast hosting account?', 'powerpress'); ?> </a></p> <div id="powerpress_steps"> <div class="powerpress-step active-step" id="powerpreess_step_1a"> <h3><?php echo __('Step 1', 'powerpress'); ?> </h3> <p> <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&action=powerpress-migrate-media&migrate_step=1"); ?> "><?php echo __('Select Media to Migrate', 'powerpress'); ?> </a> </p> <br /> <p class="normal"><?php echo sprintf(__('%d files requested', 'powerpress'), $RequestedCount); ?> </p> <p class="normal"><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&action=powerpress-migrate-media&migrate_step=1"); ?> ">Add media files</a></p> <?php ?> </div> <div class="powerpress-step<?php echo $Step >= 1 ? ' active-step' : ''; ?> "> <h3><?php echo __('Step 2', 'powerpress'); ?> </h3> <p> <?php echo __('Wait for media to migrate', 'powerpress'); ?> </p> <br /> <?php if ($Step >= 1) { ?> <?php if ($BlubrryQueuedCount) { ?> <p class="normal"><?php echo sprintf(__('%d files in queue', 'powerpress'), $BlubrryQueuedCount); ?> </p> <?php } ?> <p class="normal"><?php echo sprintf(__('%d files migrated', 'powerpress'), $MigratedCount); ?> </p><?php } ?> <?php if ($FailedCount) { ?> <p class="normal"><?php echo sprintf(__('%d files failed', 'powerpress'), $FailedCount); ?> </p><?php } ?> <?php if ($SkippedCount) { ?> <p class="normal"><?php echo sprintf(__('%d files skipped', 'powerpress'), $SkippedCount); ?> </p><?php } ?> <p class="normal"><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&action=powerpress-migrate-media&refresh_migrate_status=1"); ?> "><?php echo __('Refresh', 'powerprss'); ?> </a></p> <?php ?> </div> <div class="powerpress-step<?php echo $Step >= 2 ? ' active-step' : ''; ?> "> <h3><?php echo __('Step 3', 'powerpress'); ?> </h3> <p> <a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&action=powerpress-migrate-media&migrate_step=3"); ?> "><?php echo __('Update your Episodes', 'powerpress'); ?> </a> </p> <br /> <?php if ($CompletedCount) { ?> <p class="normal"><?php echo sprintf(__('%d episodes updated', 'powerpress'), $CompletedCount); ?> </p><?php } ?> <!-- <p class="normal">0 episodes updated</p> --> <p class="normal"><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&action=powerpress-migrate-media&migrate_step=3"); ?> "><?php echo __('Update Episodes Now', 'powerpress'); ?> </a></p> <?php ?> </div> <div class="clear"></div> </div> <div class="clear"></div> <br /><br /> <?php if (!empty($MigrateStatus['updated_timestamp'])) { ?> <p> <strong><?php echo __('Migration status last updated', 'powerpress'); ?> </strong><br /> <?php echo date_i18n(get_option('date_format') . ' - ' . get_option('time_format'), $MigrateStatus['updated_timestamp'], false); ?> </p> <p><a href="<?php echo admin_url("admin.php?page=powerpress/powerpressadmin_migrate.php&action=powerpress-migrate-media&migrate_step=2"); ?> "><?php echo __('List of requested media', 'powerpress'); ?> </a></p> <?php } if ($SkippedCount > 0 || $FailedCount > 0) { // TODO: Print a message letting folks know they can go to blubrry.com to see the migration status of the failed URLs. ?> <p><strong><a href="http://publish.blubrry.com/content/media_migrate2.php" target="_blank"><?php echo __('Please sign into blubrry.com to review media that failed to migrate.', 'powerpress'); ?> </a></strong></p> <?php } ?> <?php if ($Step > 0) { ?> <p> <?php echo __('Migration can take a while, please be patient. Please contact support if you do not see results within 48 hours. You may repeat these steps if additional episdoes have been added after to starting migration.', 'powepress'); ?> </p> <p><a href="<?php echo admin_url(); echo wp_nonce_url("admin.php?page=powerpress/powerpressadmin_migrate.php&migrate_action=reset_migrate_media&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> <?php ?> </p> <br /><br /> <?php } }
function powerpress_admin_page_header($page = false, $nonce_field = 'powerpress-edit', $simple_mode = false) { if (!$page) { $page = 'powerpress/powerpressadmin_basic.php'; } ?> <div class="wrap" id="powerpress_settings"> <?php if ($nonce_field) { ?> <form enctype="multipart/form-data" method="post" action="<?php echo admin_url('admin.php?page=' . $page); ?> "> <?php wp_nonce_field($nonce_field); } powerpress_page_message_print(); }
function powerpress_admin_podpress() { $results = powerpress_get_podpress_episodes(false); $Settings = powerpress_get_settings('powerpress_general', false); if (!isset($Settings['custom_feeds']['podcast'])) { $Settings['custom_feeds']['podcast'] = __('Podcast Feed (default)', 'powerpress'); } $AllowImport = false; $AllowCleanup = true; if ($results) { if ($results['feeds_required'] > count($Settings['custom_feeds'])) { powerpress_page_message_add_error(sprintf(__('We found blog posts that have %d media files. You will need to create %d more Custom Feed%s in order to continue.', 'powerpress'), $results['feeds_required'], $results['feeds_required'] - count($Settings['custom_feeds']), $results['feeds_required'] - count($Settings['custom_feeds']) > 1 ? 's' : '')); } else { $AllowImport = true; } } powerpress_page_message_print(); powerpressadmin_podpress_import_print_log(); ?> <style type="text/css"> .column-exclude { width: 80px; } .column-post-date { width: 80px; } label { float: left; width: 160px; } </style> <script language="javascript"><!-- function check_radio_selection(obj, PostID, FileIndex) { if( obj.value == '' ) // Users can select the no feed option as much as they want return true; var Field = obj.id; while( Field.charAt( Field.length-1 ) >= "0" && Field.charAt( Field.length-1 ) <= "9" ) // ( chr < "0" ) || ( chr > "9" ) { Field = Field.substring(0, Field.length-1); } var Pos = 0; var CheckObj = document.getElementsByName( "Import["+PostID+"]["+Pos+"]" ); while( CheckObj ) { if( CheckObj.length == 0 ) break; if( Pos != FileIndex ) { for (var i = 0; i < CheckObj.length; i++) { if (CheckObj[i].type == 'radio' && CheckObj[i].checked && CheckObj[i].value == obj.value ) { alert("<?php echo __('Sorry, you may only select one media file per post per feed.', 'powerpress'); ?> "); return false; } } } Pos++; var CheckObj = document.getElementsByName( "Import["+PostID+"]["+Pos+"]" ); } return true; } function no_import_all() { if( !confirm('<?php echo __('Select "No Import" option for all media files?', 'powerpress'); ?> ') ) return; var Inputs = document.getElementsByTagName('input'); for (var i = 0; i < Inputs.length; i++) { var Elem = Inputs[i]; if( Elem.type == 'radio' && Elem.value == '' ) Elem.checked = true; } } function select_all(index,value) { var NoImport = []; var Inputs = document.getElementsByTagName('input'); for (var i = 0; i < Inputs.length; i++) { var Elem = Inputs[i]; if( Elem.type == 'radio' && Elem.value == value ) { ElemIndex = Elem.id.substring( Elem.id.lastIndexOf('_')+1); if( ElemIndex == index ) Elem.checked = true; else if( Elem.checked && Elem.value != '' ) NoImport.push( Elem.id ); } } for (var i = 0; i < Inputs.length; i++) { var Elem = Inputs[i]; if( Elem.type == 'radio' && Elem.value == '' ) { for (var j = 0; j < NoImport.length; j++) { if( NoImport[j] == Elem.id ) Elem.checked = true; } } } } //--> </script> <h2><?php echo __('Import PodPress Episodes', 'powerpress'); ?> </h2> <?php //echo "<pre id=\"podpress_debug_info\" style=\"display: none;\">"; //print_r($results); //echo "</pre>"; //echo '<p><a href="#" onclick="javascript:document.getElementById(\'podpress_debug_info\').style.display=\'block\';this.style.display=\'none\';return false;">Show Debug Info</a></p>'; if (count($results) == 0 || count($results) == 1) { ?> <p><?php echo __('No PodPress episodes found to import.', 'powerpress'); ?> </p> <?php } else { ?> <input type="hidden" name="action" value="powerpress-importpodpress" /> <p><?php echo __('Select the media file under each feed for each episode you wish to import.', 'powerpress'); ?> </p> <table class="widefat fixed" cellspacing="0"> <thead> <tr> <?php print_column_headers('powerpressadmin_importpodpress'); ?> </tr> </thead> <tfoot> <tr> <?php print_column_headers('powerpressadmin_importpodpress', false); ?> </tr> </tfoot> <tbody> <?php $StrandedEpisodes = 0; $ImportableEpisodes = 0; $count = 0; while (list($post_id, $import_data) = each($results)) { $edit_link = get_edit_post_link($post_id); if ($post_id == 'feeds_required') { continue; } $columns = powerpressadmin_importpodpress_columns(); $CurrentEnclosures = array(); if (is_array($Settings['custom_feeds'])) { while (list($feed_slug, $value) = each($Settings['custom_feeds'])) { if ($feed_slug == 'podcast') { $enclosure_data = get_post_meta($post_id, 'enclosure', true); } else { $enclosure_data = get_post_meta($post_id, '_' . $feed_slug . ':enclosure', true); } if (!$enclosure_data) { continue; } @(list($EnclosureURL, $EnclosureSize, $EnclosureType, $Serialized) = @explode("\n", $enclosure_data)); if ($EnclosureURL) { $CurrentEnclosures[$feed_slug] = array(); $CurrentEnclosures[$feed_slug]['url'] = trim($EnclosureURL); $CurrentEnclosures[$feed_slug]['imported'] = false; } $found = false; while (list($episode_index, $episode_data) = each($import_data['podpress_data'])) { if ($episode_data['url'] == $CurrentEnclosures[$feed_slug]['url']) { $import_data['podpress_data'][$episode_index]['imported'] = true; $CurrentEnclosures[$feed_slug]['imported'] = true; $found = true; break; } } reset($import_data['podpress_data']); if ($found == false) { // Add it to the media file list, prepend it... $not_podpress_data = array(); $not_podpress_data['url'] = $CurrentEnclosures[$feed_slug]['url']; $not_podpress_data['imported'] = true; $not_podpress_data['not_podpress'] = true; array_push($import_data['podpress_data'], $not_podpress_data); $CurrentEnclosures[$feed_slug]['imported'] = true; $CurrentEnclosures[$feed_slug]['present'] = true; } } reset($Settings['custom_feeds']); } if ($count % 2 == 0) { echo '<tr valign="middle" class="alternate">'; } else { echo '<tr valign="middle">'; } $CheckedEpisodes = array(); // key = file_index, value = feed-slug $feed_index = 0; foreach ($columns as $column_name => $column_display_name) { $class = "class=\"column-{$column_name}\""; switch ($column_name) { case 'post-title': echo '<td ' . $class . '><strong>'; if (current_user_can('edit_post', $post_id)) { ?> <a class="row-title" href="<?php echo $edit_link; ?> " title="<?php echo esc_attr(sprintf(__('Edit "%s"', 'powerpress'), $import_data['post_title'])); ?> "><?php echo $import_data['post_title']; ?> </a><?php } else { echo $import_data['post_title']; } echo '</strong><br />'; echo '<div style="margin-left: 10px;">'; $index = 1; while (list($episode_index, $episode_data) = each($import_data['podpress_data'])) { $Parts = parse_url($episode_data['url']); $filename = substr($Parts['path'], strrpos($Parts['path'], '/') + 1); echo "File {$index}: "; if (empty($episode_data['not_podpress']) && empty($episode_data['imported'])) { echo '<span style="color: #CC0000; font-weight: bold; cursor:pointer;" onclick="alert(\'' . __('File', 'powerpress') . ': ' . $filename . '\\n' . __('URL', 'powerpress') . ': ' . $episode_data['url'] . '\')">'; $AllowCleanup = false; $StrandedEpisodes++; } else { if (empty($episode_data['not_podpress']) && $episode_data['imported']) { echo '<span style="color: green; font-weight: bold; cursor:pointer;" onclick="alert(\'' . __('File', 'powerpress') . ' ' . $filename . '\\n' . __('URL', 'powerpress') . ': ' . $episode_data['url'] . '\')">'; } } if (empty($episode_data['not_podpress']) && empty($episode_data['imported'])) { echo '*'; } echo $filename; if (empty($episode_data['not_podpress'])) { echo '</span>'; } echo '<br/>'; $index++; } reset($import_data['podpress_data']); echo '</div>'; echo '</td>'; break; case 'post-date': echo "<td {$class}>"; $timestamp = strtotime($import_data['post_date']); echo date('Y/m/d', $timestamp); echo "</td>"; break; case 'feed-slug': echo "<td {$class}>{$feed_slug}"; echo "</td>"; break; default: echo "<td {$class}>"; $feed_slug = substr($column_name, 5); if ($column_name == 'exclude') { $feed_slug = ''; } $enclosure_data = false; $EnclosureURL = ''; echo '<div class=""> <br />'; if (isset($CurrentEnclosures[$feed_slug]) && $CurrentEnclosures[$feed_slug]['imported']) { $index = 1; while (list($episode_index, $episode_data) = each($import_data['podpress_data'])) { echo "File {$index}: "; if ($CurrentEnclosures[$feed_slug]['url'] == $episode_data['url']) { if (!empty($CurrentEnclosures[$feed_slug]['present'])) { echo '<strong style="color: green;">' . __('present', 'powerpress') . '</strong>'; } else { echo '<strong style="color: green;">' . __('imported', 'powerpress') . '</strong>'; } } else { echo 'X'; } echo "<br/>\n"; $index++; } reset($import_data['podpress_data']); } else { $index = 1; while (list($episode_index, $episode_data) = each($import_data['podpress_data'])) { echo __('File', 'powerpress') . " {$index}: "; if (!empty($episode_data['imported'])) { echo ' X'; } else { $checked = ''; if (!isset($CheckedEpisodes[$episode_index]) && !in_array($feed_slug, $CheckedEpisodes)) { $checked = 'checked'; $CheckedEpisodes[$episode_index] = $feed_slug; } if (!isset($CheckedEpisodes[$episode_index]) && $feed_slug == '') { $checked = 'checked'; } echo '<input type="radio" id="import_' . $post_id . '_' . $episode_index . '" name="Import[' . $post_id . '][' . $episode_index . ']" value="' . $feed_slug . '" ' . $checked . ' onclick="return check_radio_selection(this, ' . $post_id . ', ' . $episode_index . ')" />'; } echo '<br/>'; $index++; } reset($import_data['podpress_data']); } echo '</div>'; echo "</td>"; $feed_index++; break; } } echo "\n </tr>\n"; $count++; } ?> </tbody> </table> <p><?php echo sprintf(__('Importable episodes highlighted in %s with asterisks *.', 'powerpress'), '<span style="color: #CC0000; font-weight: bold;">' . __('red', 'powerpress') . '</span>'); ?> </p> <p style="margin-bottom: 0; padding-bottom: 0;"><?php echo __('Select Only', 'powerpress'); ?> :</p> <?php if ($results['feeds_required'] < 1) { $results['feeds_required'] = 1; } for ($number = 0; $number < $results['feeds_required']; $number++) { ?> <p style="margin: 0 0 0 40px; padding: 0;"> File <?php echo $number + 1; ?> : <?php while (list($feed_slug, $feed_title) = each($Settings['custom_feeds'])) { echo '<a href="javascript:void()" onclick="select_all(' . $number . ',\'' . $feed_slug . '\');return false;">' . htmlspecialchars($feed_title) . '</a> | '; } ?> <a href="javascript:void()" onclick="select_all(<?php echo $number; ?> ,'');return false;"><?php echo __('No Import', 'powerpress'); ?> </a> </p> <?php break; } } if (!empty($StrandedEpisodes)) { ?> <p><?php echo sprintf(__('There are %d PodPress media files that can be imported.', 'powerpress'), $StrandedEpisodes); ?> </p> <?php } if ($AllowImport) { if (count($results) > 1 && $StrandedEpisodes > 0) { ?> <p class="submit"> <input type="submit" name="Submit" id="powerpress_import_button" class="button-primary" value="<?php echo __('Import Episodes', 'powerpress'); ?> " /> </p> <?php } else { ?> <p class="submit"> <input type="button" name="Submit" id="powerpress_import_button" class="button-primary" value="<?php echo __('Import Episodes', 'powerpress'); ?> " onclick="alert('<?php echo __('There are no PodPress episodes found to import.', 'powerpress'); ?> ');" /> </p> <?php } /* if( $AllowCleanup ) { ?> </form> <form enctype="multipart/form-data" method="post" action="<?php echo admin_url('admin.php?page=powerpress/powerpressadmin_tools.php') ?>"> <?php wp_nonce_field('powerpress-delete-podpress-data'); ?> <input type="hidden" name="action" value="deletepodpressdata" /> <p class="submit"> <input type="submit" name="Submit" id="powerpress_delete_button" class="button-primary" value="Delete PodPress Data from Database" onclick="return confirm('Delete old PodPress data from database, are you sure?\n\nAll PodPress episode data will be permanently deleted.');" /> <br /> There is no need to delete PodPress data, but if you prefer to clean up your database then please feel free to use this option. </p> <?php } else { ?> <p class="submit"> <input type="button" name="Submit" id="powerpress_delete_button" class="button-primary" value="Delete PodPress Data from Database" onclick="alert('This option will be enabled once all PodPress episodes have been imported.');" /> </p> <?php } */ } else { ?> <div class="error powerpress-error"> <?php echo sprintf(__('We found blog posts that have %d media files.', 'powerpress'), $results['feeds_required']); echo sprintf(__('You will need to create %d Podcast Channels to continue.', 'powerpress'), $results['feeds_required'] - count($Settings['custom_feeds'])); ?> </div> <p> <?php echo __('Blubrry PowerPress does not allow you to include multiple media files for one feed item (blog post).', 'powerpress'); echo __('This is because each podcatcher handles multiple enclosures in feeds differently. iTunes will download the first enclosure that it sees in the feed ignoring the rest.', 'powerpress'); echo __('Other podcatchers and podcasting directories either pick up the first enclosure or the last in each post item.', 'powerpress'); echo sprintf(__('This inconsistency combined with the fact that Dave Winer does not recommend multiple enclosures (%s) and FeedValidator.org (%s) recommendation against it is why Blubrry PowerPress does not support them.', 'powerpress'), '<a href="http://www.reallysimplesyndication.com/2004/12/21" target="_blank">' . __('Link', 'powerpress') . '</a>', '<a href="http://www.feedvalidator.org/docs/warning/DuplicateEnclosure.html" target="_blank">' . __('Link', 'powerpress') . '</a>'); ?> </p> <p><?php echo sprintf(__('As a alternative, PowerPress allows you to create additional %s to associate additional media files in a blog post to specific feed channels.', 'powerpress'), '<a href="' . admin_url('admin.php?page=powerpress/powerpressadmin_customfeeds.php') . '">' . __('Custom Podcast Channels', 'powerpress') . '</a>'); ?> </p> <p class="submit"> <input type="button" name="Submit" id="powerpress_import_button" class="button-primary" value="<?php echo __('Import Episodes', 'powerpress'); ?> " onclick="alert('<?php echo __('We found blog posts that have %d media files.', 'powerpress'); echo '\\n\\n'; echo sprintf(__('You will need to create %d additional Podcast Channels in order to continue.', 'powerpress') . $results['feeds_required'], $results['feeds_required'] - count($Settings['custom_feeds'])); ?> ');" /> </p> <?php } ?> </form> <hr /> <form enctype="enctype" method="get" action="<?php echo admin_url('admin.php'); ?> "> <input type="hidden" name="page" value="powerpress/powerpressadmin_tools.php" /> <input type="hidden" name="action" value="powerpress-podpress-epiosdes" /> <h2><?php echo __('Filter Results', 'powerpress'); ?> </h2> <p><label><?php echo __('Include Only', 'powerpress'); ?> </label><input type="text" name="include_only_ext" value="<?php if (!empty($_GET['include_only_ext'])) { echo htmlspecialchars($_GET['include_only_ext']); } ?> " style="width: 240px;" /> <?php echo __('(leave blank for all media)', 'powerpress'); ?> <br /> <label> </label><?php echo __('specify the file extensions to include separated by commas (e.g. mp3, m4v).', 'powerpress'); ?> </p> <p class="submit"> <input type="submit" name="Submit" class="button-primary" value="Filter Episodes" /> </p> <!-- start footer --> <?php }
function import() { ?> <div class="wrap"> <h3><?php _e('Importing Podcast', 'powerpress'); ?> </h3> <?php $result = false; if (empty($_POST['podcast_feed_url'])) { ?> <p><?php _e('From Uploaded file...', 'powerpress'); ?> </p><?php $result = $this->_import_handle_upload(); } else { ?> <p><?php _e('From URL', 'powerpress'); ?> <?php echo esc_html($_POST['podcast_feed_url']); ?> </p><?php $result = $this->_import_handle_url(); } if ($result == false) { return; } $import_strict = !empty($_POST['import_strict']) ? true : false; $import_blog_posts = !empty($_POST['import_blog_posts']) ? true : false; $import_item_limit = !empty($_POST['import_item_limit']) ? intval($_POST['import_item_limit']) : 0; if (preg_match('/^(.*)<item>/is', $this->m_content, $matches)) { $overwrite_program_info = !empty($_POST['import_overwrite_program_info']) ? true : false; $import_itunes_image = !empty($_POST['import_itunes_image']) ? true : false; $this->import_program_info($matches[1], $overwrite_program_info, $import_itunes_image); } $this->import_episodes($import_strict, $import_blog_posts, $import_item_limit); $migrated_to_blubrry = false; if (!empty($_POST['migrate_to_blubrry']) && !empty($GLOBALS['pp_migrate_media_urls'])) { require_once POWERPRESS_ABSPATH . '/powerpressadmin-migrate.php'; $migrated_to_blubrry = true; $update_option = true; $QueuedFiles = get_option('powerpress_migrate_queued'); if (!is_array($QueuedFiles)) { $QueuedFiles = array(); $update_option = false; } $add_urls = ''; while (list($meta_id, $url) = each($GLOBALS['pp_migrate_media_urls'])) { if (!empty($add_urls)) { $add_urls .= "\n"; } $add_urls .= $url; } $UpdateResults = powepress_admin_migrate_add_urls($add_urls); if (!empty($UpdateResults)) { // Queued ok... if ($update_option) { update_option('powerpress_migrate_queued', $QueuedFiles); } else { add_option('powerpress_migrate_queued', $QueuedFiles, '', 'no'); } } } powerpress_page_message_print(); echo '<h3>'; echo __('Import Completed!', 'powerpress'); echo '</h3>'; echo '<p>' . sprintf(__('Items Skipped: %d', 'powerpress'), $this->m_item_skipped_count) . '</p>'; echo '<p>' . sprintf(__('Items Inserted: %d', 'powerpress'), $this->m_item_inserted_count) . '</p>'; echo ''; if ($migrated_to_blubrry) { echo '<p>' . sprintf(__('Visit %s to monitor the migration process.', 'powerpress'), '<strong><a href="' . admin_url('admin.php?page=powerpress/powerpressadmin_migrate.php') . '">' . __('Migrate Media', 'powerpress') . '</a></strong>') . '</p>'; } else { echo '<p>' . sprintf(__('You may now migrate your media manually or use the %s tool.', 'powerpress'), '<strong><a href="' . admin_url('admin.php?page=powerpress/powerpressadmin_migrate.php') . '">' . __('Migrate Media', 'powerpress') . '</a></strong>') . '</p>'; } }