namespace Friendica;
+use Friendica\Capabilities\ICanHandleRequests;
use Friendica\Core\Logger;
use Friendica\Model\User;
*
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
-abstract class BaseModule
+abstract class BaseModule implements ICanHandleRequests
{
+ /** @var array */
+ protected $parameters = [];
+
+ public function __construct(array $parameters = [])
+ {
+ $this->parameters = $parameters;
+ }
+
/**
- * Initialization method common to both content() and post()
- *
- * Extend this method if you need to do any shared processing before both
- * content() or post()
+ * {@inheritDoc}
*/
- public static function init(array $parameters = [])
+ public function init()
{
}
/**
- * 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.
+ * {@inheritDoc}
*/
- public static function rawContent(array $parameters = [])
+ 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;
}
/*
*/
public static function getFormSecurityToken($typename = '')
{
- $user = User::getById(DI::app()->getUserId(), ['guid', 'prvkey']);
+ $user = User::getById(DI::app()->getLoggedInUserId(), ['guid', 'prvkey']);
$timestamp = time();
$sec_hash = hash('whirlpool', ($user['guid'] ?? '') . ($user['prvkey'] ?? '') . session_id() . $timestamp . $typename);
$max_livetime = 10800; // 3 hours
- $user = User::getById(DI::app()->getUserId(), ['guid', 'prvkey']);
+ $user = User::getById(DI::app()->getLoggedInUserId(), ['guid', 'prvkey']);
$x = explode('.', $hash);
if (time() > (intval($x[0]) + $max_livetime)) {
public static function checkFormSecurityTokenRedirectOnError($err_redirect, $typename = '', $formname = 'form_security_token')
{
if (!self::checkFormSecurityToken($typename, $formname)) {
- Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getUserNickname() . ' - form element ' . $typename);
- Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA);
+ Logger::notice('checkFormSecurityToken failed: user ' . DI::app()->getLoggedInUserNickname() . ' - form element ' . $typename);
+ Logger::debug('checkFormSecurityToken failed', ['request' => $_REQUEST]);
notice(self::getFormSecurityStandardErrorMessage());
DI::baseUrl()->redirect($err_redirect);
}
public static function checkFormSecurityTokenForbiddenOnError($typename = '', $formname = 'form_security_token')
{
if (!self::checkFormSecurityToken($typename, $formname)) {
- Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getUserNickname() . ' - form element ' . $typename);
- Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA);
+ Logger::notice('checkFormSecurityToken failed: user ' . DI::app()->getLoggedInUserNickname() . ' - form element ' . $typename);
+ Logger::debug('checkFormSecurityToken failed', ['request' => $_REQUEST]);
throw new \Friendica\Network\HTTPException\ForbiddenException();
}