this should get local posts almost working

This commit is contained in:
friendica 2012-09-04 03:34:36 -07:00
parent 2df083efb1
commit 9c875a8ab5
2 changed files with 77 additions and 19 deletions

View File

@ -173,6 +173,62 @@ define ( 'PERMS_FRIEND', PERMS_VISIBLE|PERMS_TRANSMIT|PERMS_RECEIVE|
define ( 'PERMS_COMMUNITY', PERMS_VISIBLE|PERMS_RECEIVE|PERMS_COMMENT|PERMS_POSTWALL|PERMS_TAGWALL|
PERMS_SEEABOOK|PERMS_SEEPERMS); // Public group profile
// General channel permissions
define ( 'PERMS_PUBLIC_VIEW_STREAM' , 0x00000001 );
define ( 'PERMS_SERVICE_VIEW_STREAM' , 0x00000002 );
define ( 'PERMS_SITE_VIEW_STREAM' , 0x00000004 );
define ( 'PERMS_CONTACTS_VIEW_STREAM' , 0x00000008 );
define ( 'PERMS_SPECIFIC_VIEW_STREAM' , 0x00000010 );
define ( 'PERMS_PUBLIC_VIEW_PROFILE' , 0x00000020 );
define ( 'PERMS_SERVICE_VIEW_PROFILE' , 0x00000040 );
define ( 'PERMS_SITE_VIEW_PROFILE' , 0x00000080 );
define ( 'PERMS_CONTACTS_VIEW_PROFILE' , 0x00000100 );
define ( 'PERMS_SPECIFIC_VIEW_PROFILE' , 0x00000200 );
define ( 'PERMS_PUBLIC_VIEW_PHOTOS' , 0x00000400 );
define ( 'PERMS_SERVICE_VIEW_PHOTOS' , 0x00000800 );
define ( 'PERMS_SITE_VIEW_PHOTOS' , 0x00001000 );
define ( 'PERMS_CONTACTS_VIEW_PHOTOS' , 0x00002000 );
define ( 'PERMS_SPECIFIC_VIEW_PHOTOS' , 0x00004000 );
define ( 'PERMS_PUBLIC_VIEW_CONTACTS' , 0x00008000 );
define ( 'PERMS_SERVICE_VIEW_CONTACTS' , 0x00010000 );
define ( 'PERMS_SITE_VIEW_CONTACTS' , 0x00020000 );
define ( 'PERMS_CONTACTS_VIEW_CONTACTS' , 0x00040000 );
define ( 'PERMS_SPECIFIC_VIEW_CONTACTS' , 0x00080000 );
define ( 'PERMS_PUBLIC_POST_STREAM' , 0x00000001 );
define ( 'PERMS_SERVICE_POST_STREAM' , 0x00000002 );
define ( 'PERMS_SITE_POST_STREAM' , 0x00000004 );
define ( 'PERMS_CONTACTS_POST_STREAM' , 0x00000008 );
define ( 'PERMS_SPECIFIC_POST_STREAM' , 0x00000010 );
define ( 'PERMS_PUBLIC_POST_WALL' , 0x00000020 );
define ( 'PERMS_SERVICE_POST_WALL' , 0x00000040 );
define ( 'PERMS_SITE_POST_WALL' , 0x00000080 );
define ( 'PERMS_CONTACTS_POST_WALL' , 0x00000100 );
define ( 'PERMS_SPECIFIC_POST_WALL' , 0x00000200 );
define ( 'PERMS_PUBLIC_POST_COMMENTS' , 0x00000400 );
define ( 'PERMS_SERVICE_POST_COMMENTS' , 0x00000800 );
define ( 'PERMS_SITE_POST_COMMENTS' , 0x00001000 );
define ( 'PERMS_CONTACTS_POST_COMMENTS' , 0x00002000 );
define ( 'PERMS_SPECIFIC_POST_COMMENTS' , 0x00004000 );
define ( 'PERMS_PUBLIC_POST_MAIL' , 0x00008000 );
define ( 'PERMS_SERVICE_POST_MAIL' , 0x00010000 );
define ( 'PERMS_SITE_POST_MAIL' , 0x00020000 );
define ( 'PERMS_CONTACTS_POST_MAIL' , 0x00040000 );
define ( 'PERMS_SPECIFIC_POST_MAIL' , 0x00080000 );
define ( 'DEFAULT_VIEW_PERMS', PERMS_SPECIFIC_VIEW_STREAM | PERMS_SPECIFIC_VIEW_PROFILE | PERMS_SPECIFIC_VIEW_PHOTOS | PERMS_SPECIFIC_VIEW_CONTACTS );
define ( 'DEFAULT_POST_PERMS', PERMS_SPECIFIC_POST_STREAM | PERMS_SPECIFIC_POST_WALL | PERMS_SPECIFIC_POST_COMMENTS | PERMS_SPECIFIC_POST_MAIL );
/**
* Maximum number of "people who like (or don't like) this" that we will list by name
*/

View File

@ -175,11 +175,12 @@ function item_post(&$a) {
$user = null;
$r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1",
$r = q("SELECT entity.*, account.* FROM entity left join account on entity.entity_account_id = account.account_id
where entity.entity_id = %d LIMIT 1",
intval($profile_uid)
);
if(count($r))
$user = $r[0];
$entity = $r[0];
if($orig_post) {
$str_group_allow = $orig_post['allow_gid'];
@ -207,10 +208,10 @@ function item_post(&$a) {
&& (! array_key_exists('group_allow',$_REQUEST))
&& (! array_key_exists('contact_deny',$_REQUEST))
&& (! array_key_exists('group_deny',$_REQUEST))) {
$str_group_allow = $user['allow_gid'];
$str_contact_allow = $user['allow_cid'];
$str_group_deny = $user['deny_gid'];
$str_contact_deny = $user['deny_cid'];
$str_group_allow = $entity['entity_allow_gid'];
$str_contact_allow = $entity['entity_allow_cid'];
$str_group_deny = $entity['entity_deny_gid'];
$str_contact_deny = $entity['entity_deny_cid'];
}
else {
@ -529,6 +530,7 @@ function item_post(&$a) {
$uri = item_new_uri($a->get_hostname(),$profile_uid);
// Fallback so that we alway have a thr-parent
if(!$thr_parent)
$thr_parent = $uri;
@ -577,7 +579,7 @@ function item_post(&$a) {
$datarray['parent'] = $parent;
$datarray['self'] = $self;
// $datarray['prvnets'] = $user['prvnets'];
if($orig_post)
$datarray['edit'] = true;
@ -743,11 +745,11 @@ function item_post(&$a) {
if($contact_record != $author) {
notification(array(
'type' => NOTIFY_COMMENT,
'notify_flags' => $user['notify-flags'],
'language' => $user['language'],
'to_name' => $user['username'],
'to_email' => $user['email'],
'uid' => $user['uid'],
'notify_flags' => $entity['entity_notifyflags'],
'language' => $entity['account_language'],
'to_name' => $entity['entity_name'],
'to_email' => $entity['account_email'],
'uid' => $entity['entity_id'],
'item' => $datarray,
'link' => $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id,
'source_name' => $datarray['author-name'],
@ -768,11 +770,11 @@ function item_post(&$a) {
if($contact_record != $author) {
notification(array(
'type' => NOTIFY_WALL,
'notify_flags' => $user['notify-flags'],
'language' => $user['language'],
'to_name' => $user['username'],
'to_email' => $user['email'],
'uid' => $user['uid'],
'notify_flags' => $entity['entity_notifyflags'],
'language' => $entity['account_language'],
'to_name' => $entity['entity_name'],
'to_email' => $entity['account_email'],
'uid' => $entity['entity_id'],
'item' => $datarray,
'link' => $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id,
'source_name' => $datarray['author-name'],
@ -793,7 +795,7 @@ function item_post(&$a) {
WHERE `id` = %d LIMIT 1",
intval($parent),
dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
dbesc($a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id),
dbesc($a->get_baseurl() . '/display/' . $entity['entity_address'] . '/' . $post_id),
dbesc(datetime_convert()),
intval($post_id)
);
@ -824,7 +826,7 @@ function item_post(&$a) {
);
$datarray['id'] = $post_id;
$datarray['plink'] = $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id;
$datarray['plink'] = $a->get_baseurl() . '/display/' . $entity['entity_address'] . '/' . $post_id;
call_hooks('post_local_end', $datarray);