Merge remote-tracking branch 'upstream/develop' into 1607-new-probe
This commit is contained in:
commit
230bfcebea
8 changed files with 1738 additions and 1525 deletions
2
boot.php
2
boot.php
|
@ -38,7 +38,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
|||
define ( 'FRIENDICA_CODENAME', 'Asparagus');
|
||||
define ( 'FRIENDICA_VERSION', '3.5-dev' );
|
||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||
define ( 'DB_UPDATE_VERSION', 1198 );
|
||||
define ( 'DB_UPDATE_VERSION', 1199 );
|
||||
|
||||
/**
|
||||
* @brief Constant with a HTML line break.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 3.5-dev (Asparagus)
|
||||
-- DB_UPDATE_VERSION 1198
|
||||
-- DB_UPDATE_VERSION 1199
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
@ -234,6 +234,7 @@ CREATE TABLE IF NOT EXISTS `event` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `fcontact` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`guid` varchar(255) NOT NULL DEFAULT '',
|
||||
`url` varchar(255) NOT NULL DEFAULT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '',
|
||||
`photo` varchar(255) NOT NULL DEFAULT '',
|
||||
|
|
|
@ -568,6 +568,7 @@ function db_definition() {
|
|||
$database["fcontact"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"photo" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
|
|
|
@ -432,6 +432,8 @@ class diaspora {
|
|||
$type = $element->getName();
|
||||
$orig_type = $type;
|
||||
|
||||
logger("Got message type ".$type.": ".$msg["message"], LOGGER_DATA);
|
||||
|
||||
// All retractions are handled identically from now on.
|
||||
// In the new version there will only be "retraction".
|
||||
if (in_array($type, array("signed_retraction", "relayable_retraction")))
|
||||
|
@ -568,6 +570,9 @@ class diaspora {
|
|||
$d = strtotime($person["updated"]." +00:00");
|
||||
if ($d < strtotime("now - 14 days"))
|
||||
$update = true;
|
||||
|
||||
if ($person["guid"] == "")
|
||||
$update = true;
|
||||
}
|
||||
|
||||
if (!$person OR $update) {
|
||||
|
@ -601,6 +606,7 @@ class diaspora {
|
|||
`request` = '%s',
|
||||
`nick` = '%s',
|
||||
`addr` = '%s',
|
||||
`guid` = '%s',
|
||||
`batch` = '%s',
|
||||
`notify` = '%s',
|
||||
`poll` = '%s',
|
||||
|
@ -614,6 +620,7 @@ class diaspora {
|
|||
dbesc($arr["request"]),
|
||||
dbesc($arr["nick"]),
|
||||
dbesc($arr["addr"]),
|
||||
dbesc($arr["guid"]),
|
||||
dbesc($arr["batch"]),
|
||||
dbesc($arr["notify"]),
|
||||
dbesc($arr["poll"]),
|
||||
|
@ -625,7 +632,7 @@ class diaspora {
|
|||
dbesc($arr["network"])
|
||||
);
|
||||
} else {
|
||||
$r = q("INSERT INTO `fcontact` (`url`,`name`,`photo`,`request`,`nick`,`addr`,
|
||||
$r = q("INSERT INTO `fcontact` (`url`,`name`,`photo`,`request`,`nick`,`addr`, `guid`,
|
||||
`batch`, `notify`,`poll`,`confirm`,`network`,`alias`,`pubkey`,`updated`)
|
||||
VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",
|
||||
dbesc($arr["url"]),
|
||||
|
@ -634,6 +641,7 @@ class diaspora {
|
|||
dbesc($arr["request"]),
|
||||
dbesc($arr["nick"]),
|
||||
dbesc($arr["addr"]),
|
||||
dbesc($arr["guid"]),
|
||||
dbesc($arr["batch"]),
|
||||
dbesc($arr["notify"]),
|
||||
dbesc($arr["poll"]),
|
||||
|
@ -1838,11 +1846,27 @@ class diaspora {
|
|||
// That makes us friends.
|
||||
if ($contact) {
|
||||
if ($following AND $sharing) {
|
||||
logger("Author ".$author." (Contact ".$contact["id"].") wants to have a bidirectional conection.", LOGGER_DEBUG);
|
||||
self::receive_request_make_friend($importer, $contact);
|
||||
|
||||
// refetch the contact array
|
||||
$contact = self::contact_by_handle($importer["uid"],$author);
|
||||
|
||||
// If we are now friends, we are sending a share message.
|
||||
// Normally we needn't to do so, but the first message could have been vanished.
|
||||
if (in_array($contact["rel"], array(CONTACT_IS_FRIEND, CONTACT_IS_FOLLOWER))) {
|
||||
$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($importer["uid"]));
|
||||
if($u) {
|
||||
logger("Sending share message to author ".$author." - Contact: ".$contact["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
|
||||
$ret = self::send_share($u[0], $contact);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} else /// @todo Handle all possible variations of adding and retracting of permissions
|
||||
} else { /// @todo Handle all possible variations of adding and retracting of permissions
|
||||
logger("Author ".$author." (Contact ".$contact["id"].") wants to change the relationship: Following: ".$following." - sharing: ".$sharing. "(By now unsupported)", LOGGER_DEBUG);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$following AND $sharing AND in_array($importer["page-flags"], array(PAGE_SOAPBOX, PAGE_NORMAL))) {
|
||||
logger("Author ".$author." wants to share with us - but doesn't want to listen. Request is ignored.", LOGGER_DEBUG);
|
||||
|
@ -1850,6 +1874,12 @@ class diaspora {
|
|||
} elseif (!$following AND !$sharing) {
|
||||
logger("Author ".$author." doesn't want anything - and we don't know the author. Request is ignored.", LOGGER_DEBUG);
|
||||
return false;
|
||||
} elseif (!$following AND $sharing) {
|
||||
logger("Author ".$author." wants to share with us.", LOGGER_DEBUG);
|
||||
} elseif ($following AND $sharing) {
|
||||
logger("Author ".$author." wants to have a bidirectional conection.", LOGGER_DEBUG);
|
||||
} elseif ($following AND !$sharing) {
|
||||
logger("Author ".$author." wants to listen to us.", LOGGER_DEBUG);
|
||||
}
|
||||
|
||||
$ret = self::person_by_handle($author);
|
||||
|
@ -1889,6 +1919,8 @@ class diaspora {
|
|||
return;
|
||||
}
|
||||
|
||||
logger("Author ".$author." was added as contact number ".$contact_record["id"].".", LOGGER_DEBUG);
|
||||
|
||||
$def_gid = get_default_group($importer['uid'], $ret["network"]);
|
||||
|
||||
if(intval($def_gid))
|
||||
|
@ -1898,6 +1930,8 @@ class diaspora {
|
|||
|
||||
if($importer["page-flags"] == PAGE_NORMAL) {
|
||||
|
||||
logger("Sending intra message for author ".$author.".", LOGGER_DEBUG);
|
||||
|
||||
$hash = random_string().(string)time(); // Generate a confirm_key
|
||||
|
||||
$ret = q("INSERT INTO `intro` (`uid`, `contact-id`, `blocked`, `knowyou`, `note`, `hash`, `datetime`)
|
||||
|
@ -1914,6 +1948,8 @@ class diaspora {
|
|||
|
||||
// automatic friend approval
|
||||
|
||||
logger("Does an automatic friend approval for author ".$author.".", LOGGER_DEBUG);
|
||||
|
||||
update_contact_avatar($contact_record["photo"],$importer["uid"],$contact_record["id"]);
|
||||
|
||||
// technically they are sharing with us (CONTACT_IS_SHARING),
|
||||
|
@ -1942,8 +1978,13 @@ class diaspora {
|
|||
);
|
||||
|
||||
$u = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($importer["uid"]));
|
||||
if($u)
|
||||
if($u) {
|
||||
logger("Sending share message (Relation: ".$new_relation.") to author ".$author." - Contact: ".$contact_record["id"]." - User: ".$importer["uid"], LOGGER_DEBUG);
|
||||
$ret = self::send_share($u[0], $contact_record);
|
||||
|
||||
// Send the profile data, maybe it weren't transmitted before
|
||||
self::send_profile($importer["uid"], array($contact_record));
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -2117,12 +2158,6 @@ class diaspora {
|
|||
if (!$r)
|
||||
return false;
|
||||
|
||||
// Only delete it if the author really fits
|
||||
if (!link_compare($r[0]["author-link"], $person["url"])) {
|
||||
logger("Item author ".$r[0]["author-link"]." doesn't fit to expected contact ".$person["url"], LOGGER_DEBUG);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check if the sender is the thread owner
|
||||
$p = q("SELECT `id`, `author-link`, `origin` FROM `item` WHERE `id` = %d",
|
||||
intval($r[0]["parent"]));
|
||||
|
@ -2629,6 +2664,10 @@ class diaspora {
|
|||
logger('message: '.$msg, LOGGER_DATA);
|
||||
logger('send guid '.$guid, LOGGER_DEBUG);
|
||||
|
||||
// Fallback if the private key wasn't transmitted in the expected field
|
||||
if ($owner['uprvkey'] == "")
|
||||
$owner['uprvkey'] = $owner['prvkey'];
|
||||
|
||||
$slap = self::build_message($msg, $owner, $contact, $owner['uprvkey'], $contact['pubkey'], $public_batch);
|
||||
|
||||
if ($spool) {
|
||||
|
@ -2655,6 +2694,8 @@ class diaspora {
|
|||
$message = array("sender_handle" => self::my_handle($owner),
|
||||
"recipient_handle" => $contact["addr"]);
|
||||
|
||||
logger("Send share ".print_r($message, true), LOGGER_DEBUG);
|
||||
|
||||
return self::build_and_transmit($owner, $contact, "request", $message);
|
||||
}
|
||||
|
||||
|
@ -2672,6 +2713,8 @@ class diaspora {
|
|||
"diaspora_handle" => self::my_handle($owner),
|
||||
"type" => "Person");
|
||||
|
||||
logger("Send unshare ".print_r($message, true), LOGGER_DEBUG);
|
||||
|
||||
return self::build_and_transmit($owner, $contact, "retraction", $message);
|
||||
}
|
||||
|
||||
|
@ -3158,11 +3201,12 @@ class diaspora {
|
|||
*
|
||||
* @param int $uid The user id
|
||||
*/
|
||||
public static function send_profile($uid) {
|
||||
public static function send_profile($uid, $recips = false) {
|
||||
|
||||
if (!$uid)
|
||||
return;
|
||||
|
||||
if (!$recips)
|
||||
$recips = q("SELECT `id`,`name`,`network`,`pubkey`,`notify` FROM `contact` WHERE `network` = '%s'
|
||||
AND `uid` = %d AND `rel` != %d",
|
||||
dbesc(NETWORK_DIASPORA),
|
||||
|
@ -3232,9 +3276,11 @@ class diaspora {
|
|||
"searchable" => $searchable,
|
||||
"tag_string" => $tags);
|
||||
|
||||
foreach($recips as $recip)
|
||||
foreach($recips as $recip) {
|
||||
logger("Send updated profile data for user ".$uid." to contact ".$recip["id"], LOGGER_DEBUG);
|
||||
self::build_and_transmit($profile, $recip, "profile", $message, false, "", true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Stores the signature for likes that are created on our system
|
||||
|
|
|
@ -134,7 +134,7 @@ function notifier_run(&$argv, &$argc){
|
|||
} elseif($cmd === 'removeme') {
|
||||
$r = q("SELECT `contact`.*, `user`.`pubkey` AS `upubkey`, `user`.`prvkey` AS `uprvkey`,
|
||||
`user`.`timezone`, `user`.`nickname`, `user`.`sprvkey`, `user`.`spubkey`,
|
||||
`user`.`page-flags`, `user`.`prvnets`
|
||||
`user`.`page-flags`, `user`.`prvnets`, `user`.`guid`
|
||||
FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
|
||||
WHERE `contact`.`uid` = %d AND `contact`.`self` LIMIT 1",
|
||||
intval($item_id));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
define('UPDATE_VERSION' , 1198);
|
||||
define('UPDATE_VERSION' , 1199);
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
@ -5,8 +5,11 @@ Adam Jurkiewicz
|
|||
Alex
|
||||
Alexander Kampmann
|
||||
AlfredSK
|
||||
Aliaksei Sakalou
|
||||
Andi Stadler
|
||||
Andreas H.
|
||||
Andrej Stieben
|
||||
André Alves
|
||||
André Lohan
|
||||
Anthronaut
|
||||
Arian - Cazare Muncitori
|
||||
|
@ -14,6 +17,7 @@ aweiher
|
|||
axelt
|
||||
balderino
|
||||
Beanow
|
||||
Ben Roberts
|
||||
bufalo1973
|
||||
Calango Jr
|
||||
Carlos Solís
|
||||
|
@ -53,6 +57,7 @@ foss
|
|||
Francesco Apruzzese
|
||||
Frank Dieckmann
|
||||
Frederico Gonçalves Guimarães
|
||||
Gerhard Seeber
|
||||
gerhard6380
|
||||
Gert Cauwenberg
|
||||
greeneyedred
|
||||
|
@ -106,7 +111,9 @@ Nicola Spanti
|
|||
Olaf Conradi
|
||||
Oliver
|
||||
Olivier
|
||||
Olivier Mehani
|
||||
Olivier Migeot
|
||||
Paolo Wave
|
||||
Pavel Morozov
|
||||
Perig Gouanvic
|
||||
peturisfeld
|
||||
|
@ -121,7 +128,9 @@ rcmaniac
|
|||
rebeka-catalina
|
||||
repat
|
||||
Ricardo Pereira
|
||||
Roland Haeder
|
||||
Rui Andrada
|
||||
Sakałoŭ Alaksiej
|
||||
Sam
|
||||
Sandro Santilli
|
||||
Sebastian Egbers
|
||||
|
@ -152,8 +161,7 @@ Tony Baldwin
|
|||
TORminator
|
||||
tschlotfeldt
|
||||
Tubuntu
|
||||
tupambae
|
||||
tuscanhobbit
|
||||
Tupambae.org
|
||||
U-SOUND\mike
|
||||
ufic
|
||||
Vasudev Kamath
|
||||
|
|
3159
util/messages.po
3159
util/messages.po
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue