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');
}
?>
|