更改主机后非法字符串偏移量

时间:2014-05-30 18:59:26

标签: php html sql

我改变主机后,我收到此错误 - http://prntscr.com/3o38jt 有几个这样的问题,但我无法在我的例子中应用它。

问题在于行:98,99,100,108

这是我的代码:

<?php

require_once(dirname(__FILE__).'/cache.php');
require_once(dirname(__FILE__).'/const.php');

// -----------------------------------------------------------------------------
// the ExecPhp_Runtime class handles the execution of PHP code during
// access to the articles content or widget including checks against
// the exec_php / edit_others_php capability or plugin options respectivly
// -----------------------------------------------------------------------------

if (!class_exists('ExecPhp_Runtime')) :
class ExecPhp_Runtime
{
    var $m_cache = NULL;

    // ---------------------------------------------------------------------------
    // init
    // ---------------------------------------------------------------------------

    function ExecPhp_Runtime(&$cache)
    {
        $this->m_cache =& $cache;

        add_filter('the_content', array(&$this, 'filter_user_content'), 1);
        add_filter('the_content_rss', array(&$this, 'filter_user_content'), 1);
        add_filter('the_excerpt', array(&$this, 'filter_user_content'), 1);
        add_filter('the_excerpt_rss', array(&$this, 'filter_user_content'), 1);
        add_filter('widget_text', array(&$this, 'filter_widget_content'), 1);
        add_filter('user_has_cap', array(&$this, 'filter_user_has_cap'), 10, 3);
    }

    // ---------------------------------------------------------------------------
    // tools
    // ---------------------------------------------------------------------------

    function eval_php($content)
    {
        // to be compatible with older PHP4 installations
        // don't use fancy ob_XXX shortcut functions
        ob_start();
        eval("?>$content<?php ");
        $output = ob_get_contents();
        ob_end_clean();
        return $output;
    }

    // ---------------------------------------------------------------------------
    // hooks
    // ---------------------------------------------------------------------------

    function filter_user_content($content)
    {
        global $post;

        // check whether the article author is allowed to execute PHP code
        if (!isset($post) || !isset($post->post_author))
            return $content;
        $poster = new WP_User($post->post_author);
        if (!$poster->has_cap(ExecPhp_CAPABILITY_EXECUTE_ARTICLES))
            return $content;
        return $this->eval_php($content);
    }

    function filter_widget_content($content)
    {
        // check whether the admin has configured widget support
        $option =& $this->m_cache->get_option();
        if (!$option->get_widget_support())
            return $content;

        return $this->eval_php($content);
    }

    function filter_user_has_cap($allcaps, $caps, $args)
    {
        // $allcaps = Capabilities the user currently has
        // $caps = Primitive capabilities being tested / requested
        // $args = array with:
        // $args[0] = original meta capability requested
        // $args[1] = user being tested
        // See code for assumptions

        // This handler is only set up to deal with the edit_others_pages
        // or edit_others_posts capability. Ignore all other calls into here.
        $pages_request = in_array('edit_others_pages', $caps);
        $posts_request = in_array('edit_others_posts', $caps);
        if ((!$pages_request && !$posts_request)
            || ($pages_request && $posts_request)
            || !$args[0] || !$args[1] || $args[1] == 0)
            return $allcaps;

        global $post;
        if (!isset($post))
            return $allcaps;
        $poster = new WP_User($post->post_author);
        if (!$poster->has_cap(ExecPhp_CAPABILITY_EXECUTE_ARTICLES))
            return $allcaps;

        $editor_has_edit_others_php = (in_array(ExecPhp_CAPABILITY_EDIT_OTHERS_PHP, $allcaps)
            && $allcaps[ExecPhp_CAPABILITY_EDIT_OTHERS_PHP]);
        if ($editor_has_edit_others_php)
            return $allcaps;

        // article may contain PHP code due to the original posters capabilities
        // but the editor is not allowed to edit others PHP code, so filter out
        // requested edit_others_xxx settings from the allowed caps
        if ($pages_request)
            unset($allcaps['edit_others_pages']);
        if ($posts_request)
            unset($allcaps['edit_others_posts']);
        return $allcaps;
    }
}
endif;

?>

0 个答案:

没有答案