当前位置: 首页>>代码示例>>PHP>>正文


PHP Core_Upgrader::should_update_to_version方法代码示例

本文整理汇总了PHP中Core_Upgrader::should_update_to_version方法的典型用法代码示例。如果您正苦于以下问题:PHP Core_Upgrader::should_update_to_version方法的具体用法?PHP Core_Upgrader::should_update_to_version怎么用?PHP Core_Upgrader::should_update_to_version使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Core_Upgrader的用法示例。


在下文中一共展示了Core_Upgrader::should_update_to_version方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: should_update

 /**
  * Tests to see if we can and should update a specific item.
  *
  * @since 3.7.0
  *
  * @param string $type    The type of update being checked: 'core', 'theme',
  *                        'plugin', 'translation'.
  * @param object $item    The update offer.
  * @param string $context The filesystem context (a path) against which filesystem
  *                        access and status should be checked.
  */
 public function should_update($type, $item, $context)
 {
     // Used to see if WP_Filesystem is set up to allow unattended updates.
     $skin = new Automatic_Upgrader_Skin();
     if ($this->is_disabled()) {
         return false;
     }
     // Only relax the filesystem checks when the update doesn't include new files
     $allow_relaxed_file_ownership = false;
     if ('core' == $type && isset($item->new_files) && !$item->new_files) {
         $allow_relaxed_file_ownership = true;
     }
     // If we can't do an auto core update, we may still be able to email the user.
     if (!$skin->request_filesystem_credentials(false, $context, $allow_relaxed_file_ownership) || $this->is_vcs_checkout($context)) {
         if ('core' == $type) {
             $this->send_core_update_notification_email($item);
         }
         return false;
     }
     // Next up, is this an item we can update?
     if ('core' == $type) {
         $update = Core_Upgrader::should_update_to_version($item->current);
     } else {
         $update = !empty($item->autoupdate);
     }
     /**
      * Filter whether to automatically update core, a plugin, a theme, or a language.
      *
      * The dynamic portion of the hook name, `$type`, refers to the type of update
      * being checked. Can be 'core', 'theme', 'plugin', or 'translation'.
      *
      * Generally speaking, plugins, themes, and major core versions are not updated
      * by default, while translations and minor and development versions for core
      * are updated by default.
      *
      * See the {@see 'allow_dev_auto_core_updates', {@see 'allow_minor_auto_core_updates'},
      * and {@see 'allow_major_auto_core_updates'} filters for a more straightforward way to
      * adjust core updates.
      *
      * @since 3.7.0
      *
      * @param bool   $update Whether to update.
      * @param object $item   The update offer.
      */
     $update = apply_filters('auto_update_' . $type, $update, $item);
     if (!$update) {
         if ('core' == $type) {
             $this->send_core_update_notification_email($item);
         }
         return false;
     }
     // If it's a core update, are we actually compatible with its requirements?
     if ('core' == $type) {
         global $wpdb;
         $php_compat = version_compare(phpversion(), $item->php_version, '>=');
         if (file_exists(WP_CONTENT_DIR . '/db.php') && empty($wpdb->is_mysql)) {
             $mysql_compat = true;
         } else {
             $mysql_compat = version_compare($wpdb->db_version(), $item->mysql_version, '>=');
         }
         if (!$php_compat || !$mysql_compat) {
             return false;
         }
     }
     return true;
 }
开发者ID:sunyang3721,项目名称:wp-for-sae,代码行数:77,代码来源:class-wp-upgrader.php

示例2: upgrade_screen

    function upgrade_screen()
    {
        $html = ob_get_clean();
        if (!$this->check_user_permission() && !$this->can_update_core()) {
            $html = preg_replace('~<form[^>]*?>~', '<!--form opening tag removed by BusinessPres-->', $html);
            $html = str_replace('</form>', '<!--form closing tag removed by BusinessPres-->', $html);
        }
        if (!$this->check_user_permission() && (empty($this->aOptions['cap_update']) || !$this->aOptions['cap_update'])) {
            $html = preg_replace('~<input[^>]*?type=["\']checkbox["\'][^>]*?>~', '', $html);
            $html = preg_replace('~<thead[\\s\\S]*?</thead>~', '', $html);
            $html = preg_replace('~<tfoot[\\s\\S]*?</tfoot>~', '', $html);
            $html = preg_replace('~<input[^>]*?upgrade-plugins[^>]*?>~', '', $html);
            $html = preg_replace('~<input[^>]*?upgrade-themes[^>]*?>~', '', $html);
        }
        global $wp_version;
        $new_html = '';
        if (!$this->check_user_permission() && !$this->can_update_core()) {
            $new_html .= "<div class='error'><p>" . $this->talk_no_permissions('upgrade WordPress core') . "</p></div>";
        }
        $new_html .= "<h4>WordPress " . $wp_version . " installed<br />";
        global $wp_version;
        $sStatus = false;
        $iTTL = 0;
        $aVersions = $this->cache_core_version_info();
        if ($aVersions && isset($aVersions['data']) && count($aVersions['data']) > 0) {
            if ($this->get_version_branch() && isset($aVersions['data'][$this->get_version_branch()])) {
                $iDate = strtotime($aVersions['data'][$this->get_version_branch()]);
                $iTTL = $iDate + 3600 * 24 * 30 * 30;
                //  the current version is good has time to live set to 30 months
                if ($iTTL - time() < 0) {
                    $sStatus = "Not Secure - Major Upgrade Required";
                } else {
                    if ($iTTL - time() < 3600 * 24 * 30 * 3) {
                        //  if the current version is older than 23 monts, warn the user
                        $sStatus = "Update Recommended Soon";
                    } else {
                        $sStatus = "Secure";
                    }
                }
            }
            if ($this->get_branch_latest() != $wp_version && strtotime($aVersions['data'][$this->get_branch_latest()]) + 3600 * 24 * 5 < time()) {
                $sStatus = "Not Secure - Minor Upgrade Required";
            }
        }
        $new_html .= "Last updated: " . date('j F Y', strtotime($aVersions['data'][$this->get_branch_latest()])) . "<br />";
        $new_html .= "Status: " . $sStatus . "<br />";
        $iRemaining = floor(($iTTL - time()) / (3600 * 24) / 30);
        if ($iRemaining > 0) {
            $new_html .= "Projected security updates: " . $iRemaining . " months.";
        } else {
            $new_html .= "Projected security updates: Negative " . abs($iRemaining) . " months. Expired or expiration imminent.";
        }
        $new_html .= "</h4>\n";
        if (!class_exists('Core_Upgrader')) {
            include_once ABSPATH . '/wp-admin/includes/admin.php';
            include_once ABSPATH . '/wp-admin/includes/class-wp-upgrader.php';
        }
        if (class_exists('Core_Upgrader')) {
            $new_html .= "<p>Core auto-updates status: ";
            $bDisabled = false;
            if (class_exists('Core_Upgrader')) {
                $objUpdater = new WP_Automatic_Updater();
                if ($objUpdater->is_disabled()) {
                    $new_html .= "disabled";
                    $bDisabled = true;
                }
            }
            if (!$bDisabled) {
                if (Core_Upgrader::should_update_to_version('100.1.2.3')) {
                    $new_html .= "<strong>Major version updates enabled</strong>";
                } else {
                    if (Core_Upgrader::should_update_to_version(get_bloginfo('version') . '.0.1')) {
                        $new_html .= "only Minor version updates enabled";
                    }
                }
            }
            $new_html .= "</p>";
        }
        $aBlockedUpdates = get_site_option('businesspress_core_update_delay');
        $bFound = false;
        if ($aBlockedUpdates) {
            foreach ($aBlockedUpdates as $key => $value) {
                if (stripos($key, '.next.minor') === false) {
                    $bFound = true;
                }
            }
        }
        if ($bFound && $aBlockedUpdates) {
            ksort($aBlockedUpdates);
            $aBlockedUpdates = array_reverse($aBlockedUpdates);
            $new_html .= "<p>Recently blocked updates:</p>";
            $new_html .= "<ul>\n";
            foreach ($aBlockedUpdates as $key => $value) {
                if (stripos($key, '.next.minor') !== false) {
                    $new_html .= "<li>WP core internal autoupdate check " . human_time_diff(time(), $value) . " ago</li>\n";
                    continue;
                }
                $new_html .= "<li><a href='https://codex.wordpress.org/Version_" . $key . "' target='_blank'>" . $key . "</a> " . human_time_diff(time(), $value) . " ago</li>\n";
            }
            $new_html .= "</ul>\n";
//.........这里部分代码省略.........
开发者ID:foliovision,项目名称:businesspress,代码行数:101,代码来源:businesspress.php


注:本文中的Core_Upgrader::should_update_to_version方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。