mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-03 03:46:30 +01:00
compatibility for nextgen editor
This commit is contained in:
@@ -432,7 +432,7 @@ class AdminPlugin extends Plugin
|
||||
Pages::types();
|
||||
|
||||
// Handle tasks.
|
||||
$this->admin->task = $task = $this->grav['task'];
|
||||
$this->admin->task = $task = $this->grav['task'] ?? $this->grav['action'];
|
||||
if ($task) {
|
||||
$this->initializeController($task, $post);
|
||||
} elseif ($this->template === 'logs' && $this->route) {
|
||||
|
||||
@@ -1968,4 +1968,9 @@ class Admin
|
||||
{
|
||||
return $_SERVER['HTTP_REFERER'] ?? null;
|
||||
}
|
||||
|
||||
public static function enablePages()
|
||||
{
|
||||
return Grav::instance()['pages'];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ use Grav\Common\GPM\GPM as GravGPM;
|
||||
use Grav\Common\GPM\Installer;
|
||||
use Grav\Common\Grav;
|
||||
use Grav\Common\Data;
|
||||
use Grav\Common\Helpers\Excerpts;
|
||||
use Grav\Common\Page\Interfaces\PageInterface;
|
||||
use Grav\Common\Page\Media;
|
||||
use Grav\Common\Page\Medium\ImageMedium;
|
||||
@@ -2409,4 +2410,54 @@ class AdminController extends AdminBaseController
|
||||
|
||||
return $filename . '.' . $language . $ext;
|
||||
}
|
||||
|
||||
protected function taskConvertUrls()
|
||||
{
|
||||
$data = $this->getPost($_POST);
|
||||
$converted_links = [];
|
||||
$converted_images = [];
|
||||
$status = 'success';
|
||||
$message = 'All links converted';
|
||||
|
||||
$data['route'] = isset($data['route']) ? base64_decode($data['route']) : null;
|
||||
$data['data'] = json_decode($data['data'] ?? '{}', true);
|
||||
|
||||
// use the route if passed, else use current page in admin as reference
|
||||
$page_route = $data['route'] ?? $this->admin->page(true);
|
||||
|
||||
/** @var PageInterface */
|
||||
$page = $this->grav['pages']->find($page_route);
|
||||
|
||||
if (!$page) {
|
||||
$this->admin->json_response = [
|
||||
'status' => 'error',
|
||||
'message' => 'Page Not Found'
|
||||
];
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!isset($data['data'])) {
|
||||
$this->admin->json_response = [
|
||||
'status' => 'error',
|
||||
'message' => 'Bad Request'
|
||||
];
|
||||
return false;
|
||||
}
|
||||
|
||||
foreach ($data['data']['a'] ?? [] as $link) {
|
||||
$converted_links[$link] = Excerpts::processLinkHtml($link, $page);
|
||||
}
|
||||
|
||||
foreach ($data['data']['img'] ?? [] as $image) {
|
||||
$converted_images[$image] = Excerpts::processImageHtml($image, $page);
|
||||
}
|
||||
|
||||
$json = [
|
||||
'status' => $status,
|
||||
'message' => $message,
|
||||
'data' => ['links' => $converted_links, 'images' => $converted_images]
|
||||
];
|
||||
|
||||
return $this->sendJsonResponse($json);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user