mirror of
https://github.com/friendica/friendica
synced 2024-11-18 03:03:41 +00:00
rework post editing a bit
This commit is contained in:
parent
ce754bc0e2
commit
43234a6678
1 changed files with 79 additions and 77 deletions
156
mod/item.php
156
mod/item.php
|
@ -51,7 +51,7 @@ function item_post(&$a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$profile_uid = ((x($_POST,'profile_uid')) ? intval($_POST['profile_uid']) : 0);
|
$profile_uid = ((x($_POST,'profile_uid')) ? intval($_POST['profile_uid']) : 0);
|
||||||
$post_id = ((x($_POST['post_id'])) ? intval($_POST['post_id']) : 0);
|
$post_id = ((x($_POST['post_id'])) ? intval($_POST['post_id']) : 0);
|
||||||
|
|
||||||
if(! can_write_wall($a,$profile_uid)) {
|
if(! can_write_wall($a,$profile_uid)) {
|
||||||
notice( t('Permission denied.') . EOL) ;
|
notice( t('Permission denied.') . EOL) ;
|
||||||
|
@ -60,6 +60,21 @@ function item_post(&$a) {
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// is this an edited post?
|
||||||
|
|
||||||
|
$orig_post = null;
|
||||||
|
|
||||||
|
if($post_id) {
|
||||||
|
$i = q("SELECT * FROM `item` WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
||||||
|
intval($profile_uid),
|
||||||
|
intval($post_id)
|
||||||
|
);
|
||||||
|
if(! count($i))
|
||||||
|
killme();
|
||||||
|
$orig_post = $i[0];
|
||||||
|
}
|
||||||
|
|
||||||
$user = null;
|
$user = null;
|
||||||
|
|
||||||
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
|
||||||
|
@ -68,37 +83,51 @@ function item_post(&$a) {
|
||||||
if(count($r))
|
if(count($r))
|
||||||
$user = $r[0];
|
$user = $r[0];
|
||||||
|
|
||||||
|
if($orig_post) {
|
||||||
|
$str_group_allow = $orig_post['allow_gid'];
|
||||||
|
$str_contact_allow = $orig_post['allow_cid'];
|
||||||
|
$str_group_deny = $orig_post['deny_gid'];
|
||||||
|
$str_contact_deny = $orig_post['deny_cid'];
|
||||||
|
$title = $orig_post['title'];
|
||||||
|
$location = $orig_post['location'];
|
||||||
|
$coord = $orig_post['coord'];
|
||||||
|
$verb = $orig_post['verb'];
|
||||||
|
$emailcc = $orig_post['emailcc'];
|
||||||
|
|
||||||
$str_group_allow = perms2str($_POST['group_allow']);
|
$body = escape_tags(trim($_POST['body']));
|
||||||
$str_contact_allow = perms2str($_POST['contact_allow']);
|
$private = $orig_post['private'];
|
||||||
$str_group_deny = perms2str($_POST['group_deny']);
|
|
||||||
$str_contact_deny = perms2str($_POST['contact_deny']);
|
|
||||||
|
|
||||||
$private = ((strlen($str_group_allow) || strlen($str_contact_allow) || strlen($str_group_deny) || strlen($str_contact_deny)) ? 1 : 0);
|
|
||||||
|
|
||||||
if(($parent_item) &&
|
|
||||||
(($parent_item['private'])
|
|
||||||
|| strlen($parent_item['allow_cid'])
|
|
||||||
|| strlen($parent_item['allow_gid'])
|
|
||||||
|| strlen($parent_item['deny_cid'])
|
|
||||||
|| strlen($parent_item['deny_gid'])
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
$private = 1;
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
$str_group_allow = perms2str($_POST['group_allow']);
|
||||||
|
$str_contact_allow = perms2str($_POST['contact_allow']);
|
||||||
|
$str_group_deny = perms2str($_POST['group_deny']);
|
||||||
|
$str_contact_deny = perms2str($_POST['contact_deny']);
|
||||||
|
$title = notags(trim($_POST['title']));
|
||||||
|
$location = notags(trim($_POST['location']));
|
||||||
|
$coord = notags(trim($_POST['coord']));
|
||||||
|
$verb = notags(trim($_POST['verb']));
|
||||||
|
$emailcc = notags(trim($_POST['emailcc']));
|
||||||
|
|
||||||
$title = notags(trim($_POST['title']));
|
$body = escape_tags(trim($_POST['body']));
|
||||||
$body = escape_tags(trim($_POST['body']));
|
$private = ((strlen($str_group_allow) || strlen($str_contact_allow) || strlen($str_group_deny) || strlen($str_contact_deny)) ? 1 : 0);
|
||||||
$location = notags(trim($_POST['location']));
|
|
||||||
$coord = notags(trim($_POST['coord']));
|
|
||||||
$verb = notags(trim($_POST['verb']));
|
|
||||||
$emailcc = notags(trim($_POST['emailcc']));
|
|
||||||
|
|
||||||
if(! strlen($body)) {
|
if(($parent_item) &&
|
||||||
notice( t('Empty post discarded.') . EOL );
|
(($parent_item['private'])
|
||||||
if(x($_POST,'return'))
|
|| strlen($parent_item['allow_cid'])
|
||||||
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
|| strlen($parent_item['allow_gid'])
|
||||||
killme();
|
|| strlen($parent_item['deny_cid'])
|
||||||
|
|| strlen($parent_item['deny_gid'])
|
||||||
|
)) {
|
||||||
|
$private = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(! strlen($body)) {
|
||||||
|
notice( t('Empty post discarded.') . EOL );
|
||||||
|
if(x($_POST,'return'))
|
||||||
|
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
||||||
|
killme();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// get contact info for poster
|
// get contact info for poster
|
||||||
|
@ -151,36 +180,6 @@ function item_post(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// is this an edited post?
|
|
||||||
|
|
||||||
$orig_post = null;
|
|
||||||
|
|
||||||
if($post_id) {
|
|
||||||
$i = q("SELECT * FROM `item` WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
|
||||||
intval($profile_uid),
|
|
||||||
intval($post_id)
|
|
||||||
);
|
|
||||||
if(! count($i))
|
|
||||||
killme();
|
|
||||||
$orig_post = $i[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
if($orig_post) {
|
|
||||||
$str_group_allow = $orig_post['allow_gid'];
|
|
||||||
$str_contact_allow = $orig_post['allow_cid'];
|
|
||||||
$str_group_deny = $orig_post['deny_gid'];
|
|
||||||
$str_contact_deny = $orig_post['deny_cid'];
|
|
||||||
$private = $orig_post['private'];
|
|
||||||
$title = $orig_post['title'];
|
|
||||||
$location = $orig_post['location'];
|
|
||||||
$coord = $orig_post['coord'];
|
|
||||||
$verb = $orig_post['verb'];
|
|
||||||
$emailcc = $orig_post['emailcc'];
|
|
||||||
|
|
||||||
$body = escape_tags(trim($_POST['body']));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* When a photo was uploaded into the message using the (profile wall) ajax
|
* When a photo was uploaded into the message using the (profile wall) ajax
|
||||||
|
@ -316,30 +315,11 @@ function item_post(&$a) {
|
||||||
$str_tags .= ',';
|
$str_tags .= ',';
|
||||||
$str_tags .= '@[url=' . $alias . ']' . $newname . '[/url]';
|
$str_tags .= '@[url=' . $alias . ']' . $newname . '[/url]';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if($orig_post) {
|
|
||||||
$r = q("UPDATE `item` SET `body` = '%s', `edited` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
|
||||||
dbesc($body),
|
|
||||||
dbesc(datetime_convert()),
|
|
||||||
intval($post_id),
|
|
||||||
intval($profile_uid)
|
|
||||||
);
|
|
||||||
|
|
||||||
proc_run('php', "include/notifier.php", 'edit_post', "$post_id");
|
|
||||||
if((x($_POST,'return')) && strlen($_POST['return'])) {
|
|
||||||
logger('return: ' . $_POST['return']);
|
|
||||||
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
|
||||||
}
|
|
||||||
killme();
|
|
||||||
}
|
|
||||||
|
|
||||||
$post_id = 0;
|
|
||||||
$wall = 0;
|
$wall = 0;
|
||||||
|
|
||||||
if($post_type === 'wall' || $post_type === 'wall-comment')
|
if($post_type === 'wall' || $post_type === 'wall-comment')
|
||||||
|
@ -392,9 +372,31 @@ function item_post(&$a) {
|
||||||
$datarray['parent'] = $parent;
|
$datarray['parent'] = $parent;
|
||||||
$datarray['self'] = $self;
|
$datarray['self'] = $self;
|
||||||
|
|
||||||
|
if($orig_post)
|
||||||
|
$datarray['edit'] = true;
|
||||||
|
|
||||||
call_hooks('post_local',$datarray);
|
call_hooks('post_local',$datarray);
|
||||||
|
|
||||||
|
|
||||||
|
if($orig_post) {
|
||||||
|
$r = q("UPDATE `item` SET `body` = '%s', `edited` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
|
dbesc($body),
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
intval($post_id),
|
||||||
|
intval($profile_uid)
|
||||||
|
);
|
||||||
|
|
||||||
|
proc_run('php', "include/notifier.php", 'edit_post', "$post_id");
|
||||||
|
if((x($_POST,'return')) && strlen($_POST['return'])) {
|
||||||
|
logger('return: ' . $_POST['return']);
|
||||||
|
goaway($a->get_baseurl() . "/" . $_POST['return'] );
|
||||||
|
}
|
||||||
|
killme();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$post_id = 0;
|
||||||
|
|
||||||
|
|
||||||
$r = q("INSERT INTO `item` (`uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
|
$r = q("INSERT INTO `item` (`uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
|
||||||
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `changed`, `uri`, `title`, `body`, `location`, `coord`,
|
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `changed`, `uri`, `title`, `body`, `location`, `coord`,
|
||||||
`tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private` )
|
`tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private` )
|
||||||
|
|
Loading…
Reference in a new issue