first cut at edit activities
This commit is contained in:
parent
7b713e2576
commit
084b41fc2c
@ -901,6 +901,8 @@ class Item extends \Zotlabs\Web\Controller {
|
||||
|
||||
$x = item_store_update($datarray,$execflag);
|
||||
|
||||
// item_create_edit_activity($x);
|
||||
|
||||
if(! $parent) {
|
||||
$r = q("select * from item where id = %d",
|
||||
intval($post_id)
|
||||
|
@ -405,8 +405,6 @@ function count_descendants($item) {
|
||||
function visible_activity($item) {
|
||||
$hidden_activities = [ ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ];
|
||||
|
||||
$post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)];
|
||||
|
||||
if(intval($item['item_notshown']))
|
||||
return false;
|
||||
|
||||
@ -416,14 +414,32 @@ function visible_activity($item) {
|
||||
}
|
||||
}
|
||||
|
||||
if(is_edit_activity($item))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Check if a given activity is an edit activity
|
||||
*
|
||||
*
|
||||
* @param array $item
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
function is_edit_activity($item) {
|
||||
|
||||
$post_types = [ ACTIVITY_OBJ_NOTE, ACTIVITY_OBJ_COMMENT, basename(ACTIVITY_OBJ_NOTE), basename(ACTIVITY_OBJ_COMMENT)];
|
||||
|
||||
// In order to share edits with networks which have no concept of editing, we'll create
|
||||
// separate activities to indicate the edit. Our network will not require them, since our
|
||||
// edits are automatically applied and the activity indicated.
|
||||
|
||||
if(($item['verb'] === ACTIVITY_UPDATE) && (in_array($item['obj_type'],$post_types)))
|
||||
return false;
|
||||
return true;
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -182,7 +182,7 @@ abstract class dba_driver {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
|
||||
if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1') && (! strpbrk($server,':;'))) {
|
||||
if((! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) && (! filter_var($server, FILTER_VALIDATE_IP))) {
|
||||
$this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
|
||||
$this->connected = false;
|
||||
|
@ -4503,3 +4503,46 @@ function fix_attached_file_permissions($channel,$observer_hash,$body,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function item_create_edit_activity($post) {
|
||||
if((! $post) || (! $post['item']))
|
||||
return;
|
||||
|
||||
$update_item = $post['item'];
|
||||
|
||||
$new_item = $update_item;
|
||||
|
||||
$new_item['id'] = 0;
|
||||
$new_item['parent'] = 0;
|
||||
$new_item['mid'] = item_message_id();
|
||||
|
||||
$new_item['body'] = sprintf( t('Edited %s'), (($update_item['item_thread_top']) ? t('Post','edit_activity') : t('Comment','edit_activity')));
|
||||
|
||||
$new_item['body'] .= "\n\n";
|
||||
$new_item['body'] .= $update_item['body'];
|
||||
|
||||
$new_item['title'] = $update_item['title'];
|
||||
|
||||
$new_item['verb'] = ACTIVITY_UPDATE;
|
||||
$new_item['item_thread_top'] = 0;
|
||||
|
||||
$x = post_activity_item($new_item);
|
||||
|
||||
logger('posted edit activity');
|
||||
|
||||
$post_id = $x['id'];
|
||||
if($post_id) {
|
||||
$r = q("select * from item where id = %d",
|
||||
intval($post_id)
|
||||
);
|
||||
if($r) {
|
||||
xchan_query($r);
|
||||
$sync_item = fetch_post_tags($r);
|
||||
build_sync_packet($new_item['uid'],array('item' => array(encode_item($sync_item[0],true))));
|
||||
}
|
||||
}
|
||||
|
||||
\Zotlabs\Daemon\Master::Summon(array('Notifier', 'edit_activity', $post_id));
|
||||
|
||||
}
|
Reference in New Issue
Block a user