use Friendica\Capabilities\ICanCreateResponses;
use Friendica\Core\Config\Factory\Config;
use Friendica\Core\Session\Capability\IHandleUserSessions;
+use Friendica\Model\User;
use Friendica\Module\Maintenance;
use Friendica\Security\Authentication;
use Friendica\Core\Config\ValueObject\Cache;
{
const PLATFORM = 'Friendica';
const CODENAME = 'Giant Rhubarb';
- const VERSION = '2022.12-dev';
+ const VERSION = '2022.12-rc';
// Allow themes to control internal parameters
// by changing App values in theme.php
private $theme_info = [
'videowidth' => 425,
'videoheight' => 350,
- 'events_in_profile' => true
];
private $user_id = 0;
* Check if current user has admin role.
*
* @return bool true if user is an admin
+ * @throws Exception
*/
public function isSiteAdmin(): bool
{
- $admin_email = $this->config->get('config', 'admin_email');
-
- $adminlist = explode(',', str_replace(' ', '', $admin_email));
-
- return $this->session->getLocalUserId() && $admin_email && $this->database->exists('user', ['uid' => $this->getLoggedInUserId(), 'email' => $adminlist]);
+ return
+ $this->session->getLocalUserId()
+ && $this->database->exists('user', [
+ 'uid' => $this->getLoggedInUserId(),
+ 'email' => User::getAdminEmailList()
+ ]);
}
/**
/**
* Set workerqueue information
*
- * @param array $queue
- * @return void
+ * @param array $queue
+ * @return void
*/
public function setQueue(array $queue)
{
* @param L10n $l10n The translator instance
* @param App\Arguments $args The Friendica Arguments of the call
* @param IManagePersonalConfigValues $pConfig Personal configuration
- * @param IHandleUserSessions $sessions The (User)Session handler
+ * @param IHandleUserSessions $session The (User)Session handler
*/
- public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleUserSessions $sessions)
+ public function __construct(Database $database, IManageConfigValues $config, App\Mode $mode, BaseURL $baseURL, LoggerInterface $logger, Profiler $profiler, L10n $l10n, Arguments $args, IManagePersonalConfigValues $pConfig, IHandleUserSessions $session)
{
$this->database = $database;
$this->config = $config;
$this->l10n = $l10n;
$this->args = $args;
$this->pConfig = $pConfig;
- $this->session = $sessions;
+ $this->session = $session;
$this->load();
}
// ZRL
if (!empty($_GET['zrl']) && $this->mode->isNormal() && !$this->mode->isBackend() && !$this->session->getLocalUserId()) {
- // Only continue when the given profile link seems valid
+ // Only continue when the given profile link seems valid.
// Valid profile links contain a path with "/profile/" and no query parameters
if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == '') &&
- strstr(parse_url($_GET['zrl'], PHP_URL_PATH), '/profile/')) {
+ strpos(parse_url($_GET['zrl'], PHP_URL_PATH) ?? '', '/profile/') !== false) {
if ($this->session->get('visitor_home') != $_GET['zrl']) {
$this->session->set('my_url', $_GET['zrl']);
$this->session->set('authenticated', 0);