mirror of
https://github.com/friendica/friendica
synced 2024-11-09 16:22:56 +00:00
Merge branch 'friendica:develop' into doc_faq_client-clean-up
This commit is contained in:
commit
3bae52074a
290 changed files with 2713 additions and 2817 deletions
|
@ -566,7 +566,6 @@ Here is a complete list of all hook callbacks with file locations (as of 24-Sep-
|
|||
Hook::callAll($a->module.'_mod_init', $placeholder);
|
||||
Hook::callAll($a->module.'_mod_init', $placeholder);
|
||||
Hook::callAll($a->module.'_mod_post', $_POST);
|
||||
Hook::callAll($a->module.'_mod_afterpost', $placeholder);
|
||||
Hook::callAll($a->module.'_mod_content', $arr);
|
||||
Hook::callAll($a->module.'_mod_aftercontent', $arr);
|
||||
Hook::callAll('page_end', DI::page()['content']);
|
||||
|
|
|
@ -177,7 +177,7 @@ Friendica supports [Mastodon API](help/API-Mastodon) and [Twitter API](help/api)
|
|||
|
||||
* [AndStatus](http://andstatus.org) ([F-Droid](https://f-droid.org/repository/browse/?fdid=org.andstatus.app), [Google Play](https://play.google.com/store/apps/details?id=org.andstatus.app))
|
||||
* [B4X for Pleroma & Mastodon](https://github.com/AnywhereSoftware/B4X-Pleroma)
|
||||
* [DiCa](https://dica.mixi.cool/) (Available at Google Play)
|
||||
* DiCa ([Google Play](https://play.google.com/store/apps/details?id=cool.mixi.dica), last updated 2019)
|
||||
* [Fedi](https://play.google.com/store/apps/details?id=com.fediverse.app)
|
||||
* [Fedilab](https://fedilab.app) ([F-Droid](https://f-droid.org/app/fr.gouv.etalab.mastodon), [Google Play](https://play.google.com/store/apps/details?id=app.fedilab.android))
|
||||
* [Friendiqa](https://git.friendi.ca/lubuwest/Friendiqa) ([F-Droid](https://git.friendi.ca/lubuwest/Friendiqa#install), [Google Play](https://play.google.com/store/apps/details?id=org.qtproject.friendiqa))
|
||||
|
|
|
@ -202,7 +202,6 @@ Eine komplette Liste aller Hook-Callbacks mit den zugehörigen Dateien (am 01-Ap
|
|||
Hook::callAll($a->module.'_mod_init', $placeholder);
|
||||
Hook::callAll($a->module.'_mod_init', $placeholder);
|
||||
Hook::callAll($a->module.'_mod_post', $_POST);
|
||||
Hook::callAll($a->module.'_mod_afterpost', $placeholder);
|
||||
Hook::callAll($a->module.'_mod_content', $arr);
|
||||
Hook::callAll($a->module.'_mod_aftercontent', $arr);
|
||||
Hook::callAll('page_end', DI::page()['content']);
|
||||
|
|
|
@ -186,7 +186,7 @@ Friendica unterstützt [Mastodon API](help/API-Mastodon) und [Twitter API](help/
|
|||
|
||||
* [AndStatus](http://andstatus.org) ([F-Droid](https://f-droid.org/repository/browse/?fdid=org.andstatus.app), [Google Play](https://play.google.com/store/apps/details?id=org.andstatus.app))
|
||||
* [B4X for Pleroma & Mastodon](https://github.com/AnywhereSoftware/B4X-Pleroma)
|
||||
* [DiCa](https://dica.mixi.cool/) (Gibt es bei Google Play)
|
||||
* DiCa ([Google Play](https://play.google.com/store/apps/details?id=cool.mixi.dica), letztes Update 2019)
|
||||
* [Fedi](https://play.google.com/store/apps/details?id=com.fediverse.app)
|
||||
* [Fedilab](https://fedilab.app) ([F-Droid](https://f-droid.org/app/fr.gouv.etalab.mastodon), [Google Play](https://play.google.com/store/apps/details?id=app.fedilab.android))
|
||||
* [Friendiqa](https://git.friendi.ca/lubuwest/Friendiqa) (Gibt es im Google Playstore oder als [binary Repository](https://freunde.ma-nic.de/display/3e98eba8185a13c5bdbf3d1539646854) für F-Droid)
|
||||
|
|
920
include/api.php
920
include/api.php
File diff suppressed because it is too large
Load diff
|
@ -41,10 +41,11 @@ $a = \Friendica\DI::app();
|
|||
\Friendica\DI::mode()->setExecutor(\Friendica\App\Mode::INDEX);
|
||||
|
||||
$a->runFrontend(
|
||||
$dice->create(\Friendica\App\Module::class),
|
||||
$dice->create(\Friendica\App\ModuleController::class),
|
||||
$dice->create(\Friendica\App\Router::class),
|
||||
$dice->create(\Friendica\Core\PConfig\Capability\IManagePersonalConfigValues::class),
|
||||
$dice->create(\Friendica\Security\Authentication::class),
|
||||
$dice->create(\Friendica\App\Page::class),
|
||||
$dice,
|
||||
$start_time
|
||||
);
|
||||
|
|
|
@ -40,7 +40,7 @@ use Friendica\Protocol\DFRN;
|
|||
function display_init(App $a)
|
||||
{
|
||||
if (ActivityPub::isRequest()) {
|
||||
Objects::rawContent(['guid' => DI::args()->getArgv()[1] ?? null]);
|
||||
(new Objects(DI::l10n(), ['guid' => DI::args()->getArgv()[1] ?? null]))->rawContent();
|
||||
}
|
||||
|
||||
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
|
||||
|
|
|
@ -130,6 +130,15 @@ function editpost_content(App $a)
|
|||
'$cancel' => DI::l10n()->t('Cancel'),
|
||||
'$rand_num' => Crypto::randomDigits(12),
|
||||
|
||||
// Formatting button labels
|
||||
'$edbold' => DI::l10n()->t('Bold'),
|
||||
'$editalic' => DI::l10n()->t('Italic'),
|
||||
'$eduline' => DI::l10n()->t('Underline'),
|
||||
'$edquote' => DI::l10n()->t('Quote'),
|
||||
'$edcode' => DI::l10n()->t('Code'),
|
||||
'$edurl' => DI::l10n()->t('Link'),
|
||||
'$edattach' => DI::l10n()->t('Link or Media'),
|
||||
|
||||
//jot nav tab (used in some themes)
|
||||
'$message' => DI::l10n()->t('Message'),
|
||||
'$browser' => DI::l10n()->t('Browser'),
|
||||
|
|
|
@ -122,7 +122,7 @@ function unfollow_process(string $url)
|
|||
|
||||
$owner = User::getOwnerDataById($uid);
|
||||
if (!$owner) {
|
||||
\Friendica\Module\Security\Logout::init();
|
||||
(new \Friendica\Module\Security\Logout())->init();
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
|
|
@ -32,6 +32,7 @@ use Friendica\Database\DBA;
|
|||
use Friendica\DI;
|
||||
use Friendica\Model\Photo;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\BaseApi;
|
||||
use Friendica\Object\Image;
|
||||
use Friendica\Util\Images;
|
||||
use Friendica\Util\Strings;
|
||||
|
@ -55,8 +56,7 @@ function wall_upload_post(App $a, $desktopmode = true)
|
|||
return;
|
||||
}
|
||||
} else {
|
||||
$user_info = api_get_user();
|
||||
$user = DBA::selectFirst('owner-view', ['id', 'uid', 'nickname', 'page-flags'], ['nickname' => $user_info['screen_name'], 'blocked' => false]);
|
||||
$user = DBA::selectFirst('owner-view', ['id', 'uid', 'nickname', 'page-flags'], ['uid' => BaseApi::getCurrentUserID(), 'blocked' => false]);
|
||||
}
|
||||
} else {
|
||||
if ($r_json) {
|
||||
|
|
17
src/App.php
17
src/App.php
|
@ -21,10 +21,11 @@
|
|||
|
||||
namespace Friendica;
|
||||
|
||||
use Dice\Dice;
|
||||
use Exception;
|
||||
use Friendica\App\Arguments;
|
||||
use Friendica\App\BaseURL;
|
||||
use Friendica\App\Module;
|
||||
use Friendica\App\ModuleController;
|
||||
use Friendica\Core\Config\Factory\Config;
|
||||
use Friendica\Module\Maintenance;
|
||||
use Friendica\Security\Authentication;
|
||||
|
@ -566,16 +567,16 @@ class App
|
|||
*
|
||||
* This probably should change to limit the size of this monster method.
|
||||
*
|
||||
* @param App\Module $module The determined module
|
||||
* @param App\ModuleController $module The determined module
|
||||
* @param App\Router $router
|
||||
* @param IManagePersonalConfigValues $pconfig
|
||||
* @param Authentication $auth The Authentication backend of the node
|
||||
* @param App\Page $page The Friendica page printing container
|
||||
* @param Authentication $auth The Authentication backend of the node
|
||||
* @param App\Page $page The Friendica page printing container
|
||||
*
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
*/
|
||||
public function runFrontend(App\Module $module, App\Router $router, IManagePersonalConfigValues $pconfig, Authentication $auth, App\Page $page, float $start_time)
|
||||
public function runFrontend(App\ModuleController $module, App\Router $router, IManagePersonalConfigValues $pconfig, Authentication $auth, App\Page $page, Dice $dice, float $start_time)
|
||||
{
|
||||
$this->profiler->set($start_time, 'start');
|
||||
$this->profiler->set(microtime(true), 'classinit');
|
||||
|
@ -702,17 +703,17 @@ class App
|
|||
$page['page_title'] = $moduleName;
|
||||
|
||||
if (!$this->mode->isInstall() && !$this->mode->has(App\Mode::MAINTENANCEDISABLED)) {
|
||||
$module = new Module('maintenance', Maintenance::class);
|
||||
$module = new ModuleController('maintenance', new Maintenance($this->l10n));
|
||||
} else {
|
||||
// determine the module class and save it to the module instance
|
||||
// @todo there's an implicit dependency due SESSION::start(), so it has to be called here (yet)
|
||||
$module = $module->determineClass($this->args, $router, $this->config);
|
||||
$module = $module->determineClass($this->args, $router, $this->config, $dice);
|
||||
}
|
||||
|
||||
// Let the module run it's internal process (init, get, post, ...)
|
||||
$module->run($this->l10n, $this->baseURL, $this->logger, $this->profiler, $_SERVER, $_POST);
|
||||
} catch (HTTPException $e) {
|
||||
ModuleHTTPException::rawContent($e);
|
||||
(new ModuleHTTPException())->rawContent($e);
|
||||
}
|
||||
|
||||
$page->run($this, $this->baseURL, $this->mode, $module, $this->l10n, $this->profiler, $this->config, $pconfig);
|
||||
|
|
|
@ -139,14 +139,14 @@ class Mode
|
|||
/**
|
||||
* Checks if the site is called via a backend process
|
||||
*
|
||||
* @param bool $isBackend True, if the call is from a backend script (daemon, worker, ...)
|
||||
* @param Module $module The pre-loaded module (just name, not class!)
|
||||
* @param array $server The $_SERVER variable
|
||||
* @param MobileDetect $mobileDetect The mobile detection library
|
||||
* @param bool $isBackend True, if the call is from a backend script (daemon, worker, ...)
|
||||
* @param ModuleController $module The pre-loaded module (just name, not class!)
|
||||
* @param array $server The $_SERVER variable
|
||||
* @param MobileDetect $mobileDetect The mobile detection library
|
||||
*
|
||||
* @return Mode returns the determined mode
|
||||
*/
|
||||
public function determineRunMode(bool $isBackend, Module $module, array $server, MobileDetect $mobileDetect)
|
||||
public function determineRunMode(bool $isBackend, ModuleController $module, array $server, MobileDetect $mobileDetect)
|
||||
{
|
||||
foreach (self::BACKEND_CONTENT_TYPES as $type) {
|
||||
if (strpos(strtolower($server['HTTP_ACCEPT'] ?? ''), $type) !== false) {
|
||||
|
|
|
@ -21,8 +21,9 @@
|
|||
|
||||
namespace Friendica\App;
|
||||
|
||||
use Dice\Dice;
|
||||
use Friendica\App;
|
||||
use Friendica\BaseModule;
|
||||
use Friendica\Capabilities\ICanHandleRequests;
|
||||
use Friendica\Core;
|
||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\LegacyModule;
|
||||
|
@ -38,7 +39,7 @@ use Psr\Log\LoggerInterface;
|
|||
/**
|
||||
* Holds the common context of the current, loaded module
|
||||
*/
|
||||
class Module
|
||||
class ModuleController
|
||||
{
|
||||
const DEFAULT = 'home';
|
||||
const DEFAULT_CLASS = Home::class;
|
||||
|
@ -77,18 +78,13 @@ class Module
|
|||
/**
|
||||
* @var string The module name
|
||||
*/
|
||||
private $moduleName;
|
||||
|
||||
/**
|
||||
* @var ?ICanHandleRequests The module object
|
||||
*/
|
||||
private $module;
|
||||
|
||||
/**
|
||||
* @var BaseModule The module class
|
||||
*/
|
||||
private $module_class;
|
||||
|
||||
/**
|
||||
* @var array The module parameters
|
||||
*/
|
||||
private $module_parameters;
|
||||
|
||||
/**
|
||||
* @var bool true, if the module is a backend module
|
||||
*/
|
||||
|
@ -103,40 +99,31 @@ class Module
|
|||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->moduleName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ?ICanHandleRequests The base module object
|
||||
*/
|
||||
public function getModule(): ?ICanHandleRequests
|
||||
{
|
||||
return $this->module;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string The base class name
|
||||
*/
|
||||
public function getClassName()
|
||||
{
|
||||
return $this->module_class;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array The module parameters extracted from the route
|
||||
*/
|
||||
public function getParameters()
|
||||
{
|
||||
return $this->module_parameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool True, if the current module is a backend module
|
||||
* @see Module::BACKEND_MODULES for a list
|
||||
* @see ModuleController::BACKEND_MODULES for a list
|
||||
*/
|
||||
public function isBackend()
|
||||
{
|
||||
return $this->isBackend;
|
||||
}
|
||||
|
||||
public function __construct(string $module = self::DEFAULT, string $moduleClass = self::DEFAULT_CLASS, array $moduleParameters = [], bool $isBackend = false, bool $printNotAllowedAddon = false)
|
||||
public function __construct(string $moduleName = self::DEFAULT, ?ICanHandleRequests $module = null, bool $isBackend = false, bool $printNotAllowedAddon = false)
|
||||
{
|
||||
$this->moduleName = $moduleName;
|
||||
$this->module = $module;
|
||||
$this->module_class = $moduleClass;
|
||||
$this->module_parameters = $moduleParameters;
|
||||
$this->isBackend = $isBackend;
|
||||
$this->printNotAllowedAddon = $printNotAllowedAddon;
|
||||
}
|
||||
|
@ -146,9 +133,9 @@ class Module
|
|||
*
|
||||
* @param Arguments $args The Friendica arguments
|
||||
*
|
||||
* @return Module The module with the determined module
|
||||
* @return ModuleController The module with the determined module
|
||||
*/
|
||||
public function determineModule(Arguments $args)
|
||||
public function determineName(Arguments $args)
|
||||
{
|
||||
if ($args->getArgc() > 0) {
|
||||
$module = str_replace('.', '_', $args->get(0));
|
||||
|
@ -162,27 +149,28 @@ class Module
|
|||
$module = "login";
|
||||
}
|
||||
|
||||
$isBackend = in_array($module, Module::BACKEND_MODULES);;
|
||||
$isBackend = in_array($module, ModuleController::BACKEND_MODULES);
|
||||
|
||||
return new Module($module, $this->module_class, [], $isBackend, $this->printNotAllowedAddon);
|
||||
return new ModuleController($module, null, $isBackend, $this->printNotAllowedAddon);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine the class of the current module
|
||||
*
|
||||
* @param Arguments $args The Friendica execution arguments
|
||||
* @param Router $router The Friendica routing instance
|
||||
* @param Arguments $args The Friendica execution arguments
|
||||
* @param Router $router The Friendica routing instance
|
||||
* @param IManageConfigValues $config The Friendica Configuration
|
||||
* @param Dice $dice The Dependency Injection container
|
||||
*
|
||||
* @return Module The determined module of this call
|
||||
* @return ModuleController The determined module of this call
|
||||
*
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function determineClass(Arguments $args, Router $router, IManageConfigValues $config)
|
||||
public function determineClass(Arguments $args, Router $router, IManageConfigValues $config, Dice $dice)
|
||||
{
|
||||
$printNotAllowedAddon = false;
|
||||
|
||||
$module_class = null;
|
||||
$module_class = null;
|
||||
$module_parameters = [];
|
||||
/**
|
||||
* ROUTING
|
||||
|
@ -191,22 +179,22 @@ class Module
|
|||
* post() and/or content() static methods can be respectively called to produce a data change or an output.
|
||||
**/
|
||||
try {
|
||||
$module_class = $router->getModuleClass($args->getCommand());
|
||||
$module_parameters = $router->getModuleParameters();
|
||||
$module_class = $router->getModuleClass($args->getCommand());
|
||||
$module_parameters[] = $router->getModuleParameters();
|
||||
} catch (MethodNotAllowedException $e) {
|
||||
$module_class = MethodNotAllowed::class;
|
||||
} catch (NotFoundException $e) {
|
||||
// Then we try addon-provided modules that we wrap in the LegacyModule class
|
||||
if (Core\Addon::isEnabled($this->module) && file_exists("addon/{$this->module}/{$this->module}.php")) {
|
||||
if (Core\Addon::isEnabled($this->moduleName) && file_exists("addon/{$this->moduleName}/{$this->moduleName}.php")) {
|
||||
//Check if module is an app and if public access to apps is allowed or not
|
||||
$privateapps = $config->get('config', 'private_addons', false);
|
||||
if ((!local_user()) && Core\Hook::isAddonApp($this->module) && $privateapps) {
|
||||
if ((!local_user()) && Core\Hook::isAddonApp($this->moduleName) && $privateapps) {
|
||||
$printNotAllowedAddon = true;
|
||||
} else {
|
||||
include_once "addon/{$this->module}/{$this->module}.php";
|
||||
if (function_exists($this->module . '_module')) {
|
||||
LegacyModule::setModuleFile("addon/{$this->module}/{$this->module}.php");
|
||||
$module_class = LegacyModule::class;
|
||||
include_once "addon/{$this->moduleName}/{$this->moduleName}.php";
|
||||
if (function_exists($this->moduleName . '_module')) {
|
||||
$module_parameters[] = "addon/{$this->moduleName}/{$this->moduleName}.php";
|
||||
$module_class = LegacyModule::class;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -214,15 +202,18 @@ class Module
|
|||
/* Finally, we look for a 'standard' program module in the 'mod' directory
|
||||
* We emulate a Module class through the LegacyModule class
|
||||
*/
|
||||
if (!$module_class && file_exists("mod/{$this->module}.php")) {
|
||||
LegacyModule::setModuleFile("mod/{$this->module}.php");
|
||||
$module_class = LegacyModule::class;
|
||||
if (!$module_class && file_exists("mod/{$this->moduleName}.php")) {
|
||||
$module_parameters[] = "mod/{$this->moduleName}.php";
|
||||
$module_class = LegacyModule::class;
|
||||
}
|
||||
|
||||
$module_class = $module_class ?: PageNotFound::class;
|
||||
}
|
||||
|
||||
return new Module($this->module, $module_class, $module_parameters, $this->isBackend, $printNotAllowedAddon);
|
||||
/** @var ICanHandleRequests $module */
|
||||
$module = $dice->create($module_class, $module_parameters);
|
||||
|
||||
return new ModuleController($this->moduleName, $module, $this->isBackend, $printNotAllowedAddon);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -251,7 +242,7 @@ class Module
|
|||
*
|
||||
* Otherwise we are going to emit a 404 not found.
|
||||
*/
|
||||
if ($this->module_class === PageNotFound::class) {
|
||||
if ($this->module === PageNotFound::class) {
|
||||
$queryString = $server['QUERY_STRING'];
|
||||
// Stupid browser tried to pre-fetch our Javascript img template. Don't log the event or return anything - just quietly exit.
|
||||
if (!empty($queryString) && preg_match('/{[0-9]}/', $queryString) !== 0) {
|
||||
|
@ -302,34 +293,29 @@ class Module
|
|||
$profiler->set(microtime(true), 'ready');
|
||||
$timestamp = microtime(true);
|
||||
|
||||
Core\Hook::callAll($this->module . '_mod_init', $placeholder);
|
||||
|
||||
call_user_func([$this->module_class, 'init'], $this->module_parameters);
|
||||
Core\Hook::callAll($this->moduleName . '_mod_init', $placeholder);
|
||||
|
||||
$profiler->set(microtime(true) - $timestamp, 'init');
|
||||
|
||||
if ($server['REQUEST_METHOD'] === Router::DELETE) {
|
||||
call_user_func([$this->module_class, 'delete'], $this->module_parameters);
|
||||
$this->module->delete();
|
||||
}
|
||||
|
||||
if ($server['REQUEST_METHOD'] === Router::PATCH) {
|
||||
call_user_func([$this->module_class, 'patch'], $this->module_parameters);
|
||||
$this->module->patch();
|
||||
}
|
||||
|
||||
if ($server['REQUEST_METHOD'] === Router::POST) {
|
||||
Core\Hook::callAll($this->module . '_mod_post', $post);
|
||||
call_user_func([$this->module_class, 'post'], $this->module_parameters);
|
||||
Core\Hook::callAll($this->moduleName . '_mod_post', $post);
|
||||
$this->module->post();
|
||||
}
|
||||
|
||||
if ($server['REQUEST_METHOD'] === Router::PUT) {
|
||||
call_user_func([$this->module_class, 'put'], $this->module_parameters);
|
||||
$this->module->put();
|
||||
}
|
||||
|
||||
Core\Hook::callAll($this->module . '_mod_afterpost', $placeholder);
|
||||
call_user_func([$this->module_class, 'afterpost'], $this->module_parameters);
|
||||
|
||||
// "rawContent" is especially meant for technical endpoints.
|
||||
// This endpoint doesn't need any theme initialization or other comparable stuff.
|
||||
call_user_func([$this->module_class, 'rawContent'], $this->module_parameters);
|
||||
$this->module->rawContent();
|
||||
}
|
||||
}
|
|
@ -191,14 +191,14 @@ class Page implements ArrayAccess
|
|||
* - head.tpl template
|
||||
*
|
||||
* @param App $app The Friendica App instance
|
||||
* @param Module $module The loaded Friendica module
|
||||
* @param ModuleController $module The loaded Friendica module
|
||||
* @param L10n $l10n The l10n language instance
|
||||
* @param IManageConfigValues $config The Friendica configuration
|
||||
* @param IManagePersonalConfigValues $pConfig The Friendica personal configuration (for user)
|
||||
*
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private function initHead(App $app, Module $module, L10n $l10n, IManageConfigValues $config, IManagePersonalConfigValues $pConfig)
|
||||
private function initHead(App $app, ModuleController $module, L10n $l10n, IManageConfigValues $config, IManagePersonalConfigValues $pConfig)
|
||||
{
|
||||
$interval = ((local_user()) ? $pConfig->get(local_user(), 'system', 'update_interval') : 40000);
|
||||
|
||||
|
@ -337,26 +337,24 @@ class Page implements ArrayAccess
|
|||
* - module content
|
||||
* - hooks for content
|
||||
*
|
||||
* @param Module $module The module
|
||||
* @param Mode $mode The Friendica execution mode
|
||||
* @param ModuleController $module The module
|
||||
* @param Mode $mode The Friendica execution mode
|
||||
*
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
private function initContent(Module $module, Mode $mode)
|
||||
private function initContent(ModuleController $module, Mode $mode)
|
||||
{
|
||||
$content = '';
|
||||
|
||||
try {
|
||||
$moduleClass = $module->getClassName();
|
||||
$moduleClass = $module->getModule();
|
||||
|
||||
$arr = ['content' => $content];
|
||||
Hook::callAll($moduleClass . '_mod_content', $arr);
|
||||
Hook::callAll($moduleClass->getClassName() . '_mod_content', $arr);
|
||||
$content = $arr['content'];
|
||||
$arr = ['content' => call_user_func([$moduleClass, 'content'], $module->getParameters())];
|
||||
Hook::callAll($moduleClass . '_mod_aftercontent', $arr);
|
||||
$content .= $arr['content'];
|
||||
$content .= $module->getModule()->content();
|
||||
} catch (HTTPException $e) {
|
||||
$content = ModuleHTTPException::content($e);
|
||||
$content = (new ModuleHTTPException())->content($e);
|
||||
}
|
||||
|
||||
// initialise content region
|
||||
|
@ -392,14 +390,14 @@ class Page implements ArrayAccess
|
|||
* @param App $app The Friendica App
|
||||
* @param BaseURL $baseURL The Friendica Base URL
|
||||
* @param Mode $mode The current node mode
|
||||
* @param Module $module The loaded Friendica module
|
||||
* @param ModuleController $module The loaded Friendica module
|
||||
* @param L10n $l10n The l10n language class
|
||||
* @param IManageConfigValues $config The Configuration of this node
|
||||
* @param IManagePersonalConfigValues $pconfig The personal/user configuration
|
||||
*
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public function run(App $app, BaseURL $baseURL, Mode $mode, Module $module, L10n $l10n, Profiler $profiler, IManageConfigValues $config, IManagePersonalConfigValues $pconfig)
|
||||
public function run(App $app, BaseURL $baseURL, Mode $mode, ModuleController $module, L10n $l10n, Profiler $profiler, IManageConfigValues $config, IManagePersonalConfigValues $pconfig)
|
||||
{
|
||||
$moduleName = $module->getName();
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
namespace Friendica;
|
||||
|
||||
use Friendica\Capabilities\ICanHandleRequests;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Logger;
|
||||
use Friendica\Model\User;
|
||||
|
||||
|
@ -33,94 +35,90 @@ use Friendica\Model\User;
|
|||
*
|
||||
* @author Hypolite Petovan <hypolite@mrpetovan.com>
|
||||
*/
|
||||
abstract class BaseModule
|
||||
abstract class BaseModule implements ICanHandleRequests
|
||||
{
|
||||
/**
|
||||
* Initialization method common to both content() and post()
|
||||
*
|
||||
* Extend this method if you need to do any shared processing before both
|
||||
* content() or post()
|
||||
*/
|
||||
public static function init(array $parameters = [])
|
||||
/** @var array */
|
||||
protected $parameters = [];
|
||||
|
||||
/** @var L10n */
|
||||
protected $l10n;
|
||||
|
||||
public function __construct(L10n $l10n, array $parameters = [])
|
||||
{
|
||||
$this->parameters = $parameters;
|
||||
$this->l10n = $l10n;
|
||||
}
|
||||
|
||||
/**
|
||||
* Module GET method to display raw content from technical endpoints
|
||||
* Wraps the L10n::t() function for Modules
|
||||
*
|
||||
* Extend this method if the module is supposed to return communication data,
|
||||
* e.g. from protocol implementations.
|
||||
* @see L10n::t()
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
protected function t(string $s, ...$args): string
|
||||
{
|
||||
return $this->l10n->t($s, $args);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wraps the L10n::tt() function for Modules
|
||||
*
|
||||
* @see L10n::tt()
|
||||
*/
|
||||
protected function tt(string $singular, string $plurarl, int $count): string
|
||||
{
|
||||
return $this->l10n->tt($singular, $plurarl, $count);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public function rawContent()
|
||||
{
|
||||
// echo '';
|
||||
// exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Module GET method to display any content
|
||||
*
|
||||
* Extend this method if the module is supposed to return any display
|
||||
* through a GET request. It can be an HTML page through templating or a
|
||||
* XML feed or a JSON output.
|
||||
*
|
||||
* @return string
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
$o = '';
|
||||
|
||||
return $o;
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Module DELETE method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process DELETE requests.
|
||||
* Doesn't display any content
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public static function delete(array $parameters = [])
|
||||
public function delete()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Module PATCH method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process PATCH requests.
|
||||
* Doesn't display any content
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public static function patch(array $parameters = [])
|
||||
public function patch()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Module POST method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process POST requests.
|
||||
* Doesn't display any content
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
// DI::baseurl()->redirect('module');
|
||||
}
|
||||
|
||||
/**
|
||||
* Called after post()
|
||||
*
|
||||
* Unknown purpose
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
public static function afterpost(array $parameters = [])
|
||||
public function put()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Module PUT method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process PUT requests.
|
||||
* Doesn't display any content
|
||||
*/
|
||||
public static function put(array $parameters = [])
|
||||
/** Gets the name of the current class */
|
||||
public function getClassName(): string
|
||||
{
|
||||
return static::class;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
60
src/Capabilities/ICanHandleRequests.php
Normal file
60
src/Capabilities/ICanHandleRequests.php
Normal file
|
@ -0,0 +1,60 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Capabilities;
|
||||
|
||||
/**
|
||||
* This interface provides the capability to handle requests from clients and returns the desired outcome
|
||||
*/
|
||||
interface ICanHandleRequests
|
||||
{
|
||||
/**
|
||||
* Module GET method to display raw content from technical endpoints
|
||||
*
|
||||
* Extend this method if the module is supposed to return communication data,
|
||||
* e.g. from protocol implementations.
|
||||
*/
|
||||
public function rawContent();
|
||||
|
||||
/**
|
||||
* Module GET method to display any content
|
||||
*
|
||||
* Extend this method if the module is supposed to return any display
|
||||
* through a GET request. It can be an HTML page through templating or a
|
||||
* XML feed or a JSON output.
|
||||
*/
|
||||
public function content(): string;
|
||||
|
||||
/**
|
||||
* Module DELETE method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process DELETE requests.
|
||||
* Doesn't display any content
|
||||
*/
|
||||
public function delete();
|
||||
|
||||
/**
|
||||
* Module PATCH method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process PATCH requests.
|
||||
* Doesn't display any content
|
||||
*/
|
||||
public function patch();
|
||||
|
||||
/**
|
||||
* Module POST method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process POST requests.
|
||||
* Doesn't display any content
|
||||
*/
|
||||
public function post();
|
||||
|
||||
/**
|
||||
* Module PUT method to process submitted data
|
||||
*
|
||||
* Extend this method if the module is supposed to process PUT requests.
|
||||
* Doesn't display any content
|
||||
*/
|
||||
public function put();
|
||||
|
||||
public function getClassName(): string;
|
||||
}
|
|
@ -99,11 +99,11 @@ abstract class DI
|
|||
}
|
||||
|
||||
/**
|
||||
* @return App\Module
|
||||
* @return App\ModuleController
|
||||
*/
|
||||
public static function module()
|
||||
{
|
||||
return self::$dice->create(App\Module::class);
|
||||
return self::$dice->create(App\ModuleController::class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -52,4 +52,9 @@ class User extends BaseFactory
|
|||
|
||||
return new \Friendica\Object\Api\Twitter\User($publicContact, $apcontact, $userContact, $skip_status, $include_user_entities);
|
||||
}
|
||||
|
||||
public function createFromUserId(int $uid, $skip_status = false, $include_user_entities = true)
|
||||
{
|
||||
return $this->createFromContactId(Contact::getPublicIdByUserId($uid), $uid, $skip_status, $include_user_entities);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
|
||||
namespace Friendica;
|
||||
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
/**
|
||||
* This mock module enable class encapsulation of legacy global function modules.
|
||||
* After having provided the module file name, all the methods will behave like a normal Module class.
|
||||
|
@ -35,7 +37,16 @@ class LegacyModule extends BaseModule
|
|||
*
|
||||
* @var string
|
||||
*/
|
||||
private static $moduleName = '';
|
||||
private $moduleName = '';
|
||||
|
||||
public function __construct(L10n $l10n, string $file_path = '', array $parameters = [])
|
||||
{
|
||||
parent::__construct($l10n, $parameters);
|
||||
|
||||
$this->setModuleFile($file_path);
|
||||
|
||||
$this->runModuleFunction('init');
|
||||
}
|
||||
|
||||
/**
|
||||
* The only method that needs to be called, with the module/addon file name.
|
||||
|
@ -43,35 +54,25 @@ class LegacyModule extends BaseModule
|
|||
* @param string $file_path
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function setModuleFile($file_path)
|
||||
private function setModuleFile($file_path)
|
||||
{
|
||||
if (!is_readable($file_path)) {
|
||||
throw new \Exception(DI::l10n()->t('Legacy module file not found: %s', $file_path));
|
||||
}
|
||||
|
||||
self::$moduleName = basename($file_path, '.php');
|
||||
$this->moduleName = basename($file_path, '.php');
|
||||
|
||||
require_once $file_path;
|
||||
}
|
||||
|
||||
public static function init(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
self::runModuleFunction('init', $parameters);
|
||||
return $this->runModuleFunction('content');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
return self::runModuleFunction('content', $parameters);
|
||||
}
|
||||
|
||||
public static function post(array $parameters = [])
|
||||
{
|
||||
self::runModuleFunction('post', $parameters);
|
||||
}
|
||||
|
||||
public static function afterpost(array $parameters = [])
|
||||
{
|
||||
self::runModuleFunction('afterpost', $parameters);
|
||||
$this->runModuleFunction('post');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,15 +82,15 @@ class LegacyModule extends BaseModule
|
|||
* @return string
|
||||
* @throws \Exception
|
||||
*/
|
||||
private static function runModuleFunction($function_suffix, array $parameters = [])
|
||||
private function runModuleFunction(string $function_suffix)
|
||||
{
|
||||
$function_name = static::$moduleName . '_' . $function_suffix;
|
||||
$function_name = $this->moduleName . '_' . $function_suffix;
|
||||
|
||||
if (\function_exists($function_name)) {
|
||||
$a = DI::app();
|
||||
return $function_name($a);
|
||||
} else {
|
||||
return parent::{$function_suffix}($parameters);
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\BaseModule;
|
|||
*/
|
||||
class AccountManagementControlDocument extends BaseModule
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$output = [
|
||||
'version' => 1,
|
||||
|
|
|
@ -24,22 +24,25 @@ namespace Friendica\Module;
|
|||
use Friendica\BaseModule;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Network\HTTPException\NotFoundException;
|
||||
|
||||
/**
|
||||
* Redirects to another URL based on the parameter 'addr'
|
||||
*/
|
||||
class Acctlink extends BaseModule
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$addr = trim($_GET['addr'] ?? '');
|
||||
|
||||
if ($addr) {
|
||||
$url = Contact::getByURL($addr)['url'] ?? '';
|
||||
if ($url) {
|
||||
System::externalRedirect($url['url']);
|
||||
exit();
|
||||
}
|
||||
if (!$addr) {
|
||||
throw new NotFoundException('Parameter "addr" is missing or empty');
|
||||
}
|
||||
|
||||
$contact = Contact::getByURL($addr, null, ['url']) ?? '';
|
||||
if (!$contact) {
|
||||
throw new NotFoundException('Contact not found');
|
||||
}
|
||||
|
||||
System::externalRedirect($contact['url']);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,14 +31,14 @@ use Friendica\Protocol\ActivityPub;
|
|||
*/
|
||||
class Followers extends BaseModule
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
if (empty($parameters['nickname'])) {
|
||||
if (empty($this->parameters['nickname'])) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
// @TODO: Replace with parameter from router
|
||||
$owner = User::getOwnerDataByNick($parameters['nickname']);
|
||||
$owner = User::getOwnerDataByNick($this->parameters['nickname']);
|
||||
if (empty($owner)) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
|
|
@ -31,13 +31,13 @@ use Friendica\Protocol\ActivityPub;
|
|||
*/
|
||||
class Following extends BaseModule
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
if (empty($parameters['nickname'])) {
|
||||
if (empty($this->parameters['nickname'])) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$owner = User::getOwnerDataByNick($parameters['nickname']);
|
||||
$owner = User::getOwnerDataByNick($this->parameters['nickname']);
|
||||
if (empty($owner)) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ use Friendica\Util\Network;
|
|||
*/
|
||||
class Inbox extends BaseModule
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$postdata = Network::postdata();
|
||||
|
||||
|
@ -50,12 +50,12 @@ class Inbox extends BaseModule
|
|||
$filename = 'failed-activitypub';
|
||||
}
|
||||
$tempfile = tempnam(System::getTempPath(), $filename);
|
||||
file_put_contents($tempfile, json_encode(['parameters' => $parameters, 'header' => $_SERVER, 'body' => $postdata], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
|
||||
file_put_contents($tempfile, json_encode(['parameters' => $this->parameters, 'header' => $_SERVER, 'body' => $postdata], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
|
||||
Logger::notice('Incoming message stored', ['file' => $tempfile]);
|
||||
}
|
||||
|
||||
if (!empty($parameters['nickname'])) {
|
||||
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $parameters['nickname']]);
|
||||
if (!empty($this->parameters['nickname'])) {
|
||||
$user = DBA::selectFirst('user', ['uid'], ['nickname' => $this->parameters['nickname']]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
|
|
@ -41,9 +41,9 @@ use Friendica\Util\Strings;
|
|||
*/
|
||||
class Objects extends BaseModule
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
if (empty($parameters['guid'])) {
|
||||
if (empty($this->parameters['guid'])) {
|
||||
throw new HTTPException\BadRequestException();
|
||||
}
|
||||
|
||||
|
@ -51,10 +51,10 @@ class Objects extends BaseModule
|
|||
DI::baseUrl()->redirect(str_replace('objects/', 'display/', DI::args()->getQueryString()));
|
||||
}
|
||||
|
||||
$itemuri = DBA::selectFirst('item-uri', ['id'], ['guid' => $parameters['guid']]);
|
||||
$itemuri = DBA::selectFirst('item-uri', ['id'], ['guid' => $this->parameters['guid']]);
|
||||
|
||||
if (DBA::isResult($itemuri)) {
|
||||
Logger::info('Provided GUID found.', ['guid' => $parameters['guid'], 'uri-id' => $itemuri['id']]);
|
||||
Logger::info('Provided GUID found.', ['guid' => $this->parameters['guid'], 'uri-id' => $itemuri['id']]);
|
||||
} else {
|
||||
// The item URI does not always contain the GUID. This means that we have to search the URL instead
|
||||
$url = DI::baseUrl()->get() . '/' . DI::args()->getQueryString();
|
||||
|
@ -104,11 +104,11 @@ class Objects extends BaseModule
|
|||
throw new HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$etag = md5($parameters['guid'] . '-' . $item['changed']);
|
||||
$etag = md5($this->parameters['guid'] . '-' . $item['changed']);
|
||||
$last_modified = $item['changed'];
|
||||
Network::checkEtagModified($etag, $last_modified);
|
||||
|
||||
if (empty($parameters['activity']) && ($item['gravity'] != GRAVITY_ACTIVITY)) {
|
||||
if (empty($this->parameters['activity']) && ($item['gravity'] != GRAVITY_ACTIVITY)) {
|
||||
$activity = ActivityPub\Transmitter::createActivityFromItem($item['id'], true);
|
||||
if (empty($activity['type'])) {
|
||||
throw new HTTPException\NotFoundException();
|
||||
|
@ -123,16 +123,16 @@ class Objects extends BaseModule
|
|||
|
||||
$data = ['@context' => ActivityPub::CONTEXT];
|
||||
$data = array_merge($data, $activity['object']);
|
||||
} elseif (empty($parameters['activity']) || in_array($parameters['activity'],
|
||||
} elseif (empty($this->parameters['activity']) || in_array($this->parameters['activity'],
|
||||
['Create', 'Announce', 'Update', 'Like', 'Dislike', 'Accept', 'Reject',
|
||||
'TentativeAccept', 'Follow', 'Add'])) {
|
||||
$data = ActivityPub\Transmitter::createActivityFromItem($item['id']);
|
||||
if (empty($data)) {
|
||||
throw new HTTPException\NotFoundException();
|
||||
}
|
||||
if (!empty($parameters['activity']) && ($parameters['activity'] != 'Create')) {
|
||||
$data['type'] = $parameters['activity'];
|
||||
$data['id'] = str_replace('/Create', '/' . $parameters['activity'], $data['id']);
|
||||
if (!empty($this->parameters['activity']) && ($this->parameters['activity'] != 'Create')) {
|
||||
$data['type'] = $this->parameters['activity'];
|
||||
$data['id'] = str_replace('/Create', '/' . $this->parameters['activity'], $data['id']);
|
||||
}
|
||||
} else {
|
||||
throw new HTTPException\NotFoundException();
|
||||
|
|
|
@ -31,13 +31,13 @@ use Friendica\Util\HTTPSignature;
|
|||
*/
|
||||
class Outbox extends BaseModule
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
if (empty($parameters['nickname'])) {
|
||||
if (empty($this->parameters['nickname'])) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$owner = User::getOwnerDataByNick($parameters['nickname']);
|
||||
$owner = User::getOwnerDataByNick($this->parameters['nickname']);
|
||||
if (empty($owner)) {
|
||||
throw new \Friendica\Network\HTTPException\NotFoundException();
|
||||
}
|
||||
|
|
|
@ -30,11 +30,11 @@ use Friendica\Util\Strings;
|
|||
|
||||
class Details extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
$addon = Strings::sanitizeFilePathItem($parameters['addon']);
|
||||
$addon = Strings::sanitizeFilePathItem($this->parameters['addon']);
|
||||
|
||||
$redirect = 'admin/addons/' . $addon;
|
||||
|
||||
|
@ -52,15 +52,15 @@ class Details extends BaseAdmin
|
|||
DI::baseUrl()->redirect($redirect);
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$a = DI::app();
|
||||
|
||||
$addons_admin = Addon::getAdminList();
|
||||
|
||||
$addon = Strings::sanitizeFilePathItem($parameters['addon']);
|
||||
$addon = Strings::sanitizeFilePathItem($this->parameters['addon']);
|
||||
if (!is_file("addon/$addon/$addon.php")) {
|
||||
notice(DI::l10n()->t('Addon not found.'));
|
||||
Addon::uninstall($addon);
|
||||
|
|
|
@ -28,9 +28,9 @@ use Friendica\Module\BaseAdmin;
|
|||
|
||||
class Index extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
// reload active themes
|
||||
if (!empty($_GET['action'])) {
|
||||
|
|
|
@ -32,7 +32,7 @@ use Friendica\Util\Network;
|
|||
|
||||
class Contact extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -76,9 +76,9 @@ class Contact extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/blocklist/contact');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$condition = ['uid' => 0, 'blocked' => true];
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@ use GuzzleHttp\Psr7\Uri;
|
|||
|
||||
class Add extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -66,9 +66,9 @@ class Add extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/blocklist/server');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$gservers = [];
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ use Friendica\Module\BaseAdmin;
|
|||
|
||||
class Index extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -56,9 +56,9 @@ class Index extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/blocklist/server');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$blocklist = DI::config()->get('system', 'blocklist');
|
||||
$blocklistform = [];
|
||||
|
|
|
@ -30,14 +30,14 @@ use Friendica\Module\BaseAdmin;
|
|||
|
||||
class DBSync extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$a = DI::app();
|
||||
|
||||
$action = $parameters['action'] ?? '';
|
||||
$update = $parameters['update'] ?? 0;
|
||||
$action = $this->parameters['action'] ?? '';
|
||||
$update = $this->parameters['update'] ?? 0;
|
||||
|
||||
switch ($action) {
|
||||
case 'mark':
|
||||
|
|
|
@ -28,7 +28,7 @@ use Friendica\Module\BaseAdmin;
|
|||
|
||||
class Features extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -60,9 +60,9 @@ class Features extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/features');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$features = [];
|
||||
|
||||
|
|
|
@ -28,9 +28,9 @@ use Friendica\Module\BaseAdmin;
|
|||
|
||||
class Federation extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
// get counts on active federation systems this node is knowing
|
||||
// We list the more common systems by name. The rest is counted as "other"
|
||||
|
|
|
@ -29,7 +29,7 @@ use Friendica\Util\Strings;
|
|||
|
||||
class Delete extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -55,9 +55,9 @@ class Delete extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/item/delete');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$t = Renderer::getMarkupTemplate('admin/item/delete.tpl');
|
||||
|
||||
|
|
|
@ -29,11 +29,11 @@ use Friendica\Module\BaseAdmin;
|
|||
class Source extends BaseAdmin
|
||||
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$guid = basename($_REQUEST['guid'] ?? $parameters['guid'] ?? '');
|
||||
$guid = basename($_REQUEST['guid'] ?? $this->parameters['guid'] ?? '');
|
||||
|
||||
$source = '';
|
||||
$item_uri = '';
|
||||
|
|
|
@ -29,7 +29,7 @@ use Psr\Log\LogLevel;
|
|||
|
||||
class Settings extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -56,9 +56,9 @@ class Settings extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/logs');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$log_choices = [
|
||||
LogLevel::ERROR => 'Error',
|
||||
|
|
|
@ -31,9 +31,9 @@ class View extends BaseAdmin
|
|||
{
|
||||
const LIMIT = 500;
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$t = Renderer::getMarkupTemplate('admin/logs/view.tpl');
|
||||
DI::page()->registerFooterScript(Theme::getPathForFile('js/module/admin/logs/view.js'));
|
||||
|
@ -75,7 +75,7 @@ class View extends BaseAdmin
|
|||
->withLimit(self::LIMIT)
|
||||
->withFilters($filters)
|
||||
->withSearch($search);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Exception $e) {
|
||||
$error = DI::l10n()->t('Couldn\'t open <strong>%1$s</strong> log file.<br/>Check to see if file %1$s is readable.', $f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ use Friendica\Module\BaseAdmin;
|
|||
|
||||
class PhpInfo extends BaseAdmin
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
|
|
@ -38,11 +38,11 @@ use Friendica\Util\DateTimeFormat;
|
|||
*/
|
||||
class Queue extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$status = $parameters['status'] ?? '';
|
||||
$status = $this->parameters['status'] ?? '';
|
||||
|
||||
// get jobs from the workerqueue table
|
||||
if ($status == 'deferred') {
|
||||
|
|
|
@ -43,7 +43,7 @@ require_once __DIR__ . '/../../../boot.php';
|
|||
|
||||
class Site extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -384,9 +384,9 @@ class Site extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/site' . $active_panel);
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
/* Installed langs */
|
||||
$lang_choices = DI::l10n()->getAvailableLanguages();
|
||||
|
|
|
@ -31,13 +31,13 @@ use Friendica\Util\Strings;
|
|||
|
||||
class Storage extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
self::checkFormSecurityTokenRedirectOnError('/admin/storage', 'admin_storage');
|
||||
|
||||
$storagebackend = trim($parameters['name'] ?? '');
|
||||
$storagebackend = trim($this->parameters['name'] ?? '');
|
||||
|
||||
try {
|
||||
/** @var ICanConfigureStorage|false $newStorageConfig */
|
||||
|
@ -91,9 +91,9 @@ class Storage extends BaseAdmin
|
|||
DI::baseUrl()->redirect('admin/storage');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$current_storage_backend = DI::storage();
|
||||
$available_storage_forms = [];
|
||||
|
|
|
@ -37,9 +37,9 @@ use Friendica\Util\DateTimeFormat;
|
|||
|
||||
class Summary extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$a = DI::app();
|
||||
|
||||
|
|
|
@ -30,11 +30,11 @@ use Friendica\Util\Strings;
|
|||
|
||||
class Details extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$theme = Strings::sanitizeFilePathItem($parameters['theme']);
|
||||
$theme = Strings::sanitizeFilePathItem($this->parameters['theme']);
|
||||
if (!is_dir("view/theme/$theme")) {
|
||||
notice(DI::l10n()->t("Item not found."));
|
||||
return '';
|
||||
|
|
|
@ -21,48 +21,62 @@
|
|||
|
||||
namespace Friendica\Module\Admin\Themes;
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\BaseAdmin;
|
||||
use Friendica\Util\Strings;
|
||||
|
||||
class Embed extends BaseAdmin
|
||||
{
|
||||
public static function init(array $parameters = [])
|
||||
/** @var App */
|
||||
protected $app;
|
||||
/** @var App\BaseURL */
|
||||
protected $baseUrl;
|
||||
/** @var App\Mode */
|
||||
protected $mode;
|
||||
|
||||
public function __construct(App $app, App\BaseURL $baseUrl, App\Mode $mode, L10n $l10n, array $parameters = [])
|
||||
{
|
||||
$theme = Strings::sanitizeFilePathItem($parameters['theme']);
|
||||
parent::__construct($l10n, $parameters);
|
||||
|
||||
$this->app = $app;
|
||||
$this->baseUrl = $baseUrl;
|
||||
$this->mode = $mode;
|
||||
|
||||
$theme = Strings::sanitizeFilePathItem($this->parameters['theme']);
|
||||
if (is_file("view/theme/$theme/config.php")) {
|
||||
DI::app()->setCurrentTheme($theme);
|
||||
$this->app->setCurrentTheme($theme);
|
||||
}
|
||||
}
|
||||
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
$theme = Strings::sanitizeFilePathItem($parameters['theme']);
|
||||
$theme = Strings::sanitizeFilePathItem($this->parameters['theme']);
|
||||
if (is_file("view/theme/$theme/config.php")) {
|
||||
require_once "view/theme/$theme/config.php";
|
||||
if (function_exists('theme_admin_post')) {
|
||||
self::checkFormSecurityTokenRedirectOnError('/admin/themes/' . $theme . '/embed?mode=minimal', 'admin_theme_settings');
|
||||
theme_admin_post(DI::app());
|
||||
theme_admin_post($this->app);
|
||||
}
|
||||
}
|
||||
|
||||
if (DI::mode()->isAjax()) {
|
||||
if ($this->mode->isAjax()) {
|
||||
return;
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('admin/themes/' . $theme . '/embed?mode=minimal');
|
||||
$this->baseUrl->redirect('admin/themes/' . $theme . '/embed?mode=minimal');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$theme = Strings::sanitizeFilePathItem($parameters['theme']);
|
||||
$theme = Strings::sanitizeFilePathItem($this->parameters['theme']);
|
||||
if (!is_dir("view/theme/$theme")) {
|
||||
notice(DI::l10n()->t('Unknown theme.'));
|
||||
notice($this->t('Unknown theme.'));
|
||||
return '';
|
||||
}
|
||||
|
||||
|
@ -71,7 +85,7 @@ class Embed extends BaseAdmin
|
|||
require_once "view/theme/$theme/config.php";
|
||||
|
||||
if (function_exists('theme_admin')) {
|
||||
$admin_form = theme_admin(DI::app());
|
||||
$admin_form = theme_admin($this->app);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -29,9 +29,9 @@ use Friendica\Util\Strings;
|
|||
|
||||
class Index extends BaseAdmin
|
||||
{
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$allowed_themes = Theme::getAllowedList();
|
||||
|
||||
|
|
|
@ -21,13 +21,31 @@
|
|||
|
||||
namespace Friendica\Module\Admin;
|
||||
|
||||
use Friendica\App\BaseURL;
|
||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\DI;
|
||||
use Friendica\Module\BaseAdmin;
|
||||
|
||||
class Tos extends BaseAdmin
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
/** @var \Friendica\Module\Tos */
|
||||
protected $tos;
|
||||
/** @var IManageConfigValues */
|
||||
protected $config;
|
||||
/** @var BaseURL */
|
||||
protected $baseUrl;
|
||||
|
||||
public function __construct(\Friendica\Module\Tos $tos, IManageConfigValues $config, BaseURL $baseUrl, L10n $l10n, array $parameters = [])
|
||||
{
|
||||
parent::__construct($l10n, $parameters);
|
||||
|
||||
$this->tos = $tos;
|
||||
$this->config = $config;
|
||||
$this->baseUrl = $baseUrl;
|
||||
}
|
||||
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -41,29 +59,28 @@ class Tos extends BaseAdmin
|
|||
$displayprivstatement = !empty($_POST['displayprivstatement']);
|
||||
$tostext = (!empty($_POST['tostext']) ? strip_tags(trim($_POST['tostext'])) : '');
|
||||
|
||||
DI::config()->set('system', 'tosdisplay', $displaytos);
|
||||
DI::config()->set('system', 'tosprivstatement', $displayprivstatement);
|
||||
DI::config()->set('system', 'tostext', $tostext);
|
||||
$this->config->set('system', 'tosdisplay', $displaytos);
|
||||
$this->config->set('system', 'tosprivstatement', $displayprivstatement);
|
||||
$this->config->set('system', 'tostext', $tostext);
|
||||
|
||||
DI::baseUrl()->redirect('admin/tos');
|
||||
$this->baseUrl->redirect('admin/tos');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$tos = new \Friendica\Module\Tos();
|
||||
$t = Renderer::getMarkupTemplate('admin/tos.tpl');
|
||||
return Renderer::replaceMacros($t, [
|
||||
'$title' => DI::l10n()->t('Administration'),
|
||||
'$page' => DI::l10n()->t('Terms of Service'),
|
||||
'$displaytos' => ['displaytos', DI::l10n()->t('Display Terms of Service'), DI::config()->get('system', 'tosdisplay'), DI::l10n()->t('Enable the Terms of Service page. If this is enabled a link to the terms will be added to the registration form and the general information page.')],
|
||||
'$displayprivstatement' => ['displayprivstatement', DI::l10n()->t('Display Privacy Statement'), DI::config()->get('system', 'tosprivstatement'), DI::l10n()->t('Show some informations regarding the needed information to operate the node according e.g. to <a href="%s" target="_blank" rel="noopener noreferrer">EU-GDPR</a>.', 'https://en.wikipedia.org/wiki/General_Data_Protection_Regulation')],
|
||||
'$preview' => DI::l10n()->t('Privacy Statement Preview'),
|
||||
'$privtext' => $tos->privacy_complete,
|
||||
'$tostext' => ['tostext', DI::l10n()->t('The Terms of Service'), DI::config()->get('system', 'tostext'), DI::l10n()->t('Enter the Terms of Service for your node here. You can use BBCode. Headers of sections should be [h2] and below.')],
|
||||
'$title' => $this->t('Administration'),
|
||||
'$page' => $this->t('Terms of Service'),
|
||||
'$displaytos' => ['displaytos', $this->t('Display Terms of Service'), $this->config->get('system', 'tosdisplay'), $this->t('Enable the Terms of Service page. If this is enabled a link to the terms will be added to the registration form and the general information page.')],
|
||||
'$displayprivstatement' => ['displayprivstatement', $this->t('Display Privacy Statement'), $this->config->get('system', 'tosprivstatement'), $this->t('Show some informations regarding the needed information to operate the node according e.g. to <a href="%s" target="_blank" rel="noopener noreferrer">EU-GDPR</a>.', 'https://en.wikipedia.org/wiki/General_Data_Protection_Regulation')],
|
||||
'$preview' => $this->t('Privacy Statement Preview'),
|
||||
'$privtext' => $this->tos->privacy_complete,
|
||||
'$tostext' => ['tostext', $this->t('The Terms of Service'), $this->config->get('system', 'tostext'), $this->t('Enter the Terms of Service for your node here. You can use BBCode. Headers of sections should be [h2] and below.')],
|
||||
'$form_security_token' => self::getFormSecurityToken('admin_tos'),
|
||||
'$submit' => DI::l10n()->t('Save Settings'),
|
||||
'$submit' => $this->t('Save Settings'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\Module\Admin\BaseUsers;
|
|||
|
||||
class Active extends BaseUsers
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -60,12 +60,12 @@ class Active extends BaseUsers
|
|||
DI::baseUrl()->redirect(DI::args()->getQueryString());
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$action = $parameters['action'] ?? '';
|
||||
$uid = $parameters['uid'] ?? 0;
|
||||
$action = $this->parameters['action'] ?? '';
|
||||
$uid = $this->parameters['uid'] ?? 0;
|
||||
|
||||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
|
|
|
@ -31,7 +31,7 @@ use Friendica\Util\Temporal;
|
|||
|
||||
class Blocked extends BaseUsers
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -61,12 +61,12 @@ class Blocked extends BaseUsers
|
|||
DI::baseUrl()->redirect('admin/users/blocked');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$action = $parameters['action'] ?? '';
|
||||
$uid = $parameters['uid'] ?? 0;
|
||||
$action = $this->parameters['action'] ?? '';
|
||||
$uid = $this->parameters['uid'] ?? 0;
|
||||
|
||||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
|
|
|
@ -28,7 +28,7 @@ use Friendica\Module\Admin\BaseUsers;
|
|||
|
||||
class Create extends BaseUsers
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -51,9 +51,9 @@ class Create extends BaseUsers
|
|||
DI::baseUrl()->redirect('admin/users/create');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$t = Renderer::getMarkupTemplate('admin/users/create.tpl');
|
||||
return self::getTabsHTML('all') . Renderer::replaceMacros($t, [
|
||||
|
|
|
@ -33,7 +33,7 @@ use Friendica\Util\Temporal;
|
|||
|
||||
class Deleted extends BaseUsers
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -44,9 +44,9 @@ class Deleted extends BaseUsers
|
|||
DI::baseUrl()->redirect('admin/users/deleted');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$pager = new Pager(DI::l10n(), DI::args()->getQueryString(), 100);
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\Module\Admin\BaseUsers;
|
|||
|
||||
class Index extends BaseUsers
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -67,12 +67,12 @@ class Index extends BaseUsers
|
|||
DI::baseUrl()->redirect(DI::args()->getQueryString());
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$action = $parameters['action'] ?? '';
|
||||
$uid = $parameters['uid'] ?? 0;
|
||||
$action = $this->parameters['action'] ?? '';
|
||||
$uid = $this->parameters['uid'] ?? 0;
|
||||
|
||||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
|
|
|
@ -33,7 +33,7 @@ use Friendica\Util\Temporal;
|
|||
|
||||
class Pending extends BaseUsers
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAdminAccess();
|
||||
|
||||
|
@ -58,12 +58,12 @@ class Pending extends BaseUsers
|
|||
DI::baseUrl()->redirect('admin/users/pending');
|
||||
}
|
||||
|
||||
public static function content(array $parameters = [])
|
||||
public function content(): string
|
||||
{
|
||||
parent::content($parameters);
|
||||
parent::content();
|
||||
|
||||
$action = $parameters['action'] ?? '';
|
||||
$uid = $parameters['uid'] ?? 0;
|
||||
$action = $this->parameters['action'] ?? '';
|
||||
$uid = $this->parameters['uid'] ?? 0;
|
||||
|
||||
if ($uid) {
|
||||
$user = User::getById($uid, ['username', 'blocked']);
|
||||
|
|
|
@ -40,7 +40,7 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Activity extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -49,17 +49,17 @@ class Activity extends BaseApi
|
|||
'id' => 0, // Id of the post
|
||||
]);
|
||||
|
||||
$res = Item::performActivity($request['id'], $parameters['verb'], $uid);
|
||||
$res = Item::performActivity($request['id'], $this->parameters['verb'], $uid);
|
||||
|
||||
if ($res) {
|
||||
if (!empty($parameters['extension']) && ($parameters['extension'] == 'xml')) {
|
||||
if (!empty($this->parameters['extension']) && ($this->parameters['extension'] == 'xml')) {
|
||||
$ok = 'true';
|
||||
} else {
|
||||
$ok = 'ok';
|
||||
}
|
||||
DI::apiResponse()->exit('ok', ['ok' => $ok], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('ok', ['ok' => $ok], $this->parameters['extension'] ?? null);
|
||||
} else {
|
||||
DI::apiResponse()->error(500, 'Error adding activity', '', $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->error(500, 'Error adding activity', '', $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Setseen extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -42,13 +42,13 @@ class Setseen extends BaseApi
|
|||
// return error if id is zero
|
||||
if (empty($request['id'])) {
|
||||
$answer = ['result' => 'error', 'message' => 'message id not specified'];
|
||||
DI::apiResponse()->exit('direct_messages_setseen', ['$result' => $answer], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('direct_messages_setseen', ['$result' => $answer], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
|
||||
// error message if specified id is not in database
|
||||
if (!DBA::exists('mail', ['id' => $request['id'], 'uid' => $uid])) {
|
||||
$answer = ['result' => 'error', 'message' => 'message id not in database'];
|
||||
DI::apiResponse()->exit('direct_messages_setseen', ['$result' => $answer], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('direct_messages_setseen', ['$result' => $answer], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
|
||||
// update seen indicator
|
||||
|
@ -58,6 +58,6 @@ class Setseen extends BaseApi
|
|||
$answer = ['result' => 'error', 'message' => 'unknown error'];
|
||||
}
|
||||
|
||||
DI::apiResponse()->exit('direct_messages_setseen', ['$result' => $answer], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('direct_messages_setseen', ['$result' => $answer], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Index extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -70,6 +70,6 @@ class Index extends BaseApi
|
|||
];
|
||||
}
|
||||
|
||||
DI::apiResponse()->exit('events', ['events' => $items], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('events', ['events' => $items], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
namespace Friendica\Module\Api\Friendica\Group;
|
||||
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Group;
|
||||
use Friendica\Module\BaseApi;
|
||||
use Friendica\Network\HTTPException\BadRequestException;
|
||||
|
@ -31,7 +32,7 @@ use Friendica\Network\HTTPException\BadRequestException;
|
|||
*/
|
||||
class Delete extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -69,7 +70,7 @@ class Delete extends BaseApi
|
|||
if ($ret) {
|
||||
// return success
|
||||
$success = ['success' => $ret, 'gid' => $request['gid'], 'name' => $request['name'], 'status' => 'deleted', 'wrong users' => []];
|
||||
self::exit('group_delete', ['$result' => $success], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('group_delete', ['$result' => $success], $parameters['extension'] ?? null);
|
||||
} else {
|
||||
throw new BadRequestException('other API error');
|
||||
}
|
||||
|
|
|
@ -31,17 +31,17 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Index extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
}
|
||||
|
||||
public static function delete(array $parameters = [])
|
||||
public function delete()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
}
|
||||
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
echo api_call(DI::app());
|
||||
exit();
|
||||
|
|
|
@ -31,7 +31,7 @@ use Friendica\Object\Api\Friendica\Notification as ApiNotification;
|
|||
*/
|
||||
class Notification extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -43,7 +43,7 @@ class Notification extends BaseApi
|
|||
$notifications[] = new ApiNotification($Notify);
|
||||
}
|
||||
|
||||
if (!empty($parameters['extension']) && ($parameters['extension'] == 'xml')) {
|
||||
if (!empty($this->parameters['extension']) && ($this->parameters['extension'] == 'xml')) {
|
||||
$xmlnotes = [];
|
||||
foreach ($notifications as $notification) {
|
||||
$xmlnotes[] = ['@attributes' => $notification->toArray()];
|
||||
|
@ -56,6 +56,6 @@ class Notification extends BaseApi
|
|||
$result = false;
|
||||
}
|
||||
|
||||
DI::apiResponse()->exit('notes', ['note' => $result], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('notes', ['note' => $result], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ use Friendica\Network\HTTPException\InternalServerErrorException;
|
|||
*/
|
||||
class Delete extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -64,7 +64,7 @@ class Delete extends BaseApi
|
|||
Item::deleteForUser($condition, $uid);
|
||||
|
||||
$result = ['result' => 'deleted', 'message' => 'photo with id `' . $request['photo_id'] . '` has been deleted from server.'];
|
||||
DI::apiResponse()->exit('photo_delete', ['$result' => $result], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('photo_delete', ['$result' => $result], $this->parameters['extension'] ?? null);
|
||||
} else {
|
||||
throw new InternalServerErrorException("unknown error on deleting photo from database table");
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ use Friendica\Network\HTTPException\InternalServerErrorException;
|
|||
*/
|
||||
class Delete extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -67,7 +67,7 @@ class Delete extends BaseApi
|
|||
// return success of deletion or error message
|
||||
if ($result) {
|
||||
$answer = ['result' => 'deleted', 'message' => 'album `' . $request['album'] . '` with all containing photos has been deleted.'];
|
||||
DI::apiResponse()->exit('photoalbum_delete', ['$result' => $answer], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('photoalbum_delete', ['$result' => $answer], $this->parameters['extension'] ?? null);
|
||||
} else {
|
||||
throw new InternalServerErrorException("unknown error - deleting from database failed");
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ use Friendica\Network\HTTPException\InternalServerErrorException;
|
|||
*/
|
||||
class Update extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -59,7 +59,7 @@ class Update extends BaseApi
|
|||
// return success of updating or error message
|
||||
if ($result) {
|
||||
$answer = ['result' => 'updated', 'message' => 'album `' . $request['album'] . '` with all containing photos has been renamed to `' . $request['album_new'] . '`.'];
|
||||
DI::apiResponse()->exit('photoalbum_update', ['$result' => $answer], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('photoalbum_update', ['$result' => $answer], $this->parameters['extension'] ?? null);
|
||||
} else {
|
||||
throw new InternalServerErrorException("unknown error - updating in database failed");
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ namespace Friendica\Module\Api\Friendica\Profile;
|
|||
use Friendica\Profile\ProfileField\Collection\ProfileFields;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Profile;
|
||||
use Friendica\Module\BaseApi;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
@ -34,7 +33,7 @@ use Friendica\Network\HTTPException;
|
|||
*/
|
||||
class Show extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
@ -49,23 +48,20 @@ class Show extends BaseApi
|
|||
$profile = self::formatProfile($profile, $profileFields);
|
||||
|
||||
$profiles = [];
|
||||
if (!empty($parameters['extension']) && ($parameters['extension'] == 'xml')) {
|
||||
if (!empty($this->parameters['extension']) && ($this->parameters['extension'] == 'xml')) {
|
||||
$profiles['0:profile'] = $profile;
|
||||
} else {
|
||||
$profiles[] = $profile;
|
||||
}
|
||||
|
||||
// return settings, authenticated user and profiles data
|
||||
$self = Contact::selectFirst(['nurl'], ['uid' => $uid, 'self' => true]);
|
||||
|
||||
$result = [
|
||||
'multi_profiles' => false,
|
||||
'global_dir' => $directory,
|
||||
'friendica_owner' => self::getUser($self['nurl']),
|
||||
'friendica_owner' => DI::twitterUser()->createFromUserId($uid),
|
||||
'profiles' => $profiles
|
||||
];
|
||||
|
||||
DI::apiResponse()->exit('friendica_profiles', ['$result' => $result], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('friendica_profiles', ['$result' => $result], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -31,7 +31,7 @@ use Friendica\Module\Register;
|
|||
*/
|
||||
class Config extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$config = [
|
||||
'site' => [
|
||||
|
@ -61,6 +61,6 @@ class Config extends BaseApi
|
|||
],
|
||||
];
|
||||
|
||||
self::exit('config', ['config' => $config], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('config', ['config' => $config], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,8 +29,8 @@ use Friendica\DI;
|
|||
*/
|
||||
class Version extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
DI::apiResponse()->exit('version', ['version' => '0.9.7'], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('version', ['version' => '0.9.7'], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -29,14 +29,14 @@ use Friendica\DI;
|
|||
*/
|
||||
class Test extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
if (!empty($parameters['extension']) && ($parameters['extension'] == 'xml')) {
|
||||
if (!empty($this->parameters['extension']) && ($this->parameters['extension'] == 'xml')) {
|
||||
$ok = 'true';
|
||||
} else {
|
||||
$ok = 'ok';
|
||||
}
|
||||
|
||||
DI::apiResponse()->exit('ok', ['ok' => $ok], $parameters['extension'] ?? null);
|
||||
DI::apiResponse()->exit('ok', ['ok' => $ok], $this->parameters['extension'] ?? null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,27 +33,26 @@ use Friendica\Module\BaseApi;
|
|||
class Accounts extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id']) && empty($parameters['name'])) {
|
||||
if (empty($this->parameters['id']) && empty($this->parameters['name'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
if (!empty($parameters['id'])) {
|
||||
$id = $parameters['id'];
|
||||
if (!empty($this->parameters['id'])) {
|
||||
$id = $this->parameters['id'];
|
||||
if (!DBA::exists('contact', ['id' => $id, 'uid' => 0])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
} else {
|
||||
$contact = Contact::selectFirst(['id'], ['nick' => $parameters['name'], 'uid' => 0]);
|
||||
$contact = Contact::selectFirst(['id'], ['nick' => $this->parameters['name'], 'uid' => 0]);
|
||||
if (!empty($contact['id'])) {
|
||||
$id = $contact['id'];
|
||||
} elseif (!($id = Contact::getIdForURL($parameters['name'], 0, false))) {
|
||||
} elseif (!($id = Contact::getIdForURL($this->parameters['name'], 0, false))) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,12 +32,12 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Block extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@ class Block extends BaseApi
|
|||
DI::mstdnError()->Forbidden();
|
||||
}
|
||||
|
||||
$cdata = Contact::getPublicAndUserContactID($parameters['id'], $uid);
|
||||
$cdata = Contact::getPublicAndUserContactID($this->parameters['id'], $uid);
|
||||
if (empty($cdata['user'])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
@ -62,6 +62,6 @@ class Block extends BaseApi
|
|||
Contact::terminateFriendship($owner, $contact);
|
||||
Contact::revokeFollow($contact);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($parameters['id'], $uid)->toArray());
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,10 +30,9 @@ use Friendica\Module\BaseApi;
|
|||
class FeaturedTags extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
|
||||
|
|
|
@ -31,16 +31,16 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Follow extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
$cid = Contact::follow($parameters['id'], $uid);
|
||||
$cid = Contact::follow($this->parameters['id'], $uid);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($cid, $uid)->toArray());
|
||||
}
|
||||
|
|
|
@ -32,19 +32,18 @@ use Friendica\Module\BaseApi;
|
|||
class Followers extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
$id = $parameters['id'];
|
||||
$id = $this->parameters['id'];
|
||||
if (!DBA::exists('contact', ['id' => $id, 'uid' => 0])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
@ -73,7 +72,7 @@ class Followers extends BaseApi
|
|||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('contact-relation', ['relation-cid'], $condition, $parameters);
|
||||
$followers = DBA::select('contact-relation', ['relation-cid'], $condition, $this->parameters);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['relation-cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['relation-cid'], $uid);
|
||||
|
|
|
@ -32,19 +32,18 @@ use Friendica\Module\BaseApi;
|
|||
class Following extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
$id = $parameters['id'];
|
||||
$id = $this->parameters['id'];
|
||||
if (!DBA::exists('contact', ['id' => $id, 'uid' => 0])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
@ -73,7 +72,7 @@ class Following extends BaseApi
|
|||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('contact-relation', ['cid'], $condition, $parameters);
|
||||
$followers = DBA::select('contact-relation', ['cid'], $condition, $this->parameters);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['cid'], $uid);
|
||||
|
|
|
@ -30,10 +30,9 @@ use Friendica\Module\BaseApi;
|
|||
class IdentityProofs extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
|
||||
|
|
|
@ -33,19 +33,18 @@ use Friendica\Module\BaseApi;
|
|||
class Lists extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
$id = $parameters['id'];
|
||||
$id = $this->parameters['id'];
|
||||
if (!DBA::exists('contact', ['id' => $id, 'uid' => 0])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
|
|
@ -31,17 +31,17 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Mute extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
Contact\User::setIgnored($parameters['id'], $uid, true);
|
||||
Contact\User::setIgnored($this->parameters['id'], $uid, true);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($parameters['id'], $uid)->toArray());
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,12 +32,12 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Note extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
|
@ -45,13 +45,13 @@ class Note extends BaseApi
|
|||
'comment' => '',
|
||||
]);
|
||||
|
||||
$cdata = Contact::getPublicAndUserContactID($parameters['id'], $uid);
|
||||
$cdata = Contact::getPublicAndUserContactID($this->parameters['id'], $uid);
|
||||
if (empty($cdata['user'])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
||||
Contact::update(['info' => $request['comment']], ['id' => $cdata['user']]);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($parameters['id'], $uid)->toArray());
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,10 +32,9 @@ use Friendica\Module\BaseApi;
|
|||
class Relationships extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -35,10 +35,9 @@ use Friendica\Object\Search\ContactResult;
|
|||
class Search extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -37,18 +37,17 @@ use Friendica\Protocol\Activity;
|
|||
class Statuses extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
$id = $parameters['id'];
|
||||
$id = $this->parameters['id'];
|
||||
if (!DBA::exists('contact', ['id' => $id, 'uid' => 0])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
|
|
@ -31,17 +31,17 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Unblock extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
Contact\User::setBlocked($parameters['id'], $uid, false);
|
||||
Contact\User::setBlocked($this->parameters['id'], $uid, false);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($parameters['id'], $uid)->toArray());
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,17 +31,17 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Unfollow extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
Contact::unfollow($parameters['id'], $uid);
|
||||
Contact::unfollow($this->parameters['id'], $uid);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($parameters['id'], $uid)->toArray());
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,17 +31,17 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Unmute extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
Contact\User::setIgnored($parameters['id'], $uid, false);
|
||||
Contact\User::setIgnored($this->parameters['id'], $uid, false);
|
||||
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($parameters['id'], $uid)->toArray());
|
||||
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ use Friendica\Util\HTTPInputData;
|
|||
*/
|
||||
class UpdateCredentials extends BaseApi
|
||||
{
|
||||
public static function patch(array $parameters = [])
|
||||
public function patch()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -33,10 +33,9 @@ use Friendica\Module\BaseApi;
|
|||
class VerifyCredentials extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -30,10 +30,9 @@ use Friendica\Module\BaseApi;
|
|||
class Announcements extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
|
||||
|
|
|
@ -33,10 +33,9 @@ use Friendica\Util\Network;
|
|||
class Apps extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
$request = self::getRequest([
|
||||
'client_name' => '',
|
||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class VerifyCredentials extends BaseApi
|
||||
{
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$application = self::getCurrentApplication();
|
||||
|
|
|
@ -32,19 +32,18 @@ use Friendica\Module\BaseApi;
|
|||
class Blocks extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (empty($parameters['id'])) {
|
||||
if (empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
$id = $parameters['id'];
|
||||
$id = $this->parameters['id'];
|
||||
if (!DBA::exists('contact', ['id' => $id, 'uid' => 0])) {
|
||||
DI::mstdnError()->RecordNotFound();
|
||||
}
|
||||
|
@ -73,7 +72,7 @@ class Blocks extends BaseApi
|
|||
$params['order'] = ['cid'];
|
||||
}
|
||||
|
||||
$followers = DBA::select('user-contact', ['cid'], $condition, $parameters);
|
||||
$followers = DBA::select('user-contact', ['cid'], $condition, $this->parameters);
|
||||
while ($follower = DBA::fetch($followers)) {
|
||||
self::setBoundaries($follower['cid']);
|
||||
$accounts[] = DI::mstdnAccount()->createFromContactId($follower['cid'], $uid);
|
||||
|
|
|
@ -34,10 +34,9 @@ use Friendica\Network\HTTPException;
|
|||
class Bookmarks extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -31,26 +31,25 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Conversations extends BaseApi
|
||||
{
|
||||
public static function delete(array $parameters = [])
|
||||
public function delete()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (!empty($parameters['id'])) {
|
||||
if (!empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
DBA::delete('conv', ['id' => $parameters['id'], 'uid' => $uid]);
|
||||
DBA::delete('mail', ['convid' => $parameters['id'], 'uid' => $uid]);
|
||||
DBA::delete('conv', ['id' => $this->parameters['id'], 'uid' => $uid]);
|
||||
DBA::delete('mail', ['convid' => $this->parameters['id'], 'uid' => $uid]);
|
||||
|
||||
System::jsonExit([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -31,17 +31,17 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Read extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
if (!empty($parameters['id'])) {
|
||||
if (!empty($this->parameters['id'])) {
|
||||
DI::mstdnError()->UnprocessableEntity();
|
||||
}
|
||||
|
||||
DBA::update('mail', ['seen' => true], ['convid' => $parameters['id'], 'uid' => $uid]);
|
||||
DBA::update('mail', ['seen' => true], ['convid' => $this->parameters['id'], 'uid' => $uid]);
|
||||
|
||||
System::jsonExit(DI::mstdnConversation()->CreateFromConvId($parameters['id'])->toArray());
|
||||
System::jsonExit(DI::mstdnConversation()->CreateFromConvId($this->parameters['id'])->toArray());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,12 +33,11 @@ use Friendica\Network\HTTPException;
|
|||
class CustomEmojis extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
* @see https://docs.joinmastodon.org/methods/accounts/follow_requests#pending-follows
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$emojis = DI::mstdnEmoji()->createCollectionFromSmilies(Smilies::getList());
|
||||
|
||||
|
|
|
@ -35,12 +35,11 @@ use Friendica\Network\HTTPException;
|
|||
class Directory extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
* @see https://docs.joinmastodon.org/methods/instance/directory/
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$request = self::getRequest([
|
||||
'offset' => 0, // How many accounts to skip before returning results. Default 0.
|
||||
|
|
|
@ -30,10 +30,9 @@ use Friendica\Module\BaseApi;
|
|||
class Endorsements extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
System::jsonExit([]);
|
||||
}
|
||||
|
|
|
@ -35,10 +35,9 @@ use Friendica\Protocol\Activity;
|
|||
class Favourited extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -31,7 +31,7 @@ use Friendica\Module\BaseApi;
|
|||
*/
|
||||
class Filters extends BaseApi
|
||||
{
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_WRITE);
|
||||
|
||||
|
@ -39,10 +39,9 @@ class Filters extends BaseApi
|
|||
}
|
||||
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@ use Friendica\Network\HTTPException;
|
|||
class FollowRequests extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\BadRequestException
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws HTTPException\NotFoundException
|
||||
|
@ -43,16 +42,16 @@ class FollowRequests extends BaseApi
|
|||
* @see https://docs.joinmastodon.org/methods/accounts/follow_requests#accept-follow
|
||||
* @see https://docs.joinmastodon.org/methods/accounts/follow_requests#reject-follow
|
||||
*/
|
||||
public static function post(array $parameters = [])
|
||||
public function post()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_FOLLOW);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
||||
$introduction = DI::intro()->selectOneById($parameters['id'], $uid);
|
||||
$introduction = DI::intro()->selectOneById($this->parameters['id'], $uid);
|
||||
|
||||
$contactId = $introduction->cid;
|
||||
|
||||
switch ($parameters['action']) {
|
||||
switch ($this->parameters['action']) {
|
||||
case 'authorize':
|
||||
Contact\Introduction::confirm($introduction);
|
||||
$relationship = DI::mstdnRelationship()->createFromContactId($contactId, $uid);
|
||||
|
@ -79,12 +78,11 @@ class FollowRequests extends BaseApi
|
|||
}
|
||||
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
* @throws \ImagickException
|
||||
* @see https://docs.joinmastodon.org/methods/accounts/follow_requests/
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
self::checkAllowedScope(self::SCOPE_READ);
|
||||
$uid = self::getCurrentUserID();
|
||||
|
|
|
@ -31,10 +31,9 @@ use Friendica\Object\Api\Mastodon\Instance as InstanceEntity;
|
|||
class Instance extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
System::jsonExit(InstanceEntity::get());
|
||||
}
|
||||
|
|
|
@ -34,10 +34,9 @@ use Friendica\Util\Network;
|
|||
class Peers extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$return = [];
|
||||
|
||||
|
|
|
@ -34,10 +34,9 @@ use Friendica\Network\HTTPException;
|
|||
class Rules extends BaseApi
|
||||
{
|
||||
/**
|
||||
* @param array $parameters
|
||||
* @throws HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function rawContent(array $parameters = [])
|
||||
public function rawContent()
|
||||
{
|
||||
$rules = [];
|
||||
$id = 0;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue