Merge pull request #9161 from MrPetovan/bug/9140-private-note-self-only
Add a self-only ACL block to personal notes jot
This commit is contained in:
commit
065ab017c7
5 changed files with 27 additions and 27 deletions
|
@ -1137,28 +1137,11 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
|
|||
$jotplugins = '';
|
||||
Hook::callAll('jot_tool', $jotplugins);
|
||||
|
||||
// Private/public post links for the non-JS ACL form
|
||||
$private_post = 1;
|
||||
if (!empty($_REQUEST['public'])) {
|
||||
$private_post = 0;
|
||||
}
|
||||
|
||||
$query_str = DI::args()->getQueryString();
|
||||
if (strpos($query_str, 'public=1') !== false) {
|
||||
$query_str = str_replace(['?public=1', '&public=1'], ['', ''], $query_str);
|
||||
}
|
||||
|
||||
/*
|
||||
* I think $a->query_string may never have ? in it, but I could be wrong
|
||||
* It looks like it's from the index.php?q=[etc] rewrite that the web
|
||||
* server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
|
||||
*/
|
||||
if (strpos($query_str, '?') === false) {
|
||||
$public_post_link = '?public=1';
|
||||
} else {
|
||||
$public_post_link = '&public=1';
|
||||
}
|
||||
|
||||
// $tpl = Renderer::replaceMacros($tpl,array('$jotplugins' => $jotplugins));
|
||||
$tpl = Renderer::getMarkupTemplate("jot.tpl");
|
||||
|
||||
|
@ -1212,11 +1195,6 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
|
|||
|
||||
// ACL permissions box
|
||||
'$acl' => $x['acl'],
|
||||
'$group_perms' => DI::l10n()->t('Post to Groups'),
|
||||
'$contact_perms' => DI::l10n()->t('Post to Contacts'),
|
||||
'$private' => DI::l10n()->t('Private post'),
|
||||
'$is_private' => $private_post,
|
||||
'$public_link' => $public_post_link,
|
||||
|
||||
//jot nav tab (used in some themes)
|
||||
'$message' => DI::l10n()->t('Message'),
|
||||
|
|
|
@ -55,7 +55,7 @@ function notes_content(App $a, $update = false)
|
|||
'default_location' => $a->user['default-location'],
|
||||
'nickname' => $a->user['nickname'],
|
||||
'lockstate' => 'lock',
|
||||
'acl' => '',
|
||||
'acl' => \Friendica\Core\ACL::getSelfOnlyHTML(local_user(), DI::l10n()->t('Personal notes are visible only by yourself.')),
|
||||
'bang' => '',
|
||||
'visitor' => 'block',
|
||||
'profile_uid' => local_user(),
|
||||
|
|
|
@ -987,8 +987,6 @@ function photos_content(App $a)
|
|||
'$uploadurl' => $ret['post_url'],
|
||||
|
||||
// ACL permissions box
|
||||
'$group_perms' => DI::l10n()->t('Show to Groups'),
|
||||
'$contact_perms' => DI::l10n()->t('Show to Contacts'),
|
||||
'$return_path' => DI::args()->getQueryString(),
|
||||
]);
|
||||
|
||||
|
@ -1352,8 +1350,6 @@ function photos_content(App $a)
|
|||
'$delete' => DI::l10n()->t('Delete Photo'),
|
||||
|
||||
// ACL permissions box
|
||||
'$group_perms' => DI::l10n()->t('Show to Groups'),
|
||||
'$contact_perms' => DI::l10n()->t('Show to Contacts'),
|
||||
'$return_path' => DI::args()->getQueryString(),
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -83,6 +83,27 @@ class ACL
|
|||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a minimal ACL block for self-only permissions
|
||||
*
|
||||
* @param int $localUserId
|
||||
* @param string $explanation
|
||||
* @return string
|
||||
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
|
||||
*/
|
||||
public static function getSelfOnlyHTML(int $localUserId, string $explanation)
|
||||
{
|
||||
$selfPublicContactId = Contact::getPublicIdByUserId($localUserId);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('acl/self_only.tpl');
|
||||
$o = Renderer::replaceMacros($tpl, [
|
||||
'$selfPublicContactId' => $selfPublicContactId,
|
||||
'$explanation' => $explanation,
|
||||
]);
|
||||
|
||||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the default permission of the provided user array
|
||||
*
|
||||
|
|
5
view/templates/acl/self_only.tpl
Normal file
5
view/templates/acl/self_only.tpl
Normal file
|
@ -0,0 +1,5 @@
|
|||
<input type="hidden" name="contact_allow" value="{{$selfPublicContactId}}">
|
||||
<input type="hidden" name="group_allow" value="">
|
||||
<input type="hidden" name="contact_deny" value="">
|
||||
<input type="hidden" name="group_deny" value="">
|
||||
<div class="alert alert-info" role="alert"><p>{{$explanation}}</p></div>
|
Loading…
Reference in a new issue