mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-20 01:35:12 +00:00
more hard work
This commit is contained in:
parent
6a42d6fe3b
commit
8c6067b411
4 changed files with 159 additions and 123 deletions
2
boot.php
2
boot.php
|
@ -47,7 +47,7 @@ define ( 'RED_PLATFORM', 'Red Matrix' );
|
||||||
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
|
define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R');
|
||||||
define ( 'ZOT_REVISION', 1 );
|
define ( 'ZOT_REVISION', 1 );
|
||||||
|
|
||||||
define ( 'DB_UPDATE_VERSION', 1124 );
|
define ( 'DB_UPDATE_VERSION', 1125 );
|
||||||
|
|
||||||
define ( 'EOL', '<br />' . "\r\n" );
|
define ( 'EOL', '<br />' . "\r\n" );
|
||||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||||
|
|
|
@ -293,11 +293,6 @@ function diaspora_get_contact_by_handle($uid,$handle) {
|
||||||
function find_diaspora_person_by_handle($handle) {
|
function find_diaspora_person_by_handle($handle) {
|
||||||
|
|
||||||
$person = false;
|
$person = false;
|
||||||
$update = false;
|
|
||||||
$got_lock = false;
|
|
||||||
|
|
||||||
$endlessloop = 0;
|
|
||||||
$maxloops = 10;
|
|
||||||
|
|
||||||
if(diaspora_is_blacklisted($handle))
|
if(diaspora_is_blacklisted($handle))
|
||||||
return false;
|
return false;
|
||||||
|
@ -308,25 +303,25 @@ function find_diaspora_person_by_handle($handle) {
|
||||||
if($r) {
|
if($r) {
|
||||||
$person = $r[0];
|
$person = $r[0];
|
||||||
logger('find_diaspora_person_by handle: in cache ' . print_r($r,true), LOGGER_DATA);
|
logger('find_diaspora_person_by handle: in cache ' . print_r($r,true), LOGGER_DATA);
|
||||||
|
|
||||||
// update record occasionally so it doesn't get stale
|
|
||||||
// $d = strtotime($person['updated'] . ' +00:00');
|
|
||||||
// if($d < strtotime('now - 14 days'))
|
|
||||||
// $update = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if((! $person) || ($update)) {
|
if(! $person) {
|
||||||
|
|
||||||
// try webfinger. Make sure to distinguish between diaspora,
|
// try webfinger. Make sure to distinguish between diaspora,
|
||||||
// redmatrix w/diaspora protocol and friendica w/diaspora protocol.
|
// redmatrix w/diaspora protocol and friendica w/diaspora protocol.
|
||||||
|
|
||||||
$result = discover_by_webbie($handle);
|
$result = discover_by_webbie($handle);
|
||||||
|
if($result) {
|
||||||
|
$r = q("select * from xchan where xchan_addr = '%s' limit 1",
|
||||||
|
dbesc($handle)
|
||||||
|
);
|
||||||
|
if($r) {
|
||||||
|
$person = $r[0];
|
||||||
|
logger('find_diaspora_person_by handle: discovered ' . print_r($r,true), LOGGER_DATA);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $person;
|
return $person;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,14 +333,13 @@ function get_diaspora_key($handle) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function diaspora_pubmsg_build($msg,$user,$contact,$prvkey,$pubkey) {
|
function diaspora_pubmsg_build($msg,$channel,$contact,$prvkey,$pubkey) {
|
||||||
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
logger('diaspora_pubmsg_build: ' . $msg, LOGGER_DATA);
|
logger('diaspora_pubmsg_build: ' . $msg, LOGGER_DATA);
|
||||||
|
|
||||||
|
$handle = $channel['xchan_addr'];
|
||||||
$handle = $user['xchan_addr'];
|
|
||||||
|
|
||||||
$b64url_data = base64url_encode($msg,false);
|
$b64url_data = base64url_encode($msg,false);
|
||||||
|
|
||||||
|
@ -384,11 +378,11 @@ EOT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey,$public = false) {
|
function diaspora_msg_build($msg,$channel,$contact,$prvkey,$pubkey,$public = false) {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
if($public)
|
if($public)
|
||||||
return diaspora_pubmsg_build($msg,$user,$contact,$prvkey,$pubkey);
|
return diaspora_pubmsg_build($msg,$channel,$contact,$prvkey,$pubkey);
|
||||||
|
|
||||||
logger('diaspora_msg_build: ' . $msg, LOGGER_DATA);
|
logger('diaspora_msg_build: ' . $msg, LOGGER_DATA);
|
||||||
|
|
||||||
|
@ -409,7 +403,7 @@ function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey,$public = false)
|
||||||
$outer_iv = random_string(16);
|
$outer_iv = random_string(16);
|
||||||
$b_outer_iv = base64_encode($outer_iv);
|
$b_outer_iv = base64_encode($outer_iv);
|
||||||
|
|
||||||
$handle = $user['channel_address'] . '@' . get_app()->get_hostname();
|
$handle = $channel['channel_address'] . '@' . get_app()->get_hostname();
|
||||||
|
|
||||||
$padded_data = pkcs5_pad($msg,16);
|
$padded_data = pkcs5_pad($msg,16);
|
||||||
$inner_encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $padded_data, MCRYPT_MODE_CBC, $inner_iv);
|
$inner_encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $inner_aes_key, $padded_data, MCRYPT_MODE_CBC, $inner_iv);
|
||||||
|
@ -661,7 +655,10 @@ function diaspora_request($importer,$xml) {
|
||||||
// perhaps we were already sharing with this person. Now they're sharing with us.
|
// perhaps we were already sharing with this person. Now they're sharing with us.
|
||||||
// That makes us friends. Maybe.
|
// That makes us friends. Maybe.
|
||||||
|
|
||||||
$newperms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT;
|
// Please note some of these permissions such as PERMS_R_PAGES are impossible for Disapora.
|
||||||
|
// They cannot authenticate to our system.
|
||||||
|
|
||||||
|
$newperms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT|PERMS_R_STORAGE|PERMS_R_PAGES;
|
||||||
|
|
||||||
$r = q("update abook set abook_their_perms = %d where abook_id = %d and abook_channel = %d limit 1",
|
$r = q("update abook set abook_their_perms = %d where abook_id = %d and abook_channel = %d limit 1",
|
||||||
intval($newperms),
|
intval($newperms),
|
||||||
|
@ -689,7 +686,7 @@ function diaspora_request($importer,$xml) {
|
||||||
if($z)
|
if($z)
|
||||||
$default_perms = intval($z[0]['abook_my_perms']);
|
$default_perms = intval($z[0]['abook_my_perms']);
|
||||||
|
|
||||||
$their_perms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTO|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_CHAT;
|
$their_perms = PERMS_R_STREAM|PERMS_R_PROFILE|PERMS_R_PHOTOS|PERMS_R_ABOOK|PERMS_W_STREAM|PERMS_W_COMMENT|PERMS_W_MAIL|PERMS_W_CHAT|PERMS_R_STORAGE|PERMS_R_PAGES;
|
||||||
|
|
||||||
$r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_my_perms, abook_their_perms, abook_closeness, abook_rating, abook_created, abook_updated, abook_connected, abook_dob, abook_flags, abook_profile) values ( %d, %d, '%s' %d %d, %d, %d, '%s', '%s', '%s', '%s', %d, '%s')",
|
$r = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_my_perms, abook_their_perms, abook_closeness, abook_rating, abook_created, abook_updated, abook_connected, abook_dob, abook_flags, abook_profile) values ( %d, %d, '%s' %d %d, %d, %d, '%s', '%s', '%s', '%s', %d, '%s')",
|
||||||
intval($importer['channel_account_id']),
|
intval($importer['channel_account_id']),
|
||||||
|
@ -796,13 +793,17 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
|
|
||||||
$datarray = array();
|
$datarray = array();
|
||||||
|
|
||||||
$str_tags = '';
|
|
||||||
|
|
||||||
$tags = get_tags($body);
|
$tags = get_tags($body);
|
||||||
|
|
||||||
// FIXME call handle_tags()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(count($tags)) {
|
if(count($tags)) {
|
||||||
|
|
||||||
|
$datarray['term'] = array();
|
||||||
|
|
||||||
foreach($tags as $tag) {
|
foreach($tags as $tag) {
|
||||||
if(strpos($tag,'#') === 0) {
|
if(strpos($tag,'#') === 0) {
|
||||||
if(strpos($tag,'[url='))
|
if(strpos($tag,'[url='))
|
||||||
|
@ -817,20 +818,28 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
|
|
||||||
$basetag = str_replace('_',' ',substr($tag,1));
|
$basetag = str_replace('_',' ',substr($tag,1));
|
||||||
$body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body);
|
$body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body);
|
||||||
if(strlen($str_tags))
|
|
||||||
$str_tags .= ',';
|
$datarray['term'][] = array(
|
||||||
$str_tags .= '#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]';
|
'uid' => $importer['channel_id'],
|
||||||
continue;
|
'type' => TERM_HASHTAG,
|
||||||
|
'otype' => TERM_OBJ_POST,
|
||||||
|
'term' => $basetag,
|
||||||
|
'url' => z_root() . '/search?tag=' . rawurlencode($basetag)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$cnt = preg_match_all('/@\[url=(.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
|
$cnt = preg_match_all('/@\[url=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
|
||||||
if($cnt) {
|
if($cnt) {
|
||||||
foreach($matches as $mtch) {
|
foreach($matches as $mtch) {
|
||||||
if(strlen($str_tags))
|
$datarray['term'][] = array(
|
||||||
$str_tags .= ',';
|
'uid' => $importer['channel_id'],
|
||||||
$str_tags .= '@[url=' . $mtch[1] . '[/url]';
|
'type' => TERM_MENTION,
|
||||||
|
'otype' => TERM_OBJ_POST,
|
||||||
|
'term' => $mtch[2],
|
||||||
|
'url' => $mtch[1]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -838,11 +847,8 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
|
|
||||||
$datarray['uid'] = $importer['channel_id'];
|
$datarray['uid'] = $importer['channel_id'];
|
||||||
|
|
||||||
// FIXME
|
|
||||||
|
|
||||||
|
|
||||||
$datarray['verb'] = ACTIVITY_POST;
|
$datarray['verb'] = ACTIVITY_POST;
|
||||||
$datarray['mid'] = $datarray['parent-mid'] = $guid;
|
$datarray['mid'] = $datarray['parent_mid'] = $guid;
|
||||||
|
|
||||||
$datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert('UTC','UTC',$created);
|
$datarray['changed'] = $datarray['created'] = $datarray['edited'] = datetime_convert('UTC','UTC',$created);
|
||||||
$datarray['item_private'] = $private;
|
$datarray['item_private'] = $private;
|
||||||
|
@ -854,13 +860,10 @@ function diaspora_post($importer,$xml,$msg) {
|
||||||
|
|
||||||
$datarray['body'] = $body;
|
$datarray['body'] = $body;
|
||||||
|
|
||||||
// FIXME
|
|
||||||
// $datarray['tag'] = $str_tags;
|
|
||||||
|
|
||||||
$datarray['app'] = 'Diaspora';
|
$datarray['app'] = 'Diaspora';
|
||||||
|
|
||||||
// if empty content it might be a photo that hasn't arrived yet. If a photo arrives, we'll make it visible.
|
$datarray['item_flags'] = ITEM_UNSEEN|ITEM_THREAD_TOP;
|
||||||
// $datarray['visible'] = ((strlen($body)) ? 1 : 0);
|
|
||||||
|
|
||||||
$result = item_store($datarray);
|
$result = item_store($datarray);
|
||||||
return;
|
return;
|
||||||
|
@ -1191,20 +1194,29 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
return 202;
|
return 202;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Friendica is truncating guids at 64 chars
|
// Friendica is currently truncating guids at 64 chars
|
||||||
|
|
||||||
|
$search_guid = $guid;
|
||||||
|
if(strlen($guid) == 64)
|
||||||
|
$search_guid = $guid . '%';
|
||||||
|
|
||||||
$r = q("SELECT * FROM item WHERE uid = %d AND mid like '%s' LIMIT 1",
|
$r = q("SELECT * FROM item WHERE uid = %d AND mid like '%s' LIMIT 1",
|
||||||
intval($importer['channel_id']),
|
intval($importer['channel_id']),
|
||||||
dbesc($guid . '%')
|
dbesc($search_guid)
|
||||||
);
|
);
|
||||||
if($r) {
|
if($r) {
|
||||||
logger('diaspora_comment: our comment just got relayed back to us (or there was a guid collision) : ' . $guid);
|
logger('diaspora_comment: our comment just got relayed back to us (or there was a guid collision) : ' . $guid);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$search_guid = $parent_guid;
|
||||||
|
if(strlen($parent_guid) == 64)
|
||||||
|
$search_guid = $parent_guid . '%';
|
||||||
|
|
||||||
|
|
||||||
$r = q("SELECT * FROM item WHERE uid = %d AND mid LIKE '%s' LIMIT 1",
|
$r = q("SELECT * FROM item WHERE uid = %d AND mid LIKE '%s' LIMIT 1",
|
||||||
intval($importer['channel_id']),
|
intval($importer['channel_id']),
|
||||||
dbesc($parent_guid . '%')
|
dbesc($search_guid)
|
||||||
);
|
);
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
logger('diaspora_comment: parent item not found: parent: ' . $parent_guid . ' item: ' . $guid);
|
logger('diaspora_comment: parent item not found: parent: ' . $parent_guid . ' item: ' . $guid);
|
||||||
|
@ -1259,6 +1271,7 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
// Find the original comment author information.
|
// Find the original comment author information.
|
||||||
// We need this to make sure we display the comment author
|
// We need this to make sure we display the comment author
|
||||||
// information (name and avatar) correctly.
|
// information (name and avatar) correctly.
|
||||||
|
|
||||||
if(strcasecmp($diaspora_handle,$msg['author']) == 0)
|
if(strcasecmp($diaspora_handle,$msg['author']) == 0)
|
||||||
$person = $contact;
|
$person = $contact;
|
||||||
else {
|
else {
|
||||||
|
@ -1270,15 +1283,17 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$body = diaspora2bb($text);
|
$body = diaspora2bb($text);
|
||||||
|
|
||||||
$datarray = array();
|
$datarray = array();
|
||||||
|
|
||||||
$str_tags = '';
|
|
||||||
|
|
||||||
$tags = get_tags($body);
|
$tags = get_tags($body);
|
||||||
|
|
||||||
if(count($tags)) {
|
if(count($tags)) {
|
||||||
|
|
||||||
|
$datarray['term'] = array();
|
||||||
|
|
||||||
foreach($tags as $tag) {
|
foreach($tags as $tag) {
|
||||||
if(strpos($tag,'#') === 0) {
|
if(strpos($tag,'#') === 0) {
|
||||||
if(strpos($tag,'[url='))
|
if(strpos($tag,'[url='))
|
||||||
|
@ -1291,24 +1306,32 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
if(preg_match('/\[(.*?)\]\((.*?)' . preg_quote($tag,'/') . '(.*?)\)/',$body))
|
if(preg_match('/\[(.*?)\]\((.*?)' . preg_quote($tag,'/') . '(.*?)\)/',$body))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
||||||
$basetag = str_replace('_',' ',substr($tag,1));
|
$basetag = str_replace('_',' ',substr($tag,1));
|
||||||
$body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body);
|
$body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body);
|
||||||
if(strlen($str_tags))
|
|
||||||
$str_tags .= ',';
|
$datarray['term'][] = array(
|
||||||
$str_tags .= '#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]';
|
'uid' => $importer['channel_id'],
|
||||||
continue;
|
'type' => TERM_HASHTAG,
|
||||||
|
'otype' => TERM_OBJ_POST,
|
||||||
|
'term' => $basetag,
|
||||||
|
'url' => z_root() . '/search?tag=' . rawurlencode($basetag)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$datarray['uid'] = $importer['channel_id'];
|
$cnt = preg_match_all('/@\[url=(.*?)\](.*?)\[\/url\]/ism',$body,$matches,PREG_SET_ORDER);
|
||||||
|
if($cnt) {
|
||||||
//FIXME
|
foreach($matches as $mtch) {
|
||||||
// $datarray['contact-id'] = $contact['id'];
|
$datarray['term'][] = array(
|
||||||
// $datarray['type'] = 'remote-comment';
|
'uid' => $importer['channel_id'],
|
||||||
// $datarray['wall'] = $parent_item['wall'];
|
'type' => TERM_MENTION,
|
||||||
// $datarray['network'] = NETWORK_DIASPORA;
|
'otype' => TERM_OBJ_POST,
|
||||||
|
'term' => $mtch[2],
|
||||||
|
'url' => $mtch[1]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$datarray['verb'] = ACTIVITY_POST;
|
$datarray['verb'] = ACTIVITY_POST;
|
||||||
$datarray['mid'] = $guid;
|
$datarray['mid'] = $guid;
|
||||||
|
@ -1324,77 +1347,32 @@ function diaspora_comment($importer,$xml,$msg) {
|
||||||
|
|
||||||
$datarray['body'] = $body;
|
$datarray['body'] = $body;
|
||||||
|
|
||||||
// FIXME
|
$datarray['app'] = 'Diaspora';
|
||||||
// $datarray['tag'] = $str_tags;
|
|
||||||
|
|
||||||
// We can't be certain what the original app is if the message is relayed.
|
|
||||||
// if(($parent_item['origin']) && (! $parent_author_signature))
|
|
||||||
// $datarray['app'] = 'Diaspora';
|
|
||||||
|
|
||||||
$result = item_store($datarray);
|
$result = item_store($datarray);
|
||||||
|
|
||||||
// if(($parent_item['origin']) && (! $parent_author_signature)) {
|
if(($parent_item['item_flags'] & ITEM_ORIGIN) && (! $parent_author_signature)) {
|
||||||
// q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
|
q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
|
||||||
// intval($message_id),
|
intval($message_id),
|
||||||
// dbesc($signed_data),
|
dbesc($signed_data),
|
||||||
// dbesc(base64_encode($author_signature)),
|
dbesc(base64_encode($author_signature)),
|
||||||
// dbesc($diaspora_handle)
|
dbesc($diaspora_handle)
|
||||||
// );
|
);
|
||||||
|
|
||||||
// if the message isn't already being relayed, notify others
|
// if the message isn't already being relayed, notify others
|
||||||
// the existence of parent_author_signature means the parent_author or owner
|
// the existence of parent_author_signature means the parent_author or owner
|
||||||
// is already relaying.
|
// is already relaying.
|
||||||
|
|
||||||
// proc_run('php','include/notifier.php','comment-import',$message_id);
|
proc_run('php','include/notifier.php','comment-import',$message_id);
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
// FIXME
|
|
||||||
/*
|
|
||||||
$myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 AND `deleted` = 0 ",
|
|
||||||
dbesc($parent_item['uri']),
|
|
||||||
intval($importer['channel_id'])
|
|
||||||
);
|
|
||||||
|
|
||||||
if(count($myconv)) {
|
|
||||||
$importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
|
|
||||||
|
|
||||||
foreach($myconv as $conv) {
|
|
||||||
|
|
||||||
// now if we find a match, it means we're in this conversation
|
|
||||||
|
|
||||||
if(! link_compare($conv['author-link'],$importer_url))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
require_once('include/enotify.php');
|
|
||||||
|
|
||||||
$conv_parent = $conv['parent'];
|
|
||||||
|
|
||||||
notification(array(
|
|
||||||
'type' => NOTIFY_COMMENT,
|
|
||||||
'notify_flags' => $importer['notify-flags'],
|
|
||||||
'language' => $importer['language'],
|
|
||||||
'to_name' => $importer['username'],
|
|
||||||
'to_email' => $importer['email'],
|
|
||||||
'uid' => $importer['channel_id'],
|
|
||||||
'item' => $datarray,
|
|
||||||
//'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $message_id,
|
|
||||||
'link' => $a->get_baseurl().'/display/'.$datarray['guid'],
|
|
||||||
'source_name' => $datarray['author-name'],
|
|
||||||
'source_link' => $datarray['author-link'],
|
|
||||||
'source_photo' => $datarray['author-avatar'],
|
|
||||||
'verb' => ACTIVITY_POST,
|
|
||||||
'otype' => 'item',
|
|
||||||
'parent' => $conv_parent,
|
|
||||||
'parent_uri' => $parent_uri
|
|
||||||
));
|
|
||||||
|
|
||||||
// only send one notification
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
if($result['item_id']) {
|
||||||
|
$r = q("select * from item where id = %d limit 1",
|
||||||
|
intval($result['item_id'])
|
||||||
|
);
|
||||||
|
if($r)
|
||||||
|
send_status_notifications($result['item_id'],$r[0]);
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -311,6 +311,20 @@ CREATE TABLE IF NOT EXISTS `config` (
|
||||||
UNIQUE KEY `access` (`cat`,`k`)
|
UNIQUE KEY `access` (`cat`,`k`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `conv` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`guid` char(255) NOT NULL,
|
||||||
|
`recips` mediumtext NOT NULL,
|
||||||
|
`uid` int(11) NOT NULL,
|
||||||
|
`creator` char(255) NOT NULL,
|
||||||
|
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||||
|
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||||
|
`subject` mediumtext NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `created` (`created`),
|
||||||
|
KEY `updated` (`updated`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `event` (
|
CREATE TABLE IF NOT EXISTS `event` (
|
||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`aid` int(10) unsigned NOT NULL DEFAULT '0',
|
`aid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
@ -936,6 +950,18 @@ CREATE TABLE IF NOT EXISTS `shares` (
|
||||||
KEY `share_xchan` (`share_xchan`)
|
KEY `share_xchan` (`share_xchan`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `sign` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`iid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`signed_text` mediumtext NOT NULL,
|
||||||
|
`signature` text NOT NULL,
|
||||||
|
`signer` char(255) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `iid` (`iid`),
|
||||||
|
KEY `retract_iid` (`retract_iid`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `site` (
|
CREATE TABLE IF NOT EXISTS `site` (
|
||||||
`site_url` char(255) NOT NULL,
|
`site_url` char(255) NOT NULL,
|
||||||
`site_access` int(11) NOT NULL DEFAULT '0',
|
`site_access` int(11) NOT NULL DEFAULT '0',
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1124 );
|
define( 'UPDATE_VERSION' , 1125 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -1388,4 +1388,36 @@ ADD INDEX ( `hubloc_network` )");
|
||||||
return UPDATE_FAILED;
|
return UPDATE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_r1124() {
|
||||||
|
$r1 = q("CREATE TABLE IF NOT EXISTS `sign` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`iid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||||
|
`signed_text` mediumtext NOT NULL,
|
||||||
|
`signature` text NOT NULL,
|
||||||
|
`signer` char(255) NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `iid` (`iid`),
|
||||||
|
KEY `retract_iid` (`retract_iid`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
|
||||||
|
|
||||||
|
$r2 = q("CREATE TABLE IF NOT EXISTS `conv` (
|
||||||
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
|
`guid` char(255) NOT NULL,
|
||||||
|
`recips` mediumtext NOT NULL,
|
||||||
|
`uid` int(11) NOT NULL,
|
||||||
|
`creator` char(255) NOT NULL,
|
||||||
|
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||||
|
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||||
|
`subject` mediumtext NOT NULL,
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `created` (`created`),
|
||||||
|
KEY `updated` (`updated`)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ");
|
||||||
|
|
||||||
|
if($r1 && $r2)
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
return UPDATE_FAILED;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue