Beispiel #1
0
 function ppc_early_exit()
 {
     global $pagenow;
     $is_admin = is_admin();
     if ($is_admin && !empty($pagenow) && in_array($pagenow, array('index-extra.php')) || !function_exists('array_fill_keys') && ppc_error('old_php') || defined('PPC_VERSION') && ppc_error('multiple_pp') || ppc_is_plugin_active('press-permit.php') && ppc_error('pp_legacy_active') || $is_admin && strpos($_SERVER['SCRIPT_NAME'], 'wp-wall-ajax.php') || constant('PP_DEBUG') && $is_admin && ppc_editing_plugin()) {
         return true;
     }
     if (ppc_is_plugin_active('role-scoper.php')) {
         if (is_admin()) {
             ppc_error('rs_active');
         } else {
             return true;
         }
     }
 }
Beispiel #2
0
function pp_register_extension($slug, $label, $basename, $version, $min_pp_version = '0', $min_wp_version = '0')
{
    global $pp_extensions, $pp_min_ext_version;
    $slug = pp_sanitize_key($slug);
    if (!isset($pp_extensions) || !is_array($pp_extensions)) {
        $pp_extensions = array();
    }
    // avoid lockout in case of editing plugin via wp-admin
    if (constant('PP_DEBUG') && is_admin() && ppc_editing_plugin()) {
        return false;
    }
    $register = true;
    $error = false;
    if (!pp_wp_ver($min_wp_version)) {
        require_once dirname(__FILE__) . '/lib/error_pp.php';
        $error = PP_Error::old_wp($label, $min_wp_version);
        $register = false;
    } elseif (version_compare(PPC_VERSION, $min_pp_version, '<')) {
        require_once dirname(__FILE__) . '/lib/error_pp.php';
        $error = PP_Error::old_pp($label, $min_pp_version);
        $register = false;
    } elseif (!empty($pp_min_ext_version[$slug]) && version_compare($version, $pp_min_ext_version[$slug], '<')) {
        if (is_admin()) {
            require_once dirname(__FILE__) . '/lib/error_pp.php';
            $error = PP_Error::old_extension($label, $pp_min_ext_version[$slug]);
            // but still register extension so it can be updated!
        } else {
            $error = true;
            $register = false;
        }
    }
    if ($register) {
        $version = pp_sanitize_word($version);
        $pp_extensions[$slug] = (object) compact('slug', 'version', 'label', 'basename');
    }
    return !$error;
}