Browse Source

And some more removed notices in the core (#5465)

pull/5466/head
Michael Vogel 3 years ago
committed by Hypolite Petovan
parent
commit
53876abfda
5 changed files with 47 additions and 45 deletions
  1. +1
    -1
      boot.php
  2. +2
    -0
      mod/hovercard.php
  3. +9
    -2
      src/Protocol/DFRN.php
  4. +23
    -36
      src/Protocol/Diaspora.php
  5. +12
    -6
      src/Protocol/PortableContact.php

+ 1
- 1
boot.php View File

@ -1108,7 +1108,7 @@ function explode_querystring($query)
function curPageURL()
{
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {
if (!empty($_SERVER["HTTPS"]) && ($_SERVER["HTTPS"] == "on")) {
$pageURL .= "s";
}


+ 2
- 0
mod/hovercard.php View File

@ -65,6 +65,8 @@ function hovercard_content()
// Get the photo_menu - the menu if possible contact actions
if (local_user()) {
$actions = Contact::photoMenu($contact);
} else {
$actions = [];
}
// Move the contact data to the profile array so we can deliver it to


+ 9
- 2
src/Protocol/DFRN.php View File

@ -1218,9 +1218,16 @@ class DFRN
$res = XML::parseString($xml);
if ((intval($res->status) != 0) || !strlen($res->challenge) || !strlen($res->dfrn_id)) {
if (!is_object($res) || (intval($res->status) != 0) || !strlen($res->challenge) || !strlen($res->dfrn_id)) {
Contact::markForArchival($contact);
return ($res->status ? $res->status : 3);
if (empty($res->status)) {
$status = 3;
} else {
$status = $res->status;
}
return $status;
}
$postvars = [];


+ 23
- 36
src/Protocol/Diaspora.php View File

@ -1040,46 +1040,26 @@ class Diaspora
*/
private static function contactByHandle($uid, $handle)
{
// First do a direct search on the contact table
$r = q(
"SELECT * FROM `contact` WHERE `uid` = %d AND `addr` = '%s' LIMIT 1",
intval($uid),
dbesc($handle)
);
$cid = Contact::getIdForURL($handle, $uid);
if (!$cid) {
$handle_parts = explode("@", $handle);
$nurl_sql = "%%://" . $handle_parts[1] . "%%/profile/" . $handle_parts[0];
$cid = Contact::getIdForURL($nurl_sql, $uid);
}
if (DBM::is_result($r)) {
return $r[0];
} else {
/*
* We haven't found it?
* We use another function for it that will possibly create a contact entry.
*/
$cid = Contact::getIdForURL($handle, $uid);
if ($cid > 0) {
/// @TODO Contact retrieval should be encapsulated into an "entity" class like `Contact`
$r = q("SELECT * FROM `contact` WHERE `id` = %d LIMIT 1", intval($cid));
if (DBM::is_result($r)) {
return $r[0];
}
}
if (!$cid) {
logger("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
return false;
}
$handle_parts = explode("@", $handle);
$nurl_sql = "%%://".$handle_parts[1]."%%/profile/".$handle_parts[0];
$r = q(
"SELECT * FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` LIKE '%s' LIMIT 1",
dbesc(NETWORK_DFRN),
intval($uid),
dbesc($nurl_sql)
);
if (DBM::is_result($r)) {
return $r[0];
$contact = dba::selectFirst('contact', [], ['id' => $cid]);
if (!DBM::is_result($contact)) {
// This here shouldn't happen at all
logger("Haven't found a contact for user " . $uid . " and handle " . $handle, LOGGER_DEBUG);
return false;
}
logger("Haven't found contact for user ".$uid." and handle ".$handle, LOGGER_DEBUG);
return false;
return $contact;
}
/**
@ -1147,7 +1127,9 @@ class Diaspora
if (!$contact) {
logger("A Contact for handle ".$handle." and user ".$importer["uid"]." was not found");
// If a contact isn't found, we accept it anyway if it is a comment
if ($is_comment) {
if ($is_comment && ($importer["uid"] != 0)) {
return self::contactByHandle(0, $handle);
} elseif ($is_comment) {
return $importer;
} else {
return false;
@ -1268,6 +1250,11 @@ class Diaspora
private static function storeByGuid($guid, $server, $uid = 0)
{
$serverparts = parse_url($server);
if (empty($serverparts["host"]) || empty($serverparts["scheme"])) {
return false;
}
$server = $serverparts["scheme"]."://".$serverparts["host"];
logger("Trying to fetch item ".$guid." from ".$server, LOGGER_DEBUG);


+ 12
- 6
src/Protocol/PortableContact.php View File

@ -1229,19 +1229,25 @@ class PortableContact
$site_name = $data->site->name;
$data->site->closed = self::toBoolean($data->site->closed);
$private = false;
$inviteonly = false;
$closed = false;
if (!empty($data->site->closed)) {
$closed = self::toBoolean($data->site->closed);
}
if (!empty($data->site->private)) {
$data->site->private = self::toBoolean($data->site->private);
$private = self::toBoolean($data->site->private);
}
if (!empty($data->site->inviteonly)) {
$data->site->inviteonly = self::toBoolean($data->site->inviteonly);
$inviteonly = self::toBoolean($data->site->inviteonly);
}
if (!$data->site->closed && !$data->site->private and $data->site->inviteonly) {
if (!$closed && !$private and $inviteonly) {
$register_policy = REGISTER_APPROVE;
} elseif (!$data->site->closed && !$data->site->private) {
} elseif (!$closed && !$private) {
$register_policy = REGISTER_OPEN;
} else {
$register_policy = REGISTER_CLOSED;
@ -1649,7 +1655,7 @@ class PortableContact
}
$last_update = date("c", time() - (60 * 60 * 24 * $requery_days));
$r = q("SELECT `id`, `url`, `network` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `poco` != '' AND `last_poco_query` < '%s' ORDER BY RAND()", dbesc($last_update));
$r = q("SELECT `id`, `url`, `nurl`, `network` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `poco` != '' AND `last_poco_query` < '%s' ORDER BY RAND()", dbesc($last_update));
if (DBM::is_result($r)) {
foreach ($r as $server) {
if (!self::checkServer($server["url"], $server["network"])) {


Loading…
Cancel
Save