mirror of
https://github.com/friendica/friendica
synced 2025-04-27 10:30:10 +00:00
77 lines
1.7 KiB
PHP
77 lines
1.7 KiB
PHP
<?php
|
|
|
|
// Copyright (C) 2010-2024, the Friendica project
|
|
// SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Friendica\Core\Addon;
|
|
|
|
/**
|
|
* Some functions to handle addons
|
|
*/
|
|
interface AddonHelper
|
|
{
|
|
/**
|
|
* Returns the list of available addons with their current status and info.
|
|
* This list is made from scanning the addon/ folder.
|
|
* Unsupported addons are excluded unless they already are enabled or system.show_unsupported_addon is set.
|
|
*
|
|
* @return array<array<string|string|array>>
|
|
*/
|
|
public function getAvailableAddons(): array;
|
|
|
|
/**
|
|
* Installs an addon.
|
|
*
|
|
* @param string $addonId name of the addon
|
|
*
|
|
* @return bool true on success or false on failure
|
|
*/
|
|
public function installAddon(string $addonId): bool;
|
|
|
|
/**
|
|
* Uninstalls an addon.
|
|
*
|
|
* @param string $addonId name of the addon
|
|
*/
|
|
public function uninstallAddon(string $addonId): void;
|
|
|
|
/**
|
|
* Reload (uninstall and install) all updated addons.
|
|
*/
|
|
public function reloadAddons(): void;
|
|
|
|
/**
|
|
* Get the comment block of an addon as value object.
|
|
*/
|
|
public function getAddonInfo(string $addonId): AddonInfo;
|
|
|
|
/**
|
|
* Checks if the provided addon is enabled
|
|
*/
|
|
public function isAddonEnabled(string $addonId): bool;
|
|
|
|
/**
|
|
* Returns a list with the IDs of the enabled addons
|
|
*
|
|
* @return string[]
|
|
*/
|
|
public function getEnabledAddons(): array;
|
|
|
|
/**
|
|
* Returns a list with the IDs of the non-hidden enabled addons
|
|
*
|
|
* @return string[]
|
|
*/
|
|
public function getVisibleEnabledAddons(): array;
|
|
|
|
/**
|
|
* Returns a list with the IDs of the enabled addons that provides admin settings.
|
|
*
|
|
* @return string[]
|
|
*/
|
|
public function getEnabledAddonsWithAdminSettings(): array;
|
|
}
|