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);
|
$x = item_store_update($datarray,$execflag);
|
||||||
|
|
||||||
|
// item_create_edit_activity($x);
|
||||||
|
|
||||||
if(! $parent) {
|
if(! $parent) {
|
||||||
$r = q("select * from item where id = %d",
|
$r = q("select * from item where id = %d",
|
||||||
intval($post_id)
|
intval($post_id)
|
||||||
|
@ -405,8 +405,6 @@ function count_descendants($item) {
|
|||||||
function visible_activity($item) {
|
function visible_activity($item) {
|
||||||
$hidden_activities = [ ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_AGREE, ACTIVITY_DISAGREE, ACTIVITY_ABSTAIN, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE ];
|
$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']))
|
if(intval($item['item_notshown']))
|
||||||
return false;
|
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
|
// 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
|
// separate activities to indicate the edit. Our network will not require them, since our
|
||||||
// edits are automatically applied and the activity indicated.
|
// edits are automatically applied and the activity indicated.
|
||||||
|
|
||||||
if(($item['verb'] === ACTIVITY_UPDATE) && (in_array($item['obj_type'],$post_types)))
|
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;
|
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))) {
|
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->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
|
||||||
$this->connected = false;
|
$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