*/
use Friendica\App;
+use Friendica\Content\Pager;
use Friendica\Content\Text\BBCode;
use Friendica\Content\Text\HTML;
use Friendica\Core\Addon;
use Friendica\Protocol\Email;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Emailer;
+use Friendica\Util\Security;
+use function Friendica\Core\function_exists;
require_once 'include/enotify.php';
require_once 'include/text.php';
return 0;
}
- require_once 'include/security.php';
-
$uid = local_user();
if (!empty($_REQUEST['dropitems'])) {
if (!DBA::isResult($parent_item)) {
notice(L10n::t('Unable to locate original post.') . EOL);
if (!empty($_REQUEST['return'])) {
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
killme();
}
}
// Allow commenting if it is an answer to a public post
- $allow_comment = local_user() && ($profile_uid == 0) && $parent && in_array($parent_item['network'], [Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
+ $allow_comment = local_user() && ($profile_uid == 0) && $parent && in_array($parent_item['network'], [Protocol::ACTIVITYPUB, Protocol::OSTATUS, Protocol::DIASPORA, Protocol::DFRN]);
// Now check that valid personal details have been provided
- if (!can_write_wall($profile_uid) && !$allow_comment) {
+ if (!Security::canWriteToUserWall($profile_uid) && !$allow_comment) {
notice(L10n::t('Permission denied.') . EOL) ;
if (!empty($_REQUEST['return'])) {
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
killme();
}
info(L10n::t('Empty post discarded.') . EOL);
if (!empty($_REQUEST['return'])) {
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
killme();
}
$tags = get_tags($body);
- // Add a tag if the parent contact is from OStatus (This will notify them during delivery)
- if ($parent) {
- if ($thr_parent_contact['network'] == Protocol::OSTATUS) {
- $contact = '@[url=' . $thr_parent_contact['url'] . ']' . $thr_parent_contact['nick'] . '[/url]';
- if (!stripos(implode($tags), '[url=' . $thr_parent_contact['url'] . ']')) {
- $tags[] = $contact;
- }
- }
-
- if ($parent_contact['network'] == Protocol::OSTATUS) {
- $contact = '@[url=' . $parent_contact['url'] . ']' . $parent_contact['nick'] . '[/url]';
- if (!stripos(implode($tags), '[url=' . $parent_contact['url'] . ']')) {
- $tags[] = $contact;
- }
+ // Add a tag if the parent contact is from ActivityPub or OStatus (This will notify them)
+ if ($parent && in_array($thr_parent_contact['network'], [Protocol::OSTATUS, Protocol::ACTIVITYPUB])) {
+ $contact = '@[url=' . $thr_parent_contact['url'] . ']' . $thr_parent_contact['nick'] . '[/url]';
+ if (!stripos(implode($tags), '[url=' . $thr_parent_contact['url'] . ']')) {
+ $tags[] = $contact;
}
}
$datarray["item_id"] = -1;
$datarray["author-network"] = Protocol::DFRN;
- $o = conversation($a,[array_merge($contact_record,$datarray)],'search', false, true);
+ $o = conversation($a, [array_merge($contact_record, $datarray)], new Pager($a->query_string), 'search', false, true);
logger('preview: ' . $o);
echo json_encode(['preview' => $o]);
- killme();
+ exit();
}
Addon::callHooks('post_local',$datarray);
if (!empty($datarray['cancel'])) {
logger('mod_item: post cancelled by addon.');
if ($return_path) {
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
$json = ['cancel' => 1];
if (!empty($_REQUEST['return']) && strlen($return_path)) {
logger('return: ' . $return_path);
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
killme();
} else {
if (!$post_id) {
logger("Item wasn't stored.");
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
$datarray = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
if (!DBA::isResult($datarray)) {
logger("Item with id ".$post_id." couldn't be fetched.");
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
// update filetags in pconfig
function item_post_return($baseurl, $api_source, $return_path)
{
// figure out how to return, depending on from whence we came
+ $a = get_app();
if ($api_source) {
return;
}
if ($return_path) {
- goaway($return_path);
+ $a->internalRedirect($return_path);
}
$json = ['success' => 1];
return;
}
- require_once 'include/security.php';
-
$o = '';
if (($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) {
- if (is_ajax()) {
+ if ($a->isAjax()) {
$o = Item::deleteForUser(['id' => $a->argv[2]], local_user());
} else {
$o = drop_item($a->argv[2]);
}
- if (is_ajax()) {
+ if ($a->isAjax()) {
// ajax return: [<item id>, 0 (no perm) | <owner id>]
echo json_encode([intval($a->argv[2]), intval($o)]);
killme();
$profile = $contact["url"];
$alias = $contact["alias"];
- $newname = $contact["nick"];
-
- if (($newname == "") || (($contact["network"] != Protocol::OSTATUS) && ($contact["network"] != Protocol::TWITTER)
- && ($contact["network"] != Protocol::STATUSNET))) {
- $newname = $contact["name"];
- }
+ $newname = defaults($contact, "name", $contact["nick"]);
}
//if there is an url for this persons profile