mirror of
https://github.com/flarum/core.git
synced 2025-10-12 07:24:27 +02:00
44 lines
995 B
PHP
44 lines
995 B
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of Flarum.
|
|
*
|
|
* For detailed copyright and license information, please view the
|
|
* LICENSE file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Flarum\Api\Controller;
|
|
|
|
use Flarum\Extension\ExtensionManager;
|
|
use Illuminate\Support\Arr;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
|
|
class UninstallExtensionController extends AbstractDeleteController
|
|
{
|
|
/**
|
|
* @var ExtensionManager
|
|
*/
|
|
protected $extensions;
|
|
|
|
/**
|
|
* @param \Flarum\Extension\ExtensionManager $extensions
|
|
*/
|
|
public function __construct(ExtensionManager $extensions)
|
|
{
|
|
$this->extensions = $extensions;
|
|
}
|
|
|
|
protected function delete(ServerRequestInterface $request)
|
|
{
|
|
$request->getAttribute('actor')->assertAdmin();
|
|
|
|
$name = Arr::get($request->getQueryParams(), 'name');
|
|
|
|
if ($this->extensions->getExtension($name) == null) {
|
|
return;
|
|
}
|
|
|
|
$this->extensions->uninstall($name);
|
|
}
|
|
}
|