This repository has been archived on 2026-10-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
aktiv-web/wp-content/plugins/disqus-comment-system/lib/wp-cli.php
T
2014-11-20 21:01:19 +01:00

89 lines
2.3 KiB
PHP

<?php
/**
* Helper script for setting up the WP command line environment
*/
error_reporting(E_ALL | E_STRICT);
if (php_sapi_name() != 'cli' && !empty($_SERVER['REMOTE_ADDR'])) {
// Don't execute for web requests
die("This script must be run from CLI.");
}
if (!isset($argv)) {
$argv = array();
}
function print_line() {
$args = func_get_args();
$result = call_user_func_array('sprintf', $args);
print("{$result}\n");
}
define('DOING_AJAX', true);
define('WP_USE_THEMES', false);
if (isset($_ENV['WORDPRESS_PATH'])) {
define('ABSPATH', $_ENV['WORDPRESS_PATH']);
} else {
if (substr($_SERVER['SCRIPT_FILENAME'], 0, 1) != '/') {
$script_path = $_SERVER['PWD'] . $_SERVER['SCRIPT_FILENAME'];
} else {
$script_path = $_SERVER['SCRIPT_FILENAME'];
}
$tree = '';
$paths = array();
$chunks = explode('/', dirname($script_path));
foreach ($chunks as $chunk) {
if (!$chunk) continue;
$tree = $tree.'/'.$chunk;
array_push($paths, $tree);
}
$paths = array_reverse($paths);
foreach ($paths as $path) {
if (is_file($path.'/wp-config.php')) {
define('ABSPATH', $path . '/');
break;
}
}
}
if (!defined('ABSPATH')) {
print_line("Unable to determine wordpress path. Please set it using WORDPRESS_PATH.");
die();
}
$_SERVER = array(
"HTTP_HOST" => "disqus.com",
"SCRIPT_NAME" => "",
"PHP_SELF" => __FILE__,
"SERVER_NAME" => "localhost",
"REQUEST_URI" => "/",
"REQUEST_METHOD" => "GET"
);
require_once(ABSPATH . 'wp-config.php');
// swap out the object cache due to memory constraints
global $wp_object_cache;
class DummyWP_Object_Cache extends WP_Object_Cache {
function set($id, $data, $group = 'default', $expire = '') {
return;
}
function delete($id, $group = 'default', $force = false) {
return;
}
function add($id, $data, $group = 'default', $expire = '') {
return;
}
}
// HACK: kill all output buffers (some plugins, like Hyper Cache, use theses)
while (@ob_end_flush());
// We cant simply replace the object cache incase set/add do something that
// matters to the webserver
// $wp_object_cache = new DummyWP_Object_Cache();
?>