]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Item/Compose.php
Merge pull request #13266 from annando/quoted
[friendica.git] / src / Module / Item / Compose.php
index 895a548e40d70aada694acc289e6abdda3624dd3..76a99750a1a279f191bf9604326114eab80e34fb 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2022, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -26,6 +26,7 @@ use Friendica\App;
 use Friendica\BaseModule;
 use Friendica\Content\Feature;
 use Friendica\Core\ACL;
+use Friendica\Core\Config\Capability\IManageConfigValues;
 use Friendica\Core\Hook;
 use Friendica\Core\L10n;
 use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
@@ -60,7 +61,10 @@ class Compose extends BaseModule
        /** @var IManagePersonalConfigValues */
        private $pConfig;
 
-       public function __construct(IManagePersonalConfigValues $pConfig, App\Page $page, ACLFormatter $ACLFormatter, SystemMessages $systemMessages, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
+       /** @var IManageConfigValues */
+       private $config;
+
+       public function __construct(IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, ACLFormatter $ACLFormatter, SystemMessages $systemMessages, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
        {
                parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
 
@@ -68,6 +72,7 @@ class Compose extends BaseModule
                $this->ACLFormatter   = $ACLFormatter;
                $this->page           = $page;
                $this->pConfig        = $pConfig;
+               $this->config         = $config;
        }
 
        protected function post(array $request = [])
@@ -83,7 +88,7 @@ class Compose extends BaseModule
 
        protected function content(array $request = []): string
        {
-               if (!local_user()) {
+               if (!DI::userSession()->getLocalUserId()) {
                        return Login::form('compose');
                }
 
@@ -105,12 +110,12 @@ class Compose extends BaseModule
                        }
                }
 
-               $user = User::getById(local_user(), ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'default-location']);
+               $user = User::getById(DI::userSession()->getLocalUserId(), ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid', 'default-location']);
 
                $contact_allow_list = $this->ACLFormatter->expand($user['allow_cid']);
-               $group_allow_list   = $this->ACLFormatter->expand($user['allow_gid']);
+               $circle_allow_list  = $this->ACLFormatter->expand($user['allow_gid']);
                $contact_deny_list  = $this->ACLFormatter->expand($user['deny_cid']);
-               $group_deny_list    = $this->ACLFormatter->expand($user['deny_gid']);
+               $circle_deny_list   = $this->ACLFormatter->expand($user['deny_gid']);
 
                switch ($posttype) {
                        case Item::PT_PERSONAL_NOTE:
@@ -118,9 +123,9 @@ class Compose extends BaseModule
                                $type = 'note';
                                $doesFederate = false;
                                $contact_allow_list = [$a->getContactId()];
-                               $group_allow_list = [];
+                               $circle_allow_list = [];
                                $contact_deny_list = [];
-                               $group_deny_list = [];
+                               $circle_deny_list = [];
                                break;
                        default:
                                $compose_title = $this->l10n->t('Compose new post');
@@ -128,19 +133,19 @@ class Compose extends BaseModule
                                $doesFederate = true;
 
                                $contact_allow = $_REQUEST['contact_allow'] ?? '';
-                               $group_allow = $_REQUEST['group_allow'] ?? '';
+                               $circle_allow = $_REQUEST['circle_allow'] ?? '';
                                $contact_deny = $_REQUEST['contact_deny'] ?? '';
-                               $group_deny = $_REQUEST['group_deny'] ?? '';
+                               $circle_deny = $_REQUEST['circle_deny'] ?? '';
 
                                if ($contact_allow
-                                       . $group_allow
+                                       . $circle_allow
                                        . $contact_deny
-                                   . $group_deny)
+                                   . $circle_deny)
                                {
                                        $contact_allow_list = $contact_allow ? explode(',', $contact_allow) : [];
-                                       $group_allow_list   = $group_allow   ? explode(',', $group_allow)   : [];
+                                       $circle_allow_list  = $circle_allow  ? explode(',', $circle_allow)  : [];
                                        $contact_deny_list  = $contact_deny  ? explode(',', $contact_deny)  : [];
-                                       $group_deny_list    = $group_deny    ? explode(',', $group_deny)    : [];
+                                       $circle_deny_list   = $circle_deny   ? explode(',', $circle_deny)   : [];
                                }
 
                                break;
@@ -162,7 +167,7 @@ class Compose extends BaseModule
 
                $contact = Contact::getById($a->getContactId());
 
-               if ($this->pConfig->get(local_user(), 'system', 'set_creation_date')) {
+               if ($this->pConfig->get(DI::userSession()->getLocalUserId(), 'system', 'set_creation_date')) {
                        $created_at = Temporal::getDateTimeField(
                                new \DateTime(DBA::NULL_DATETIME),
                                new \DateTime('now'),
@@ -186,6 +191,8 @@ class Compose extends BaseModule
                                'editalic'             => $this->l10n->t('Italic'),
                                'eduline'              => $this->l10n->t('Underline'),
                                'edquote'              => $this->l10n->t('Quote'),
+                               'edemojis'             => $this->l10n->t('Add emojis'),
+                               'contentwarn'          => $this->l10n->t('Content Warning'),
                                'edcode'               => $this->l10n->t('Code'),
                                'edimg'                => $this->l10n->t('Image'),
                                'edurl'                => $this->l10n->t('Link'),
@@ -198,7 +205,10 @@ class Compose extends BaseModule
                                'location_disabled'    => $this->l10n->t('Location services are disabled. Please check the website\'s permissions on your device'),
                                'wait'                 => $this->l10n->t('Please wait'),
                                'placeholdertitle'     => $this->l10n->t('Set title'),
-                               'placeholdercategory'  => Feature::isEnabled(local_user(),'categories') ? $this->l10n->t('Categories (comma-separated list)') : '',
+                               'placeholdercategory'  => Feature::isEnabled(DI::userSession()->getLocalUserId(),'categories') ? $this->l10n->t('Categories (comma-separated list)') : '',
+                               'always_open_compose'  => $this->pConfig->get(DI::userSession()->getLocalUserId(), 'frio', 'always_open_compose',
+                                       $this->config->get('frio', 'always_open_compose', false)) ? '' :
+                                               $this->l10n->t('You can make this page always open when you use the New Post button in the <a href="/settings/display">Theme Customization settings</a>.'),
                        ],
 
                        '$id'           => 0,
@@ -220,18 +230,18 @@ class Compose extends BaseModule
                        '$body'         => $body,
                        '$location'     => $location,
 
-                       '$contact_allow'=> implode(',', $contact_allow_list),
-                       '$group_allow'  => implode(',', $group_allow_list),
-                       '$contact_deny' => implode(',', $contact_deny_list),
-                       '$group_deny'   => implode(',', $group_deny_list),
+                       '$contact_allow' => implode(',', $contact_allow_list),
+                       '$circle_allow'  => implode(',', $circle_allow_list),
+                       '$contact_deny'  => implode(',', $contact_deny_list),
+                       '$circle_deny'   => implode(',', $circle_deny_list),
 
                        '$jotplugins'   => $jotplugins,
                        '$rand_num'     => Crypto::randomDigits(12),
                        '$acl_selector'  => ACL::getFullSelectorHTML($this->page, $a->getLoggedInUserId(), $doesFederate, [
                                'allow_cid' => $contact_allow_list,
-                               'allow_gid' => $group_allow_list,
+                               'allow_gid' => $circle_allow_list,
                                'deny_cid'  => $contact_deny_list,
-                               'deny_gid'  => $group_deny_list,
+                               'deny_gid'  => $circle_deny_list,
                        ]),
                ]);
        }