aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/addtocal.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/mod/addtocal.php b/mod/addtocal.php
new file mode 100644
index 000000000..7789e0ede
--- /dev/null
+++ b/mod/addtocal.php
@@ -0,0 +1,56 @@
+<?php /** @file */
+
+
+function addtocal_init(&$a) {
+
+ if(! local_user())
+ return;
+
+ if(argc() > 1) {
+ $post_id = intval(argv(1));
+
+ $r = q("select * from item where id = %d and uid = %d limit 1",
+ intval($post_id),
+ intval(local_user())
+ );
+
+ if(! $r)
+ return;
+ }
+
+ $arr = $r[0];
+ $channel = $a->get_channel();
+
+ if(! $channel)
+ return;
+
+ // for events, extract the event info and create an event linked to an item
+
+ if((x($arr,'obj_type')) && (activity_match($arr['obj_type'],ACTIVITY_OBJ_EVENT))) {
+
+ require_once('include/event.php');
+ $ev = bbtoevent($arr['body']);
+
+ if(x($ev,'description') && x($ev,'start')) {
+ $ev['event_xchan'] = $arr['author_xchan'];
+ $ev['uid'] = $channel['channel_id'];
+ $ev['account'] = $channel['channel_account_id'];
+ $ev['edited'] = $arr['edited'];
+ $ev['mid'] = $arr['mid'];
+ $ev['private'] = $arr['item_private'];
+
+ // is this an edit?
+
+ $r = q("SELECT resource_id FROM item where mid = '%s' and uid = %d and resource_type = 'event' limit 1",
+ dbesc($arr['mid']),
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ $ev['event_hash'] = $r[0]['resource_id'];
+ }
+
+ $xyz = event_store($ev);
+
+ }
+ }
+} \ No newline at end of file