]> git.mxchange.org Git - friendica.git/blobdiff - src/Repository/PermissionSet.php
Add PUBLIC constant in Repository\Permission
[friendica.git] / src / Repository / PermissionSet.php
index 906dd716e66465b97cb507f7cf1c8d08a86e2be4..36e6074c55f7816c1555a3e76d8390f346fa1aa1 100644 (file)
@@ -2,24 +2,35 @@
 
 namespace Friendica\Repository;
 
-use Friendica\BaseModel;
 use Friendica\BaseRepository;
 use Friendica\Collection;
-use Friendica\Core\L10n;
-use Friendica\Database\DBA;
-use Friendica\DI;
+use Friendica\Database\Database;
 use Friendica\Model;
 use Friendica\Model\Group;
 use Friendica\Network\HTTPException;
+use Friendica\Util\ACLFormatter;
+use Psr\Log\LoggerInterface;
 
 class PermissionSet extends BaseRepository
 {
+       const PUBLIC = 0;
+
        protected static $table_name = 'permissionset';
 
        protected static $model_class = Model\PermissionSet::class;
 
        protected static $collection_class = Collection\PermissionSets::class;
 
+       /** @var ACLFormatter */
+       private $aclFormatter;
+
+       public function __construct(Database $dba, LoggerInterface $logger, ACLFormatter $aclFormatter)
+       {
+               parent::__construct($dba, $logger);
+
+               $this->aclFormatter = $aclFormatter;
+       }
+
        /**
         * @param array $data
         * @return Model\PermissionSet
@@ -38,7 +49,7 @@ class PermissionSet extends BaseRepository
        {
                if (isset($condition['id']) && !$condition['id']) {
                        return $this->create([
-                               'id' => 0,
+                               'id' => self::PUBLIC,
                                'uid' => $condition['uid'] ?? 0,
                                'allow_cid' => '',
                                'allow_gid' => '',
@@ -93,16 +104,14 @@ class PermissionSet extends BaseRepository
                string $deny_cid = null,
                string $deny_gid = null
        ) {
-               $ACLFormatter = DI::aclFormatter();
-
-               $allow_cid = $ACLFormatter->sanitize($allow_cid);
-               $allow_gid = $ACLFormatter->sanitize($allow_gid);
-               $deny_cid = $ACLFormatter->sanitize($deny_cid);
-               $deny_gid = $ACLFormatter->sanitize($deny_gid);
+               $allow_cid = $this->aclFormatter->sanitize($allow_cid);
+               $allow_gid = $this->aclFormatter->sanitize($allow_gid);
+               $deny_cid = $this->aclFormatter->sanitize($deny_cid);
+               $deny_gid = $this->aclFormatter->sanitize($deny_gid);
 
                // Public permission
                if (!$allow_cid && !$allow_gid && !$deny_cid && !$deny_gid) {
-                       return 0;
+                       return self::PUBLIC;
                }
 
                $condition = [
@@ -134,7 +143,7 @@ class PermissionSet extends BaseRepository
        public function selectByContactId($contact_id, $uid)
        {
                $groups = [];
-               if (DBA::exists('contact', ['id' => $contact_id, 'uid' => $uid, 'blocked' => false])) {
+               if ($this->dba->exists('contact', ['id' => $contact_id, 'uid' => $uid, 'blocked' => false])) {
                        $groups = Group::getIdsByContactId($contact_id);
                }