mirror of
https://github.com/friendica/friendica
synced 2025-04-19 09:10:12 +00:00
Merge branch 'friendica:2023.09-rc' into Leftovers-from-PR-#13339
This commit is contained in:
commit
1ede164450
26 changed files with 13728 additions and 8954 deletions
|
@ -25,7 +25,6 @@ use Friendica\Content\PageInfo;
|
|||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Text\Markdown;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
|
@ -192,6 +191,7 @@ class Statuses extends BaseApi
|
|||
$item['title'] = '';
|
||||
$item['body'] = $this->formatStatus($request['status'], $uid);
|
||||
$item['app'] = $this->getApp();
|
||||
$item['visibility'] = $request['visibility'];
|
||||
|
||||
switch ($request['visibility']) {
|
||||
case 'public':
|
||||
|
@ -209,6 +209,18 @@ class Statuses extends BaseApi
|
|||
$item['private'] = Item::UNLISTED;
|
||||
break;
|
||||
case 'private':
|
||||
if ($request['in_reply_to_id']) {
|
||||
$parent_item = Post::selectFirst(Item::ITEM_FIELDLIST, ['uri-id' => $request['in_reply_to_id'], 'uid' => $uid, 'private' => Item::PRIVATE]);
|
||||
if (!empty($parent_item)) {
|
||||
$item['allow_cid'] = $parent_item['allow_cid'];
|
||||
$item['allow_gid'] = $parent_item['allow_gid'];
|
||||
$item['deny_cid'] = $parent_item['deny_cid'];
|
||||
$item['deny_gid'] = $parent_item['deny_gid'];
|
||||
$item['private'] = $parent_item['private'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($owner['allow_cid'] . $owner['allow_gid'] . $owner['deny_cid'] . $owner['deny_gid'])) {
|
||||
$item['allow_cid'] = $owner['allow_cid'];
|
||||
$item['allow_gid'] = $owner['allow_gid'];
|
||||
|
@ -287,7 +299,7 @@ class Statuses extends BaseApi
|
|||
}
|
||||
|
||||
$item = DI::contentItem()->expandTags($item, $request['visibility'] == 'direct');
|
||||
|
||||
|
||||
if (!empty($request['media_ids'])) {
|
||||
$item = $this->storeMediaIds($request['media_ids'], $item);
|
||||
}
|
||||
|
|
|
@ -113,12 +113,26 @@ class PermissionTooltip extends \Friendica\BaseModule
|
|||
exit;
|
||||
}
|
||||
|
||||
if (!empty($model['allow_cid']) || !empty($model['allow_gid']) || !empty($model['deny_cid']) || !empty($model['deny_gid'])) {
|
||||
$receivers = $this->fetchReceiversFromACL($model);
|
||||
}
|
||||
|
||||
$this->httpExit(DI::l10n()->t('Visible to:') . '<br />' . $receivers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch a list of receivers based on the ACL data
|
||||
*
|
||||
* @param array $model
|
||||
* @return string
|
||||
*/
|
||||
private function fetchReceiversFromACL(array $model)
|
||||
{
|
||||
$allowed_users = $model['allow_cid'];
|
||||
$allowed_circles = $model['allow_gid'];
|
||||
$deny_users = $model['deny_cid'];
|
||||
$deny_circles = $model['deny_gid'];
|
||||
|
||||
$o = DI::l10n()->t('Visible to:') . '<br />';
|
||||
$l = [];
|
||||
|
||||
if (count($allowed_circles)) {
|
||||
|
@ -165,11 +179,7 @@ class PermissionTooltip extends \Friendica\BaseModule
|
|||
$l[] = '<strike>' . $contact['name'] . '</strike>';
|
||||
}
|
||||
|
||||
if (!empty($l)) {
|
||||
$this->httpExit($o . implode(', ', $l));
|
||||
} else {
|
||||
$this->httpExit($o . $receivers);;
|
||||
}
|
||||
return implode(', ', $l);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -199,6 +199,7 @@ class Account extends BaseSettings
|
|||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
User::setCommunityUserSettings(DI::userSession()->getLocalUserId());
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
}
|
||||
|
||||
|
@ -321,37 +322,16 @@ class Account extends BaseSettings
|
|||
$page_flags = User::PAGE_FLAGS_COMMUNITY;
|
||||
}
|
||||
|
||||
$fields = [];
|
||||
$profile_fields = [];
|
||||
|
||||
if ($account_type == User::ACCOUNT_TYPE_COMMUNITY) {
|
||||
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'system', 'unlisted', true);
|
||||
|
||||
$fields = [
|
||||
'allow_cid' => '',
|
||||
'allow_gid' => $page_flags == User::PAGE_FLAGS_PRVGROUP ?
|
||||
'<' . Circle::FOLLOWERS . '>'
|
||||
: '',
|
||||
'deny_cid' => '',
|
||||
'deny_gid' => '',
|
||||
'blockwall' => true,
|
||||
'blocktags' => true,
|
||||
];
|
||||
|
||||
$profile_fields = [
|
||||
'hide-friends' => true,
|
||||
];
|
||||
}
|
||||
|
||||
$fields = array_merge($fields, [
|
||||
$fields = [
|
||||
'page-flags' => $page_flags,
|
||||
'account-type' => $account_type,
|
||||
]);
|
||||
];
|
||||
|
||||
if (!User::update($fields, DI::userSession()->getLocalUserId()) || !empty($profile_fields) && !Profile::update($profile_fields, DI::userSession()->getLocalUserId())) {
|
||||
if (!User::update($fields, DI::userSession()->getLocalUserId())) {
|
||||
DI::sysmsg()->addNotice(DI::l10n()->t('Settings were not updated.'));
|
||||
}
|
||||
|
||||
User::setCommunityUserSettings(DI::userSession()->getLocalUserId());
|
||||
DI::baseUrl()->redirect($redirectUrl);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue