mirror of
https://github.com/friendica/friendica
synced 2025-04-28 12:24:23 +02:00
API: Functionality moved to new places
This commit is contained in:
parent
2b74e41312
commit
9414edd64a
4 changed files with 375 additions and 483 deletions
|
@ -341,4 +341,62 @@ class ACL
|
|||
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the validity of the given ACL string
|
||||
*
|
||||
* @param string $acl_string
|
||||
* @param int $uid
|
||||
* @return bool
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function isValidContact($acl_string, $uid)
|
||||
{
|
||||
if (empty($acl_string)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// split <x><y><z> into array of cids
|
||||
preg_match_all('/<[A-Za-z0-9]+>/', $acl_string, $array);
|
||||
|
||||
// check for each cid if the contact is valid for the given user
|
||||
$cid_array = $array[0];
|
||||
foreach ($cid_array as $cid) {
|
||||
$cid = str_replace(['<', '>'], ['', ''], $cid);
|
||||
if (!DBA::exists('contact', ['id' => $cid, 'uid' => $uid])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the validity of the given ACL string
|
||||
*
|
||||
* @param string $acl_string
|
||||
* @param int $uid
|
||||
* @return bool
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function isValidGroup($acl_string, $uid)
|
||||
{
|
||||
if (empty($acl_string)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// split <x><y><z> into array of cids
|
||||
preg_match_all('/<[A-Za-z0-9]+>/', $acl_string, $array);
|
||||
|
||||
// check for each cid if the contact is valid for the given user
|
||||
$gid_array = $array[0];
|
||||
foreach ($gid_array as $gid) {
|
||||
$gid = str_replace(['<', '>'], ['', ''], $gid);
|
||||
if (!DBA::exists('group', ['id' => $gid, 'uid' => $uid, 'deleted' => false])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue