Replace "group" with "circle" in the rest of the code

- Remaining mentions already mean "forum"
This commit is contained in:
Hypolite Petovan 2023-05-13 19:54:35 -04:00
parent 4f6e02357a
commit 4f7740264e
120 changed files with 1308 additions and 1304 deletions

View file

@ -25,7 +25,7 @@ use Exception;
use Friendica\BaseRepository;
use Friendica\Database\Database;
use Friendica\Model\Contact;
use Friendica\Model\Group;
use Friendica\Model\Circle;
use Friendica\Network\HTTPException\NotFoundException;
use Friendica\Security\PermissionSet\Exception\PermissionSetNotFoundException;
use Friendica\Security\PermissionSet\Exception\PermissionSetPersistenceException;
@ -140,29 +140,29 @@ class PermissionSet extends BaseRepository
$user_contact_str = '';
}
$groups = [];
$circle_ids = [];
if (!empty($user_contact_str) && $this->db->exists('contact', [
'id' => $cid,
'uid' => $uid,
'blocked' => false
])) {
$groups = Group::getIdsByContactId($cid);
$circle_ids = Circle::getIdsByContactId($cid);
}
$group_str = '<<>>'; // should be impossible to match
foreach ($groups as $group_id) {
$group_str .= '|<' . preg_quote($group_id) . '>';
$circle_str = '<<>>'; // should be impossible to match
foreach ($circle_ids as $circle_id) {
$circle_str .= '|<' . preg_quote($circle_id) . '>';
}
if (!empty($user_contact_str)) {
$condition = ["`uid` = ? AND (NOT (LOCATE(?, `deny_cid`) OR LOCATE(?, `deny_cid`) OR deny_gid REGEXP ?)
AND (LOCATE(?, allow_cid) OR LOCATE(?, allow_cid) OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))",
$uid, $user_contact_str, $public_contact_str, $group_str,
$user_contact_str, $public_contact_str, $group_str];
$uid, $user_contact_str, $public_contact_str, $circle_str,
$user_contact_str, $public_contact_str, $circle_str];
} else {
$condition = ["`uid` = ? AND (NOT (LOCATE(?, `deny_cid`) OR deny_gid REGEXP ?)
AND (LOCATE(?, allow_cid) OR allow_gid REGEXP ? OR (allow_cid = '' AND allow_gid = '')))",
$uid, $public_contact_str, $group_str, $public_contact_str, $group_str];
$uid, $public_contact_str, $circle_str, $public_contact_str, $circle_str];
}
return $this->select($condition);

View file

@ -24,7 +24,7 @@ namespace Friendica\Security;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Contact;
use Friendica\Model\Group;
use Friendica\Model\Circle;
use Friendica\Model\User;
/**
@ -117,17 +117,13 @@ class Security
if ($local_user && $local_user == $owner_id) {
$sql = '';
/*
* Authenticated visitor. Load the groups the visitor belongs to.
* Authenticated visitor. Load the circles the visitor belongs to.
*/
} elseif ($remote_contact) {
$gs = '<<>>'; // should be impossible to match
$circleIds = '<<>>'; // should be impossible to match
$groups = Group::getIdsByContactId($remote_contact);
if (is_array($groups)) {
foreach ($groups as $g) {
$gs .= '|<' . intval($g) . '>';
}
foreach (Circle::getIdsByContactId($remote_contact) as $circleId) {
$circleIds .= '|<' . intval($circleId) . '>';
}
$sql = sprintf(
@ -135,9 +131,9 @@ class Security
AND (allow_cid REGEXP '<%d>' OR allow_gid REGEXP '%s'
OR (allow_cid = '' AND allow_gid = ''))" . $acc_sql . ") ",
intval($remote_contact),
DBA::escape($gs),
DBA::escape($circleIds),
intval($remote_contact),
DBA::escape($gs)
DBA::escape($circleIds)
);
}
return $sql;