* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Flarum\Api\Controller; use Flarum\Core\Access\AssertPermissionTrait; use Flarum\Extension\ExtensionManager; use Psr\Http\Message\ServerRequestInterface; class UninstallExtensionController extends AbstractDeleteController { use AssertPermissionTrait; /** * @var ExtensionManager */ protected $extensions; /** * @param \Flarum\Extension\ExtensionManager $extensions */ public function __construct(ExtensionManager $extensions) { $this->extensions = $extensions; } protected function delete(ServerRequestInterface $request) { $this->assertAdminAndSudo($request); $name = array_get($request->getQueryParams(), 'name'); $this->extensions->disable($name); $this->extensions->uninstall($name); } }