Skip to content

Examples

sawfly edited this page Sep 13, 2019 · 2 revisions

Examples of usage

Install

Route: /wp-json/plugin-manager/v1/install
Code Sample:

$url = 'http://your-site.loc/wp-json/plugin-manager/v1/install';
$fileName = __DIR__ . '/your-custom-plugin-archive.zip';
$post = [
    'fileToUpload' => curl_file_create($fileName)
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-type: multipart/form-data"]);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);

Activate

Route: /wp-json/plugin-manager/v1/activate
Code Sample:

$url = 'http:/your-site.loc/wp-json/plugin-manager/v1/activate';
$post = [
    'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php'
];
$headers = [
    "Content-type: multipart/form-data",
    'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);

Install and Activate

Route: /wp-json/plugin-manager/v1/install-activate
Code Sample:

$url = 'http:/your-site.loc/wp-json/plugin-manager/v1/install-activate';
$post = [
    'fileToUpload' => curl_file_create($fileName),
    'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php',
];
$headers = [
    "Content-type: multipart/form-data",
    'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);

Dectivate

Route: /wp-json/plugin-installer/v1/deactivate
Code Sample:

$url = 'http:/your-site.loc/wp-json/plugin-manager/v1/deactivate';
$post = [
    'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php',
];
$headers = [
    "Content-type: multipart/form-data",
    'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);

Uninstall

Route: /wp-json/plugin-manager/v1/uninstall
Code Sample:

$url = 'http:/your-site.loc/wp-json/plugin-manager/v1/uninstall';
$post = [
    'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php',
];
$headers = [
    "Content-type: multipart/form-data",
    'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);

Note. For utilizing this plugin you must formely to get JWT-auth token with WordPress user credentials

user_can($userId,'manage_options');

Clone this wiki locally