mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-02 19:36:08 +01:00
Moved GPM get updates to standard method
This commit is contained in:
61
admin.php
61
admin.php
@@ -2,7 +2,6 @@
|
|||||||
namespace Grav\Plugin;
|
namespace Grav\Plugin;
|
||||||
|
|
||||||
use Grav\Common\File\CompiledYamlFile;
|
use Grav\Common\File\CompiledYamlFile;
|
||||||
use Grav\Common\GPM\GPM;
|
|
||||||
use Grav\Common\Grav;
|
use Grav\Common\Grav;
|
||||||
use Grav\Common\Inflector;
|
use Grav\Common\Inflector;
|
||||||
use Grav\Common\Language\Language;
|
use Grav\Common\Language\Language;
|
||||||
@@ -508,65 +507,6 @@ class AdminPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Handles getting GPM updates
|
|
||||||
*/
|
|
||||||
public function onTaskGPM()
|
|
||||||
{
|
|
||||||
$task = 'GPM';
|
|
||||||
if (!$this->admin->authorize(['admin.maintenance', 'admin.super'])) {
|
|
||||||
$this->admin->json_response = [
|
|
||||||
'status' => 'unauthorized',
|
|
||||||
'message' => $this->admin->translate('PLUGIN_ADMIN.INSUFFICIENT_PERMISSIONS_FOR_TASK') . ' ' . $task . '.'
|
|
||||||
];
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
$action = $_POST['action']; // getUpdatable | getUpdatablePlugins | getUpdatableThemes | gravUpdates
|
|
||||||
$flush = isset($_POST['flush']) && $_POST['flush'] == true ? true : false;
|
|
||||||
|
|
||||||
if (isset($this->grav['session'])) {
|
|
||||||
$this->grav['session']->close();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
$gpm = new GPM($flush);
|
|
||||||
|
|
||||||
switch ($action) {
|
|
||||||
case 'getUpdates':
|
|
||||||
$resources_updates = $gpm->getUpdatable();
|
|
||||||
if ($gpm->grav != null) {
|
|
||||||
$grav_updates = [
|
|
||||||
"isUpdatable" => $gpm->grav->isUpdatable(),
|
|
||||||
"assets" => $gpm->grav->getAssets(),
|
|
||||||
"version" => GRAV_VERSION,
|
|
||||||
"available" => $gpm->grav->getVersion(),
|
|
||||||
"date" => $gpm->grav->getDate(),
|
|
||||||
"isSymlink" => $gpm->grav->isSymlink()
|
|
||||||
];
|
|
||||||
|
|
||||||
echo json_encode([
|
|
||||||
"status" => "success",
|
|
||||||
"payload" => [
|
|
||||||
"resources" => $resources_updates,
|
|
||||||
"grav" => $grav_updates,
|
|
||||||
"installed" => $gpm->countInstalled(),
|
|
||||||
'flushed' => $flush
|
|
||||||
]
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
echo json_encode(["status" => "error", "message" => "Cannot connect to the GPM"]);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} catch (\Exception $e) {
|
|
||||||
echo json_encode(["status" => "error", "message" => $e->getMessage()]);
|
|
||||||
}
|
|
||||||
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get list of form field types specified in this plugin. Only special types needs to be listed.
|
* Get list of form field types specified in this plugin. Only special types needs to be listed.
|
||||||
*
|
*
|
||||||
@@ -618,7 +558,6 @@ class AdminPlugin extends Plugin
|
|||||||
'onTwigTemplatePaths' => ['onTwigTemplatePaths', 1000],
|
'onTwigTemplatePaths' => ['onTwigTemplatePaths', 1000],
|
||||||
'onTwigSiteVariables' => ['onTwigSiteVariables', 1000],
|
'onTwigSiteVariables' => ['onTwigSiteVariables', 1000],
|
||||||
'onAssetsInitialized' => ['onAssetsInitialized', 1000],
|
'onAssetsInitialized' => ['onAssetsInitialized', 1000],
|
||||||
'onTask.GPM' => ['onTaskGPM', 0],
|
|
||||||
'onAdminRegisterPermissions' => ['onAdminRegisterPermissions', 0],
|
'onAdminRegisterPermissions' => ['onAdminRegisterPermissions', 0],
|
||||||
'onOutputGenerated' => ['onOutputGenerated', 0],
|
'onOutputGenerated' => ['onOutputGenerated', 0],
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use Grav\Common\Cache;
|
|||||||
use Grav\Common\Config\Config;
|
use Grav\Common\Config\Config;
|
||||||
use Grav\Common\File\CompiledYamlFile;
|
use Grav\Common\File\CompiledYamlFile;
|
||||||
use Grav\Common\Filesystem\Folder;
|
use Grav\Common\Filesystem\Folder;
|
||||||
|
use Grav\Common\GPM\GPM;
|
||||||
use Grav\Common\GPM\Installer;
|
use Grav\Common\GPM\Installer;
|
||||||
use Grav\Common\Grav;
|
use Grav\Common\Grav;
|
||||||
use Grav\Common\Data;
|
use Grav\Common\Data;
|
||||||
@@ -793,6 +794,51 @@ class AdminController extends AdminBaseController
|
|||||||
$this->admin->json_response = ['status' => 'success', 'feed_data' => $feed_data];
|
$this->admin->json_response = ['status' => 'success', 'feed_data' => $feed_data];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get update status from GPM
|
||||||
|
*/
|
||||||
|
protected function taskGetUpdates()
|
||||||
|
{
|
||||||
|
$data = $this->post;
|
||||||
|
$flush = isset($data['flush']) && $data['flush'] == true ? true : false;
|
||||||
|
|
||||||
|
if (isset($this->grav['session'])) {
|
||||||
|
$this->grav['session']->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
$gpm = new GPM($flush);
|
||||||
|
|
||||||
|
$resources_updates = $gpm->getUpdatable();
|
||||||
|
if ($gpm->grav != null) {
|
||||||
|
$grav_updates = [
|
||||||
|
"isUpdatable" => $gpm->grav->isUpdatable(),
|
||||||
|
"assets" => $gpm->grav->getAssets(),
|
||||||
|
"version" => GRAV_VERSION,
|
||||||
|
"available" => $gpm->grav->getVersion(),
|
||||||
|
"date" => $gpm->grav->getDate(),
|
||||||
|
"isSymlink" => $gpm->grav->isSymlink()
|
||||||
|
];
|
||||||
|
|
||||||
|
$this->admin->json_response = [
|
||||||
|
"status" => "success",
|
||||||
|
"payload" => [
|
||||||
|
"resources" => $resources_updates,
|
||||||
|
"grav" => $grav_updates,
|
||||||
|
"installed" => $gpm->countInstalled(),
|
||||||
|
'flushed' => $flush
|
||||||
|
]
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
$this->admin->json_response = ["status" => "error", "message" => "Cannot connect to the GPM"];
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$this->admin->json_response = ["status" => "error", "message" => $e->getMessage()];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get Notifications from cache.
|
* Get Notifications from cache.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
title: Cache
|
title: Updates
|
||||||
template: default
|
template: default
|
||||||
|
|
||||||
access:
|
access:
|
||||||
|
|||||||
Reference in New Issue
Block a user