function check_upload($errors)
 {
     $mime = get_allowed_mime_types();
     $size_limit = (int) wp_convert_hr_to_bytes(fep_get_option('attachment_size', '4MB'));
     $fields = (int) fep_get_option('attachment_no', 4);
     for ($i = 0; $i < $fields; $i++) {
         $tmp_name = isset($_FILES['fep_upload']['tmp_name'][$i]) ? basename($_FILES['fep_upload']['tmp_name'][$i]) : '';
         $file_name = isset($_FILES['fep_upload']['name'][$i]) ? basename($_FILES['fep_upload']['name'][$i]) : '';
         //if file is uploaded
         if ($tmp_name) {
             $attach_type = wp_check_filetype($file_name);
             $attach_size = $_FILES['fep_upload']['size'][$i];
             //check file size
             if ($attach_size > $size_limit) {
                 $errors->add('AttachmentSize', sprintf(__("Attachment (%s) file is too big", 'fep'), $file_name));
             }
             //check file type
             if (!in_array($attach_type['type'], $mime)) {
                 $errors->add('AttachmentType', sprintf(__("Invalid attachment file type.Allowed Types are (%s)", 'fep'), implode(',', $mime)));
             }
         }
         // if $filename
     }
     // endfor
     //return $errors;
 }
 protected function init_tabs()
 {
     $this->tabs->add('info', __('System Info', APP_TD));
     $this->tabs->add('cron', __('Cron Jobs', APP_TD));
     $current_theme = wp_get_theme();
     if (is_child_theme()) {
         $current_theme = wp_get_theme($current_theme->Template);
     }
     $this->tab_sections['info']['theme'] = array('title' => __('Theme Info', APP_TD), 'fields' => array(array('title' => __('Theme Name', APP_TD), 'type' => 'text', 'name' => array('system_info', 'theme_name'), 'extra' => array('style' => 'display: none;'), 'desc' => $current_theme->Name), array('title' => __('Theme Version', APP_TD), 'type' => 'text', 'name' => array('system_info', 'theme_version'), 'extra' => array('style' => 'display: none;'), 'desc' => $current_theme->Version)));
     $this->tab_sections['info']['wp'] = array('title' => __('WordPress Info', APP_TD), 'fields' => array(array('title' => __('Home URL', APP_TD), 'type' => 'text', 'name' => array('system_info', 'home_url'), 'extra' => array('style' => 'display: none;'), 'desc' => home_url()), array('title' => __('Site URL', APP_TD), 'type' => 'text', 'name' => array('system_info', 'site_url'), 'extra' => array('style' => 'display: none;'), 'desc' => site_url()), array('title' => __('Theme Path', APP_TD), 'type' => 'text', 'name' => array('system_info', 'theme_path'), 'extra' => array('style' => 'display: none;'), 'desc' => get_template_directory_uri()), array('title' => __('WP Version', APP_TD), 'type' => 'text', 'name' => array('system_info', 'wp_version'), 'extra' => array('style' => 'display: none;'), 'desc' => is_multisite() ? get_bloginfo('version') . ' - ' . __('Multisite', APP_TD) : get_bloginfo('version')), array('title' => __('WP Memory Limit', APP_TD), 'type' => 'text', 'name' => array('system_info', 'wp_memory_limit'), 'extra' => array('style' => 'display: none;'), 'desc' => size_format(wp_convert_hr_to_bytes(WP_MEMORY_LIMIT))), array('title' => __('WP Max Upload Size', APP_TD), 'type' => 'text', 'name' => array('system_info', 'wp_max_upload_size'), 'extra' => array('style' => 'display: none;'), 'desc' => size_format(wp_max_upload_size())), array('title' => __('WP Debug Mode', APP_TD), 'type' => 'text', 'name' => array('system_info', 'wp_debug_mode'), 'extra' => array('style' => 'display: none;'), 'desc' => defined('WP_DEBUG') && WP_DEBUG ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('Force SSL Admin', APP_TD), 'type' => 'text', 'name' => array('system_info', 'force_ssl_admin'), 'extra' => array('style' => 'display: none;'), 'desc' => defined('FORCE_SSL_ADMIN') && FORCE_SSL_ADMIN ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('Child Theme', APP_TD), 'type' => 'text', 'name' => array('system_info', 'child_theme'), 'extra' => array('style' => 'display: none;'), 'desc' => is_child_theme() ? __('Yes', APP_TD) : __('No', APP_TD))));
     $this->tab_sections['info']['server'] = array('title' => __('Server Info', APP_TD), 'fields' => array(array('title' => __('Server Software', APP_TD), 'type' => 'text', 'name' => array('system_info', 'server_software'), 'extra' => array('style' => 'display: none;'), 'desc' => $_SERVER['SERVER_SOFTWARE']), array('title' => __('PHP Version', APP_TD), 'type' => 'text', 'name' => array('system_info', 'php_version'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('phpversion') ? phpversion() : __('Function phpversion() is not available.', APP_TD)), array('title' => __('MySQL Version', APP_TD), 'type' => 'text', 'name' => array('system_info', 'mysql_version'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('mysql_get_server_info') ? mysql_get_server_info() : __('Function mysql_get_server_info() is not available.', APP_TD)), array('title' => __('PHP Post Max Size', APP_TD), 'type' => 'text', 'name' => array('system_info', 'post_max_size'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('ini_get') ? size_format(wp_convert_hr_to_bytes(ini_get('post_max_size'))) : __('Function ini_get() is not available.', APP_TD)), array('title' => __('PHP Max Input Vars', APP_TD), 'type' => 'text', 'name' => array('system_info', 'max_input_vars'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('ini_get') ? ini_get('max_input_vars') : __('Function ini_get() is not available.', APP_TD)), array('title' => __('PHP Time Limit', APP_TD), 'type' => 'text', 'name' => array('system_info', 'max_execution_time'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('ini_get') ? ini_get('max_execution_time') : __('Function ini_get() is not available.', APP_TD)), array('title' => __('Upload Max Filesize', APP_TD), 'type' => 'text', 'name' => array('system_info', 'upload_max_filesize'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('ini_get') ? size_format(wp_convert_hr_to_bytes(ini_get('upload_max_filesize'))) : __('Function ini_get() is not available.', APP_TD)), array('title' => __('Display Errors', APP_TD), 'type' => 'text', 'name' => array('system_info', 'display_errors'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('ini_get') ? ini_get('display_errors') ? __('Yes', APP_TD) : __('No', APP_TD) : __('Function ini_get() is not available.', APP_TD)), array('title' => __('SUHOSIN Installed', APP_TD), 'type' => 'text', 'name' => array('system_info', 'suhosin'), 'extra' => array('style' => 'display: none;'), 'desc' => extension_loaded('suhosin') ? __('Yes', APP_TD) : __('No', APP_TD))));
     $this->tab_sections['info']['image'] = array('title' => __('Image Support', APP_TD), 'fields' => array(array('title' => __('GD Library Installed', APP_TD), 'type' => 'text', 'name' => array('system_info', 'gd_library'), 'extra' => array('style' => 'display: none;'), 'desc' => extension_loaded('gd') && function_exists('gd_info') ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('Image Upload Path', APP_TD), 'type' => 'text', 'name' => array('system_info', 'wp_upload_path'), 'extra' => array('style' => 'display: none;'), 'desc' => ($uploads = wp_upload_dir()) ? $uploads['url'] : '')));
     $this->tab_sections['info']['other'] = array('title' => __('Other Checks', APP_TD), 'fields' => array(array('title' => __('JSON Decode', APP_TD), 'type' => 'text', 'name' => array('system_info', 'json_decode'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('json_decode') ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('cURL Enabled', APP_TD), 'type' => 'text', 'name' => array('system_info', 'curl'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('curl_init') ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('fsockopen Enabled', APP_TD), 'type' => 'text', 'name' => array('system_info', 'fsockopen'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('fsockopen') ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('OpenSSL Enabled', APP_TD), 'type' => 'text', 'name' => array('system_info', 'openssl_open'), 'extra' => array('style' => 'display: none;'), 'desc' => function_exists('openssl_open') ? __('Yes', APP_TD) : __('No', APP_TD)), array('title' => __('WP Remote Post', APP_TD), 'type' => 'text', 'name' => array('system_info', 'wp_remote_post'), 'extra' => array('style' => 'display: none;'), 'desc' => $this->test_wp_remote_post() ? __('wp_remote_post() test was successful.', APP_TD) : __('wp_remote_post() test failed.', APP_TD))));
     $this->tab_sections['info']['plugins'] = array('title' => __('Plugins', APP_TD), 'fields' => array(array('title' => __('Installed Plugins', APP_TD), 'type' => 'text', 'name' => array('system_info', 'installed_plugins'), 'extra' => array('style' => 'display: none;'), 'desc' => $this->get_installed_plugins())));
     $this->tab_sections['cron']['info'] = array('title' => __('Cron Jobs', APP_TD), 'fields' => $this->cronjob_fields(), 'renderer' => array($this, 'render_cronjob_fields'));
 }
/**
 * Callback for the `upload_size_limit` filter.
 *
 * Add to set WP core constants in case they do not exist.
 *
 * @link http://connections-pro.com/support/topic/images-wont-upload-maximum-upload-size/
 *
 * @access private
 * @since  8.2.21
 *
 * @param  int $bytes
 *
 * @return int An integer byte value.
 */
function cn_upload_size_limit($bytes)
{
    if (!defined('KB_IN_BYTES')) {
        define('KB_IN_BYTES', 1024);
    }
    if (!defined('MB_IN_BYTES')) {
        define('MB_IN_BYTES', 1024 * KB_IN_BYTES);
    }
    if (!defined('GB_IN_BYTES')) {
        define('GB_IN_BYTES', 1024 * MB_IN_BYTES);
    }
    if (!defined('TB_IN_BYTES')) {
        define('TB_IN_BYTES', 1024 * GB_IN_BYTES);
    }
    $u_bytes = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
    $p_bytes = wp_convert_hr_to_bytes(ini_get('post_max_size'));
    return 0 < $bytes ? $bytes : min($u_bytes, $p_bytes);
}
Пример #4
0
/**
 * {@internal Missing Short Description}}
 *
 * @since 2.5.0
 *
 * @return unknown
 */
function wp_max_upload_size()
{
    $u_bytes = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
    $p_bytes = wp_convert_hr_to_bytes(ini_get('post_max_size'));
    $bytes = apply_filters('upload_size_limit', min($u_bytes, $p_bytes), $u_bytes, $p_bytes);
    return $bytes;
}
Пример #5
0
 /**
  * Returns max upload size in bytes, defaults to 25M if no limits set.
  *
  * @return int
  */
 public function get_max_upload_size()
 {
     $bytes = wp_max_upload_size();
     if (1 > (int) $bytes) {
         $p_bytes = wp_convert_hr_to_bytes(ini_get('post_max_size'));
         $u_bytes = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
         // If HHVM bug not returning either value, try its own settings.
         // If HHVM not involved, will drop through to default value.
         if (empty($p_bytes) && empty($u_bytes)) {
             $p_bytes = wp_convert_hr_to_bytes(ini_get('hhvm.server.max_post_size'));
             $u_bytes = wp_convert_hr_to_bytes(ini_get('hhvm.server.upload.upload_max_file_size'));
             $bytes = min($p_bytes, $u_bytes);
             if (0 < (int) $bytes) {
                 return $bytes;
             }
         }
         if (0 < (int) $p_bytes) {
             $bytes = $p_bytes;
         } elseif (0 < (int) $u_bytes) {
             $bytes = $u_bytes;
         } else {
             $bytes = wp_convert_hr_to_bytes('25M');
         }
     }
     return $bytes;
 }
ob_clean();
ob_end_clean();
$dashboard_required_array['rs-version-information'] = array('order' => 20, 'content' => $dbc);
ob_start();
?>

		<!-- Requirements & Recommendations -->
		<div class="rs-dash-widget">
			<?php 
$dir = wp_upload_dir();
$mem_limit = ini_get('memory_limit');
$mem_limit_byte = wp_convert_hr_to_bytes($mem_limit);
$upload_max_filesize = ini_get('upload_max_filesize');
$upload_max_filesize_byte = wp_convert_hr_to_bytes($upload_max_filesize);
$post_max_size = ini_get('post_max_size');
$post_max_size_byte = wp_convert_hr_to_bytes($post_max_size);
$writeable_boolean = wp_is_writable($dir['basedir'] . '/');
$can_connect = get_option('revslider-connection', false);
$mem_limit_byte_boolean = $mem_limit_byte < 268435456;
$upload_max_filesize_byte_boolean = $upload_max_filesize_byte < 33554432;
$post_max_size_byte_boolean = $post_max_size_byte < 33554432;
$dash_rr_status = $writeable_boolean == true && $can_connect == true && $mem_limit_byte_boolean == false && $upload_max_filesize_byte_boolean == false && $post_max_size_byte_boolean == false ? "rs-status-green-wrap" : "rs-status-red-wrap";
?>

			<div class="rs-dash-title-wrap <?php 
echo $dash_rr_status;
?>
">
				<div class="rs-dash-title"><?php 
_e("System Requirements", 'revslider');
?>
Пример #7
0
function wp_import_upload_form($action)
{
    $u_bytes = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
    $p_bytes = wp_convert_hr_to_bytes(ini_get('post_max_size'));
    $bytes = apply_filters('import_upload_size_limit', min($u_bytes, $p_bytes), $u_bytes, $p_bytes);
    $size = wp_convert_bytes_to_hr($bytes);
    ?>
<form enctype="multipart/form-data" id="import-upload-form" method="post" action="<?php 
    echo attribute_escape($action);
    ?>
">
<p>
<?php 
    wp_nonce_field('import-upload');
    ?>
<label for="upload"><?php 
    _e('Choose a file from your computer:');
    ?>
</label> (<?php 
    printf(__('Maximum size: %s'), $size);
    ?>
)
<input type="file" id="upload" name="import" size="25" />
<input type="hidden" name="action" value="save" />
<input type="hidden" name="max_file_size" value="<?php 
    echo $bytes;
    ?>
" />
</p>
<p class="submit">
<input type="submit" value="<?php 
    _e('Upload file and import &raquo;');
    ?>
" />
</p>
</form>
<?php 
}
Пример #8
0
/**
 * Get the max email attachment filesize
 *
 * Can be overridden by defining HMBKP_ATTACHMENT_MAX_FILESIZE
 *
 * return int the filesize
 */
function hmbkp_get_max_attachment_size()
{
    $max_size = '10mb';
    if (defined('HMBKP_ATTACHMENT_MAX_FILESIZE') && wp_convert_hr_to_bytes(HMBKP_ATTACHMENT_MAX_FILESIZE)) {
        $max_size = HMBKP_ATTACHMENT_MAX_FILESIZE;
    }
    return wp_convert_hr_to_bytes($max_size);
}
/**
 * Defines initial WordPress constants
 *
 * @see wp_debug_mode()
 *
 * @since 3.0.0
 *
 * @global int $blog_id
 */
function wp_initial_constants()
{
    global $blog_id;
    /**#@+
     * Constants for expressing human-readable data sizes in their respective number of bytes.
     *
     * @since 4.4.0
     */
    define('KB_IN_BYTES', 1024);
    define('MB_IN_BYTES', 1024 * KB_IN_BYTES);
    define('GB_IN_BYTES', 1024 * MB_IN_BYTES);
    define('TB_IN_BYTES', 1024 * GB_IN_BYTES);
    /**#@-*/
    $current_limit = @ini_get('memory_limit');
    $current_limit_int = wp_convert_hr_to_bytes($current_limit);
    // Define memory limits.
    if (!defined('WP_MEMORY_LIMIT')) {
        if (false === wp_is_ini_value_changeable('memory_limit')) {
            define('WP_MEMORY_LIMIT', $current_limit);
        } elseif (is_multisite()) {
            define('WP_MEMORY_LIMIT', '64M');
        } else {
            define('WP_MEMORY_LIMIT', '40M');
        }
    }
    if (!defined('WP_MAX_MEMORY_LIMIT')) {
        if (false === wp_is_ini_value_changeable('memory_limit')) {
            define('WP_MAX_MEMORY_LIMIT', $current_limit);
        } elseif (-1 === $current_limit_int || $current_limit_int > 268435456) {
            define('WP_MAX_MEMORY_LIMIT', $current_limit);
        } else {
            define('WP_MAX_MEMORY_LIMIT', '256M');
        }
    }
    // Set memory limits.
    $wp_limit_int = wp_convert_hr_to_bytes(WP_MEMORY_LIMIT);
    if (-1 !== $current_limit_int && (-1 === $wp_limit_int || $wp_limit_int > $current_limit_int)) {
        @ini_set('memory_limit', WP_MEMORY_LIMIT);
    }
    if (!isset($blog_id)) {
        $blog_id = 1;
    }
    if (!defined('WP_CONTENT_DIR')) {
        define('WP_CONTENT_DIR', ABSPATH . 'wp-content');
    }
    // no trailing slash, full paths only - WP_CONTENT_URL is defined further down
    // Add define('WP_DEBUG', true); to wp-config.php to enable display of notices during development.
    if (!defined('WP_DEBUG')) {
        define('WP_DEBUG', false);
    }
    // Add define('WP_DEBUG_DISPLAY', null); to wp-config.php use the globally configured setting for
    // display_errors and not force errors to be displayed. Use false to force display_errors off.
    if (!defined('WP_DEBUG_DISPLAY')) {
        define('WP_DEBUG_DISPLAY', true);
    }
    // Add define('WP_DEBUG_LOG', true); to enable error logging to wp-content/debug.log.
    if (!defined('WP_DEBUG_LOG')) {
        define('WP_DEBUG_LOG', false);
    }
    if (!defined('WP_CACHE')) {
        define('WP_CACHE', false);
    }
    // Add define('SCRIPT_DEBUG', true); to wp-config.php to enable loading of non-minified,
    // non-concatenated scripts and stylesheets.
    if (!defined('SCRIPT_DEBUG')) {
        if (!empty($GLOBALS['wp_version'])) {
            $develop_src = false !== strpos($GLOBALS['wp_version'], '-src');
        } else {
            $develop_src = false;
        }
        define('SCRIPT_DEBUG', $develop_src);
    }
    /**
     * Private
     */
    if (!defined('MEDIA_TRASH')) {
        define('MEDIA_TRASH', false);
    }
    if (!defined('SHORTINIT')) {
        define('SHORTINIT', false);
    }
    // Constants for features added to WP that should short-circuit their plugin implementations
    define('WP_FEATURE_BETTER_PASSWORDS', true);
    /**#@+
     * Constants for expressing human-readable intervals
     * in their respective number of seconds.
     *
     * Please note that these values are approximate and are provided for convenience.
     * For example, MONTH_IN_SECONDS wrongly assumes every month has 30 days and
     * YEAR_IN_SECONDS does not take leap years into account.
     *
     * If you need more accuracy please consider using the DateTime class (https://secure.php.net/manual/en/class.datetime.php).
     *
     * @since 3.5.0
     * @since 4.4.0 Introduced `MONTH_IN_SECONDS`.
     */
    define('MINUTE_IN_SECONDS', 60);
    define('HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS);
    define('DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS);
    define('WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS);
    define('MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS);
    define('YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS);
    /**#@-*/
}
                <p><?php 
_ex('or', 'Uploader: Drop files here - or - Select Files');
?>
</p>
                <p class="drag-drop-buttons"><input id="plupload-browse-button" type="button" value="<?php 
esc_attr_e('Select Files');
?>
" class="button" /></p>
            </div>
        </div>
    </div>

    <?php 
$slimit = get_option('__wpdm_max_upload_size', 0);
if ($slimit > 0) {
    $slimit = wp_convert_hr_to_bytes($slimit . 'M');
} else {
    $slimit = wp_max_upload_size();
}
$plupload_init = array('runtimes' => 'html5,silverlight,flash,html4', 'browse_button' => 'plupload-browse-button', 'container' => 'plupload-upload-ui', 'drop_element' => 'drag-drop-area', 'file_data_name' => 'async-upload', 'multiple_queues' => true, 'max_file_size' => $slimit . 'b', 'url' => admin_url('admin-ajax.php'), 'flash_swf_url' => includes_url('js/plupload/plupload.flash.swf'), 'silverlight_xap_url' => includes_url('js/plupload/plupload.silverlight.xap'), 'filters' => array(array('title' => __('Allowed Files'), 'extensions' => get_option('__wpdm_allowed_file_types', '*'))), 'multipart' => true, 'urlstream_upload' => true, 'multipart_params' => array('_ajax_nonce' => wp_create_nonce('frontend-file-upload'), 'action' => 'wpdm_frontend_file_upload'));
// we should probably not apply this filter, plugins may expect wp's media uploader...
$plupload_init = apply_filters('plupload_init', $plupload_init);
?>

    <script type="text/javascript">

        jQuery(document).ready(function($){

            // create the uploader and pass the config from above
            var uploader = new plupload.Uploader(<?php 
echo json_encode($plupload_init);
Пример #11
0
 /**
  * Return environment data
  * @return array
  */
 protected function getEnvironmentRows()
 {
     if (!isset($this->environment)) {
         global $wpdb, $wp_version;
         $items['home_url'] = array('status' => 'ok', 'label' => __('Home URL', 'optimizepress'), 'message' => home_url());
         $items['site_url'] = array('status' => 'ok', 'label' => __('Site URL', 'optimizepress'), 'message' => site_url());
         if (version_compare($wp_version, '3.5', '<')) {
             $items['wp_version'] = array('status' => 'warning', 'label' => __('WP Version', 'optimizepress'), 'message' => sprintf(__('Your WordPress version (%s) is lower than recommended (%s).', 'optimizepress'), $wp_version, '3.5'));
         } else {
             $items['wp_version'] = array('status' => 'ok', 'label' => __('WP Version', 'optimizepress'), 'message' => $wp_version);
         }
         $items['wp_multisite'] = array('status' => 'ok', 'label' => __('WP Multisite Enabled', 'optimizepress'), 'message' => is_multisite() ? __('Yes', 'optimizepress') : __('No', 'optimizepress'));
         // Server settings
         $items['web_server'] = array('status' => 'ok', 'label' => __('Web Server', 'optimizepress'), 'message' => esc_html($_SERVER['SERVER_SOFTWARE']));
         if (version_compare(PHP_VERSION, '5.3', '<')) {
             $items['php_version'] = array('label' => __('PHP Version', 'optimizepress'), 'status' => 'warning', 'message' => sprintf(__('Your PHP version (%s) is lower than recommended (%s).', 'optimizepress'), PHP_VERSION, '5.3'));
         } else {
             $items['php_version'] = array('label' => __('PHP Version', 'optimizepress'), 'status' => 'ok', 'message' => PHP_VERSION);
         }
         if (version_compare($wpdb->db_version(), '5.0', '<')) {
             $items['mysql_version'] = array('label' => __('MySQL Version', 'optimizepress'), 'status' => 'error', 'message' => sprintf(__('Your MySQL version (%s) is lower than required (%s).', 'optimizepress'), $wpdb->db_version(), '5.0'));
         } else {
             $items['mysql_version'] = array('label' => __('MySQL Version', 'optimizepress'), 'status' => 'ok', 'message' => $wpdb->db_version());
         }
         $items['suhosin_installed'] = array('label' => __('Suhosin Installed', 'optimizepress'), 'status' => 'ok', 'message' => extension_loaded('suhosin') ? __('Yes', 'optimizepress') : __('No', 'optimizepress'));
         $inputVars = ini_get('max_input_vars');
         if ($inputVars < 3000) {
             $items['input_vars'] = array('label' => __('Max Input Vars', 'optimizepress'), 'status' => 'info', 'message' => sprintf(__('Your "max_input_vars" setting is set to %s. If you plan to have pages with a large number of elements on it, you should raise this setting to at least %s.', 'optimizepress'), $inputVars ?: 1000, 3000));
         } else {
             $items['input_vars'] = array('label' => __('Max Input Vars', 'optimizepress'), 'status' => 'ok', 'message' => $inputVars);
         }
         $executionTime = ini_get('max_execution_time');
         if ($executionTime < 60) {
             $items['execution_time'] = array('label' => __('Max Execution Time', 'optimizepress'), 'status' => 'info', 'message' => sprintf(__('Your "max_execution_time" setting (%s) is lower than recommended (%s).', 'optimizepress'), $executionTime ?: 30, 60));
         } else {
             $items['execution_time'] = array('label' => __('Max. Execution Time', 'optimizepress'), 'status' => 'ok', 'message' => $executionTime);
         }
         // $postMaxSize = wp_convert_hr_to_bytes(ini_get('post_max_size')) / 1024 / 1024;
         // if ($postMaxSize < 32) {
         //     $items['post_size'] = array(
         //         'label'     => __('PHP POST Max Size', 'optimizepress'),
         //         'status'    => 'ok',
         //         'message' => sprintf(__('Your PHP POST max size (%sMB) is lower than recommended (%sMB).', 'optimizepress'), $postMaxSize, 32),
         //     );
         // } else {
         //     $items['post_size'] = array(
         //         'label'     => __('PHP POST Max Size', 'optimizepress'),
         //         'status'    => 'ok',
         //         'message'   => $postMaxSize . 'MB',
         //     );
         // }
         $memoryLimit = wp_convert_hr_to_bytes(ini_get('memory_limit')) / 1024 / 1024;
         if ($memoryLimit < 64) {
             $items['memory'] = array('label' => __('PHP Memory Limit', 'optimizepress'), 'status' => 'warning', 'message' => sprintf(__('Your PHP memory limit (%sMB) is lower than recommended (%sMB)', 'optimizepress'), $memoryLimit, 64));
         } else {
             $items['memory'] = array('label' => __('PHP Memory Limit', 'optimizepress'), 'status' => 'ok', 'message' => $memoryLimit . 'MB');
         }
         // WordPress settings
         $wpMemoryLimit = wp_convert_hr_to_bytes(WP_MEMORY_LIMIT) / 1024 / 1024;
         if ($wpMemoryLimit < 64) {
             $items['wp_memory'] = array('label' => __('WP Memory Limit', 'optimizepress'), 'status' => 'warning', 'message' => sprintf(__('Your WP memory limit (%sMB) is lower than recommended (%sMB)', 'optimizepress'), $wpMemoryLimit, 64));
         } else {
             $items['wp_memory'] = array('label' => __('WP Memory Limit', 'optimizepress'), 'status' => 'ok', 'message' => $wpMemoryLimit . 'MB');
         }
         $uploadLimit = wp_max_upload_size() / 1024 / 1024;
         if ($uploadLimit < 32) {
             $items['upload_limit'] = array('label' => __('WP Max Upload Size', 'optimizepress'), 'status' => 'warning', 'message' => sprintf(__('Your WP upload limit (%sMB) is lower than recommended (%sMB).', 'optimizepress'), $uploadLimit, 32));
         } else {
             $items['upload_limit'] = array('label' => __('WP Max Upload Size', 'optimizepress'), 'status' => 'ok', 'message' => $uploadLimit . 'MB');
         }
         // Transfer protocols (curl, streams)
         $availableProtocols = $disabledProtocols = array();
         foreach (array('exthttp' => 'PHP HTTP Extension', 'curl' => 'cURL', 'streams' => 'PHP Streams', 'fopen' => 'PHP fopen()', 'fsockopen' => 'PHP fsockopen()') as $transport => $label) {
             $class = "WP_Http_{$transport}";
             if (!class_exists($class)) {
                 continue;
             }
             $class = new $class();
             $useable = $class->test();
             if ($useable) {
                 $availableProtocols[] = $label;
             } else {
                 $disabledProtocols[] = $label;
             }
         }
         if (count($availableProtocols) === 0) {
             $availableProtocols[] = 'none';
         }
         if (count($disabledProtocols) === 0) {
             $disabledProtocols[] = 'none';
         }
         $items['transfer'] = array('label' => __('WP Transport Protocols', 'optimizepress'), 'status' => 'info', 'message' => sprintf(__('Available transport protocols: %s.<br /> Disabled transfer protocols: %s.', 'optimizepress'), implode(', ', $availableProtocols), implode(', ', $disabledProtocols)));
         if ('' === ($permalinkStructure = get_option('permalink_structure', ''))) {
             $items['permalink'] = array('label' => __('Permalink Structure', 'optimizepress'), 'status' => 'error', 'message' => sprintf(__('Permalink structure must not be set to "default" for OptimizePress to work correctly. Please change the <a href="%s">setting</a>.', 'optimizepress'), admin_url('options-permalink.php')));
         } else {
             $items['permalink'] = array('label' => __('Permalink Structure', 'optimizepress'), 'status' => 'ok', 'message' => __('Permalink structure is in order.', 'optimizepress'));
         }
         // OptimizePress special params
         $items['op_type'] = array('label' => __('OptimizePress Type', 'optimizepress'), 'status' => 'ok', 'message' => OP_TYPE);
         $items['op_version'] = array('label' => __('OptimizePress Version', 'optimizepress'), 'status' => 'ok', 'message' => OP_VERSION);
         if (false === ($opCheck = get_transient('op_system_status_check'))) {
             $opCheck = array('ping' => op_sl_ping(), 'eligibility' => op_sl_eligible());
             set_transient('op_system_status_check', $opCheck, MINUTE_IN_SECONDS * 5);
         }
         if (true !== $opCheck['ping']) {
             $items['op_sl'] = array('label' => __('OptimizePress Outgoing Connection', 'optimizepress'), 'status' => 'error', 'message' => __('Unable to connect to OptimizePress Security & Licensing service.', 'optimizepress'));
         } else {
             $items['op_sl'] = array('label' => __('OptimizePress Outgoing Connection', 'optimizepress'), 'status' => 'ok', 'message' => __('Connection OK.', 'optimizepress'));
         }
         if (true !== $opCheck['eligibility']) {
             $items['op_eligibility'] = array('label' => __('OptimizePress Updates', 'optimizepress'), 'status' => 'warning', 'message' => sprintf(__('You are not eligible for new updates. You can prolong your subscription <a href="%s" target="_blank">here</a>.', 'optimizepress'), 'http://optimizepress.com/updates-renewal/'));
         } else {
             $items['op_eligibility'] = array('label' => __('OptimizePress Updates', 'optimizepress'), 'status' => 'ok', 'message' => __('Eligible for new updates.', 'optimizepress'));
         }
         $this->environment = $items;
     }
     return $this->environment;
 }
Пример #12
0
					<div class="znfb-col-6">
						<h3 class="zn-lead-title" >Kallyas is now installed and almost ready to be used!</h3>
						<div class="zn-lead-text ">
							<p class="zn-lead-text--larger">This basic quick setup wizard will just configure a few basic settings to get started. <br>It's completely optional and shouldn't take longer than five minutes.</p>
						</div>
					</div>
					<div class="znfb-col-6">

						<h3>Server status:</h3>
						<div class="zn-server-status-wrapper">
							<div class="zn-server-status-row">
								<?php 
$message = '';
$icon = 'dashicons-yes';
$color_class = 'zn-system-status-ok';
$memory = wp_convert_hr_to_bytes(ini_get('memory_limit'));
if ($memory < 64000000) {
    $icon = 'dashicons-warning';
    $color_class = 'zn-system-status-notok';
    $message = ' - We recommend setting memory to at least <strong>64MB</strong>. <br /> To import the main demo sample data, <strong>256MB</strong> of memory limit is required. <br /> Please define memory limit in <strong>wp-config.php</strong> file. To learn how, see: <a href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP" target="_blank">Increasing memory allocated to PHP.</a>';
}
?>

								<div class="zn-server-status-column zn-server-status-column-name">WP memory limit</div>
								<div class="zn-server-status-column"><span class="zn-server-status-column-icon dashicons-before <?php 
echo $icon;
?>
" title="The maximum amount of memory (RAM) that your site can use at one time."></span></div>
								<div class="zn-server-status-column zn-server-status-column-value <?php 
echo $color_class;
?>
<div style="display: none" id="doifdEditUploadForm">

    <form id="doifd_admin_edit_download_form" method="post" action="" enctype="multipart/form-data" style="width: 40%;">

        <fieldset>

            <input type="hidden" name="doifd_download_id" id="doifd_download_id" value="" />
            <input type="hidden" name="doifd_download_name" id="doifd_download_name" value="" />
            <input type="hidden" name="doifd_download_file_name" id="doifd_download_file_name" value="" />
            <input type="hidden" name="max_upload_size" id="max_upload_size" value="<?php 
$max_size = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
echo $max_size;
?>
"/>

            <input type="hidden" name="_wpnonce" id="_wpnonce" value="<?php 
$doifd_lab_edit_download_form_nonce = wp_create_nonce('doifd-edit-download-nonce');
echo $doifd_lab_edit_download_form_nonce;
?>
"/>
            <input type="hidden" name="type" id="type" value="0" >

            <?php 
//                    $call = new DoifdAdminFilters();
//                    $output = $call->doifd_additional_admin_fields ();
//                    echo $output;
?>
            <div>
                <label id="doifd_labelName" for="name"><?php 
_e('Download Name', $this->plugin_slug);
?>
Пример #14
0
function my_upload_size_limit($limit)
{
    return wp_convert_hr_to_bytes('1000M');
}
Пример #15
0
/**
 * Determines the maximum upload size allowed in php.ini.
 *
 * @since 2.5.0
 *
 * @return int Allowed upload size.
 */
function wp_max_upload_size()
{
    $u_bytes = wp_convert_hr_to_bytes(ini_get('upload_max_filesize'));
    $p_bytes = wp_convert_hr_to_bytes(ini_get('post_max_size'));
    /**
     * Filter the maximum upload size allowed in php.ini.
     *
     * @since 2.5.0
     *
     * @param int $size    Max upload size limit in bytes.
     * @param int $u_bytes Maximum upload filesize in bytes.
     * @param int $p_bytes Maximum size of POST data in bytes.
     */
    return apply_filters('upload_size_limit', min($u_bytes, $p_bytes), $u_bytes, $p_bytes);
}
Пример #16
0
 function compatibility_check()
 {
     global $wpdb;
     global $wp_version;
     $data = array();
     // PHP
     if (version_compare(PHP_VERSION, '5.3', '<')) {
         $data['php'] = array('status' => 'warning', 'message' => sprintf(__('Your PHP version (%s) is lower than recommended (%s).', OP_SN), PHP_VERSION, '5.3'));
     } else {
         $data['php'] = array('status' => 'ok', 'message' => sprintf(__('Your PHP version (%s) meets requirements (%s).', OP_SN), PHP_VERSION, '5.3'));
     }
     // MySQL
     if (version_compare($wpdb->db_version(), '5.0', '<')) {
         $data['mysql'] = array('status' => 'error', 'message' => sprintf(__('Your MySQL version (%s) is lower than required (%s).', OP_SN), $wpdb->db_version(), '5.0'));
     } else {
         $data['mysql'] = array('status' => 'ok', 'message' => sprintf(__('Your MySQL version (%s) meets requirements (%s).', OP_SN), $wpdb->db_version(), '5.0'));
     }
     // WP
     if (version_compare($wp_version, '3.5', '<')) {
         $data['wordpress'] = array('status' => 'warning', 'message' => sprintf(__('Your WordPress version (%s) is lower than recommended (%s).', OP_SN), $wp_version, '3.5'));
     } else {
         $data['wordpress'] = array('status' => 'ok', 'message' => sprintf(__('Your WordPress version (%s) meets requirements (%s).', OP_SN), $wp_version, '3.5'));
     }
     // Transfer protocols (curl, streams)
     $http = new Wp_Http();
     if (false === $http->_get_first_available_transport(array())) {
         $data['transfer'] = array('status' => 'error', 'message' => __('There are no transport protocols (curl, streams) that are capable of handling the requests.', OP_SN));
     } else {
         $data['transfer'] = array('status' => 'ok', 'message' => __('Transfer protocols (curl, streams) are in order.', OP_SN));
     }
     // OP SL
     if (true !== op_sl_ping()) {
         $data['op_sl'] = array('status' => 'error', 'message' => __('Unable to connect to OptimizePress Security & Licensing service.', OP_SN));
     } else {
         $data['op_sl'] = array('status' => 'ok', 'message' => __('Connection with OptimizePress Security & Licensing service is in order.', OP_SN));
     }
     // OP Eligibility
     if (true !== op_sl_eligible()) {
         $data['op_sl'] = array('status' => 'warning', 'message' => sprintf(__('You are not eligible for new updates. You can prolong your subscription <a href="%s" target="_blank">here</a>.', OP_SN), 'http://optimizepress.com'));
     }
     // Permalink structure
     if ('' === ($permalink_structure = get_option('permalink_structure', ''))) {
         $data['permalink'] = array('status' => 'error', 'message' => sprintf(__('Permalink structure must not be set to "default" for OptimizePress to work correctly. Please change the <a href="%s">setting</a>.', OP_SN), admin_url('options-permalink.php')));
     } else {
         $data['permalink'] = array('status' => 'ok', 'message' => sprintf(__('Permalink structure is in order (%s).', OP_SN), trim($permalink_structure, '/')));
     }
     // Memory limit
     $memory_limit = wp_convert_hr_to_bytes(ini_get('memory_limit')) / 1024 / 1024;
     if ($memory_limit < 64) {
         $data['memory'] = array('status' => 'warning', 'message' => sprintf(__('Your memory limit (%sMB) is lower than recommended (%sMB)', OP_SN), $memory_limit, 64));
     } else {
         $data['memory'] = array('status' => 'ok', 'message' => sprintf(__('Your memory limit (%sMB) meets recommendation (%sMB)', OP_SN), $memory_limit, 64));
     }
     // Upload limit
     $upload_limit = wp_max_upload_size() / 1024 / 1024;
     if ($upload_limit < 32) {
         $data['upload'] = array('status' => 'warning', 'message' => sprintf(__('Your upload limit (%sMB) is lower than recommended (%sMB).', OP_SN), $upload_limit, 32));
     } else {
         $data['upload'] = array('status' => 'ok', 'message' => sprintf(__('Your upload limit (%sMB) meets recommendation (%sMB).', OP_SN), $upload_limit, 32));
     }
     // Max input vars
     $input_vars_limit = ini_get('max_input_vars');
     if ($input_vars_limit < 3000) {
         $data['input_vars'] = array('status' => 'info', 'message' => sprintf(__('Your "max_input_vars" setting is set to %s. If you plan to have pages with a large number of elements on it, you should raise this setting to at least %s.', OP_SN), $input_vars_limit ? $input_vars_limit : 1000, 3000));
     } else {
         $data['input_vars'] = array('status' => 'ok', 'message' => sprintf(__('Your "max_input_vars" (%s) meets recommendation (%s).', OP_SN), $input_vars_limit, 3000));
     }
     // Max execution time
     $execution_time = ini_get('max_execution_time');
     if ($execution_time < 60) {
         $data['execution_time'] = array('status' => 'info', 'message' => sprintf(__('Your "max_execution_time" setting (%s) is lower than recommended (%s).', OP_SN), $execution_time ? $execution_time : 30, 60));
     } else {
         $data['execution_time'] = array('status' => 'ok', 'message' => sprintf(__('Your "max_execution_time" (%s) meets recommendation (%s).', OP_SN), $execution_time, 60));
     }
     echo op_load_section('compatibility_check', array('compat' => $data), 'global_settings');
 }
Пример #17
0
/**
 * Attempts to raise the PHP memory limit for memory intensive processes.
 *
 * Only allows raising the existing limit and prevents lowering it.
 *
 * @since 4.6.0
 *
 * @param string $context Optional. Context in which the function is called. Accepts either 'admin',
 *                        'image', or an arbitrary other context. If an arbitrary context is passed,
 *                        the similarly arbitrary {@see '{$context}_memory_limit'} filter will be
 *                        invoked. Default 'admin'.
 * @return bool|int|string The limit that was set or false on failure.
 */
function wp_raise_memory_limit($context = 'admin')
{
    // Exit early if the limit cannot be changed.
    if (false === wp_is_ini_value_changeable('memory_limit')) {
        return false;
    }
    $current_limit = @ini_get('memory_limit');
    $current_limit_int = wp_convert_hr_to_bytes($current_limit);
    if (-1 === $current_limit_int) {
        return false;
    }
    $wp_max_limit = WP_MAX_MEMORY_LIMIT;
    $wp_max_limit_int = wp_convert_hr_to_bytes($wp_max_limit);
    $filtered_limit = $wp_max_limit;
    switch ($context) {
        case 'admin':
            /**
             * Filters the maximum memory limit available for administration screens.
             *
             * This only applies to administrators, who may require more memory for tasks
             * like updates. Memory limits when processing images (uploaded or edited by
             * users of any role) are handled separately.
             *
             * The `WP_MAX_MEMORY_LIMIT` constant specifically defines the maximum memory
             * limit available when in the administration back end. The default is 256M
             * (256 megabytes of memory) or the original `memory_limit` php.ini value if
             * this is higher.
             *
             * @since 3.0.0
             * @since 4.6.0 The default now takes the original `memory_limit` into account.
             *
             * @param int|string $filtered_limit The maximum WordPress memory limit. Accepts an integer
             *                                   (bytes), or a shorthand string notation, such as '256M'.
             */
            $filtered_limit = apply_filters('admin_memory_limit', $filtered_limit);
            break;
        case 'image':
            /**
             * Filters the memory limit allocated for image manipulation.
             *
             * @since 3.5.0
             * @since 4.6.0 The default now takes the original `memory_limit` into account.
             *
             * @param int|string $filtered_limit Maximum memory limit to allocate for images.
             *                                   Default `WP_MAX_MEMORY_LIMIT` or the original
             *                                   php.ini `memory_limit`, whichever is higher.
             *                                   Accepts an integer (bytes), or a shorthand string
             *                                   notation, such as '256M'.
             */
            $filtered_limit = apply_filters('image_memory_limit', $filtered_limit);
            break;
        default:
            /**
             * Filters the memory limit allocated for arbitrary contexts.
             *
             * The dynamic portion of the hook name, `$context`, refers to an arbitrary
             * context passed on calling the function. This allows for plugins to define
             * their own contexts for raising the memory limit.
             *
             * @since 4.6.0
             *
             * @param int|string $filtered_limit Maximum memory limit to allocate for images.
             *                                   Default '256M' or the original php.ini `memory_limit`,
             *                                   whichever is higher. Accepts an integer (bytes), or a
             *                                   shorthand string notation, such as '256M'.
             */
            $filtered_limit = apply_filters("{$context}_memory_limit", $filtered_limit);
            break;
    }
    $filtered_limit_int = wp_convert_hr_to_bytes($filtered_limit);
    if (-1 === $filtered_limit_int || $filtered_limit_int > $wp_max_limit_int && $filtered_limit_int > $current_limit_int) {
        if (false !== @ini_set('memory_limit', $filtered_limit)) {
            return $filtered_limit;
        } else {
            return false;
        }
    } elseif (-1 === $wp_max_limit_int || $wp_max_limit_int > $current_limit_int) {
        if (false !== @ini_set('memory_limit', $wp_max_limit)) {
            return $wp_max_limit;
        } else {
            return false;
        }
    }
    return false;
}
 /**
  * Tests converting (PHP ini) byte values to integer byte values.
  *
  * @ticket 32075
  *
  * @dataProvider data_wp_convert_hr_to_bytes
  *
  * @param int|string $value    The value passed to wp_convert_hr_to_bytes().
  * @param int        $expected The expected output of wp_convert_hr_to_bytes().
  */
 function test_wp_convert_hr_to_bytes($value, $expected)
 {
     $this->assertSame($expected, wp_convert_hr_to_bytes($value));
 }