2 ) $powerpress_diags['uploading_artwork']['message'] = $UploadArray['error']; else $powerpress_diags['uploading_artwork']['message'] = __('An error occurred obtaining the uploads directory from WordPress.', 'powerpress'); } // Fourth, see if we have enough memory and we're running an appropriate version of PHP $powerpress_diags['system_info'] = array(); $powerpress_diags['system_info']['warning'] = false; $powerpress_diags['system_info']['success'] = true; $powerpress_diags['system_info']['php_version'] = phpversion(); $powerpress_diags['system_info']['php_cgi'] = (function_exists('php_sapi_name') && preg_match('/cgi/i', php_sapi_name())? true : false ); $powerpress_diags['system_info']['memory_limit'] = (int) ini_get('memory_limit'); $powerpress_diags['system_info']['temp_directory'] = get_temp_dir(); // Function available since WP2.5+ // testing: //$powerpress_diags['system_info']['memory_limit'] = -1; //$powerpress_diags['system_info']['memory_limit'] = 0; //$powerpress_diags['system_info']['memory_limit'] = 16; if( $powerpress_diags['system_info']['memory_limit'] == 0 ) { if( version_compare($powerpress_diags['system_info']['php_version'], '5.2') > 0 ) $powerpress_diags['system_info']['memory_limit'] = 128; else if( version_compare($powerpress_diags['system_info']['php_version'], '5.2') == 0 ) $powerpress_diags['system_info']['memory_limit'] = 16; else $powerpress_diags['system_info']['memory_limit'] = 8; } $powerpress_diags['system_info']['memory_used'] = 0; if( version_compare($powerpress_diags['system_info']['php_version'], '7.0') > -1 ) { $powerpress_diags['system_info']['message'] = sprintf( __('Your version of PHP (%s) is OK!', 'powerpress'), $powerpress_diags['system_info']['php_version'] ); } else if( version_compare($powerpress_diags['system_info']['php_version'], '5.4') > -1 ) { $powerpress_diags['system_info']['message'] = sprintf( __('Your version of PHP (%s) is OK, though PHP 7.0 or newer is recommended.', 'powerpress'), $powerpress_diags['system_info']['php_version'] ); } else { $powerpress_diags['system_info']['message'] = sprintf( __('Your version of PHP (%s) will work, but PHP 7.0 or newer is recommended.', 'powerpress'), $powerpress_diags['system_info']['php_version'] ); } $used = 0; $total = $powerpress_diags['system_info']['memory_limit']; if( $total == -1 ) { $powerpress_diags['system_info']['message2'] = __('Your scripts have no limit to the amount of memory they can use.', 'powerpress'); $used = (function_exists('memory_get_peak_usage')? memory_get_peak_usage() : ( function_exists('memory_get_usage') ? memory_get_usage() : 0 ) ); if( $used ) $powerpress_diags['system_info']['memory_used'] = round($used / 1024 / 1024, 2); } else if( function_exists('memory_get_peak_usage') ) { $used = round(memory_get_peak_usage() / 1024 / 1024, 2); $powerpress_diags['system_info']['memory_used'] = $used; $percent = ($used/$total)*100; $powerpress_diags['system_info']['message2'] = sprintf(__('You are using %d%% (%.01fM of %.01dM) of available memory.', 'powerpress'), $percent, $used, $total); } else if( function_exists('memory_get_usage') ) { $used = round(memory_get_usage() / 1024 / 1024, 2); $powerpress_diags['system_info']['memory_used'] = $used; $percent = ($used/$total)*100; $powerpress_diags['system_info']['message2'] = sprintf(__('You are using %d%% (%.01fM of %dM) of available memory. Versions of PHP 5.2 or newer will give you a more accurate total of memory usage.', 'powerpress'), $percent, $used, $total); } else { $powerpress_diags['system_info']['message2'] = sprintf(__('Your scripts have a total of %dM.', 'powerpress'), $total ); } if( $total > 0 && ($used + 4) > $total ) { $powerpress_diags['system_info']['warning'] = true; $powerpress_diags['system_info']['message2'] = __('Warning:', 'powerpress') .' '. $powerpress_diags['system_info']['message2']; $powerpress_diags['system_info']['message2'] .= ' '; $powerpress_diags['system_info']['message2'] .= sprintf(__('We recommend that you have at least %dM (4M more that what is currently used) or more memory to accomodate all of your installed plugins.', 'powerpress'), ceil($used)+4 ); } if( empty($powerpress_diags['system_info']['temp_directory']) ) { $powerpress_diags['system_info']['success'] = false; $powerpress_diags['system_info']['message3'] = __('Error:', 'powerpress') .' '. __('No temporary directory available.', 'powerpress'); } else if( is_dir($powerpress_diags['system_info']['temp_directory']) && is_writable($powerpress_diags['system_info']['temp_directory']) ) { $powerpress_diags['system_info']['message3'] = sprintf(__('Temporary directory %s is writable.', 'powerpress'), $powerpress_diags['system_info']['temp_directory']); } else { $powerpress_diags['system_info']['success'] = false; $powerpress_diags['system_info']['message3'] = __('Error:', 'powerpress') .' '. sprintf(__('Temporary directory %s is not writable.', 'powerpress'), $powerpress_diags['system_info']['temp_directory']); } if( empty($powerpress_diags['system_info']['php_cgi']) ) { $powerpress_diags['system_info']['message4'] = ''; } else { $powerpress_diags['system_info']['message4'] = __('Warning:', 'powerpress') .' '. __('PHP running in CGI mode.', 'powerpress'); } if( isset($_GET['Email']) && strlen($_GET['Email']) > 4 ) { check_admin_referer('powerpress-diagnostics'); $email = $_GET['Email']; powerpressadmin_diagnostics_email($email); powerpress_page_message_add_notice( sprintf(__('Diagnostic results sent to %s.', 'powerpress'), $email) ); } } function powerpressadmin_diagnostics_email($email) { global $powerpress_diags, $wpmu_version, $wp_version, $powerpress_diag_message; $SettingsGeneral = get_option('powerpress_general'); // First we need some basic information about the blog... $message = __('Blog Title:', 'powerpress') .' '. get_bloginfo('name') . "
\n"; $message .= __('Blog URL:', 'powerpress') .' '. get_bloginfo('url') . "
\n"; $message .= __('WordPress Version:', 'powerpress') .' '. $wp_version . "
\n"; if( !empty($wpmu_version) ) $message .= __('WordPress MU Version:', 'powerpress') .' '. $wpmu_version . "
\n"; $message .= __('System:', 'powerpress') .' '. $_SERVER['SERVER_SOFTWARE'] . "
\n"; $message .= __('Open basedir:', 'powerpress') .' '. ini_get('open_basedir') ."
\n"; // Crutial PowerPress Settings $message .= "
\n"; $message .= ''. __('Important PowerPress Settings', 'powerpress') ."
\n"; $message .= "   \t   ". __('PowerPress version:', 'powerpress') .' '. POWERPRESS_VERSION ."
\n"; $message .= "   \t   ". __('episode box file size/duration fields:', 'powerpress') .' '. ( empty($SettingsGeneral['episode_box_mode']) ?__('yes', 'powerpress'): ($SettingsGeneral['episode_box_mode']==1?__('no', 'powerpress'):__('yes', 'powerpress')) ) ."
\n"; $message .= "   \t   ". __('Podcasting capability:', 'powerpress') .' '. ( empty($SettingsGeneral['use_caps'])?__('Disabled (default)', 'powerpress'): __('Enabled', 'powerpress')) ."
\n"; $message .= "   \t   ". __('Feed capability:', 'powerpress') .' '. ( empty($SettingsGeneral['feed_caps'])?__('Disabled (default)', 'powerpress'): __('Enabled', 'powerpress')) ."
\n"; $message .= "   \t   ". __('Category Podcasting:', 'powerpress') .' '. ( empty($SettingsGeneral['cat_casting']) ?__('Disabled (default)', 'powerpress'): __('Enabled', 'powerpress')) ."
\n"; $message .= "   \t   ". __('Podcast Channels:', 'powerpress') .' '. ( empty($SettingsGeneral['channels']) ?__('Disabled (default)', 'powerpress'): __('Enabled', 'powerpress')) ."
\n"; $message .= "   \t   ". __('Additional Player Options:', 'powerpress') .' '. ( empty($SettingsGeneral['player_options'])?__('Disabled (default)', 'powerpress'): __('Enabled', 'powerpress')) ."
\n"; // Detecting Media Information $message .= "
\n"; $message .= ''.__('Detecting Media Information', 'powerpress') ."
\n"; $message .= "   \t   ". __('success:', 'powerpress') .' '. ($powerpress_diags['detecting_media']['success']?'true':'false') ."
\n"; $message .= "   \t   ". __('warning:', 'powerpress') .' '. ($powerpress_diags['detecting_media']['warning']?'true':'false') ."
\n"; $message .= "   \t   ". __('allow_url_fopen:', 'powerpress') .' '. ($powerpress_diags['detecting_media']['allow_url_fopen']?'true':'false') ."
\n"; $message .= "   \t   ". __('curl:', 'powerpress') .' '. ($powerpress_diags['detecting_media']['curl']?'true':'false') ."
\n"; $message .= "   \t   ". __('curl_ssl:', 'powerpress') .' '. ($powerpress_diags['detecting_media']['curl_ssl']?'true':'false') ."
\n"; $message .= "   \t   ". __('openssl:', 'powerpress') .' '. ($powerpress_diags['detecting_media']['openssl']?'true':'false') ."
\n"; $message .= "   \t   ". __('message:', 'powerpress') .' '. $powerpress_diags['detecting_media']['message'] ."
\n"; $message .= "   \t   ". __('message 2:', 'powerpress') .' '. $powerpress_diags['detecting_media']['message2'] ."
\n"; $message .= "   \t   ". __('message 3:', 'powerpress') .' '. $powerpress_diags['detecting_media']['message3'] ."
\n"; // Pinging iTunes //$message .= "
\n"; //$message .= ''.__('Pinging iTunes', 'powerpress') ."
\n"; //$message .= "   \t   ". __('success:', 'powerpress') .' '. ($powerpress_diags['pinging_itunes']['success']?'true':'false') ."
\n"; //$message .= "   \t   ". __('curl_ssl:', 'powerpress') .' '. ($powerpress_diags['pinging_itunes']['curl_ssl']?'true':'false') ."
\n"; //$message .= "   \t   ". __('openssl:', 'powerpress') .' '. ($powerpress_diags['pinging_itunes']['openssl']?'true':'false') ."
\n"; //$message .= "   \t   ". __('message:', 'powerpress') .' '. $powerpress_diags['pinging_itunes']['message'] ."
\n"; // Uploading Artwork $message .= "
\n"; $message .= ''.__('Uploading Artwork', 'powerpress') ."
\n"; $message .= "   \t   ". __('success:', 'powerpress') .' '. ($powerpress_diags['uploading_artwork']['success']?'true':'false') ."
\n"; $message .= "   \t   ". __('file_uploads:', 'powerpress') .' '. ($powerpress_diags['uploading_artwork']['file_uploads']?'true':'false') ."
\n"; $message .= "   \t   ". __('writable:', 'powerpress') .' '. ($powerpress_diags['uploading_artwork']['writable']?'true':'false') ."
\n"; $message .= "   \t   ". __('upload_path:', 'powerpress') .' '. $powerpress_diags['uploading_artwork']['upload_path'] ."
\n"; $message .= "   \t   ". __('message:', 'powerpress') .' '. $powerpress_diags['uploading_artwork']['message'] ."
\n"; // System Information $message .= "
\n"; $message .= ''.__('System Information', 'powerpress') ."
\n"; $message .= "   \t   ". __('success:', 'powerpress') .' '. ($powerpress_diags['system_info']['success']?'true':'false') ."
\n"; $message .= "   \t   ". __('warning:', 'powerpress') .' '. ($powerpress_diags['system_info']['warning']?'yes':'no') ."
\n"; $message .= "   \t   ". __('php_version:', 'powerpress') .' '. $powerpress_diags['system_info']['php_version'] ."
\n"; $message .= "   \t   ". __('memory_limit:', 'powerpress') .' '. $powerpress_diags['system_info']['memory_limit'] ."M\n"; $message .= "   \t   ". __('memory_used:', 'powerpress') .' '. sprintf('%.01fM',$powerpress_diags['system_info']['memory_used']) ."
\n"; $message .= "   \t   ". __('temp directory:', 'powerpress') .' '. $powerpress_diags['system_info']['temp_directory'] ."
\n"; $message .= "   \t   ". __('message:', 'powerpress') .' '. $powerpress_diags['system_info']['message'] ."
\n"; $message .= "   \t   ". __('message 2:', 'powerpress') .' '. $powerpress_diags['system_info']['message2'] ."
\n"; $message .= "   \t   ". __('message 3:', 'powerpress') .' '. $powerpress_diags['system_info']['message3'] ."
\n"; if( !empty($powerpress_diags['system_info']['message4']) ) $message .= "   \t   ". __('message 4:', 'powerpress') .' '. $powerpress_diags['system_info']['message4'] ."
\n"; if( !empty($_GET['ap']) ) { $current_plugins = get_option('active_plugins'); $message .= "
\n"; $message .= ''.__('Active Plugins', 'powerpress') ."
\n"; foreach( $current_plugins as $null=> $plugin_path ) { $plugin_data = get_plugin_data( rtrim(WP_PLUGIN_DIR, '/\\'). '/'. rtrim($plugin_path, '\\/'), false, false ); //Do not apply markup/translate as it'll be cached. $message .= "   \t   " . __('Title:', 'powerpress') .' '. $plugin_data['Title']. "
\n"; $message .= "   \t   " . __('Relative Path:', 'powerpress') .' '. $plugin_path. "
\n"; $message .= "   \t   " . __('Version:', 'powerpress') .' '. $plugin_data['Version']. "
\n"; $message .= "   \t   " . __('Web Site:', 'powerpress') .' '. $plugin_data['PluginURI']. "
\n"; //$message .= "   \t   " . __('Description:', 'powerpress') .' '. $plugin_data['Description']. "
\n"; //$message .= "   \t   " . __('Author Name:', 'powerpress') .' '. $plugin_data['Author']. "
\n"; //$message .= "   \t   " . __('Author Web Site:', 'powerpress') .' '. $plugin_data['AuthorURI']. "
\n"; //print_r($plugin_data); $message .= "
\n"; } } //$message .= "   \t   ". __('success:', 'powerpress') .' '. ($powerpress_diags['system_info']['success']?'true':'false') ."
\n"; // Now lets loop through each section of diagnostics $user_info = wp_get_current_user(); $from_email = $user_info->user_email; $from_name = $user_info->user_nicename; $headers = 'From: "'.$from_name.'" <'.$from_email.'>'."\n" .'Reply-To: "'.$from_name.'" <'.$from_email.'>'."\n" .'Return-Path: "'.$from_name.'" <'.$from_email.'>'."\n"; if( !empty($_GET['CC']) ) $headers .= 'CC: "'.$from_name.'" <'.$from_email.'>'."\n"; $headers .= "Content-Type: text/html\n"; @wp_mail($email, sprintf(__('Blubrry PowerPress diagnostic results for %s', 'powerpress'), get_bloginfo('name')), $message, $headers); $powerpress_diag_message = $message; } function powerpressadmin_diagnostics_is_writable($dir) { // Make sure we can create a file in the specified directory... if( is_dir($dir) ) { return is_writable($dir); } return false; } function powerpressadmin_diagnostics_status($success=true, $warning=false) { $img = 'yes.png'; $color = '#458045'; $text = __('Success', 'powerpress'); if( $success == false ) // Failed takes precedence over warning { $img = 'no.png'; $color = '#CC0000'; $text = __('Failed', 'powerpress'); } else if( $warning ) { $img = '../../../wp-includes/images/smilies/icon_exclaim.gif'; $color = '#D98500'; $text = __('Warning', 'powerpress'); } ?>

CC: user_nicename}" <{$user_info->user_email}>"; ?>