Merge branch 'master' into tres
Conflicts: include/Contact.php include/ItemObject.php include/api.php include/attach.php include/diaspora.php include/dir_fns.php include/enotify.php include/event.php include/expire.php include/items.php include/notifier.php include/notify.php include/photos.php include/taxonomy.php include/text.php include/widgets.php include/zot.php mod/admin.php mod/channel.php mod/dirsearch.php mod/display.php mod/editwebpage.php mod/events.php mod/home.php mod/item.php mod/manage.php mod/mood.php mod/network.php mod/page.php mod/photos.php mod/ping.php mod/post.php mod/thing.php mod/viewsrc.php view/css/mod_events.css
This commit is contained in:
68
mod/like.php
68
mod/like.php
@@ -49,6 +49,18 @@ function like_content(&$a) {
|
||||
case 'unabstain':
|
||||
$activity = ACTIVITY_ABSTAIN;
|
||||
break;
|
||||
case 'attendyes':
|
||||
case 'unattendyes':
|
||||
$activity = ACTIVITY_ATTEND;
|
||||
break;
|
||||
case 'attendno':
|
||||
case 'unattendno':
|
||||
$activity = ACTIVITY_ATTENDNO;
|
||||
break;
|
||||
case 'attendmaybe':
|
||||
case 'unattendmaybe':
|
||||
$activity = ACTIVITY_ATTENDMAYBE;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
break;
|
||||
@@ -276,21 +288,53 @@ function like_content(&$a) {
|
||||
else
|
||||
killme();
|
||||
|
||||
$r = q("SELECT id FROM item WHERE verb = '%s' AND item_restrict = 0
|
||||
AND author_xchan = '%s' AND ( parent = %d OR thr_parent = '%s') LIMIT 1",
|
||||
dbesc($activity),
|
||||
|
||||
$verbs = " '".dbesc($activity)."' ";
|
||||
$multi_undo = 0;
|
||||
|
||||
// event participation and consensus items are essentially radio toggles. If you make a subsequent choice,
|
||||
// we need to eradicate your first choice.
|
||||
|
||||
if($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) {
|
||||
$verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' ";
|
||||
$multi_undo = 1;
|
||||
}
|
||||
if($activity === ACTIVITY_AGREE || $activity === ACTIVITY_DISAGREE || $activity === ACTIVITY_ABSTAIN) {
|
||||
$verbs = " '" . dbesc(ACTIVITY_AGREE) . "','" . dbesc(ACTIVITY_DISAGREE) . "','" . dbesc(ACTIVITY_ABSTAIN) . "' ";
|
||||
$multi_undo = 1;
|
||||
}
|
||||
|
||||
$r = q("SELECT id, parent, uid, verb FROM item WHERE verb in ( $verbs ) AND item_restrict = 0
|
||||
AND author_xchan = '%s' AND ( parent = %d OR thr_parent = '%s') and uid = %d ",
|
||||
dbesc($observer['xchan_hash']),
|
||||
intval($item_id),
|
||||
dbesc($item['mid'])
|
||||
dbesc($item['mid']),
|
||||
intval($owner_uid)
|
||||
);
|
||||
|
||||
if($r) {
|
||||
// already liked it. Drop that item.
|
||||
require_once('include/items.php');
|
||||
drop_item($r[0]['id'],false,DROPITEM_PHASE1);
|
||||
return;
|
||||
}
|
||||
foreach($r as $rr) {
|
||||
drop_item($rr['id'],false,DROPITEM_PHASE1);
|
||||
// set the changed timestamp on the parent so we'll see the update without a page reload
|
||||
$z = q("update item set changed = '%s' where id = %d and uid = %d",
|
||||
dbesc(datetime_convert()),
|
||||
intval($rr['parent']),
|
||||
intval($rr['uid'])
|
||||
);
|
||||
// Prior activity was a duplicate of the one we're submitting, just undo it;
|
||||
// don't fall through and create another
|
||||
if(activity_match($rr['verb'],$activity))
|
||||
$multi_undo = false;
|
||||
}
|
||||
|
||||
if($interactive)
|
||||
return;
|
||||
|
||||
if(! $multi_undo)
|
||||
killme();
|
||||
}
|
||||
}
|
||||
|
||||
$mid = item_message_id();
|
||||
@@ -303,6 +347,8 @@ function like_content(&$a) {
|
||||
}
|
||||
else {
|
||||
$post_type = (($item['resource_type'] === 'photo') ? t('photo') : t('status'));
|
||||
if($item['obj_type'] === ACTIVITY_OBJ_EVENT)
|
||||
$post_type = t('event');
|
||||
|
||||
$links = array(array('rel' => 'alternate','type' => 'text/html', 'href' => $item['plink']));
|
||||
$objtype = (($item['resource_type'] === 'photo') ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
|
||||
@@ -358,8 +404,12 @@ function like_content(&$a) {
|
||||
$bodyverb = t('%1$s doesn\'t agree with %2$s\'s %3$s');
|
||||
if($verb === 'abstain')
|
||||
$bodyverb = t('%1$s abstains from a decision on %2$s\'s %3$s');
|
||||
|
||||
|
||||
if($verb === 'attendyes')
|
||||
$bodyverb = t('%1$s is attending %2$s\'s %3$s');
|
||||
if($verb === 'attendno')
|
||||
$bodyverb = t('%1$s is not attending %2$s\'s %3$s');
|
||||
if($verb === 'attendmaybe')
|
||||
$bodyverb = t('%1$s may attend %2$s\'s %3$s');
|
||||
|
||||
if(! isset($bodyverb))
|
||||
killme();
|
||||
|
||||
Reference in New Issue
Block a user